Zabezpečení a posílení webového serveru Apache pomocí následujících ověřených postupů pomůže ochránit vaši webovou aplikaci před hrozbami.
Webový server představuje zásadní prvek každé webové aplikace. Nesprávná konfigurace nebo ponechání výchozích nastavení může vést k odhalení citlivých informací, což představuje značné riziko.
Jakožto majitelé nebo správci webových stránek byste měli pravidelně provádět bezpečnostní audity, abyste odhalili potenciální online nebezpečí a mohli jednat dříve, než dojde k napadení hackery.
Projděme si nyní klíčové nastavení, které vám pomůže zabezpečit váš webový server Apache.
Veškerá níže uvedená konfigurace se provádí v souboru `httpd.conf` vaší instance Apache.
Důležité upozornění: Před jakoukoli úpravou si nezapomeňte vytvořit zálohu příslušného konfiguračního souboru. To vám usnadní obnovení původního stavu, pokud by se něco pokazilo.
Deaktivace sledování HTTP požadavků
Standardní nastavení `TraceEnable on` umožňuje metodu TRACE, která umožňuje, aby jakákoli entita požadavku doprovázela samotný požadavek.
Vypnutím `TraceEnable` zajistíte, že server a modul `mod_proxy` budou klientovi vracet chybu 405 (Metoda není povolena).
Aktivní `TraceEnable` může vést k problémům s cross-site tracing (sledování mezi stránkami) a potenciálně tak usnadnit hackerovi krádež vašich souborů cookie.
Řešení
Tento bezpečnostní problém vyřešíte deaktivací metody HTTP TRACE v konfiguraci Apache.
Toho docílíte úpravou nebo přidáním následující direktivy do souboru `httpd.conf` vašeho webového serveru Apache:
TraceEnable off
Spuštění serveru pod samostatným uživatelem a skupinou
Ve výchozím stavu je Apache nastaven tak, aby běžel pod uživatelem „nobody“ nebo „daemon“.
Nikdy nenastavujte uživatele (nebo skupinu) na roota, pokud si nejste absolutně jisti, co děláte a jaká rizika to obnáší.
Řešení
Doporučuje se spouštět Apache pod vlastním, nerootovským účtem. Upravte direktivy pro uživatele a skupinu v souboru `httpd.conf` vašeho webového serveru Apache:
User apache Group apache
Zamezení zobrazení podpisu serveru
Výchozí nastavení `Off` zabrání zobrazení patičky serveru.
Nastavení `On` přidá do patičky řádek s verzí serveru a názvem virtuálního hostitele.
Řešení
Z bezpečnostních důvodů se doporučuje vypnout zobrazení podpisu serveru, abyste nezveřejňovali verzi Apache, kterou používáte.
ServerSignature Off
Skrytí banneru serveru
Tato direktiva rozhoduje o tom, zda hlavička odpovědi serveru, odesílaná klientům, obsahuje obecný popis operačního systému a informace o zkompilovaných modulech.
Řešení
ServerTokens Prod
Omezení přístupu ke konkrétní síti nebo IP adrese
Chcete-li, aby vaše webové stránky byly dostupné pouze z určité IP adresy nebo sítě, upravte nastavení adresáře vašich stránek v souboru `httpd.conf`.
Řešení
Zadejte síťovou adresu pomocí direktivy `Allow`.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.0.0/24 </Directory>
Zadejte IP adresu pomocí direktivy `Allow`.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.1.56 </Directory>
Používání výhradně TLS 1.2
Protokoly SSL 2.0, 3.0 a TLS 1 a 1.1 jsou známy tím, že trpí řadou kryptografických chyb.
Potřebujete pomoc s konfigurací SSL? Podívejte se na tento návod.
Řešení
SSLProtocol -ALL +TLSv1.2
Zákaz výpisu adresářů
Pokud ve webovém adresáři nemáte soubor `index.html`, klient uvidí v prohlížeči seznam všech souborů a podadresářů (podobně jako výstup příkazu `ls -l`).
Řešení
Chcete-li zakázat procházení adresářů, nastavte hodnotu direktivy `Option` na „None“ nebo „-Indexes“.
<Directory /> Options None Order allow,deny Allow from all </Directory>
NEBO
<Directory /> Options -Indexes Order allow,deny Allow from all </Directory>
Odstranění nepotřebných DSO modulů
Pečlivě zkontrolujte konfiguraci a odstraňte zbytečné DSO moduly.
Po instalaci je standardně aktivováno mnoho modulů. Můžete odstranit ty, které nepoužíváte.
Zákaz nulových a slabých šifer
Povolte pouze silné šifry, abyste zabránili pokusům o navázání spojení pomocí slabších šifrovacích sad.
Řešení
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Udržování aktuální verze
Protože je Apache open-source projekt s aktivním vývojem, nejjednodušší způsob, jak zlepšit jeho zabezpečení, je používat nejnovější verzi. V každé nové verzi jsou přidávány opravy chyb a bezpečnostní záplaty. Proto vždy aktualizujte na nejnovější stabilní verzi Apache.
Výše uvedené je jen několik základních nastavení. Pokud hledáte podrobnější informace, můžete se podívat na mého podrobného průvodce zabezpečením a posílením serveru.
Líbil se vám článek? Podělte se o něj s ostatními!