Dawno nie było już nic o jakiejś nowej (lub nowo nagłośnionej) podatności dotyczącej (web)serwerów, więc chyba warto coś wspomnieć o HTTPoxy, czyli podatności dotyczącej CGI/FastCGI, o której od wczoraj jest dość głośno…
Spis treści w artykule
HTTPoxy – a CGI application vulnerability
Oczywiście – zgodnie z trendem – skoro mamy jakiś błąd, to nie mogło zabraknąć nazwy, dedykowanej strony internetowej (choć warto też zajrzeć na stronę CERTu), i oczywiście logo:
Zmienna HTTP_PROXY
Nie będę zbytnio rozpisywał się nad samy problemem, gdyż szczegółowe informacje znajdziecie na tej stronie. Ale jakieś minimum informacyjne musi być.
Problem dotyczy kodu uruchamianego jako/w ramach CGI/FastCGI, m.in. w takich językach jak PHP, Go, Python, a do tego – by skala byłą jeszcze większa – dotyczy m.in. webserwerów działających na Apache2 i Nginx. W pewnych sytuacjach – wykorzystując konflikt nazw zmiennych środowiskowych (zmienna HTTP_PROXY) może dojść do posłuchania komunikacji wychodzącej z serwera (atak MiTM).
Ale co najważniejsze – jeśli macie na serwerze zwykłą stronę internetową, to problem dotyczy Was tylko teoretycznie, bo zapewne w takiej sytuacji nie korzystacie z serwera proxy, jak i niezależnego serwera aplikacji, z którego odpowiedź za sprawą podstawionego nagłówka HTTP_PROXY trafić może do fałszywego serwera proxy:
No i chyba warto wspomnieć, że nie jest to nowy błąd, tylko jak to ostatnio często bywa z pewnych przyczyn dostaje drugie, lepsze życie… ;-)
Zabezpieczamy (web)serwer
Niezależnie od tego, czy w przypadku Waszego serwera jest szansa na wykonanie tego typu ataku warto się zabezpieczyć, zwłaszcza że raczej nie powinno tu być żadnych niespodziewanych efektów ubocznych.
Webserwer Apache2
W przypadku webserwera Apache2 otwieramy plik:
sudo nano /etc/apache2/apache2.conf
I dodajemy tam linijkę:
RequestHeader unset Proxy early
sudo a2enmod headers
Następnie jeszcze test konfiguracji i restart webserwera:
sudo apache2ctl configtest
sudo service apache2 restart
Webserwer Nginx
W przypadku webserwera Nginx otwieramy plik:
sudo nano /etc/nginx/fastcgi.conf
I dodajemy linijkę:
fastcgi_param HTTP_PROXY "";
sudo nano /etc/nginx/fastcgi_params
Cloudflare
Jeśli korzystacie z Cloudflare, i macie aktywny przynajmniej plan pro, to możecie aktywować filtrowanie tego typu ataków za pomocą Web Application Firewall (WAF), aktywując regułę nr 100050.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01