Fail2ban è un’ottimo programma per l’identificazione e il blocco di tentativi di accesso non autorizzato ai nostri servizi.
Un ottima guida sulla sua installazione e configurazione è disponibile a questo link
Oggi andiamo a vedere come far interagire fail2ban con il nostro router mikrotik in modo da poter bloccare sul primo apparato di rete , il router, gli indirizzi ip segnalati come malevoli
Lo script e l’action file sono pubblicati nella repository fail2ban_mikrotik
Il linguaggio di sviluppo è python 3 e necessita di alcune librerie per il corretto funzionamento
Per OS Debian/Ubuntu
apt-get install python3-pip
pip3 install tikapy argparse
Abilitiamo se non ancora attivo il servizio API sulla routerboard e limitiamone l’accesso alla sola rete interna
/ip service enable [find name=api]
/ip service set address=192.168.0.0/24 [find name=api]
Per motivi di sicurezza è preferibile definire sulla routerboard un utente di lettura/scrittura che abbia accesso tramite API, quest’ultimo verrà utilizzato dal nostro script per eseguire le operazione di ban e unban
/user group add name=API policy=read,write,api,!local,!telnet,!ssh,!ftp,!reboot,!policy,!test,!winbox,!password,!web,!sniff,!sensitive,!romon
/user add address=192.168.0.0/24 group=API name=apiuser password=VERYSECUREPASSWORD
Nel mio caso, il server dove è installato fail2ban ha un’indirizzo ip privato della rete 192.168.0.0/24 l’indirizzo andrà pertanto modificato con la vostra rete interna
Creiamo le regola di firewall che andrà a bloccare il traffico proveniente dagli ip presenti nell’address-list fail2ban
/ip firewall filter add action=drop chain=forward comment="Fail2ban" src-address-list=fail2ban
/ip firewall filter add action=drop chain=input comment="Fail2ban" src-address-list=fail2ban
Installiamo e configuriamo lo script fail2ban_mikrotik.py
cd /tmp/
git clone https://github.com/pincioc/fail2ban_mikrotik.git
Creiamo la cartella /etc/fail2ban/script e salviamo all’interno il file fail2ban_mikrotik.py
mkdir /etc/fail2ban/script
mv /tmp/fail2ban_mikrotik/fail2ban_mikrotik.py /etc/fail2ban/script
chmod +x /etc/fail2ban/script/fail2ban_mikrotik.py
Copiamo il file mtk.conf nella cartella /etc/fail2ban/action.d/
mv /tmp/fail2ban_mikrotik/mtk.conf /etc/fail2ban/action.d/
Andrà modificato il valore MIKROTIKIP e VERYSECUREPASSWORD con l’indirizzo ip del vostro router e la password scelta nel passo precedente
Per ultimo andiamo ad aggiungere alla nostra regola di jail, presente nel file /etc/fail2ban/jail.conf , la nuova azione
action = mtk[list=fail2ban]
Bloccateli tutti!
Commenti recenti