Практическое руководство FindRisk
Безопасность reverse proxy: HTTP-запросы, Host и общий кэш
Каждый посредник может менять протокол, заголовки и правила кэша. Поэтому исправность отдельного Nginx или приложения не подтверждает безопасность всей цепочки. Начните с схемы пути запроса и явно определите границы доверия.
Что сделать
Материалы по теме
HTTP Request Smuggling: рассогласование reverse proxy и сервера
Почему разное определение границ HTTP-запроса на proxy и backend опасно для маршрутизации, авторизации и общего кэша.
Host Header Injection: защита ссылок сброса пароля и proxy-заголовков
Почему нельзя строить доверенные ссылки из произвольного Host или X-Forwarded-Host и как настроить допустимые домены приложения.
CRLF Injection: внедрение заголовков и HTTP Response Splitting
Как переводы строк в недоверенных значениях нарушают структуру HTTP-заголовков и почему нужно использовать безопасный API ответа.
Web Cache Deception и Poisoning: защита ответов в CDN и proxy
Чем утечка приватного ответа через кэш отличается от подмены общего ответа и как согласовать cache key, маршрутизацию и политику хранения.
Cache-Control для API: как не закэшировать приватный ответ
Как проверить кэширование API-ответов, почему private и no-store отличаются и где нужен ручной тест CDN.
Список файлов в Nginx: как отключить autoindex и проверить каталог
Включённый autoindex показывает содержимое каталога посетителям. Объясняем, почему это опасно, как отключить список и чем он отличается от прямого доступа к файлу.
Источники и границы
- Нельзя проверять рассогласование запросов на общих production-соединениях пользователей.
- Заголовки одного ответа не раскрывают настройки всех посредников и cache key.