Принудительное использование HttpOnly JSESSIONID в развернутом сервере приложений OC4J / Oracle - PullRequest
0 голосов
/ 07 июня 2018

У нас есть устаревшее приложение, работающее на сервере приложений Oracle 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 / OPMN. Мы даже пытались использовать отражение для поиска 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

1 Ответ

0 голосов
/ 06 июня 2019

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

<session-tracking cookie-path="/pathtoyourapp; HttpOnly"/>
...