как заставить новый сеанс cookie / sessionId при переключении с http на https (в Tomcat) - PullRequest
0 голосов
/ 07 сентября 2011

мой вопрос заранее:

При переходе с http на https: как принудительно установить на Tomcat, что значение JSESSIONID / (то есть cookie-файла сеанса) изменяется?

Вот моя ситуация:

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

Мы запускаем приложение JSF1.2 / Seam2 внутри Tomcat 6.x и принудительно используем файлы cookie сеанса (без идентификатора сессии в URL).

Мы разрешаем доступ по http, но когда пользователь входит в систему, мы переключаемся на https и остаемся на https. У нас также есть Фильтр, который добавляет «безопасный» к cookie-файлам при поступлении запроса через https, чтобы сеанс не мог вернуться к http. (почему-то я думал, что Tomcat сделает это автоматически)

Я заметил, что JSESSIONID не меняется при переключении между http и https. Это наводит меня на мысль, что злоумышленник может подсмотреть cookie-файл сеанса через http, а затем перехватить сеанс.

Так как я могу сказать Tomcat использовать другой JSESSIONID при переходе на https? (Или если это поведение по умолчанию: что может привести к тому, что этого больше не будет?)

Спасибо за любые подсказки / идеи!

1 Ответ

1 голос
/ 28 сентября 2011

некоторое время (фактически годы) я разместил здесь этот фильтр, который мы используем для обновления идентификатора сеанса после входа в систему:

https://issues.jboss.org/browse/JBSEAM-2450

Мы вызываем newSession () сразу после входа в системупометить идентификатор сеанса, который будет обновлен при следующем запросе GET (запросы POST не работают должным образом из-за восстановления состояния представления, но POST / REDIRECT / GET с Seam будет часто выдавать GET).

Возможно, вы захотите поместить его в свой фильтр - или вы просто отметите свой сеанс для обновления в следующем запросе GET.Просто убедитесь, что вы не возобновляете сеанс при обработке запроса JSF POST.

Кто-то еще предоставил Tomcat Valve для решения этой проблемы

С уважением, Александр.

...