Ipset : versione minimale per vecchi kernel

L'uso di fail2ban è indubbiamente comodo per gestire vari aspetti di sicurezza sui propri server, ma cosa fare se il sistema che usate sfrutta un kernel piuttosto datato che non supporta la versione attuale del comando ipset ?

Una soluzione può essere quella di ricorrere ad un falso ipset,  che supporti almeno le due azioni basilari di adddel .

Create il file /usr/local/bin/ipset e al suo interno inserite quanto segue:

#!/bin/shACTION=$1if [ "$ACTION" = "del" ]; then  IPADDR=$3  iptables -D INPUT --src "$IPADDR" -j DROP 2>/dev/null  >/dev/null || exit 1  exit 0fiif [ "$ACTION" = "add" ]; then  IPADDR=$3  iptables -I INPUT --src "$IPADDR" -j DROP 2>/dev/null >/dev/null || exit 2  exit 0fiexit 255

Fatto questo eseguite chmod +x /usr/local/bin/ipset per renderlo eseguibile.

A questo avete il vostro comando ipset in forma minimale, ma dovete accertarvi che il sistema lo utilizzi al posto del vero ipset!

Per farlo potete eseguire i seguenti comandi:

find /bin -name ipset -exec mv /bin/ipset /bin/ipset-old \; -exec ln -s /usr/local/bin/ipset /bin/ipset \; find /sbin -name ipset -exec mv /bin/ipset /sbin/ipset-old \; -exec ln -s /usr/local/bin/ipset /sbin/ipset \; find /usr/bin -name ipset -exec mv /usr/bin/ipset /usr/bin/ipset-old \; -exec ln -s /usr/local/bin/ipset /usr/bin/ipset \; find /usr/sbin -name ipset -exec mv /usr/sbin/ipset /usr/sbin/ipset-old \; -exec ln -s /usr/local/bin/ipset /usr/sbin/ipset \;