proxy_pass с путём нормализует/декодирует путь¶
Gixy Check ID: proxy_pass_normalized
Если в proxy_pass указан URL с путём, nginx будет нормализовать и декодировать путь запроса перед отправкой на бэкенд. Это может менять семантику исходного пути и приводить к уязвимостям.
Небезопасный пример¶
# Нормализация/декодирование могут менять смысл
location /api/ {
proxy_pass http://backend/api/;
}
Более безопасные варианты¶
- Избегать путей в
proxy_pass: указывать бэкенд без пути и управлять склейкой вlocation; - Жёстко валидировать и ограничивать пользовательские пути;
- Дополнительно проверять пути и доступ на стороне бэкенда.
Зачем это важно¶
Нормализация/декодирование пути на прокси-слое может приводить к обходам проверок и двусмысленности. Держите обработку путей простой и однозначной.
Ловите такие ошибки до продакшена
GetPageSpeed Amplify запускает Gixy по расписанию на каждом сервере NGINX и оповещает о новых находках и CVE, показывая их рядом с метриками. Настроить непрерывный мониторинг.