GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečte svůj webový server Apache Best Practice

Úvod

Apache je nejpopulárnější webový server používaný na internetu. A je ideální pro většinu situací a umožňuje flexibilitu pro sdílená prostředí. V tomto tutoriálu uvidíme, jak zabezpečit Apache webový server. Pro tento tutoriál použijeme Centos 8. Návod k instalaci Apache najdete zde. Uvidíme, jak upravit Apache konfigurace také na systému Ubuntu/Debian.

1. Udržujte aktuální Apache

Přihlaste se do systému pomocí privilegovaného uživatelského účtu root nebo sudo. zkontrolujte Apache verzi spuštěním následujícího příkazu.
httpd -v

2. Skrýt informace o verzi Apache a serveru .

První věc, kterou musíme zvážit, nechceme prozradit, jakou verzi webového serveru v našem systému používáme. Odhalení informací o verzi a operačním systému znamená, že pomáháme hackerům urychlit proces útoku. Na obrázku níže vidíme, že Apache zobrazí jeho verzi s nainstalovaným operačním systémem na našem serveru.

Chcete-li zabránit Apache od odhalení jeho verze a informací o operačním systému, musíme změnit Apache hlavní konfigurační soubor. otevřete konfigurační soubor spuštěním následujícího příkazu-

nano /etc/httpd/conf/httpd.conf
nano /etc/apache2/apache.conf (Ubuntu / Debian)

Nyní přidejte dvě níže uvedené direktivy do hlavního konfiguračního souboru a uložte jej.

ServerTokens Prod
ServerSignature Off

A restartujte Apache serveru spuštěním následujícího příkazu-

systemctl restart httpd.service

Jak můžeme vidět na obrázku níže, Apache verze není vystavena a provozní informace také nejsou viditelné.

3. Zakázat indexování adresářů

Ve výchozím nastavení Apache zobrazuje veškerý obsah adresáře Webroot bez indexového souboru. Jako na obrázku níže,

abychom zabránili indexování adresářů v prohlížeči, musíme změnit direktivu options v Apache konfigurační soubor. Otevřete konfiguraci a změňte položku, jak je uvedeno níže.

<Directory /var/www/html>
    Options -Indexes
</Directory>

Nyní otevřete prohlížeč a do adresního řádku zadejte IP nebo URL. A uvidíme obrázek jako níže

4. Zakázat ETag

Etag se používá v HTTP hlavičkách ke správě chování webového mezipaměti. Nicméně Etag může způsobit bezpečnostní problémy. Umožňuje vzdáleným útočníkům získat citlivé informace, jako je číslo inodu, typ MIME a proces prostřednictvím ETag záhlaví. Chcete-li zabránit útokům a úniku informací, přidejte do Apache následující direktivu konfigurace.

Chcete-li toho dosáhnout, jednoduše přidejte následující řádek do Apache konfiguračního souboru a restartujte Apache .

FileEtag None

5. Zakázat CGI &SSI

SSI (server-side include) jsou direktivy, které se používají k psaní HTML stránky s dynamickým obsahem a CGI se používá k vkládání škodlivých skriptů do vašeho webového kódu. Omezte CGI a SSI přidáním následujících direktiv voleb do konfigurace Apache:

Options -Includes -ExecCGI

6. Omezit přístup k adresářu

Je dobrým bezpečnostním postupem omezit přístup k adresáři webroot pomocí „Povolit a zakázat“ syntax. Chcete-li toho dosáhnout, proveďte v apache následující změny konfigurační soubor. Otevřete konfigurační soubor a server pro Adresář zablokujte a zapište direktivu adresáře následovně a uložte ji. nyní restartujte Apache, abyste změnili efekty

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

Výše uvedené nastavení odmítne požadavky od kohokoli do kořenového adresáře. Nikdo nemá přístup do kořenového adresáře.

7. Zabezpečte Apache pomocí Mod_Security

Mod_security je bezpečnostní nástroj, který funguje jako firewall pro webové stránky nebo aplikace. Pomáhá chránit webové stránky nebo aplikace před přístupem autorizovaným OSN a také před útoky hrubou silou. Nainstalujte mod_security spuštěním následujícího příkazu a restartujte Apache pro práci s mod_security.

dnf -y install mod_security

8. Definujte metody požadavku HTTP

