Безопасность · 4 min read · Sep 26, 2025

Уязвимость HTTPOXY: Как защитить и протестировать ваш веб-сервер

Уязвимость HTTPOXY, которая была обнаружена недавно, является уязвимостью, которая затрагивает приложения, работающие в средах cgi или подобных cgi. Это означает, что проблема затрагивает почти все веб-серверы, включая Apache и Nginx, а также большинство PHP-приложений. Даже режим mod_php на apache подвержен этой уязвимости.

Этот учебник покажет вам, как защитить ваш веб-сервер от HTTPOXY. Он содержит разделы для наиболее используемых дистрибутивов Linux: CentOS + RHEL, Debian и Ubuntu. Шаги могут быть применены и к другим дистрибутивам Linux, но пути к конфигурационным файлам могут отличаться.

Подробное описание уязвимости HTTPOXY можно найти на этом сайте https://httpoxy.org/.

Шаги, описанные в этом учебнике, совместимы с учебниками по идеальному серверу ISPConfig.

1 Как HTTPOXY влияет на мой сервер?

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

1.1 Общее решение

Рекомендуемое решение на данный момент — это удалить или отфильтровать переменную заголовка HTTP_PROXY. Это делается в apache с помощью модуля mod_headers и следующего конфигурационного выражения:

RequestHeader unset Proxy early

В Nginx вы можете использовать эту строку, чтобы удалить переменную HTTP_PROXY.

fastcgi_param HTTP_PROXY "";

Следующая глава описывает подробную процедуру для различных дистрибутивов Linux.

2 Debian

Эта глава описывает конфигурацию для защиты Apache и Nginx на серверах Debian 8 (Jessie) и Debian 7 (Wheezy) от HTTPOXY. Следующие шаги предполагают, что вы вошли в систему как пользователь root в оболочке. Если вы вошли под другим пользователем, используйте команду su (или sudo, если вы настроили sudo), чтобы стать пользователем root.

2.2 Debian 8 (Jessie) с Apache

Включите модуль заголовков apache

a2enmod headers

Добавьте глобальный конфигурационный файл /etc/apache2/conf-available/httpoxy.conf. Я буду использовать редактор nano:

nano /etc/apache2/conf-available/httpoxy.conf

и вставьте следующее содержимое в этот файл:


    RequestHeader unset Proxy early

Сохраните файл. Затем включите его в конфигурации с помощью команды a2enconf и перезапустите apache.

a2enconf httpoxy  
service apache2 restart

2.2 Debian 7 (Wheezy) с Apache

Включите модуль заголовков apache:

a2enmod headers

Добавьте глобальный конфигурационный файл /etc/apache2/conf.d/httpoxy.conf. Я буду использовать редактор nano:

nano /etc/apache2/conf.d/httpoxy.conf

и вставьте следующее содержимое в этот файл:


    RequestHeader unset Proxy early

Сохраните файл. Затем перезапустите apache.

service apache2 restart

2.3 Debian с Nginx

Следующая команда добавит fastcgi_param, который устанавливает переменную HTTP_PROXY в пустую строку в файл /etc/nginx/fastcgi_params.

echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Затем перезапустите nginx, чтобы применить изменение конфигурации.

service nginx restart

3 Ubuntu

Эта глава описывает конфигурацию для защиты Apache и Nginx на серверах Ubuntu 14.04 - 16.04 от HTTPOXY.

3.1 Ubuntu с Apache

Включите модуль заголовков apache.

sudo a2enmod headers

Добавьте глобальный конфигурационный файл /etc/apache2/conf-available/httpoxy.conf. Я буду использовать редактор nano:

sudo nano /etc/apache2/conf-available/httpoxy.conf

и вставьте следующее содержимое в этот файл:


    RequestHeader unset Proxy early

Сохраните файл. Затем включите его в конфигурации с помощью команды a2enconf и перезапустите apache.

sudo a2enconf httpoxy  
sudo service apache2 restart

3.2 Ubuntu с Nginx

Шаги для защиты Ubuntu от HTTPOXY аналогичны тем, что для Debian. Мы просто должны убедиться, что выполняем команды с sudo. Эта команда echo добавит строку fastcgi_param, которая устанавливает переменную HTTP_PROXY как пустую строку. Файл /etc/nginx/fastcgi_params включен в стандартные секции @PHP и cgi-bin файлов vhost nginx, а также в vhosts, которые создаются ISPConfig. Если вы добавили пользовательские vhosts, проверьте, что они содержат “include /etc/nginx/fastcgi_params;” в секциях конфигурации для php и других cgi или fastcgi соединителей.

Выполните следующую команду, чтобы добавить пустую переменную HTTP_PROXY.

sudo echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Затем перезапустите Nginx, чтобы применить изменение конфигурации.

sudo service nginx restart

4 CentOS, RHEL и Fedora

Эта глава описывает конфигурацию для защиты Apache и Nginx на серверах CentOS от HTTPOXY. Те же шаги должны работать и для серверов Fedora. Войдите как пользователь root в оболочке перед тем, как продолжить с командами ниже.

4.1 Apache

Конфигурационный файл Apache (httpd) на CentOS — это /etc/httpd/conf/httpd.conf. Я добавлю правило заголовка apache в конец файла httpd.conf с помощью этой команды:

echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf

Затем перезапустите httpd, чтобы применить изменение конфигурации.

service httpd restart

4.2 Nginx

Веб-сервер Nginx на CentOS включает fastcgi_params в секцию PHP и CGI стандартного vhost, поэтому мы можем добавить правило для установки пустой переменной HTTP_PROXY там. Выполните эту команду, чтобы добавить пустую переменную HTTP_PROXY.

echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Затем перезапустите nginx, чтобы применить изменение конфигурации.

service nginx restart

5 Тест

Наконец, вы должны протестировать, безопасен ли ваш сервер сейчас. Люк Рехман разработал отличный онлайн-инструмент для тестирования, который можно найти здесь: https://httpoxy.rehmann.co/

Введите URL вашего сервера или веб-сайта в инструмент и нажмите кнопку “тест”.

Тест HTTPOXY

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

6 Ссылки

  • Веб-сайт HTTPOXY https://httpoxy.org/
  • Спасибо Джесси за рецепт для Debian 8.
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.