Проверьте shibboleth SP сеанс на уровне приложения

Вопрос может показаться странным, но у меня есть худший вариант развития событий.

Мой сервер приложений находится на http://10.10.10.10/app (скажем это app-server) и сервер http-apache находится на http://some.dns.com/app (скажем так http-server). Оба разные системы-сервер.

я знаю app-server не должен быть доступен напрямую публично, но давайте предположим, что он публично доступен. Сейчас Shibboleth установлен на http-server Защищенный путь http://some.dns.com/app/secure. В то время как один сервлет отображается для получения атрибутов из пути /secure,

Если кому-то удастся создать фальшивый http-apache-сервер (скажем, fake-http-server) и это тоже указывает на app-server, Так вот fake-http-server может иметь прямой доступ к /secure путь и этот сервер может вручную отправлять атрибуты, похожие на shibboleth, и может входить в систему без защиты.

Мой вопрос здесь заключается в том, существует ли механизм в Shibboleth, где я могу проверить сеанс Shibboleth в моем приложении, а не только на уровне http.

1 ответ

Модуль Apache mod_shib по умолчанию устанавливает переменные среды. Эти переменные не могут быть подделаны прокси-сервером Apache.

Из документов:

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

Если вы не доверяете веб-серверу Apache, вы можете проанализировать утверждение SAML в своем коде и проверить подписи в утверждении, используя сертификат, предоставленный провайдером идентификации (IdP), который делает утверждение SAML. Но проверить подписи сложно, и вам нужно разобраться с такими случаями, как ротация ключей и как обрабатывать новые сертификаты, используемые IdP. Шибболет решает эти очень сложные и важные для вас задачи.

Другие вопросы по тегам