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.
Spis treści:
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?