Installazione e configurazione di fail2ban
Questo documento spiega come installare e configurare fail2ban per proteggere il PBX da accessi SSH e da tentativi di autenticazione SIP.
Partiamo dal presupposto che sul pbx sia già installato iptables.
Installate fail2ban:
# cd /usr/src/
# wget http://sourceforge.net/projects/fail2ban/files/fail2ban-stable/fail2ban-0.8.4/fail2ban-0.8.4.tar.bz2/download
# tar -jxf fail2ban-0.8.4.tar.bz2
# cd fail2ban-0.8.4
# python setup.py install
# cp /usr/src/fail2ban-0.8.4/files/redhat-initd /etc/init.d/fail2ban
# chmod 755 /etc/init.d/fail2ban
# cd /etc/fail2ban/filter.d
Scaricate questo file e copiatelo in /etc/fail2ban/filter.d/
Editate il file /etc/fail2ban/jail.conf aggiungendo queste righe:
[asterisk-iptables]
enabled = true
filter = asterisk
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=tuaemail@tuodominio.it, \
sender=fail2ban@tuodominio.it]
logpath = /var/log/asterisk/full
maxretry = 5
bantime = 600
ignoreip = 127.0.0.1 192.168.1.0/24
Modificate sencondo le necessità:
- l'indirizzo e-mail a cui inviare le notifiche (quando un ip viene bannato)
- maxretry: il numero massimo di tentativi di registrazione falliti (mettete anche 2)
- bantime: il tempo in secondi di "bannamento" dell'ip "incriminato"
- ignoreip: gli IP e/o range di IP da non controllare
N O T A:
Nel file /etc/fail2ban/jail.conf troverete anche le gestioni SSH, HTTP, FTP, ...
Se il PBX è raggiungibile dall'esterno (mi auguro al max solo per SSH) potete gestirli tranquillamente modificando, secondo necessità, i campi di cui sopra.
Editate il file /etc/asterisk/logger.conf aggiungendo in [general] questa riga:
[general]
dateformat=%F %T
A questo punto, aggiungete fai2ban tra i servizi che partono "automaticazmente" al boot:
chkconfig fail2ban on
Fate un bel reload del logger di asterisk:
asterisk -rx "module reload logger"
e, quindi, avviate fail2ban:
/etc/init.d/fail2ban start
Installazione e configurazione di iptables
Questo documento spiega come installare e configurare iptables, ad integrazione del tutorial relativo a fail2ban.
Controlliamo che sul nostro pbx sia installato iptables.
# rpm -qa | grep iptables
Se viene visualizzato qualcosa (es. iptables-1.3.5-4.el5) significa che il pacchetto è presente, altrimenti provvedete ad installarlo con:
# yum install iptables
A questo punto vediamo se il servizio è in esecuzione:
# /etc/init.d/iptables status
Se come risposta riceviamo "Firewall is stopped." significa che il servizio, ovviamente, non è in esecuzione, altrimenti verranno visualizzate le righe relative alla configurazione di iptables.
Scaricate questo file (è la configurazione che utilizza di default pbxinaflash) e copiatelo in /etc/sysconfig con nome iptables.
Avviate il servizio:
# /etc/init.d/iptables start
Assicurativi che il servizio riparta al boot:
# chkconfig iptables on
fonte: www.asterweb.org