Кэширование возобновления сеанса в Nginx

Кэширование возобновления сеанса в Nginx

Несколько дней назад я прочитал запись в блоге о возобновлении сеанса в nginx.

В этом тексте автор утверждает, что nginx не предоставляет возможности регулярно очищать кэш сеанса. После истечения "ssl_session_timeout" сеанс больше не используется, но файл все еще находится на жестком диске и может быть прочитан злоумышленником, поэтому "Forward Secrecy" на этом этапе бесполезен.

Вместо использования идентификаторов сеансов он предлагает деактивировать кэш сеансов и использовать билеты сеансов. Для этого необходимо создавать "ticket_key" с 80 байтами случайности не реже одного раза в день.

Я поискал в Интернете дополнительную информацию, но ничего полезного не нашел.

В1: Где находится кэш сеансов nginx и как проверить, находятся ли данные TLS-подключения (сеансы) на жестком диске?

В2: Целесообразно ли использовать билеты на сеанс?

решение1

Я не могу ответить на первый вопрос, но могу немного рассказать о втором.

В этой записи блога содержится полезная информация о недостатках сеансовых билетов в TLSv1.2:https://blog.filippo.io/we-need-to-talk-about-session-tickets/.

Так что, как говорит Майкл, у них обоих есть свои проблемы, и только если вы используете TLSv1.3 (буквально только что отписалсяи только что ставшие доступными в реализациях на момент написания статьи) можно ли использовать возобновление TLS совершенно безопасно.

Однако, стоит отметить, что производительность без использования возобновления сеанса TLS снижается, и, по моему скромному мнению, риски относительно невелики (если кто-то получит доступ к вашему серверу, то, насколько я понимаю, игра окончена). Поэтому на данный момент я рекомендую использовать как идентификаторы сеансов, так и билеты сеансов. Тем более, что некоторые клиенты (Safari и IE на Windows 7 и более ранних версиях) не поддерживают билеты сеансов. В частности, Safari по-прежнему имеет много пользователей на мобильных устройствах и планшетах — вы действительно хотите значительно замедлить всех пользователей iOS?

Связанный контент