Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Portsentry su Devuan Beofulf —

Già in passato avevo parlato qui di portsentry, e nel corso degli anni mi sono reso conto di quanto sia utile e quindi non ne voglio più fare a meno, la questione è che però con nftables la cosa cambia un po quindi mi son dovuto adeguare e cercare una soluzione dato che sicuramente qualcuno più bravo di me si è trovato a dover risolvere la faccenda.
Infatti ho trovato praticamente subito la soluzione, far fare a fail2ban il lavoro di ban  degli IP al posto di portsentry, in altre parole portsentry “annusa” che qualcosa non va prende l’indirizzo maramaldo, lo passa a fail2ban che pensa a bannarlo tramite nftables.
Sono curioso e appena avrò tempo proverò a scrivere una kill-run per portsentry direttamente senza fare biglia e sponda anche se onestamente il metodo pare funzionare.
Al solito nel /etc/portsentry/portsentry.ignore.static gli indirizzi dei bravi ragazzi che possono fare quel che gli pare su queste macchine, il portsentry.conf puro e semplice è questo

TCP_PORTS=”1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,

1080,1524,2000,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034,27665,30303,32771,32772,32773,32774,31337,40421,40425,49724,54320″
UDP_PORTS=”1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,27444,34555,32770,32771,32772,32773,32774,31337,54321″

ADVANCED_PORTS_TCP=”1024″
ADVANCED_PORTS_UDP=”1024″

ADVANCED_EXCLUDE_TCP=”113,139″
ADVANCED_EXCLUDE_UDP=”520,138,137,67″

IGNORE_FILE=”/etc/portsentry/portsentry.ignore”
HISTORY_FILE=”/var/lib/portsentry/portsentry.history”
BLOCKED_FILE=”/var/lib/portsentry/portsentry.blocked”

RESOLVE_HOST = “0”

BLOCK_UDP=”2″
BLOCK_TCP=”2″

KILL_ROUTE=”/sbin/route add -host $TARGET$ reject”

KILL_HOSTS_DENY=”ALL: $TARGET$ : DENY”

KILL_RUN_CMD_FIRST = “1”

KILL_RUN_CMD=”/usrlocal/bin/portsentry_external.sh $TARGET$”

SCAN_TRIGGER=”0″

in /usr/loca/bin/ c’è il file portsentry_external.sh che contiene:

#!/bin/bash
### in modo BLOCK_TCP/UDP=2 il comando /sbin/route add -host $TARGET$ reject non viene eseguito
/sbin/route add -host $1 reject
### chiamata di fail2ban
/usr/bin/fail2ban-client set portsentry banip $1

ultimo passo andare a creare nella directory /etc/fail2ban/jail.d/  il file portsentry.conf che contiene:

[portsentry]
enabled = true
filter = portsentry
logpath = /var/lib/portsentry/portsentry.history
banaction = nftables-allports
bantime = 86400 ; 1 giorno
maxretry = 1
protocol = 0-255

visto che all’inizio /var/lib/portsentry/portsentry.history non esiste crearlo con un touch altrimenti fail2ban fallisce l’avvio

 


Categorised as: firewall | IDS | Linux | Networking | Work

Comments are disabled on this post


Comments are closed.


Hide picture