Mantenere la propria LinuxBox aggiornata è un buon sistema per evitare problemi, ma bisogna ricordare che ci sono molte persone, o bot, che tentano continuamente di accedere con “attacchi a dizionario”, provando le combinazioni più diffuse di username/password.
Un buon sistema per bloccare i tentativi di accesso indesiderati è installare l’accoppiata Apf e Bfd. Si tratta di un Firewall molto versatile ed un “Brute Force Detection”. Quelle che seguono sono le istruzioni per l’installazione su Debian; vanno infatti effettuare delle piccole modifiche per far funzionare i due software su Debian. Non mi dilungherò invece in questo articolo su come configurare al meglio i due software… Sicuramente farò poi un altro post.
Innanzitutto scarichiamo i pacchetti:
|
1 2 3 |
cd /usr/src wget http://www.r-fx.ca/downloads/apf-current.tar.gz wget http://www.r-fx.ca/downloads/bfd-current.tar.gz |
Decomprimiamo il tutto e procediamo all’installazione
|
1 2 |
tar zxvf apf-current.tar.gz tar zxvf bfd-current.tar.gz |
I nomi delle cartelle che verranno create, dipendono dalla versione al momento dei software e quindi possono variare.
|
1 2 |
cd apf-* ./install.sh |
|
1 2 |
cd ../bfd-* ./install.sh |
Le precedenti istruzioni provvedono all’installazione dei due software, rispettivamente in /etc/apf e /usr/local/bfd.
Passiamo ora alle modifiche da effettuare, per il corretto funzionamento con Debian. Iniziamo con apf, sistemando lo script di init ed attivandone l’esecuzione ad ogni riavvio:
Commentare, come segue, la riga 8 del file /etc/init.d/apf:
|
1 |
#. /etc/rc.d/init.d/functions |
ed aggiungere subito sotto:
|
1 |
. /lib/lsb/init-functions |
modifichiamo inoltre l’intestazione del files di init per renderlo conforme a quella debian like, sostituendo:
|
1 2 3 4 5 |
#!/bin/bash ## # chkconfig: 345 55 25 # description: Advanced Policy Firewall # |
con:
|
1 2 3 4 5 6 7 8 9 10 |
#!/bin/sh ### BEGIN INIT INFO # Provides: apf # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # X-Interactive: true # Short-Description: Start/stop Advanced Policy Firewall ### END INIT INFO |
modificare infine le righe 28 e 34 da
|
1 |
echo_success |
a
|
1 |
echo -n " OK" |
Ora salvare il files ed attivare l’esecuzione dello script ad ogni riavvio:
|
1 |
update-rc.d apf defaults |
Dopo aver verificato il funzionamento del firewall e sistemato la configurazione, ricordarsi di modificare nel file di configurazione /etc/apf/conf.apf la riga
|
1 |
DEVEL_MODE="1" |
con
|
1 |
DEVEL_MODE="0" |
altrimenti il firewall si “spegnerà” automaticamente dopo 5 minuti.
Passiamo ora a bfd. Modificare il file di configurazione /usr/local/bfd/conf.bfd, sostituendo la riga:
|
1 |
AUTH_LOG_PATH="/var/log/secure" |
con
|
1 |
AUTH_LOG_PATH="/var/log/auth.log" |
e magari abilitando l’invio di email, sostituendo:
|
1 |
EMAIL_ALERTS="0" |
con
|
1 |
EMAIL_ALERTS="1" |
ed inserendo un indirizzo email in EMAIL_ADDRESS
Ora bisognerà modificare il file /usr/local/bfd/rules/sshd inserendo una corretta riga per il check del log file auth.log di Debian. Commentare la riga:
|
1 2 3 |
# ARG_VAL=`$TLOG_PATH $LP $TLOG_TF | sed -e 's/::ffff://' | grep -E '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sed -n -e '/sshd/s/.*user \(.*\) from \([^ ]*\).*/\2:\1/p'` |
ed aggiungere le seguenti due righe subito sotto:
|
1 2 3 |
ARG_VAL1=`$TLOG_PATH $LP $TLOG_TF | grep sshd | grep -viw "error: BIND" | sed 's/::ffff://' | grep -iw "Failed password for invalid user" | awk '{print$13":"$11}' | grep -E '[0-9]+'> $TMP/.sshd` |
|
1 |
ARG_VAL=`cat $TMP/.sshd` |
Fatto questo, bisognerà ancora modificare il file /etc/cron.d/bfd e scegliere se inserire un indirizzo email dopo “MAILTO=”, oppure commentare la riga, ovvero:
#MAILTO=
Bene, ora ogni tre minuti verrà effettuata la lettura del file /var/log/auth.log e se ci saranno più di 20 (il numero si può configurare in /usr/local/bfd/conf.bfd) tentativi di connessione falliti, bfd aggiungerà l’IP da cui si originano le richieste nella lista degli IP bannati da afp, ovvero nel file /etc/apf/deny_hosts.rules
Ora possiamo dormire un po’ più tranquilli.
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta