Zadbaj o solidne zabezpieczenie swojego serwera WWW Apache, stosując sprawdzone praktyki, które zwiększą ochronę Twojej aplikacji internetowej.
Serwer WWW stanowi fundament każdej aplikacji internetowej. Niewłaściwe ustawienia lub pozostawienie konfiguracji domyślnej może nieumyślnie ujawnić wrażliwe dane, stwarzając realne zagrożenie.
Jako właściciel witryny lub administrator, regularne przeprowadzanie analiz pod kątem potencjalnych zagrożeń cybernetycznych jest niezbędne, aby móc podjąć działania obronne, zanim zrobią to niepowołane osoby.
Przejdźmy teraz do kluczowych ustawień, które pozwolą Ci utrzymać Twój serwer WWW Apache w dobrej kondycji.
Pełną konfigurację znajdziesz w pliku httpd.conf Twojej instancji Apache.
Pamiętaj: przed wprowadzeniem jakichkolwiek zmian, wykonaj kopię zapasową pliku konfiguracyjnego. W razie niepowodzenia, przywrócenie pierwotnych ustawień będzie znacznie łatwiejsze.
Wyłączenie śledzenia zapytań HTTP
Standardowo opcja TraceEnable jest aktywna, umożliwiając działanie metody TRACE, która dopuszcza dołączenie treści zapytania w przesyłanym żądaniu.
Dezaktywacja TraceEnable sprawi, że serwer główny oraz mod_proxy będą zwracać błąd 405 (Metoda niedozwolona) do klienta.
Aktywna funkcja TraceEnable otwiera furtkę do śledzenia międzydomenowego, co może umożliwić cyberprzestępcom kradzież danych z plików cookie.
Rozwiązanie
Aby wyeliminować to ryzyko, należy wyłączyć metodę TRACE HTTP w konfiguracji Apache.
Zrobisz to, modyfikując lub dodając poniższą dyrektywę w pliku httpd.conf serwera WWW Apache.
TraceEnable off
Uruchomienie serwera jako dedykowany użytkownik i grupa
Standardowo Apache działa w oparciu o użytkownika „nobody” lub „daemon”.
Nigdy nie ustawiaj użytkownika (lub grupy) jako root, chyba że jesteś w pełni świadomy konsekwencji i potencjalnego niebezpieczeństwa.
Rozwiązanie
Najlepszym rozwiązaniem jest uruchamianie Apache na osobnym, dedykowanym koncie, innym niż root. Zmodyfikuj odpowiednie dyrektywy użytkownika i grupy w pliku httpd.conf serwera WWW Apache.
User apache Group apache
Dezaktywacja podpisu serwera
Domyślnie, opcja wyłączenia pomija linię stopki.
Aktywacja tej opcji powoduje dodanie wiersza z numerem wersji serwera i nazwą serwera, który obsługuje dany host wirtualny.
Rozwiązanie
Zaleca się wyłączenie podpisu serwera, aby uniknąć ujawniania wersji używanego Apache.
ServerSignature Off
Ukrywanie informacji o serwerze
Ta dyrektywa steruje zawartością pola nagłówka odpowiedzi serwera, które jest przesyłane do klientów, decydując, czy mają tam być zawarte informacje o typie systemu operacyjnego i wkompilowanych modułach.
Rozwiązanie
ServerTokens Prod
Ograniczenie dostępu do określonej sieci lub adresu IP
Jeśli chcesz, aby Twoja strona była dostępna tylko dla określonego adresu IP lub sieci, możesz edytować konfigurację katalogu witryny w pliku httpd.conf.
Rozwiązanie
W dyrektywie Allow podaj zakres adresów sieciowych.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.0.0/24 </Directory>
Możesz również podać konkretny 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żywanie wyłącznie protokołu TLS 1.2
Protokoły SSL 2.0, 3.0, TLS 1 oraz 1.1 wykazują pewne podatności kryptograficzne.
Potrzebujesz wskazówek dotyczących konfiguracji protokołu SSL? Sprawdź ten przewodnik.
Rozwiązanie
SSLProtocol -ALL +TLSv1.2
Wyłączenie listingu katalogów
W sytuacji, gdy w katalogu witryny brakuje pliku index.html, użytkownik odwiedzający stronę zobaczy na ekranie wszystkie pliki i podkatalogi (efekt podobny do polecenia ls -l).
Rozwiązanie
Aby wyłączyć listowanie zawartości katalogów, ustaw wartość dyrektywy Option na „None” lub „-Indexes”.
<Directory /> Options None Order allow,deny Allow from all </Directory>
LUB
<Directory /> Options -Indexes Order allow,deny Allow from all </Directory>
Usunięcie zbędnych modułów DSO
Przejrzyj konfigurację i usuń niepotrzebne moduły DSO.
Po instalacji wiele modułów jest domyślnie aktywnych. Możesz wyłączyć te, których nie wykorzystujesz.
Wyłączenie szyfrowań zerowych i słabych
Zezwól jedynie na używanie silnych algorytmów szyfrowania. W ten sposób zamkniesz furtki dla prób negocjacji niższych poziomów szyfrowania.
Rozwiązanie
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Aktualność oprogramowania
Apache jest rozwijanym oprogramowaniem open source, dlatego najprostszym sposobem na zwiększenie jego bezpieczeństwa jest regularna aktualizacja do najnowszej wersji. Każda nowa wersja zawiera poprawki i łatki bezpieczeństwa. Zawsze dbaj o to, by Twoje oprogramowanie było aktualne.
Powyżej przedstawiliśmy jedynie kilka podstawowych konfiguracji. Jeśli szukasz bardziej szczegółowych informacji, zapoznaj się z moim obszernym przewodnikiem krok po kroku, dotyczącym bezpieczeństwa i utwardzania.
Podobał Ci się ten artykuł? Zachęcamy do dzielenia się nim z innymi!
newsblog.pl