Fail2ban je bezplatné softwarové řešení pro prevenci narušení s otevřeným zdrojovým kódem, které chrání servery před útoky při přihlašování hrubou silou. Monitoruje různé log soubory SSH a dalších webových aplikací a kdykoli je zjištěna jakákoli neúspěšná autentizace a dosáhne maximálního počtu, Fail2Ban automaticky zablokuje IP adresu pomocí iptables Firewallu. Fail2Ban je jednoduchý, praktický, snadno konfigurovatelný a flexibilní.
V této příručce vám ukážeme, jak nainstalovat Fail2Ban s firewallem na Rocky Linux 8.
Předpoklady
- Server se systémem Rocky Linux 8 na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server 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 Rocky Linux 8 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, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
aktualizace dnf -y
Krok 2 – Konfigurace brány firewall
informace o dnf firewalld
Pokud je nainstalován, získáte následující výstup:
Poslední kontrola vypršení platnosti metadat:před 0:34:46 ve středu 17. listopadu 2021 09:52:51 UTC.Installed PackagesName :firewalldVersion :0.8.2Release :7.el8_4Architecture :noarchSize :1.2.d firewall MSource :1.2.d MS -7.el8_4.src.rpmRepository :@SystemFrom repo :baseosSummary :Démon brány firewall s rozhraním D-Bus poskytující dynamickou adresu firewallu URL :http://www.firewalld.orgLicence :GPLv2+Description :firewalld je démon služby brány firewall, který poskytuje dynamicky přizpůsobitelný :firewall s rozhraním D-Bus. Dostupné balíčky Název :firewalldVerze :0.9.3Vydání :7.el8Architecture :noarchVelikost :501 kZdroj :da firewalld-0.9.3-7.el8.src.rpmRepository s firewallem:base Rozhraní D-Bus poskytující dynamickou adresu firewallu URL:http://www.firewalld.orgLicence:GPLv2+Description:firewalld je démon služby brány firewall, který poskytuje dynamické cust omizable :firewall s rozhraním D-Bus.
Dále ověřte, zda je brána firewall spuštěna nebo ne.
stav systemctl firewalld
Měli byste vidět, že služba Firewalld je maskovaná:
● firewalld.service Načteno:maskované (Důvod:Jednotka firewalld.service je maskovaná.) Aktivní:neaktivní (mrtvá)
Budete tedy muset demaskovat službu Firewalld. Můžete jej demaskovat pomocí následujícího příkazu:
systemctl odmaskovat firewalld
Dále spusťte službu Firewalld a povolte její spuštění při restartu systému:
systemctl start firewalldsystemctl enable firewalld
V tomto okamžiku je ve vašem systému nainstalována a spuštěna brána firewall. Nyní můžete přejít k dalšímu kroku.
Krok 3 – Instalace Fail2Ban
dnf install epel-release -y
Dále nainstalujte balíček Fail2Ban pomocí následujícího příkazu:
dnf install fail2ban fail2ban-firewalld -y
Jakmile je Fail2Ban nainstalován, spusťte a povolte službu Fail2Ban pomocí následujícího příkazu:
systemctl start fail2bansystemctl enable fail2ban
Verzi Fail2Ban můžete ověřit pomocí následujícího příkazu:
fail2ban-client --version
Ukázkový výstup:
Fail2Ban v0.11.2
Krok 4 – Konfigurace Fail2Ban
Nejprve přejmenujte konfigurační soubor Firewalld na Fail2Ban pomocí následujícího příkazu:
mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local
Dále zkopírujte výchozí konfigurační soubor Fail2Ban:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Dále upravte soubor jail.local:
nano /etc/fail2ban/jail.local
Najděte následující řádky:
banaction =iptables-multiportbanaction_allports =iptables-allports
A nahraďte je následujícími řádky:
banaction =firewallcmd-rich-rules[actiontype=]banaction_allports =firewallcmd-rich-rules[actiontype=]
Uložte a zavřete soubor a restartujte Fail2Ban, aby se změny projevily:
systemctl restart fail2ban
V tomto okamžiku je Fail2Ban nakonfigurován pro práci s Firewallem.
Krok 5 – Zabezpečení služby SSH pomocí Fail2Ban
Chcete-li chránit službu SSHD, upravte soubor jail.local:
nano /etc/fail2ban/jail.local
Najděte sekci [sshd] a povolte ji přidáním následujících řádků:
[sshd]enabled =trueport =sshlogpath =%(sshd_log)sbackend =%(sshd_backend)sbantime =10mfindtime =10mmaxretry =5
Uložte a zavřete soubor a restartujte Fail2Ban, aby se změny projevily:
systemctl restart fail2ban
Nyní můžete ověřit stav Fail2Ban pomocí následujícího příkazu:
stav systemctl fail2ban
Získáte následující výstup:
● fail2ban.service – Služba Fail2Ban Načtena:načtena (/usr/lib/systemd/system/fail2ban.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od středy 17. 11. 2021 10:34 :49 UTC; Před 2 s Dokumenty:man:fail2ban(1) Proces:21154 ExecStop=/usr/bin/fail2ban-client stop (code=ukončeno, stav=0/ÚSPĚCH) Proces:21185 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS) Hlavní PID:21186 (fail2ban-server) Úkoly:5 (limit:11411) Paměť:14,6M CGroup:/system.slice/fail2ban.service └─21186 /usr/bin/ python3.6 -s /usr/bin/fail2ban-server -xf startNov 17 10:34:49 rockylinux systemd[1]:Spouštění služby Fail2Ban...17. listopadu 10:34:49 rockylinux systemd[1]:Spuštěna služba Fail2Ban .Nov 17 10:34:49 rockylinux fail2ban-server[21186]:Server připraven
Krok 6 – Ověřte Fail2Ban Firewall
V tomto okamžiku je Fail2Ban nakonfigurován tak, aby chránil službu SSH. Nyní je čas zkontrolovat, zda Fail2Ban funguje.
Nejprve ověřte konfiguraci vězení pomocí následujícího příkazu:
stav klienta fail2ban
Měli byste vidět následující výstup:
Stav|- Počet vězení:1`- Seznam vězení:sshd
Nyní přejděte na vzdálený počítač a zkuste se připojit k serveru SSH s nesprávným heslem. Po dosažení maximálního počtu opakování (5krát) bude vaše IP adresa blokována funkcí Fail2Ban.
Nyní zkontrolujte IP adresu blokovanou Fail2Ban pomocí následujícího příkazu:
fail2ban-client status sshd
Měli byste získat následující výstup:
Stav vězení:sshd|- Filtr| |- Aktuálně neúspěšné:1| |- Celkem neúspěšných:6| `- Odpovídá deníku:_SYSTEMD_UNIT=sshd.service + _COMM=sshd`- Akce |- Aktuálně zakázáno:1 |- Celkem zakázáno:1 `- Seznam zakázaných IP:27.61.171.115
Pravidla přidaná bránou firewall můžete zkontrolovat pomocí následujícího příkazu:
firewall-cmd --list-rich-rules
Získáte následující výstup:
rule family="ipv4" source address="27.61.171.115" port port="ssh" protocol="tcp" cancel type="icmp-port-unreachable"
Další informace naleznete také v protokolech Fail2Ban:
tail -f /var/log/fail2ban.log
Ukázkový výstup:
2021-11-17 10:37:21,837 fail2ban.filter [21186]:INFO [sshd] Nalezeno 27.61.171.115 - 2021-11-17 10:37:212021-11-17:21 105.59 fail,21ban akce [21186]:UPOZORNĚNÍ [sshd] Ban 27.61.171.1152021-11-17 10:37:27,220 fail2ban.filter [21186]:INFO [sshd] Nalezeno 27.61.171.115 - 21.17. pre>Závěr
Gratulujeme! Úspěšně jste nainstalovali Fail2Ban s Firewalld. Nyní můžete na svůj server implementovat Fail2Ban, abyste jej ochránili před útoky na přihlášení hrubou silou. Vyzkoušejte to na svém hostingovém účtu VPS od Atlantic.Net!
Jak nainstalovat a nakonfigurovat Caddy Web Server s PHP na Rocky Linux 8 Jak nainstalovat nástroj Icinga 2 Monitoring Tool na Rocky Linux 8Linux