iptables para bloquear http e ssh em uma direção

iptables para bloquear http e ssh em uma direção

Eu tenho uma topologia onde existe um Linux como roteador que conecta dois Linux, e quero usar iptables para filtrar ssh e HTTP em uma direção. Usei o código abaixo mas não funcionou! Eu realmente aprecio qualquer ajuda que você possa fornecer.

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

topologia

Responder1

seu script deve funcionar para http, mas não é muito legal. Eu usaria algo assim:

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

Assim que as regras estiverem funcionando, recomendo fazer um arquivo iptables-save > /etc/iptables/rules.v4. Com o iptables-persistentpacote as regras são carregadas na inicialização.
Além das regras do iptables que você precisa

  1. Encaminhamento de IP habilitado em seu Gateway.
  2. uma rota para a rede externa em seu host interno
  3. uma rota para a rede interna em seu host externo

informação relacionada