Configurar un buen firewall es una tarea bĂĄsica a la hora de securizar sistemas operativos modernos, iptables es el estandar incluĂdo en la mayorĂa de distribuciones Linux, al menos hasta que nftables lo sustituya. En este artĂculo aprenderemos a configurar reglas de iptables mediante un script de python.
Instalamos el mĂłdulo de Python necesario mediante pip:
pip install python-iptables --user
En este ejemplo programaremos un script bĂĄsico donde bloqueamos una direcciĂłn ip A.B.C.D y comprobamos que se haya insertado dicha regla:
vi iptest.py
import iptc
rule = iptc.Rule()
rule.src = "A.B.C.D"
rule.create_target("DROP")
rule.target = iptc.Target(rule, "DROP")
chain = iptc.Chain(iptc.Table(iptc.Table.FILTER), "INPUT")
chain.insert_rule(rule)
rawdata = iptc.easy.dump_table('filter', ipv6=False)
for rule in rawdata['INPUT']:
print rule
if 'src' in rule and 'target' in rule:
if rule['src'] == 'A.B.C.D/32' and rule['target'] == 'DROP':
print 'Matched rule'