Tento článek popisuje, jak nainstalovat službu Fail2Ban na Ubuntu 20.04.
Co je Fail2Ban?
Fail2Ban je software pro prevenci narušení, který můžete použít k ochraně serverů před škodlivými hrozbami, jako jsou útoky hrubou silou.
Předpoklady
Před instalací Fail2Ban je dobré se vždy ujistit, že je váš server aktuální. Chcete-li aktualizovat aktuální verze balíčků nainstalovaných na vašem serveru, spusťte následující příkaz:
root@server-01:~# sudo apt-get upgrade
Poznámka: Předchozí příkaz poskytuje souhrn balíčků, které mají být upgradovány, a vyzve vás k zadání dodatečného místa požadovaného pro instalaci. Zadejte „y ” a pokračujte v upgradu.
Instalovat Fail2Ban
Pro zahájení instalace spusťte následující příkaz:
root@server-01:~# sudo apt-get install fail2ban
Poznámka: Na výzvu k dodatečnému prostoru zadejte „y ” a pokračujte v upgradu.
Ověřte, zda je Fail2Ban nainstalován a spuštěn pomocí následujícího příkazu:
root@server-01:~# sudo systemctl status fail2ban
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset>
Active: active (running) since Fri 2020-07-31 00:23:21 UTC; 42min ago
Pokud Fail2ban neběží kdykoli, můžete jej spustit následujícím příkazem:
root@server-01:~# sudo systemctl start fail2ban
Nastavte Fail2Ban tak, aby se spouštěl při spuštění pomocí následujícího příkazu:
root@server-01:~# sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Nakonfigurujte Fail2Ban
Neměli byste aktualizovat výchozí konfigurační soubory Fail2Ban, fail2ban.conf a jail.conf . Místo toho vytvořte nové prázdné soubory fail2ban.local a jail.local nebo zkopírujte soubor .conf soubory k vytvoření .local soubory.
Můžete zkopírovat stávající soubor .conf vytvořte soubor .local soubor s následujícím příkazem:
root@server-01:~# sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Jakékoli změny konfigurace Fail2Ban proveďte pouze na .local soubory pomocí vašeho oblíbeného textového editoru. Následující příklady jsou běžně konfigurované položky:
- ignoreip :Zadané adresy, které nejsou podle kritérií zakázány.
- bantime :Zadaná doba trvání zákazu.
- maxretry :Zadaný počet neúspěšných přihlášení, než bude zakázáno.
Mnoho dalších polí je konfigurovatelných a tyto popisy naleznete v .local soubor.
Následující příklad ukazuje základní nastavení zákazu v rámci jail.local a nastaví bantime
na 10 minut a maxretry
na tři pokusy.
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
Následující příklad ukazuje tři neúspěšné pokusy o přihlášení a výsledný zákaz IP adresy.
[user@test ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password).
[user@test ~]$ ssh [email protected]
ssh: connect to host 23.253.159.172 port 22: Connection refused