Yandex опубликовал статический анализатор файлов конфигурации nginx
Компания Яндекс опубликовала исходные тексты проекта Gixy, в рамках которого развивается статистический анализатор, предназначенный для выявления проблемных настроек в файлах конфигурации nginx, которые могут отрицательно повлиять на безопасность. Код написан на языке Python и распространяется под лицензией MPL 2.0.
В настоящее время Gixy включает следующие плагины, выявляющие различные классы проблем:
- ssrf (Server Side Request Forgery) - уязвимость, позволяющая выполнять различного рода запросы от имени Nginx. Возникает, когда атакующий может контролировать адрес проксируемого сервера (второй аргумент директивы proxy_pass);
- http_splitting (HTTP Splitting) - уязвимость, возникающая из-за неправильной обработки входных данных. Может применяться для атак на приложение стоящее за Nginx (HTTP Request Splitting) или на клиентов приложения (HTTP Response Splitting).
- origins - проблемы проверки заголовка запроса Referer или Origin, обычно возникающие из-за некорректного составления регулярного выражения;
- add_header_redefinition - проблемы с переопределением "вышестоящих" заголовков ответа директивой "add_header";
- host_spoofing - возможность подмены заголовка запроса Host;
- valid_referers - проблемы при конфигурировании модуля ngx_http_referer_module, вызванные использованием "none" в качестве принимаемого значения заголовка Referer;
- add_header_multiline - использование многострочных заголовков ответа.