iptables regras na máquina proxy do squid

0

Eu uso o meu navegador para se conectar à internet através de um servidor proxy do squid (que eu possuo). A porta do proxy é 3128. Desejo bloquear as outras portas na máquina que executa o servidor proxy, no entanto, minhas regras iptables estão eliminando completamente o proxy. As seguintes regras funcionam:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# other rules here for web access, dns, etc
iptables -A INPUT -p tcp -s "$my_pc_ip" -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d "$my_pc_ip" -m state --state ESTABLISHED -j ACCEPT

Mas obviamente, nenhuma porta é especificada aqui, portanto, isso não alcança o objetivo. No entanto, quando especifico na porta do proxy, não consigo acessar a Internet por meio do proxy do navegador da Web:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# other rules here for web access, dns, etc
iptables -A INPUT -p tcp -s "$my_pc_ip" --sport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d "$my_pc_ip" --dport 3128 -m state --state ESTABLISHED -j ACCEPT

Por que o segundo conjunto de regras não está funcionando?

    
por mulllhausen 19.09.2017 / 07:10

1 resposta

3

Você parece ter usado o esporte em vez do dport e vice-versa nas regras do firewall. Deve ser:

iptables -A INPUT -p tcp -s "$ my_pc_ip" --dport 3128 -m state --state NOVO, ESTABELECIDO -j ACCEPT

iptables -A SAÍDA -p tcp -d "$ my_pc_ip" --sport 3128 -m estado --state ESTABELECIDO -j ACCEPT

Como as regras estão no seu servidor proxy, na cadeia INPUT a correspondência dos pacotes deve ser com dport, ou seja, a porta na qual seu proxy está sendo executado e similarmente na cadeia OUTPUT deve corresponder ao esporte de onde os pacotes são originários.

    
por 19.09.2017 / 08:45