lunedì 29 settembre 2014

fail2ban + loggly, ovvero come centralizzare i logs degli attacchi

Oggi come oggi la sicurezza informatica è una cosa molto importante. Spesso i nostri servizi sono presi di mira da scripts automatizzati che hanno il solo scopo di provare delle credenziali standard al fine di sfruttare configurazioni deboli.



Chiaramente uno dei servizi più bersagliati è ssh. La porta magica (22) che ci apre le strade al cuore del sistema.

Un modo per tenere a bada questi bots è quello di installare fail2ban. Questo piccolo e simpatico programmino (demone) non fa altro che guardare i file di logs (nel caso di ssh auth.log). Quando un determinato ip prova X volte fallendo (con X configurabile), allora si attivano una serie di procedure che mettono in jail l'ip bannandolo temporaneamente.

Questo breve articolo esula da una trattazione esaustiva della configurazione di fail2ban, lo scopo di questo è collegare fail2ban al cloud, esattamente al servizio http://www.loggly.com.
Non sono stato pagato, potete benissimo usarne un altro (se ne conoscete), ma questo servizio è molto buono e offre un tier gratuito.

Innanzi tutto predisponiamo lo script che inviera i dati a loggly. Dovete avere curl installato.

#!/bin/bash
curl -H "content-type:text/plain" -d '{ "ip" : "'${1}'", "machine" : "[BOX]" }' http://logs-01.loggly.com/inputs/[YOUR-KEY-HERE]/tag/fail2ban/

 Questo script di bash non fa altro che inviare l'ip al cloud loggly. Dovete chiaramente configurare:

  1. YOUR-KEY-HERE la vostra app key
  2. BOX il nome della vostra macchina
Dopodichè editiamo il file /etc/fail2ban/action.d/iptables-multiport.conf 
Inserendo nella direttiva actionban (in una riga nuova):
/path/script-sopra-loggly.sh <ip>
Infine basta riavviare il servizio per avere tutto funzionante.
Dopo basta loggarsi al pannellino loggly e vedere tutti gli alert dei vari servers in un unico posto :-)

Nessun commento:

Posta un commento