SSRF возникает, когда сервер делает запрос по адресу, которым управляет злоумышленник, и получает доступ к недоступным тому ресурсам. Защита требует контроля назначения, протокола и сетевого выхода.
SSRF: контроль протокола, назначения и сетевого выхода
SSRF возникает, когда сервер делает запрос по адресу, которым управляет злоумышленник, и получает доступ к недоступным тому ресурсам. Защита требует контроля назначения, протокола и сетевого выхода.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
SSRF возникает, когда сервер делает запрос по адресу, которым управляет злоумышленник, и получает доступ к недоступным тому ресурсам. Защита требует контроля назначения, протокола и сетевого выхода.
Предпочитайте список разрешённых сервисов вместо произвольных URL. Разбирайте адрес штатным parser, проверяйте схему, порт и все разрешённые IP с учётом IPv6; запрещайте внутренние, loopback, link-local и служебные адреса там, где они не нужны. Перенаправления тоже требуют проверки, а DNS rebinding нельзя закрыть одной текстовой проверкой hostname. Дополнительно ограничивайте egress на сетевом уровне, размер ответа и таймаут. Не передавайте пользовательские заголовки авторизации внешнему адресу автоматически.