보안 · 3 min read · Sep 26, 2025
HTTPOXY 취약점: 웹 서버를 보호하고 테스트하는 방법
최근 발견된 HTTPOXY 취약점은 cgi 또는 cgi와 유사한 환경에서 실행되는 애플리케이션에 영향을 미치는 취약점입니다. 이는 Apache 및 Nginx를 포함한 거의 모든 웹 서버와 대부분의 PHP 애플리케이션에 영향을 미친다는 것을 의미합니다. Apache의 mod_php 모드조차도 영향을 받습니다.
이 튜토리얼에서는 HTTPOXY로부터 웹 서버를 보호하는 방법을 보여줍니다. CentOS + RHEL, Debian 및 Ubuntu와 같은 가장 많이 사용되는 Linux 배포판에 대한 섹션이 포함되어 있습니다. 이 단계는 다른 Linux 배포판에도 적용할 수 있지만, 구성 파일의 경로는 다를 수 있습니다.
HTTPOXY 취약점에 대한 자세한 설명은 이 웹사이트 https://httpoxy.org/에서 확인할 수 있습니다.
이 튜토리얼에 설명된 단계는 ISPConfig 완벽한 서버 튜토리얼과 호환됩니다.
1 HTTPOXY가 내 서버에 미치는 영향은 무엇인가요?
HTTPOXY는 HTTP_PROXY 변수를 존중하고 이를 프록시 구성에 사용하는 클라이언트와 HTTP_PROXY를 실제 또는 에뮬레이션된 변수로 사용하는 서버 측 애플리케이션에 영향을 미칩니다. 공격의 결과는 웹 애플리케이션이 공격자가 선택한 대상 시스템으로 프록시된 트래픽이거나 애플리케이션이 다른 시스템으로 아웃고잉 연결을 여는 것입니다. 이 취약점은 원격에서 쉽게 악용될 수 있으며, 서버는 이를 스캔할 수 있으므로 서버에서 이를 차단하기 위한 조치를 취하는 것이 강력히 권장됩니다.
1.1 일반적인 해결책
현재 권장되는 해결책은 HTTP_PROXY 헤더 변수를 해제하거나 필터링하는 것입니다. 이는 apache에서 mod_headers 모듈을 사용하여 다음 구성 문으로 수행됩니다:
RequestHeader unset Proxy earlyNginx에서는 다음 줄을 사용하여 HTTP_PROXY 변수를 해제할 수 있습니다.
fastcgi_param HTTP_PROXY "";다음 장에서는 다양한 Linux 배포판에 대한 자세한 절차를 설명합니다.
2 Debian
이 장에서는 Debian 8 (Jessie) 및 Debian 7 (Wheezy) 서버에서 Apache 및 Nginx를 HTTPOXY로부터 보호하기 위한 구성을 설명합니다. 다음 단계는 셸에서 루트 사용자로 로그인했다고 가정합니다. 다른 사용자로 로그인한 경우 su 명령(또는 sudo를 구성한 경우 sudo)을 사용하여 루트 사용자로 전환하십시오.
2.2 Apache가 설치된 Debian 8 (Jessie)
apache headers 모듈을 활성화합니다.
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 restart2.2 Apache가 설치된 Debian 7 (Wheezy)
apache headers 모듈을 활성화합니다:
a2enmod headers전역 구성 파일 /etc/apache2/conf.d/httpoxy.conf를 추가합니다. 여기서는 nano 편집기를 사용하겠습니다:
nano /etc/apache2/conf.d/httpoxy.conf그리고 다음 내용을 해당 파일에 붙여넣습니다:
RequestHeader unset Proxy early
파일을 저장합니다. 그런 다음 apache를 재시작합니다.
service apache2 restart2.3 Nginx가 설치된 Debian
다음 명령은 /etc/nginx/fastcgi_params 파일에 HTTP_PROXY 변수를 빈 문자열로 설정하는 fastcgi_param을 추가합니다.
echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params그런 다음 nginx를 재시작하여 구성 변경을 적용합니다.
service nginx restart3 Ubuntu
이 장에서는 Ubuntu 14.04 - 16.04 서버에서 Apache 및 Nginx를 HTTPOXY로부터 보호하기 위한 구성을 설명합니다.
3.1 Apache가 설치된 Ubuntu
apache headers 모듈을 활성화합니다.
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 restart3.2 Nginx가 설치된 Ubuntu
Ubuntu를 HTTPOXY로부터 보호하는 단계는 Debian의 단계와 유사합니다. 명령을 sudo로 실행해야 합니다. 이 echo 명령은 HTTP_PROXY 변수를 빈 문자열로 설정하는 fastcgi_param 줄을 추가합니다. 파일 /etc/nginx/fastcgi_params는 nginx vhost 파일의 기본 @PHP 및 cgi-bin 섹션에 포함되며 ISPConfig에 의해 생성된 vhosts에도 포함됩니다. 사용자 정의 vhosts를 추가한 경우 php 및 기타 cgi 또는 fastcgi 커넥터의 구성 섹션에 “include /etc/nginx/fastcgi_params;”가 포함되어 있는지 확인하십시오.
빈 HTTP_PROXY 변수를 추가하려면 다음 명령을 실행합니다.
sudo echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params그런 다음 Nginx를 재시작하여 구성 변경을 적용합니다.
sudo service nginx restart4 CentOS, RHEL 및 Fedora
이 장에서는 CentOS 서버에서 Apache 및 Nginx를 HTTPOXY로부터 보호하기 위한 구성을 설명합니다. 동일한 단계는 Fedora 서버에서도 작동해야 합니다. 아래 명령을 실행하기 전에 셸에서 루트 사용자로 로그인하십시오.
4.1 Apache
CentOS의 Apache (httpd) 구성 파일은 /etc/httpd/conf/httpd.conf입니다. 다음 명령으로 httpd.conf 파일의 끝에 apache 헤더 규칙을 추가하겠습니다:
echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf그런 다음 httpd를 재시작하여 구성 변경을 적용합니다.
service httpd restart4.2 Nginx
CentOS의 Nginx 웹 서버는 기본 vhost의 PHP 및 CGI 섹션에 fastcgi_params를 포함하므로, 여기에서 빈 HTTP_PROXY 변수를 설정하는 규칙을 추가할 수 있습니다. 빈 HTTP_PROXY 변수를 추가하려면 다음 명령을 실행합니다.
echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params그런 다음 nginx를 재시작하여 구성 변경을 적용합니다.
service nginx restart5 테스트
마지막으로, 이제 서버가 안전한지 테스트해야 합니다. Luke Rehman이 개발한 멋진 온라인 테스트 도구는 여기에서 찾을 수 있습니다: https://httpoxy.rehmann.co/
도구에 서버 또는 웹사이트의 URL을 입력하고 “테스트” 버튼을 클릭하십시오.

여기 howtoforge.com에 대한 결과가 있습니다. 보시다시피, 우리 웹사이트는 안전합니다.
6 링크
- HTTPOXY 웹사이트 https://httpoxy.org/
- Debian 8 레시피에 대한 Jesse에게 감사드립니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.