Jak nastavit Fail2Ban na CentOS

Úvod do Fail2Ban

Ve výchozím nastavení se klient připojuje k SSH pomocí portu 22. Protože se jedná o dobře známý port, je výchozí konfigurace zranitelná vůči mnoha útokům hrubou silou. Fail2Ban je řešení pro automatickou ochranu serveru před těmito útoky. Program běží na pozadí, skenuje soubory protokolu, aby zjistil, které IP adresy útočí, a automaticky jim zakáže přístup k SSH.

Instalace Fail2Ban

V tomto tutoriálu nainstalujeme Fail2Ban na CentOS 6 prostřednictvím úložiště EPEL. Spusťte následující příkazy.

yum install epel-release
yum install fail2ban

Vysvětlení

  • yum install epel-release: Nainstaluje úložiště EPEL (Extra Packages pro Enterprise Linux).
  • yum install fail2ban: Nainstaluje Fail2Ban z úložiště EPEL.

Konfigurace nastavení Fail2Ban

Otevřete konfigurační soubor Fail2Ban.

nano /etc/fail2ban/jail.conf

V souboru uvidíte některé parametry, jak je uvedeno níže. Upravte kteroukoli z hodnot podle svých potřeb.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3

Vysvětlení

  • ignoreip: Nezakazujte hostitele, kteří odpovídají adrese v tomto seznamu. Pomocí oddělovače mezer lze definovat několik adres. Na tento řádek napište svou osobní IP.
  • bantime: Počet sekund, po které je hostitel zakázán.
  • findtime: Hostitel je zakázán, pokud se vygeneroval maxretryběhem posledního findtime.
  • maxretry: Počet selhání před zablokováním hostitele.

Konfigurace Fail2Ban pro ochranu SSH

Nejprve musíme vytvořit konfigurační soubor.

nano /etc/fail2ban/jail.local

Zkopírujte řádky níže a vložte je do souboru.

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 5
  • enabled: Aktivace ochrany. Pokud jej chcete vypnout, změňte hodnotu na false.
  • filter: Ve výchozím nastavení je nastaven na sshd, který odkazuje na soubor /etc/fail2ban/filter.d/sshd.conf.
  • action: Fail2Ban zakáže IP , která odpovídá filtru /etc/fail2ban/action.d/iptables.conf. Pokud jste předtím změnili port SSH, změňte port=sshjej na nový port, například port=2222. Pokud používáte port 22, nemusíte hodnotu měnit.
  • logpath: Cesta k souboru protokolu, který používá Fail2Ban.
  • maxretry: Maximální počet neúspěšných pokusů o přihlášení.

Spouštění služby Fail2Ban

Spuštěním těchto dvou příkazů níže spustíte službu Fail2Ban:

chkconfig --level 23 fail2ban on
service fail2ban start

Nakonec zkontrolujte, iptableszda má pravidla přidaná Fail2Ban.

iptables -L

Výsledek bude vypadat podobně jako tento výstup.

Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Jak sledovat neúspěšné pokusy o přihlášení

Tento příkaz můžete použít ke kontrole, zda váš server neprovedl neúspěšné pokusy o přihlášení (možné útoky).

cat /var/log/secure | grep 'Failed password'

Výsledek bude vypadat podobně jako tyto řádky.

Dec  6 22:47:12 vultr sshd[7942]: Failed password for root from 43.229.53.67 port 23021 ssh2
Dec  6 22:47:15 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:16 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:18 vultr sshd[7944]: Failed password for root from 43.229.53.67 port 40996 ssh2
Dec  6 22:47:31 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:34 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:36 vultr sshd[7948]: Failed password for root from 43.229.53.67 port 29907 ssh2
Dec  6 22:47:39 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:41 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:43 vultr sshd[7950]: Failed password for root from 43.229.53.67 port 48386 ssh2
Dec  6 22:47:47 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2
Dec  6 22:47:49 vultr sshd[7952]: Failed password for root from 43.229.53.67 port 62846 ssh2

Chcete-li zobrazit, které adresy IP byly zakázány, použijte následující příkaz.

iptables -L -n

Chcete-li odstranit IP adresu ze seznamu zakázaných, spusťte následující příkaz. Změňte banned_ipna IP, kterou chcete zrušit.

iptables -D f2b-SSH -s banned_ip -j DROP

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více