V aktuálním HTTP protokol, mnoho požadavků není vyžadováno a některé představují bezpečnostní riziko. Na to, aby webová aplikace umožňovala GET, to však stačí , HEAD a PŘIDAT metody požadavku. Toto nastavení můžeme nakonfigurovat přidáním příslušné direktivy Directory. Chcete-li toho dosáhnout, otevřete Apache konfiguračního souboru, vyhledejte Directory a přidejte následující vnitřní direktivu a restartujte Apache

<LimitExcept GET POST HEAD>
deny from all
</LimitExcept>

9. Povolit XSS Protection Header

Skriptování mezi weby je známé jako (XSS) a jedná se o běžnou chybu zabezpečení, která se vyskytuje ve webových aplikacích. Ochrana Cross-Site Scripting (XSS) může v mnoha prohlížečích přeskakovat. Některým útokům XSS však můžeme zabránit přidáním následující položky do našeho Apache konfigurační soubor a jeho uložení. A restartujte Apache server.

Header set X-XSS-Protection "1; mode=block"

Nyní zkontrolujte záhlaví požadavku ve vývojářském nástroji prohlížeče, na obrázku níže můžeme vidět, že záhlaví je úspěšně implementováno.

10. Zakázat TRACE HTTP Request

Ve výchozím nastavení se požadavek Trace HTTP otevře v Apache umožňující sledování napříč stránkami. Tato možnost umožňuje hackerovi snadno ukrást informace o souborech cookie. abyste tomu zabránili, přidejte do Apache následující parametry konfigurační soubor. A restartujte Apache .

TraceEnable off

11. Zabraňte útokům typu Clickjacking

Clickjacking , také známý jako „útok nápravy uživatelského rozhraní“, je zákeřná technika ke shromažďování kliknutí infikovaného uživatele. Clickjacking oklame oběť (návštěvníka), aby kliknul na infikovanou stránku. Abychom tomuto incidentu zabránili, musíme použít „X-FRAME-OPTION“ v Apache konfigurační soubor. Chcete-li to provést, přidejte do konfiguračního souboru následující řádek.

Header set X-FRAME-OPTIONS "SAMEORIGIN"

Nyní zkontrolujte záhlaví požadavku v nástroji pro vývojáře prohlížeče, protože vidíme, že jsme úspěšně přidali X-FRAME-OPTIONS na Apache konfigurační soubor.

13. Zabezpečený soubor cookie s příznakem HTTPOnly

Bez HttpOnly a Secure je možné krást nebo manipulovat s relacemi webových aplikací a soubory cookie, a to je nebezpečné. Abychom to zmírnili, musíme zajistit, aby mod_header modul běží na straně serveru.

apachectl -M | grep header

Na obrázku výše vidíme, že se modul mod_header načetl a povolil v Apache . Nyní přidejte následující řádek do hlavního konfiguračního souboru Apache a restartujte Apache server.

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

14. Omezit velikost požadavku

Ve výchozím nastavení požadavek HTTP v Apache je neomezená; webový server je tedy náchylný k útokům DoS tím, že je ponechán otevřený pro vysoký počet požadavků. Poté je důležité nastavit limit pro žádost o soubor. To lze provést přidáním LimitRequestBody direktivu Apache konfigurační soubor.

Unixcop je například adresář, který obsahuje soubory nahrané uživateli. Nyní omezujeme velikost nahrávání na 2 kB takže uživatel nemůže nahrát více souborů než toto.

<Directory "/var/www/html/unixcop">
LimitRequestBody 20000
</Directory

Závěr

Z tohoto tutoriálu jsme se dozvěděli, jak můžeme chránit náš server Apache před útočníkem. doufáme, že vám náš článek pomůže chránit váš server. můžete také sledovat mé další články.


Linux
  1. Jak nakonfigurovat webový server Apache

  2. Najděte 10 nejlepších IP adres pro přístup k vašemu webovému serveru Apache

  3. Ladění webového serveru Apache Keepalive

  1. Nainstalujte webový server Apache na openSUSE 12

  2. Nainstalujte webový server Apache na Ubuntu 12.10

  3. LAMP vs. LEMP – tipy pro výběr Apache nebo nginx pro váš webový server

  1. Jak zabezpečit webový server Apache pomocí Let's Encrypt na RHEL 8

  2. Jak nainstalovat webový server Apache na Ubuntu

  3. 10 tipů, jak zabezpečit webový server Apache v systému UNIX / Linux