GNU/Linux >> Linux Esercitazione >  >> Linux

Fail2Ban Howto:Blocca l'indirizzo IP usando Fail2ban e IPTables

Fail2ban esegue la scansione dei file di registro per vari servizi ( SSH, FTP, SMTP, Apache, ecc., ) e vieta il IP che fa troppi errori di password. Aggiorna anche le regole del firewall per rifiutare questi indirizzi IP.

Fail2ban è un framework di prevenzione delle intrusioni scritto nel linguaggio di programmazione Python.

Lo scopo principale di Fail2ban è prevenire gli attacchi di accesso di forza bruta.

Inoltre, fare riferimento al nostro precedente articolo su Tripwire (sistema di rilevamento delle intrusioni basato su host Linux).

Installa Fail2ban

Per installare fail2ban dal sorgente, scaricalo da sourceforge..

Usa apt-get per installare Fail2ban su un sistema basato su Debian come mostrato di seguito.

# apt-get install fail2ban

Puoi anche installare Fail2ban manualmente scaricando il pacchetto deb fail2ban.

# dpkg -i fail2ban_0.8.1-1_all.deb

Come configurare fail2ban

Tutti i file di configurazione di Fail2ban si trovano nella directory /etc/fail2ban.

/etc/fail2ban/fail2ban.conf

Lo scopo principale di questo file è configurare le direttive relative al registro fail2ban.

  • Livello registro:imposta l'output del livello del registro.
  • logtarget:specifica il percorso del file di registro

Le azioni intraprese da Fail2ban vengono registrate nel file /var/log/fail2ban.log. Puoi modificare la verbosità nel file conf in una delle seguenti opzioni:1 – ERROR, 2 – WARN, 3 – INFO o 4 – DEBUG.

/etc/fail2ban/jail.conf

Il file jail.conf contiene la dichiarazione delle configurazioni del servizio. Questo file di configurazione è suddiviso in diversi contesti. Le impostazioni PREDEFINITE si applicano a tutte le sezioni.

La seguente sezione DEFAULT di jail.conf dice che dopo cinque tentativi di accesso falliti da un singolo indirizzo IP entro 600 secondi o 10 minuti (findtime), quell'indirizzo verrà automaticamente bloccato per 600 secondi (bantime).

[DEFAULT]
ignoreip = 127.0.0.1
maxretry = 5
findtime = 600
bantime = 600
  • ignoreip:questo è un elenco separato da spazi di indirizzi IP che non possono essere bloccati da fail2ban.
  • maxretry:numero massimo di tentativi di accesso non riusciti prima che un host venga bloccato da fail2ban.
  • bantime:tempo in secondi in cui un host viene bloccato se è stato catturato da fail2ban (600 secondi =10 minuti).

Configurazioni del servizio

Per impostazione predefinita, alcuni servizi vengono inseriti come modelli. Di seguito è riportato un esempio della sezione dei servizi ssh.

[ssh]
enabled = true
port	= ssh
filter	= sshd
logpath  = /var/log/auth.log
action = iptables
  • enabled :abilita il controllo fail2ban per il servizio ssh
  • porta:porta di servizio (indicata nel file /etc/services)
  • filtro:nome del filtro che deve essere utilizzato dal servizio per rilevare le corrispondenze. Questo nome corrisponde a un nome di file in '/etc/fail2ban/filter.d'; senza l'estensione '.conf'. Ad esempio:'filter =sshd' si riferisce a '/etc/fail2ban/filter.d/sshd.conf'.
  • logpath:il file di registro che fail2ban verifica i tentativi di accesso non riusciti.
  • Azione:questa opzione indica a fail2ban quale azione intraprendere una volta che un filtro corrisponde. Questo nome corrisponde a un nome di file in '/etc/fail2ban/action.d/' senza l'estensione '.conf'. Ad esempio:'action =iptables' si riferisce a /etc/fail2ban/action.d/iptables.conf'.

Fail2ban monitorerà il file /var/log/auth.log per i tentativi di accesso non riusciti e, se trova ripetuti tentativi di accesso ssh falliti dallo stesso indirizzo IP o host, fail2ban interrompe ulteriori tentativi di accesso da quell'indirizzo IP/host bloccandolo con regola del firewall iptables fail2ban.

Filtri Fail2ban

La directory /etc/fail2ban/filter.d contiene espressioni regolari utilizzate per rilevare tentativi di effrazione, errori di password e così via per vari servizi.

Ad esempio:

  • sshd.conf – Filtri relativi a ssh Fail2ban
  • apache-auth.conf – Filtri del servizio apache Fail2ban

Possiamo anche aggiungere la nostra espressione regolare per trovare azioni indesiderate.

Azioni Fail2ban

La directory /etc/fail2ban/action.d contiene diversi script che definiscono le azioni che verranno eseguite una volta che un filtro corrisponde. È consentito un solo filtro per servizio, ma è possibile specificare più azioni, su righe separate.

Ad esempio:

  • IPtables.conf – blocca e sblocca l'indirizzo IP
  • Mail.conf – Invio di posta all'utente configurato

Avvia/arresta servizio Fail2ban

Dopo aver apportato le modifiche alla configurazione, arrestare e avviare il demone Fail2ban come mostrato di seguito.

# /etc/init.d/fail2ban stop

# /etc/init.d/fail2ban start

Linux
  1. Come bloccare gli indirizzi falsificati locali utilizzando il firewall Linux

  2. Come bloccare l'indirizzo IP su un server Linux

  3. Come bloccare l'indirizzo IP su un server Linux

  4. Blocco host blacklist e iptables

  5. Blocca indirizzi IP e Paesi utilizzando .htaccess

Come bloccare/consentire il ping usando iptables in Ubuntu

Come bloccare un indirizzo IP usando .htaccess?

Esercitazione Unix Sed:stampa di righe di file utilizzando l'indirizzo e i modelli

Esercitazione Unix Sed:Elimina le righe di file utilizzando l'indirizzo e i modelli

Utilizzando Linux IPTables, come bloccare i torrent o qualsiasi protocollo P2P?

Iptables - Catena Bridge e Forward