iptables para bloquear http y ssh en una dirección

iptables para bloquear http y ssh en una dirección

Tengo una topología en la que hay un Linux como enrutador que conecta dos Linux y quiero usar iptables para filtrar ssh y HTTP en una dirección. ¡Utilicé el siguiente código pero no funcionó! Realmente aprecio cualquier ayuda que puedas brindar.

iptables -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --dport 80 -j DROP

topología

Respuesta1

Su secuencia de comandos debería funcionar para http, pero no es realmente agradable. Yo usaría algo como esto:

IPTABLE=/sbin/iptables

$IPTABLE -P INPUT ACCEPT
$IPTABLE -P FORWARD DROP
$IPTABLE -P OUTPUT ACCEPT

$IPTABLE -F
$IPTABLE -X

$IPTABLE -F -t nat
$IPTABLE -X -t nat

$IPTABLE -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

#http
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
#https
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 443 -j ACCEPT
# ssh
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 22 -j ACCEPT
# icmp
$IPTABLE -A FORWARD  -p icmp -j ACCEPT

Una vez que las reglas funcionen, recomiendo hacer un archivo iptables-save > /etc/iptables/rules.v4. Con el iptables-persistentpaquete las reglas se cargan en el arranque.
Además de las Reglas de iptables que necesitas

  1. Reenvío de IP habilitado en su puerta de enlace.
  2. una ruta para la red externa en su host interno
  3. una ruta para la red interna en su host externo

información relacionada