Jak ukryć wersję Apache i PHP przed nagłówkami HTTP

Jak ukryć wersję Apache i PHP przed nagłówkami HTTP

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.

  1. Otwórz plik konfiguracyjny Apache za pomocą edytora tekstu, takiego jak Nano lub VI:
    sudo nano/etc/httpd/conf/httpd.conf  ## Redhat Systems  sudo nano/etc/apache2/conf-obsługujący/bezpieczeństwo.conf  ## Systemy Debian  
  2. 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
    12Servertokens 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.

  3. Zapisz i zamknij plik konfiguracyjny. Po zmodyfikowaniu pliku konfiguracyjnego musisz ponownie uruchomić Apache, aby zmiany weszły:
    sudo systemctl restart httpd  ## Redhat Systems  sudo 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.

  1. 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.

  2. Znajdź „Expose_php” dyrektywa. Jeśli nie istnieje, dodaj go do pliku. Zaktualizuj tę dyrektywę w następujący sposób: Expose_php = Off
    1expose_php = off

    To ustawienie wyłącza ujawnienie wersji PHP w nagłówkach odpowiedzi HTTP.

    Zapisz i zamknij plik konfiguracyjny.

  3. Po edycji PHP.Plik INI, uruchom ponownie usługę Apache, aby zmiany w obowiązywaniu:
    sudo systemctl restart httpd  ## Redhat Systems  sudo 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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).
  5. 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.