Usare password lunghe e complesse spesso non è sufficiente a proteggere il proprio server da eventuali intrusioni, proprio per questo oggi spieghiamo come proteggerli da attacchi di tipo brute force utilizzando due semplici software che sfruttano il firewall iptables.
Questi due software vengono distribuiti gratuitamente dal sito http://www.rfxn.com/ . Vediamo quindi nel dettaglio cosa fanno e come configurarli.
APF
Partiamo da APF (advanced policy firewall), questo software è una sorta di configuratore per iptables, che ci permette di configurare in modo semplice e rapido le regole base di iptables come ad esempio le porte da aprire in base ai servizi che utilizziamo, il tutto a partire da un semplice file di configurazione molto dettagliato e con ogni opzione ben commentata.
INSTALLAZIONE
Per installarlo basta scaricare il pacchetto http://www.rfxn.com/downloads/apf-current.tar.gz e decomprimerlo (per versioni ubuntu/debian possiamo usare sudo apt-get install apf-firewall).
wget http://www.rfxn.com/downloads/apf-current.tar.gz tar zxf apf-current.tar.gz ora entriamo nella directory appena estratta e installare APF cd apf-9.7-2/ ./install.sh Installing APF 9.7-2: Completed. Installation Details: Install path: /etc/apf/ Config path: /etc/apf<firewall>/conf.apf Executable path: /usr/local/sbin/apf Other Details: Listening TCP ports: 21,22,80,631,3306,5900,15749,17500 Listening UDP ports: 5353,15749,17500,38366 Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options. ora andiamo a modificare il file di configurazione /etc/apf<firewall>/conf.apf DEVEL_MODE="1" questo parametro indica se apf è in modalità sviluppo (e quindi non applica le regole) o in modalità produzione e quindi rende effettive le regole del firewall, prima di impostarlo a 0 per renderlo attivo modifichiamo il resto delle regole altrimenti rischiamo di chiuderci fuori dal server Impostiamo le porte in ascolto modificando il paramentro IG_TCP_CPORTS # Common inbound (ingress) TCP ports IG_TCP_CPORTS="22,21,20,80,25,53,110,143,443,2222,587,953,993,995,4949" esempio d'impostazioni che sono valide per i servizi ssh,ftp,web,mail (pop/imap/smtp),directadmin e munin questi invece gli esempi per le impostazioni per le porte in uscita # Common outbound (egress) TCP ports EG_TCP_CPORTS="21,25,80,443,43" e poi più sotto impostiamo a “1″ le seguenti variabili che ci permettono di scaricare delle liste di ip conosciuti come malevoli in modo da filtrare a priori il loro traffico DLIST_PHP="1" DLIST_SPAMHAUS="1" DLIST_DSHIELD="1" DLIST_RESERVED="1" ora salviamo ed avviamo apf tramite il comando apf -s
BFD
Ora passiamo a BFD (brute force detection) il quale è un software che, analizzando i log, rileva i tentativi
d’intrusione ai servr con metodologia Brute Force, ciò significa che se qualcuno tenta di accedere alla nostra macchina per bucarla, nei log di sistema, BFD troverà traccia dei vari tentativi, e se questi superano una soglia, che possiamo impostare, banna gli ip responsabili tramite APF.
Procediamo con il download (http://www.rfxn.com/downloads/bfd-current.tar.gz) e l’installazione
wget http://www.rfxn.com/downloads/bfd-current.tar.gz tar zxf bfd-current.tar.gz cd bfd-1.5/2/ ./install.sh
A differenza di apf, bfd viene installato in /usr/local/bfd, procediamo ora alla modifica del fine di configurazione /usr/local/bfd/conf.bfd
# how many failure events must an address have before being blocked? # you can override this on a per rule basis in /usr/local/bfd/rules/ TRIG="15" # send email alerts for all events [0 = off; 1 = on] EMAIL_ALERTS="1" # local user or email address alerts are sent to (separate multiple with comma) EMAIL_ADDRESS="<your@email.com>" # subject of email alerts EMAIL_SUBJECT="Brute Force Warning for $HOSTNAME"
la prima variabile indica il numero di eventi che devono esser trovati nei file di log per scatenare il ban, questa impostazione può essere modificata successivamente servizio per servizio mentre EMAIL_ALERTS,EMAIL_ADDRESS e EMAIL_SUBJECT servono per ricevere una copia via email dei vari attacchi rilevati e delle azioni intraprese da bfd per bloccare eventuali nuovi attacchi dall’host.
# syslog auth log path AUTH_LOG_PATH="/var/log/auth.log"
verificate anche che questo file punti correttamente al vostro auth log (di default nell’installazione bfd punta a /var/log/secure)
e come ultima cosa modificate il file /etc/cron.d/bfd e rimuovete le seguenti righe altrimenti il cron non funzionerà
MAILTO=
SHELL=/bin/bash
a questo punto anche bfd è installato e funzionante;
Per avviare BFD usiamo il seguente comando :
# sudo /usr /local /sbin /BFD – s
DDOS Deflate
E’ un piccolissimo script in bash che serve a prevenire attacchi di tipo DoS o DDOS. Principalmente si basa sempre sul blocco degli indirizzi ip come mod_evasive, se quest’ultimi inviano “X” richieste al server in modo continuativo. In tal caso lo script attiva il firewall del server.
Vediamo come installarlo
Installare DDOS Deflate
dalla vostra shell di Linux, lanciate questo comando:
wget http://www.inetbase.com/scripts/ddos/install.sh
Successivamente andranno impostati i permessi al file ed eseguire l’installazione
chmod 0700 install.sh
./install.sh
Leggerete la lincenza dello script, quindi premete
q
Potrete leggere a video che è stato creato un file di configurazione ddos.conf nella directori /usr/local/ddos/
Possiamo notare come lavora in cron lo script, lanciando il comando
ls -l /etc/cron.d
#DifenditidagliattacchiBruteForce