10 najlepszych praktyk w celu zabezpieczenia i wzmocnienia serwera WWW Apache

Zabezpiecz i wzmocnij serwer WWW Apache, przestrzegając najlepszych praktyk, aby zapewnić bezpieczeństwo aplikacji internetowej.

Serwer WWW jest kluczową częścią aplikacji internetowych. Błędna konfiguracja i domyślna konfiguracja mogą ujawnić poufne informacje, a to jest ryzyko.

Jako właściciel lub administrator witryny powinieneś regularnie skanować swoją witrynę pod kątem zagrożeń internetowych, aby móc podjąć działania, zanim zrobi to haker.

Przejdźmy przez podstawowe konfiguracje, aby utrzymać serwer WWW Apache.

Śledzenie całej konfiguracji znajduje się w httpd.conf twojej instancji Apache.

Uwaga: wykonaj kopię zapasową niezbędnego pliku konfiguracyjnego przed modyfikacją, aby przywrócenie było łatwe, gdy coś pójdzie nie tak.

Wyłącz śledzenie żądania HTTP

Domyślna opcja TraceEnable zezwala na TRACE, co uniemożliwia jakiejkolwiek treści żądania towarzyszenie żądaniu.

TraceEnable off powoduje, że główny serwer i mod_proxy zwracają błąd 405 (Metoda niedozwolona) do klienta.

Funkcja TraceEnable włączona umożliwia śledzenie w różnych witrynach i potencjalnie daje hakerowi możliwość kradzieży informacji o plikach cookie.

Rozwiązanie

Rozwiąż ten problem z zabezpieczeniami, wyłączając metodę TRACE HTTP w konfiguracji Apache.

Możesz to zrobić, modyfikując/dodając poniższą dyrektywę w pliku httpd.conf serwera WWW Apache.

TraceEnable off

Uruchom jako oddzielny użytkownik i grupę

Domyślnie Apache jest skonfigurowany do działania z nikim lub demonem.

Nie ustawiaj użytkownika (lub grupy) jako root, chyba że dokładnie wiesz, co robisz i jakie są niebezpieczeństwa.

Rozwiązanie

Uruchamianie Apache na własnym koncie innym niż root jest dobre. Zmodyfikuj dyrektywę użytkownika i grupy w pliku httpd.conf serwera WWW Apache

User apache 
Group apache

Wyłącz podpis

Domyślne ustawienie Wyłącz powoduje pomijanie linii stopki.

Ustawienie Włącz po prostu dodaje wiersz z numerem wersji serwera i nazwą serwera obsługującego hosta wirtualnego.

Rozwiązanie

Dobrze jest wyłączyć Signature, ponieważ możesz nie chcieć ujawniać wersji Apache, z której korzystasz.

ServerSignature Off

Wyłącz baner

Ta dyrektywa kontroluje, czy pole nagłówka odpowiedzi serwera, które jest odsyłane do klientów, zawiera opis ogólnego typu systemu operacyjnego serwera oraz informacje o wkompilowanych modułach.

Rozwiązanie

ServerTokens Prod

Ogranicz dostęp do określonej sieci lub adresu IP

Jeśli chcesz, aby Twoja witryna była wyświetlana tylko przez określony adres IP lub sieć, możesz zmodyfikować katalog witryny w httpd.conf

Rozwiązanie

Podaj adres sieciowy w dyrektywie Allow.

<Directory /yourwebsite>    
Options None    
AllowOverride None    
Order deny,allow    
Deny from all    
Allow from 10.20.0.0/24  
</Directory>

Podaj adres IP w dyrektywie Allow.

<Directory /yourwebsite>
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.20.1.56
</Directory>

Używaj tylko protokołu TLS 1.2

SSL 2.0, 3.0, TLS 1, 1.1 podobno ma kilka wad kryptograficznych.

Potrzebujesz pomocy przy konfiguracji protokołu SSL? zapoznaj się z tym przewodnikiem.

Rozwiązanie

SSLProtocol -ALL +TLSv1.2

Wyłącz listę katalogów

Jeśli nie masz pliku index.html w katalogu WebSite Directory, klient zobaczy wszystkie pliki i podkatalogi wymienione w przeglądarce (np. wyjście ls –l).

Rozwiązanie

Aby wyłączyć przeglądanie katalogów, możesz ustawić wartość dyrektywy Option na „Brak” lub „-Indeksy”

<Directory />
Options None
Order allow,deny
Allow from all
</Directory>

LUB

<Directory />
Options -Indexes
Order allow,deny
Allow from all
</Directory>

Usuń niepotrzebne moduły DSO

Sprawdź konfigurację, aby usunąć nadmiarowe moduły DSO.

Istnieje wiele modułów aktywowanych domyślnie po instalacji. Możesz usunąć to, czego nie potrzebujesz.

Wyłącz szyfrowanie zerowe i słabe

Zezwalaj tylko na silne szyfry, więc zamknij wszystkie drzwi, które próbują uzgadniać na niższych zestawach szyfrów.

Rozwiązanie

SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM

Na bieżąco

Ponieważ Apache jest aktywnym oprogramowaniem typu open source, najłatwiejszym sposobem na poprawę bezpieczeństwa Apache Web Server jest zachowanie najnowszej wersji. Nowe poprawki i łatki bezpieczeństwa są dodawane w każdej wersji. Zawsze aktualizuj do najnowszej stabilnej wersji Apache.

Powyżej znajduje się tylko kilka podstawowych konfiguracji, a jeśli szukasz szczegółowych informacji, możesz zapoznać się z moim przewodnikiem krok po kroku dotyczącym bezpieczeństwa i utwardzania.

Podobał Ci się artykuł? A co powiesz na dzielenie się ze światem?