Jak ukryć wersję Apache i PHP przed nagłówkami HTTP
- 1795
- 354
- Juliusz Janicki
Podczas uruchamiania strony internetowej lub aplikacji internetowej konieczne jest utrzymanie bezpieczeństwa i integralności serwera. Jednym z najprostszych, ale najważniejszych kroków jest ukrycie informacji o wersji Apache i PHP przed nagłówkami HTTP. Domyślnie informacje te są ujawniane w nagłówkach odpowiedzi HTTP, potencjalnie zwiększając podatność serwera na ataki.
W tym artykule pokażemy, jak ukryć informacje o wersji Apache i PHP przed nagłówkami HTTP, aby poprawić bezpieczeństwo serwera.
Krok 1: Zrozumienie ryzyka odsłoniętych wersji
Ujawnienie informacji o wersji Apache i PHP może nie wydawać się istotnym ryzykiem bezpieczeństwa. Może to jednak ułatwić hakerom identyfikację znanych luk specyficznych dla tych wersji. Ukrywając te informacje, zmniejszasz możliwość ukierunkowanych ataków i potencjalnie spowalniasz postęp atakującego.
Krok 2: Sprawdź szczegóły nagłówka
Możesz użyć polecenia curl lub wget, aby pobrać szczegóły nagłówka dowolnej witryny za pośrednictwem wiersza poleceń.
wget--server-response--spider http: // your-Domain.com/indeks.php
Zwróć uwagę na powyższe szczegóły i zatrzymaj je później. Wykonajmy kroki, aby ukryć szczegóły.
Krok 3: Ukrywanie informacji o wersji Apache
Aby ukryć informacje o wersji Apache, musisz zmodyfikować jego główny plik konfiguracyjny, zwykle znajdujący się w „/etc/httpd/conf/httpd.conf ”lub„/etc/apache2/conf-obsługujący/bezpieczeństwo.conf ”, w zależności od systemu.
- Otwórz plik konfiguracyjny Apache za pomocą edytora tekstu, takiego jak Nano lub VI:
sudo nano/etc/httpd/conf/httpd.conf
## Redhat Systemssudo nano/etc/apache2/conf-obsługujący/bezpieczeństwo.conf
## Systemy Debian - Znajdź „Servertokens” I „Serverversignature” dyrektywy. Jeśli nie istnieją, dodaj je do pliku. Zaktualizuj te dyrektywy w następujący sposób: Servertokens Prod Serversignature Off
12 Servertokens produserversignature wyłącz „Servertokens Prod” Dyrektywa mówi Apache, aby wyświetlał tylko słowo „Apache” bez żadnych informacji o wersji. „Wyłącz serweryjny” Dyrektywa wyłącza podpis serwera na stronach błędów.
- Zapisz i zamknij plik konfiguracyjny. Po zmodyfikowaniu pliku konfiguracyjnego musisz ponownie uruchomić Apache, aby zmiany weszły:
sudo systemctl restart httpd
## Redhat Systemssudo systemctl restart apache2
## Systemy Debian
Krok 4: Ukrywanie informacji o wersji PHP
Aby ukryć informacje o wersji PHP, musisz zmodyfikować plik konfiguracyjny PHP, zwykle o nazwie PHP.INI, które można znaleźć w różnych lokalizacjach w zależności od systemu.
- Otworzyć php.ini plik z edytorem tekstu:
sudo nano/etc/php/7.4/apache2/php.ini
Zastępować „7.4 ” z wersją PHP, jeśli inaczej.
- Znajdź „Expose_php” dyrektywa. Jeśli nie istnieje, dodaj go do pliku. Zaktualizuj tę dyrektywę w następujący sposób: Expose_php = Off
1 expose_php = off To ustawienie wyłącza ujawnienie wersji PHP w nagłówkach odpowiedzi HTTP.
Zapisz i zamknij plik konfiguracyjny.
- Po edycji PHP.Plik INI, uruchom ponownie usługę Apache, aby zmiany w obowiązywaniu:
sudo systemctl restart httpd
## Redhat Systemssudo systemctl restart apache2
## Systemy Debian
Krok 5: Weryfikacja zmian
Aby sprawdzić, czy zmiany zostały pomyślnie zastosowane, możesz użyć internetowego szachownicy nagłówka HTTP lub narzędzia wiersza polecenia, takiego jak Curl:
wget--server-response--spider http: // your-Domain.com/indeks.php
Zastępować "Twoja domena.com ” z twoją faktyczną domeną. Wyjście nie powinno zawierać żadnych informacji o wersji Apache lub PHP
Dodatkowe wskazówki dotyczące bezpieczeństwa
Podczas ukrywania informacji o wersji Apache i PHP jest dobrym punktem wyjścia, istnieją inne kroki, które możesz podjąć, aby poprawić bezpieczeństwo serwera:
- Utrzymuj swoje oprogramowanie na bieżąco: Regularnie aktualizuj system operacyjny, Apache, PHP i wszelkie inne zainstalowane oprogramowanie. Zapewnia to najnowsze łatki bezpieczeństwa i poprawki.
- Wyłącz nieużywane moduły: Włącz tylko moduły Apache i PHP, których potrzebujesz do swojej aplikacji internetowej. Wyłączenie niepotrzebnych modułów zmniejsza powierzchnię ataku.
- Skonfiguruj ścisłe uprawnienia do dostępu: Upewnij się, że poufne pliki i katalogi mają ścisłe uprawnienia do dostępu, uniemożliwiając nieautoryzowany dostęp.
- Zaimplementuj zaporę aplikacji internetowej (WAF): WAF może pomóc w ochronie aplikacji internetowej przed wspólnymi atakami, takimi jak wtrysk SQL i skrypty między witrynami (XSS).
- Użyj HTTPS: Zaszypuj komunikację między serwerem a klientami, włączając HTTPS z prawidłowym certyfikatem SSL.
Wniosek
Ukrywanie informacji o wersji Apache i PHP przed nagłówkami HTTP to prosty, ale kluczowy krok w zabezpieczeniu serwera WWW. Ukrywając te informacje, utrudniacie atakującym celowanie w znane luki w oprogramowaniu. W połączeniu z regularnymi aktualizacjami oprogramowania, ścisłymi uprawnieniami dostępu i innymi środkami bezpieczeństwa, możesz znacznie zmniejszyć ekspozycję serwera na potencjalne ataki.
- « Jak skonfigurować serwer Media Red5 na CentOS/RHEL 7/6/5
- Jak skonfigurować repozytorium ATRPMS na Centos/Rhel i Fedora »