Страница входа использует SSL, незашифрованные страницы не видят зашифрованный файл cookie сеанса (Grails, Acegi) - PullRequest
0 голосов
/ 12 июня 2009

Настройка: Grails 1.1, плагин Acegi / Spring Security

Я хочу, чтобы пользователи входили через SSL, поэтому у меня есть «/ login / **» в моем списке channelConfig.secure [], но почти все остальное находится в channelConfig.insecure []. Каждый запрос / логин перенаправляется на https: //, а каждый другой запрос перенаправляется на http: //.

.

Моя проблема заключается в том, что процесс входа в систему устанавливает для куки «Отправлять только по зашифрованным соединениям», поэтому, когда страница входа перенаправляется в / home, домашняя страница не видит куки и перенаправляет меня обратно на целевую страницу. Когда я пытаюсь войти снова, страница входа видит куки и перенаправляет меня ... и т.д.

Я просматривал эту страницу о SecurityConfig , чтобы посмотреть, есть ли возможность разрешить чтение файлов cookie, созданных по SSL, по незашифрованному HTTP, но я ничего не нашел. Есть ли какая-нибудь опция, которую я могу установить, чтобы мой файл cookie для входа был доступен для моих незашифрованных контроллеров?

1 Ответ

6 голосов
/ 12 июня 2009

Это будет уязвимость.

Любой человек посередине, который может видеть сессионный cookie, сможет отправлять запросы как пользователь. Это почти так же плохо, как перехват пароля. Человек в середине не сможет самостоятельно устанавливать новые сеансы, но он сможет делать все, что может сделать пользователь после входа в систему.


Использование SSL делает гораздо больше, чем просто скрывает имя пользователя и пароль при входе в систему.

Во-первых, он обеспечивает конфиденциальность всех сообщений между клиентом и сервером. Пароль легко распознать как конфиденциальные данные, но может быть не так очевидно, какие функции приложения также используют конфиденциальные данные. Защита любого пользовательского ввода и динамически генерируемого контента является более безопасной и простой, чем попытка тщательно оценить проблемы конфиденциальности каждого поля данных, используемого в вашем приложении. Статическое содержимое, такое как изображения, страницы справки и т. Д., Вероятно, не так чувствительно, но, проанализировав запросы на это содержимое, злоумышленник может получить представление о том, что пользователь делает на сайте.

Во-вторых, SSL обеспечивает целостность для каждого запроса. Это препятствует тому, чтобы злоумышленник изменил или добавил свой собственный злонамеренный ввод к пользовательским запросам, или изменил результаты, произведенные сервером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...