поведение файлов cookie по умолчанию через SSL

Мое веб-приложение полностью использует SSL. Мне нужна информация по следующим пунктам:

  1. Я просто хотел знать, есть ли шанс, что файлы cookie будут переданы по HTTP, а не по безопасному https.

  2. Или, если приложение использует SSL, то каково будет поведение файлов cookie по умолчанию. Они будут передаваться через HTTP или HTTPS.

  3. Нужно ли мне делать какие-то дополнительные настройки, если я хочу убедиться, что все файлы cookie передаются только через HTTPS.

  4. Как сделать эти настройки (если требуется) для java-приложения.

  5. как выглядят защищенные файлы cookie. Будет ли он виден в зашифрованном виде или не будет виден вообще.

В моем приложении я использую надстройку Mozilla: firebug, чтобы проверить, какие файлы cookie защищены. Я вижу, что некоторые файлы cookie защищены, а некоторые нет. Итак, как это работает. Я не использую какое-либо конкретное свойство для защиты нескольких файлов cookie.


person Onki    schedule 14.10.2014    source источник
comment
См. также: stackoverflow.com/questions/4578506/servlet-set-cookie -безопасно   -  person mjn    schedule 14.10.2014


Ответы (1)


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

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

См. флаги Secure и HttpOnly для файла cookie сеанса Websphere 7

Для других файлов cookie можно установить безопасный флаг:

public void setSecure(логический флаг )

Указывает, следует ли отправлять файл cookie только с использованием безопасного протокола, такого как HTTPS или SSL.

http://docs.oracle.com/javase/7/docs/api/java/net/HttpCookie.html#setSecure%28boolean%29

Безопасные файлы cookie не используют никакого (дополнительного) шифрования. Транспортный уровень SSL/TLS обеспечивает шифрование для HTTPS, поэтому протокол HTTP, включая файлы cookie, будет зашифрован.

Относительно вопроса 1..3: если соединение использует HTTP и вы помечаете файлы cookie как безопасные, они будут отправлены клиенту по HTTP, но (совместимый) клиент не отправит их обратно через небезопасное соединение. Значение по умолчанию для безопасного флага не указано. Поэтому я рекомендую установить флаг безопасности для всех файлов cookie, указанных приложением, в значение true, если доступ к веб-приложению осуществляется через HTTPS (либо напрямую, либо через обратный прокси-сервер).

person mjn    schedule 14.10.2014
comment
спасибо @mjn за такой быстрый ответ. Это защитит все файлы cookie, специфичные для приложения, или только файлы cookie сеанса. - person Onki; 14.10.2014
comment
спасибо .. это решает мои вопросы 4 и 5 .. у вас есть информация о 1,2,3 - person Onki; 14.10.2014
comment
@user3610891 user3610891 Я предлагаю поместить ваш серверный код и информацию о файлах cookie в новый вопрос Stackoverflow. - person mjn; 14.10.2014