Безопасные и HttpOnly флаги для сессии cookie Websphere 7

В серверах приложений жалобы Servlet 3.0 я могу установить HttpOnly и безопасные флаги для файла cookie сеанса (JSESSIONID), добавив следующее в web.xml:

<session-config>
  <cookie-config>
    <secure>true</secure>
    <http-only>true</http-only>
  </cookie-config>
</session-config>

Однако приложение, над которым я работаю, должно быть развернуто в Websphere 7, что является жалобой Servlet 2.5, и он не запускается, если я добавлю это выше в web.xml

Есть ли другой декларативный способ или настройка в конфигурации Websphere 7 для включения HttpOnly и безопасных флагов для cookie сеанса?

Если нет, какой был бы лучший подход к программному обеспечению?

Ответ 1

Я думаю, что в WebSphere 7 вам, возможно, придется вникать в административную консоль. Как всегда документация WebSphere кажется бедной, но, похоже, предлагает установить свойство com.ibm.ws.security.addHttpOnlyAttributeToCookies:

И флаг Secure, и флаг HTTPOnly активируются установкой свойства WebSphere Application Server: com.ibm.ws.security.addHttpOnlyAttributeToCookies.

Я нашел этот, который, я надеюсь, применим к WAS7. Можете ли вы попробовать, пожалуйста, (на данный момент у меня есть только WAS 8):

JSESSIONID cookie:

Защищенный флаг

Флаг Secure может быть установлен в WebSphere Application Server административный интерфейс, выбрав AppServer → [Server Name] → Web Настройки контейнера- > Управление сеансом. Установите флажок для Msgstr "Ограничить использование файлов cookie для сеансов HTTPS".

HTTPOnly Flag:

Атрибут HTTPOnly в этом cookie не может быть установлен. Эта зарегистрирован на сайте IBM как APAR PK98436. Исправление для этого APAR в настоящее время предназначен для включения в Fix Packs 6.1.0.31 и 7.0.0.9, которые еще не доступны. Используя этот APAR, HTTPOnly флаг может быть установлен в файле cookie JSESSIONID с помощью имени свойства: com.ibm.ws.webcontainer.httpOnlyCookies. См. Следующие technote для инструкций по включению пользовательских свойств WebContainer.

Свойство com.ibm.ws.webcontainer.httpOnlyCookies задокументировано на справочном сайте WAS 7.

Ответ 2

Чтобы установить флаг безопасности в файл cookie JSESSIONID (то же самое для WebSphere 7.x и 8.x):

  • войти в систему в консоли администратора WebSphere
  • Перейдите к Сервеp > Типы серверов > Серверы приложений WebSphere
  • Нажмите имя сервера (по умолчанию сервер1)
  • Нажмите ссылку Настройки веб-контейнерa > Веб-контейнер
  • Нажмите ссылку Управление сеансами
  • Нажмите ссылку Включить файлы cookie. Этот бит немного перепутал, вы должны щелкните на тексте, а не на флажке
  • выберите опцию (флажок) Ограничить использование файлов cookie для сеансов HTTPS
  • Сохранить.

Чтобы установить флаг HttpOnly в WebSphere 8.x в файл cookie JSESSIONID

  • войти в систему в консоли администратора WebSphere
  • Перейдите к Сервеp > Типы серверов > Серверы приложений WebSphere
  • Нажмите имя сервера (по умолчанию сервер1)
  • Нажмите ссылку Настройки веб-контейнерa > Веб-контейнер
  • Нажмите ссылку Управление сеансами
  • Нажмите ссылку Включить файлы cookie. Этот бит бит немного путается, вам нужно щелкнуть по тексту не в поле
  • выберите опцию (флажок) Установите cookie cookie на HTTPOnly, чтобы предотвратить атаки с межсайтовыми сценариями
  • Сохранить.

Установить флаг HttpOnly в WebSphere 7.x в файл cookie JSESSIONID

  • войти в систему в консоли администратора WebSphere
  • Перейдите к Сервеp > Типы серверов > Серверы приложений WebSphere
  • Нажмите имя сервера (по умолчанию сервер1)
  • Нажмите ссылку Настройки веб-контейнерa > Веб-контейнер
  • Нажмите ссылку Пользовательские параметры
  • Нажмите кнопку Создать
  • Введите имя: com.ibm.ws.webcontainer.httpOnlyCookies значение: * (HttpOnly будет установлен для всех файлов cookie не только JSESSIONID )
  • Нажмите кнопку ОК
  • Сохранить.

Ответ 3

В WebSphere 7 это можно найти в консоли администратора в Сервера > Серверы приложений WebSphere > [Имя сервера] > Управление сеансом (в разделе "Настройки контейнера" ) > Включить файлы cookie > Ограничить использование файлов cookie для сеансов HTTPS.