Llamada de puerto utilizando solo Iptables / netfilter

2

Estoy usando las siguientes reglas de iptables para la detonación de puertos. Todo funciona bien, pero abre el puerto por solo un segundo y luego lo cierra. Entonces, ¿cómo mejorar este script para aceptar la conexión durante 30 segundos, por ejemplo?

#!/bin/sh

iptables -F
iptables -X
iptables -Z

iptables -N STATE0
iptables -A STATE0 -p udp --dport 12345 -m recent --name KNOCK1 --set -j DROP
iptables -A STATE0 -j DROP

iptables -N STATE1
iptables -A STATE1 -m recent --name KNOCK1 --remove
iptables -A STATE1 -p udp --dport 23456 -m recent --name KNOCK2 --set -j DROP
iptables -A STATE1 -j STATE0

iptables -N STATE2
iptables -A STATE2 -m recent --name KNOCK2 --remove
iptables -A STATE2 -p udp --dport 34567 -m recent --name KNOCK3 --set -j DROP
iptables -A STATE2 -j STATE0

iptables -N STATE3
iptables -A STATE3 -m recent --name KNOCK3 --remove
iptables -A STATE3 -p tcp --dport 22 -j ACCEPT
iptables -A STATE3 -j STATE0

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -m recent --name KNOCK3 --rcheck -j STATE3
iptables -A INPUT -m recent --name KNOCK2 --rcheck -j STATE2
iptables -A INPUT -m recent --name KNOCK1 --rcheck -j STATE1
iptables -A INPUT -j STATE0
    
pregunta TMR_OS 22.06.2014 - 21:14
fuente

1 respuesta

2

Parece que está usando este howto . Quizás desee consultar este howto en su lugar. El problema clave aquí es que estás usando el parámetro --set junto con -m recent , mientras que el howto vinculado está usando --rcheck . Con --rcheck , puede especificar el parámetro --seconds para especificar un período de tiempo. Probablemente sea una buena idea revisar los parámetros para reciente parche

    
respondido por el Brandon Franklin 23.06.2014 - 03:40
fuente

Lea otras preguntas en las etiquetas