Jak chránit SSH pomocí fail2ban na CentOS

Obsah

Servery neexistují izolovaně a většina z nich je nainstalována a přizpůsobena pouze pomocí nejzákladnější konfigurace SSH, která může být náchylná k útokům hrubou silou.
Nástroj fail2ban poskytuje způsob, jak automaticky chránit server před podezřelými útoky a škodlivým softwarem.
Program funguje tak, že skenuje soubory protokolu a pomáhá reagovat na akce, jako jsou opakované neúspěšné pokusy o připojení.
Začneme instalací fail2ban
Protože fail2ban není v CentOS k dispozici, musíme začít stažením úložiště:
rpm- Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Poté z následujícího příkazu nainstalujeme fail2ban následujícím příkazem
yum nainstalovat fail2ban

Zkopírujeme konfigurační soubor
Výchozí konfigurační soubor fail2ban je umístění v souboru /etc/fail2ban/jail.conf. Konfigurační práce by však na tomto souboru neměly být prováděny a místo toho by měla být vytvořena jeho místní kopie pro zálohování.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

Jakmile je soubor zkopírován, můžeme provést všechny změny v novém souboru jail.local. Mnoho z možných služeb, které mohou vyžadovat ochranu, je v tomto souboru již předkonfigurováno. Každý z nich je ve své vlastní sekci, nakonfigurován a vypnut.
Nastavit výchozí hodnoty na Jail.Local
Otevřete nový konfigurační soubor fail2ban:
 vi / etc / fail2ban / jail.local 

První část výchozích nastavení pokrývá základní pravidla, která bude fail2ban dodržovat. Pokud chcete pro svůj virtuální privátní server konfigurovat přizpůsobenější ochranu, můžete přizpůsobit podrobnosti každé části.
Ve výchozí části můžete vidět některé podrobnosti, jako jsou následující.
 [DEFAULT] # „Ignoreip“ může být IP adresa, maska ​​CIDR nebo hostitel DNS. Fail2ban nebude # Banovat řetězec, který odpovídá adrese v tomto seznamu. Více adres může být #define oddělovačem mezer. ignoreip = 127.0.0.1 # "Bantime" je počet sekund, po které má hostitel přístup nebo zakázán přístup. bantime = 3600 # Doba v sekundách, po kterou bude hostitel zablokován, pokud provede maximální počet neúspěšných dotazů findtime = 600 # „Maxretry“ je počet selhání povolených před zakázáním. maxretry = 3 

Zadejte svou IP adresu na osobní řádek ignorování. Každou adresu můžete oddělit mezerou. IgnoreIP přidá na seznam povolených určité IP adresy a zajistí, aby nebyly vynechány z vašeho VPS. Zahrnutí vaší adresy zajistí, že se omylem nezakážete ze svého vlastního virtuálního soukromého serveru.
Dalším krokem je rozhodnout o době zákazu, o počtu sekund, po které je hostitel zablokován ze serveru, pokud porušuje některá z pravidel. To je užitečné zejména v případě robotů, kteří jakmile je přístup zakázán, jednoduše přejdou na další cíl. Výchozí hodnota je 10 minut, pokud chcete, můžete ji zvýšit na hodinu.
Maxretry je počet nesprávných pokusů o přístup, které může hostitel mít, než jsou jeho pokusy o přístup zakázány po dobu trvání zákazu.
Findtime označuje dobu, po kterou musí hostitel zadat výchozí hodnotu 10 minut, což znamená, že pokud dojde k pokusu o přístup k hostiteli na server a ten se nezdaří, přihlásí se více než maximální částka 3krát za určených 10 minut bude vaše IP zablokována a nebudete mít přístup.
Konfigurujte sekci ssh - iptables v Jail.Local
Sekce podrobností SSH je jen o kousek níže v nastavení a je již nainstalována a aktivována. Ačkoli byste v této sekci neměli vyžadovat žádné změny, podrobnosti o každém řádku najdete níže.
 [ssh - iptables] enabled = true filter = sshd action = iptables [name = SSH, port = ssh, protocol = tcp] sendmail -whois [name = SSH, dest = root, [email protected]] logpath = / var / log / secure maxretry = 5

Enabled jednoduše odkazuje na skutečnost, že je zapnutá ochrana SSH. Můžete to vypnout slovem false.
Filtr, který ve výchozím nastavení používáte pro sshd, odkazuje na konfigurační soubor, který obsahuje pravidla, která fail2banuses používají k hledání shod. Název je zkrácenou verzí přípony souboru. Například sshd odkazuje na /etc/fail2ban/filter.d/sshd.conf
Akce popisuje kroky, které fail2ban provede k zakázání odpovídající IP adresy. Stejně jako položka filtru, každá akce odkazuje na soubor v adresáři action.d. Výchozí akci zákazu, iptable, najdete v souboru /etc/fail2ban/action.d/iptables.conf
V iptables můžete dále přizpůsobit fail2ban. Pokud například používáte nestandardní port, můžete změnit číslo portu v hranatých závorkách na výšku, čímž bude viditelnost stejné rodiny:
například . iptables [název = SSH, port = 30 000, protokol = tcp]
Na tomto řádku můžete také změnit protokol z TCP na UDP, podle toho, který chcete, aby monitoroval fail2ban.
Pokud máte na virtuálním soukromém serveru nakonfigurovaný poštovní server, může vám fail2ban zaslat e -mail, když je IP adresa zakázána. V případě bypassu sendmail-whois odkazuje na akce umístěné v / etc / fail2ban / action.d / sendmail-whois.conf.
log cesta odkazuje na umístění protokolu, který bude fail2ban sledovat.
Maximální řádek opakování v sekci SSH má stejnou definici jako výchozí možnost. Pokud však byla služba povolena a chcete pro každé z nich mít konkrétní hodnoty, můžete zde nastavit novou maximální částku pro opakování pro SSH.
Restartujte fail2ban
Po provedení jakýchkoli změn v konfiguraci fail2ban se vždy ujistěte, že restartujete fail2ban:
sudo restartovat službu fail2ban

V tabulce IP můžete vidět pravidla, která fail2ban implementuje:
iptables- L
Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave