GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečení vašeho webového serveru Apache pomocí zabezpečení Mod

ModSecurity, také známý jako Modsec, je bezplatný a open source webový aplikační firewall pro webový server Apache. ModSecurity je modul Apache, který vám pomáhá chránit váš webový server před různými typy útoků včetně SQL injection, XSS, trojských koní, botů, zachycení/únosu relací a mnoha dalších. ModSecurity poskytuje výkonné sady pravidel s monitorováním webu v reálném čase, protokolováním a řízením přístupu.

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat zabezpečení Mod s Apache na Ubuntu 18.04.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Statická adresa IP nakonfigurovaná na vašem serveru.

Krok 1 – Vytvoření cloudového serveru Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Instalace LAMP Stack

Nejprve budete muset nainstalovat LAMP Stack na váš server. Můžete jej nainstalovat spuštěním následujícího příkazu:

apt-get install apache2 mariadb-server php7.2-mysql php7.2 libapache2-mod-php7.2 unzip git -y

Po instalaci LAMP spusťte službu Apache a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start apache2
systemctl enable apache2

V tomto okamžiku je webový server Apache nainstalován a spuštěn na vašem serveru.

Krok 3 – Instalace ModSecurity

apt-get install libapache2-mod-security2 -y

Po dokončení instalace restartujte službu Apache, aby se změny projevily.

systemctl restart apache2

Dále můžete také zkontrolovat, zda byl modul načten nebo ne, spuštěním následujícího příkazu:

apachectl -M | grep security

Měli byste získat následující výstup:

security2_module (shared)

Krok 4 – Konfigurace ModSecurity

Ve výchozím nastavení nejsou nakonfigurována žádná pravidla zabezpečení, takže je budete muset nejprve povolit. Chcete-li tak učinit, přejmenujte výchozí konfigurační soubor ModSecurity /etc/modsecurity/modsecurity.conf-recommended na /etc/modsecurity/modsecurity.conf.

cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

Dále soubor upravte pomocí preferovaného textového editoru:

nano /etc/modsecurity/modsecurity.conf

Najděte následující řádek:

SecRuleEngine DetectionOnly

Nahraďte jej následujícím:

SecRuleEngine On

Po dokončení uložte a zavřete soubor. Poté restartujte službu Apache, aby se změny projevily.

systemctl restart apache2

Krok 5 – Stažení a konfigurace základního pravidla ModSecurity

Výchozí sada pravidel ModSecurity je k dispozici v adresáři /usr/share/modsecurity-crs, ale doporučujeme stáhnout si novou sadu pravidel z GitHubu.

Nejprve odstraňte stará pravidla pomocí následujícího příkazu:

rm -rf /usr/share/modsecurity-crs

Dále si stáhněte nejnovější sadu pravidel pomocí následujícího příkazu:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git /usr/share/modsecurity-crs

Dále budete muset povolit tuto sadu pravidel v konfiguraci Apache. Můžete to povolit úpravou souboru /etc/apache2/mods-enabled/security2.conf:

nano /etc/apache2/mods-enabled/security2.conf

Přidejte následující řádky nad řádek „“

     IncludeOptional "/usr/share/modsecurity-crs/*.conf
     IncludeOptional "/usr/share/modsecurity-crs/rules/*.conf

Uložte a zavřete soubor. Poté restartujte službu Apache a povolte modul záhlaví Apache, aby implementoval změny.

a2enmod headers
systemctl restart apache2

V tomto okamžiku je ModSecurity nakonfigurován pro práci s webovým serverem Apache.

Krok 6 – Test ModSecurity

Po konfiguraci ModSecurity se můžete pokusit spustit škodlivé skripty ve webovém prohlížeči a zkontrolovat, zda budou spuštěna pravidla ModSecurity.

Otevřete webový prohlížeč a zadejte adresu URL http://ip-ip-vašeho-serveru/index.html?exec=/bin/bash . Na následující stránce byste měli dostat zakázanou chybovou zprávu:

Chcete-li otestovat pravidla ModSecurity pro ochranu před simulovaným útokem XSS, přejděte na adresu URL http://ip-ip-vašeho-serveru/?q=”> z vašeho webového prohlížeče. Měli byste vidět následující obrazovku:

Chcete-li otestovat pravidla ModSecurity proti skenům Nessus, použijte příkaz curl se skenery Nessus k odeslání požadavků HTTP na server Apache, jak je znázorněno níže:

curl -i http://your-server-ip -A Nessus

Měli byste dostat odpověď 403 Forbidden, protože ModSecurity identifikovalo User Agent jako sken Nessus:

HTTP/1.1 403 Forbidden
Date: Sat, 21 Dec 2019 04:17:24 GMT
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 278
Content-Type: text/html; charset=iso-8859-1

Krok 7 – Vyloučení konkrétní domény z ModSecurity

V některých případech musíte z ochrany ModSecurity vyloučit konkrétní doménu. Chcete-li zakázat ModSecurity pro konkrétní doménu, otevřete konfigurační soubor virtuálního hostitele Apache pro konkrétní doménu:

nano /etc/apache2/site-enabled/your-domain.conf

Do bloku přidejte následující řádky:

<IfModule security2_module>
    SecRuleEngine Off
</IfModule>

Uložte a zavřete soubor. Poté restartujte službu Apache, aby se změny projevily.

systemctl restart apache2

Závěr

Zkontrolovali jsme, jak nainstalovat a nakonfigurovat ModSecurity, aby chránil váš webový server Apache před škodlivými útoky. Další informace naleznete v dokumentaci ModSecurity na adrese ModSecurity.


Linux
  1. Jak nakonfigurovat webový server Apache

  2. 7 kroků k zabezpečení serveru Linux

  3. Jak nakonfigurovat více webových stránek s webovým serverem Apache

  1. Prohledejte své zabezpečení Linuxu pomocí Lynis

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

  3. Zabezpečení serveru Debian Apache PHP

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

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

  3. Jak nainstalovat zabezpečení modu na Centos 7.x s apache?