GNU/Linux >> Znalost Linux >  >> Debian

Debian – Jak automaticky trvale zakázat IP adresy?

V současné době používám iptables na novém serveru Debianu, na kterém běží Asterisk.

Každý den jsem kontroloval auth.log pro IP adresy a ručně prováděl iptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP

Původně jsem dělal pouze IP adresy, ale mnoho požadavků přicházelo z podobných IP adres, takže /24 funguje lépe, použil jsem /16 několikrát.

Už mám stovky položek iptables a tohle se vymyká kontrole! Vím, že musí existovat jednodušší způsob, jak to udělat.

Byl mi doporučen fail2ban, ale zdá se, že blokuje IP pouze dočasně po určitém počtu pokusů.

Dva hlavní pokusy o narušení, které vidím, využívají falešná uživatelská jména a náhodné porty.

Je možné v případě pokusu o přihlášení pomocí libovolného uživatelského jména, které momentálně nepoužívám, automaticky trvale zablokovat IP adresu? Totéž s porty, které se nepoužívají?

Také to vidím hodně takto:

Did not receive identification string from (malicious IP) port 48334

Rád bych zakázal i ty IP.

Nebudu automaticky blokovat nesprávné pokusy o přihlášení, jako kdybych oklepal heslo, které by mě mohlo uzamknout. Ale snad bude stačit trvalý zákaz IP po 3 pokusech.

Mohu to udělat s iptables? Nenašel jsem nic o „trvalých zákazech“, které by takto fungovaly, zdá se, že to momentálně funguje víc.

Víceméně bych rád dosáhl toho, co jsem dělal ručně; trvalé blokování rozsahů IP po jediném nesprávném přihlášení uživatelského jména, připojení jednoho špatného portu nebo 3 nesprávných pokusech o přihlášení (se správným uživatelským jménem). Doufám, že to zabrání spamu auth.log.

Přijatá odpověď:

fail2ban lze nakonfigurovat na trvalé zákazy nastavením bantine na -1

V jail.conf

bantime = -1 

Ty se při restartu ztratí, ale to nemusí být nutně špatné, protože tolik pokusů bude přechodných ze zadržených domácích strojů v botnetu…

Pokud chcete vytrvalost, pak https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-persistent-bans/ může poskytnout určité vodítko.

V podstatě úprava fail2ban config vytvořit trvalý konfigurační soubor všech zakázaných IP a nechat iptables načíst tento seznam při restartu...

Pokud tedy zkontrolujete výchozí jail.conf můžete zjistit, že výchozí akce je iptables-multiport . To odpovídá konfiguračnímu souboru /etc/fail2ban/ction.d/iptables-multiport.conf

Můžeme přidat následující položky:

[Definition]
# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
          cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
          | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    See jail.conf(5) man page
# Values:  CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
        echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans

Nyní, když fail2ban označí záznam, přidá řádek do /etc/fail2ban/persistent.bans (prostřednictvím actionban konfigurace). Když fail2ban po spuštění volá actionstart který přečte tento soubor a vytvoří iptables nezbytná pravidla.

Související:Mac – Přiřadit IP k určitým mac adresám v dd-wrt?

Samozřejmě fail2ban potřebuje restartovat po změně některého z konfiguračních souborů.

Všechna čest „arno0x0x“ a jeho wordpress webu za tento recept.


Debian
  1. Jak nainstalovat Debian 10 (Buster)

  2. Jak zastavit automatickou instalaci aktualizací na Ubuntu nebo Debian (bezobslužné upgrady)

  3. Jak zobrazím seznam IP adres blokovaných iptables?

  1. Jak změnit název hostitele v Debianu 10

  2. Jak automaticky spustit OpenVPN v Debianu se statickou IP adresou

  3. Jak nastavit vsftpd na Debianu

  1. Jak nainstalovat Python 3.9 na Debian 10

  2. Jak nainstalovat Memcached na Debian 10

  3. Jak nainstalovat TeamViewer na Debian 10