Принудительное использование HttpOnly JSESSIONID в развернутом сервере приложений OC4J/Oracle

У нас есть устаревшее приложение, работающее на Oracle Application Server J2EE 10g 10.1.3.5.0 с использованием контейнеров OC4J. Чтобы устранить ошибку динамического сканирования Veracode CWE ID-402 (и для лучшей практики), нам нужно установить флаг HttpOnly в наших файлах cookie JSESSIONID. Мы нашли, хоть и скудную, документацию по системному свойству:

-Dhttp.response.httponly=true

Это якобы поддерживает это. (Некоторые подробности обо всех поддерживаемых свойствах здесь, хотя вы можете запустить их через переводчик: https://volbers.wordpress.com/2011/06/24/secrets-of-the-oc4j/)

Однако мы обнаружили, что, хотя это свойство работает в автономном экземпляре OC4J (например, работающем в Eclipse), оно не работает при развертывании в OAS/ ОПМН. Мы даже попытались использовать отражение для поиска свойства Evermind OC4JProperty для HTTP_RESPONSE_HTTPONLY и смогли программно установить для него значение true. Однако последовало то же самое поведение: что-то игнорирует это свойство при запуске в развернутом контейнере.

Кто-нибудь знает, как заставить это работать в развернутой среде?

Просто для контекста, вот собственное описание этого свойства OC4J:

% java -jar /oas/j2ee/home/oc4j.jar -describeProperty http.response.httponly

Property name: http.response.httponly
Description: Used to prevent cross-site scripting attack
Default value: false
Primitive type: Boolean
Deprecated: false
Log value change: false
Is static: false

person kmarx    schedule 07.06.2018    source источник
comment
Какой JDK вы используете? Какая версия сервлетов? Я также обнаружил, что добавление его к аргументам OC4J не работает. Возможно, пришло время перейти на другой сервер приложений :(   -  person Hugo M. Zuleta    schedule 20.11.2018
comment
JDK 1.6, сервлет 2.5. Мы хотели бы перейти на современные/поддерживаемые платформы, но это не вариант для нас из-за устаревших зависимостей и операционных ограничений.   -  person kmarx    schedule 20.11.2018


Ответы (1)


Попробуйте добавить следующее в ваш orion-web.xml

<session-tracking cookie-path="/pathtoyourapp; HttpOnly"/>
person mkane    schedule 06.06.2019