IP Tables
Il tipo IP Tables
fornisce due feed (uno per IPv4 e uno per IPv6, se presente), compatibili con ipset
.
Questi feed contengono una serie di comandi che permettono di creare e aggiornare set di indirizzi IP (ipset
), facilitando l'applicazione di regole iptables
su interi gruppi di IP contemporaneamente.
In questo modo, è possibile evitare di aggiungere una regola per ogni singolo indirizzo, migliorando efficienza e gestione.
Tipologia
Feed
- Seer Box espone il feed via HTTP, non permette di controllare il target del firewall.
URL
http://$SEERBOX_IP:53380/feeds/ip_tables_$FIREWALL_NAME
Variabili da sostituire
- $SEERBOX_IP : l'indirizzo IP di Seer Box
- $FIREWALL_NAME : il nome configurato per lo specifico firewall
Configurazione lato Seer Box
Per impostare IP Tables
come un tipo, seleziona semplicemente il valore IP Tables Feed
nel campo Firewall type al terzo step di Aggiungi un firewall
Non sarà necessario nessun altro campo.
Configurazione lato firewall
All'URL specificato sopra, verrà esposto un file ZIP contenente dei feed diversi per indirizzi IPv4 e IPv6. Se fra i target delle regole dichiarate per il firewall non sono presenti indirizzi IPv6, lo ZIP conterrà solo il feed per gli indirizzi IPv4.
Nomi dei file
File ZIP
ip_tables_$FIREWALL_NAME
Variabili da sostituire
- $FIREWALL_NAME : il nome configurato per lo specifico firewall
File feed
ip_tables_ipv4_$FIREWALL_NAME
ip_tables_ipv6_$FIREWALL_NAME
Variabili da sostituire
- $FIREWALL_NAME : il nome configurato per lo specifico firewall
Applicazione delle regole al firewall
Una volta che i file sono stati estratti dallo ZIP, usali per creare o aggiornare i set di indirizzi IP nel seguente comando:
$ sudo ipset restore < ip_tables_ipv4_firewall_example
$ sudo ipset restore < ip_tables_ipv6_firewall_example
Ora che gli ipset
sono stati creati, usa iptables
per applicare loro delle regole. Per farlo, dovrai conoscere i nomi assegnati ai set. Puoi aprire i file e controllare la prima riga. Nell'esempio seguente, il nome dell' ipset è seerbox-example-ipv4
:
create seerbox-example-ipv4 hash:ip family inet -!
In alternativa, puoi usare il seguente comando per visualizzare tutti gli ipset esistenti sulla macchina:
$ sudo ipset list
Ecco un esempio di come bloccare il traffico in arrivo da indirizzi IP contenuti nell'ipset seerbox-example-ipv4
:
$ sudo iptables -A INPUT -m set --match-set seerbox-example-ipv4 src -j DROP
Una volta configurato il firewall e applicate le regole, è possibile aggionare gli ipset eseguendo nuovamente il comando ipset restore
. In questo modo, iptables
aggiornerà automaticamente il firewall e applicherà le regole anche ai nuovi indirizzi IP aggiunti ai set.
Per automatizzare questa operazione, è possibile utilizzare strumenti come inotifywait o simili per monitorare il file ZIP e ripetere il restore
dopo ogni modifica.
Per maggiori informazioni, consulta la documentazione di iptables e di ipset.