V dnešní době jsou Webové stránky častým cílem útoků, které mohou mít za následek ztrátu dat, narušení provozu, nebo dokonce odcizení citlivých informací. Wordpress a další CMS (Content Management Systems) systémy jsou mezi útočníky oblíbené kvůli jejich rozšířenosti a někdy nedostatečnému zabezpečení. Jedním ze způsobů, jak posílit obranu těchto systémů, je implementace nástroje Fail2Ban na serveru CentOS 7. Fail2Ban monitoruje logy vašeho systému a automaticky blokuje IP adresy, které se pokoušejí o podezřelé chování. Tento článek poskytne podrobné instrukce, jak Fail2Ban nastavit a používat pro ochranu vašeho CMS.
Instalace Fail2Ban
Před zahájením se ujistěte, že máte na svém CentOS 7 nainstalován Fail2Ban. Instalace se provádí pomocí následujících příkazů v terminálu:
sudo yum install epel-release
sudo yum install fail2ban
Po instalaci aktivujte a spusťte službu Fail2Ban:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Konfigurace Fail2Ban pro WordPress a další CMS
Fail2Ban používá konfigurační soubory ve formátu .conf
. Doporučuje se neupravovat přímo tyto soubory, ale vytvořit si kopie s příponou .local
, které přepíší výchozí nastavení.
-
Vytvoření vlastní konfigurace: Zkopírujte výchozí konfigurační soubor jail.conf
do nového souboru jail.local
:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
-
Konfigurace jail.local: Otevřete soubor jail.local
v textovém editoru a přidejte sekci pro WordPress nebo jiné CMS, které chcete chránit. Například pro WordPress může konfigurace vypadat takto:
[wordpress-hard]
enabled = true
filter = wordpress
action = iptables-multiport[name=WordPress, port="http,https"]
logpath = /var/log/httpd/*access_log
maxretry = 3
Tato konfigurace definuje pravidlo s názvem wordpress-hard
, které sleduje logy web serveru (v tomto případě Apache) a hledá neúspěšné pokusy o přihlášení nebo jiné podezřelé aktivity spojené s WordPress.
-
Vytvoření vlastního filtru: Fail2Ban vyžaduje pro každý jail odpovídající filtr, který definuje, jak poznat podezřelou aktivitu. Vytvořte soubor /etc/fail2ban/filter.d/wordpress.conf
a definujte v něm vzory, které odpovídají pokusům o neautorizovaný přístup. Příklad takového filtru může vypadat takto:
[Definition]
failregex = <HOST> - - .*"POST /wp-login.php
Spuštění a testování Fail2Ban
Po dokončení konfigurace restartujte službu Fail2Ban, aby se změny projevily:
sudo systemctl restart fail2ban
Pro ověření, že je Fail2Ban správně nastaven a funguje, můžete použít příkaz:
sudo fail2ban-client status wordpress-hard
Tento příkaz zobrazí stav jailu wordpress-hard
, včetně počtu aktuálně blokovaných IP adres.
Implementace Fail2Ban na serveru s CentOS 7 nabízí efektivní způsob, jak chránit WordPress a další CMS systémy před běžnými útoky, jako jsou brute force útoky na přihlašovací stránky. Díky pružné konfiguraci může být Fail2Ban přizpůsoben k ochraně široké škály aplikací a služeb. Pravidelnou aktualizací filtrů a monitorováním logů zajistíte, že váš systém zůstane chráněný před novými hrozbami.