Sshguard

Installare sshguard per prevenire gli attacchi e' semplice, ma configurarlo e' tutta un'altra cosa. Se la vostra distribuzione non lo include, lo potete installare da https://bitbucket.org/sshguard/sshguard/src/master/

Se avete invesce Ubuntu o una sua derivata, vi basta lanciare:

 sudo apt-get install sshguard

e si installera' e configurera' da solo.

Una volta fatto cio' vi basta modificare /etc/sshguard/sshguard.conf (oppure /etc/default/sshguard) per personalizzarlo.

OPZIONI

In Ubuntu, le opzioni sono quelle di avvio su /etc/default/sshguard, quindi bisogna modificare il file con la riga delle opzioni tipo:

 ARGS="-a 30  -p 3600 -s 259200"

-a rappresenta il numero di tentativi, errore di log vale 10, quindi 30 significa 3 tentativi.

-p rappresenta il modulo di tempo, in secondi, per cui viene bloccato in IP malevolo. Se impostato a 120, la prima volta verra' bloccato per 120 secondi, la seconda volta per 240, la terza volta per 360 e cosi' via. (suggerisco 3600, cioe' un'ora)

-s rappresenta dopo quanti secondi la fedina penale dell'IP malevolo e' ripulita, quindi i contatori per l'IP ripartono da zero. (suggerisco 5184000, cioe' un mese)

Dopo aver modificato le impostazioni, bisogna riavviare il servizio.

 # service sshguard restart

CENTOS 7

Su Centos il pacchetto non รจ configurato quindi bisogna fare parecchie cose per far funzionare sshguard:

  • installare il pacchetto con yum oppure dnf
  • copiare il file di configurazione da quello di esempio:
 # cp /usr/share/doc/sshguard-2.4.2/examples/sshguard.conf.sample  /etc/sshguard.conf
  • modificare il file /etc/sshguard.conf:
    • levare il commento da BACKEND="/usr/libexec/sshguard/sshg-fw-iptables"
    • aggiungere FILES="/var/log/secure"
  • modificare iptables cosi':
  # iptables -N sshguard
  # iptables -A INPUT -j sshguard
  • rendere sshguard che attivo sempre all'avvio del computer:
   #  systemctl enable sshguard

Vedere i blocchi

Per vedere gli indirizzi IP bloccati basta usare il comando:

 iptables -nvL sshguard

oppure

 journalctl -afb -p info SYSLOG_FACILITY=4 SYSLOG_FACILITY=10

oppure cercare in

  • /var/log/syslog
  • /var/log/secure
  • /var/log/auth
  • /var/log/messages

con un comando tipo:

 grep sshguard  /var/log/messages

Rimuovere il blocco ad un IP (unban)

I blocchi sono delle regole del firewall iptable, quindi basta sapere che regola e', ed eliminarla. Per scoprire la regola usate il seguente comando con l'indirizzo IP che volete sbloccare, ad esempio:

 # iptables -L -n -v --line-numbers | grep "176.117.178.252"
 1       13   580 DROP       all  --  *      *       176.117.198.209      0.0.0.0/0

Il primo numero e' la regola, come vedete in questo esempio e' il numero 1. A questo punto lanciamo il comando per levare il blocco:

 iptables -D sshguard 1