JSESSIONID безопасная загрузка Flag-Spring и Spring Security(SAML)
JSESSIONID не был установлен флаг "Безопасный" в нашем приложении весенней загрузки. Приложение поддерживает единый вход с OKTA в качестве нашего IDP, и мы используем Spring Security-SAML
Ниже приведен простой процесс приложения.
Браузер -> HTTPS -> AWS-ALB -> HTTP -> Spring Boot APP -> URL-адрес OKTA (HTTPS).
Здесь прекращение SSL происходит в ALB, и с точки зрения загрузочного приложения Spring, приложение находится на HTTP.
Проблема в том, что в нашем отчете по анализу средств безопасности есть жалобы на то, что в JSESSIONID не включен флаг "secure". Когда я пытаюсь включить безопасный cookie, как показано ниже, первоначальный запрос имеет JSESSIONID как "безопасный", а после аутентификации "безопасный" флаг удаляется.
server.session.cookie.secure: true
Хотя этот поток SO предоставляет способ добавить "безопасный" флаг, я не мог связать это с завершением SSL в сценарии на стороне ALB, и поток подтверждения SAML (вызов приложения в OKTA) происходит по HTTP к HTTPS.
Любая идея, как на JessionID безопасный флаг может быть установлен / сохранен?
1 ответ
Добавление server.tomcat.protocol-header=x-forwarded-proto
в весенней загрузочной конфигурации это решило проблему.
Я неправильно понял, что флаги Cookie (безопасные, только для http) будут отображаться в заголовках запросов в инструментах разработчика Chrome, но это не так, поскольку флаги отображаются только в заголовке ответа, поскольку Set-Cookie
Заголовок только в ответе.