Iptables e https

1. Iptables e https

Rodolfo Ribeiro Machado
Rodolfo_Machado

(usa Debian)

Enviado em 23/05/2013 - 15:43h

Amigos, tive de bloquear a porta 443 do servidor pelo Iptables pois um espertinho estava acessando o Facebook via https.
Tenho aqui um proxy Squid transparante, configurado por faixas de IPs, sendo uma faixa de IPs totalmente liberados e outra com restrições.
Como o Squid transparente não bloqueia https tive de fazer pelo Iptables, então reproduzi a mesma estrutura de faixas de IPs no Iptables, só que no Squid a faixa de IPs com restrições tem sites liberados, mas no Iptables não encontrei nenhuma solução semelhante, para a faixa de IPs com restrições liberar somente alguns sites https, Windows Update , por exemplo, para que as estações Windows da rede possam se atualizar.
Tem alguma soluções parciais, como essa que encontrei na net:

modprobe ipt_string

for i in `seq 7 111`
do
iptables -I FORWARD -s 192.168.2.$i -m string --algo bm --string "facebook.com" -j DROP
iptables -I FORWARD -s 192.168.2.$i -m string --algo bm --string "youtube.com" -j DROP
iptables -I OUTPUT -s 192.168.2.$i -m string --algo bm --string "facebook.com" -j DROP
iptables -I OUTPUT -s 192.168.2.$i -m string --algo bm --string "youtube.com" -j DROP
done

echo "Bloqueando Facebook e Youtube"

Só que ai o cara fica com raiva porque bloqueou o Facebook e sai abrindo tudo que é https da vida, ai esta lista vai ficar gigante, então achei melhor bloquear a porta 443 de uma vez.

Por enquanto vou deixar asim mesmo, uma ou duas vezes por semana eu libero o https para as estações atualizarem o Windows, mas agradeceria qualquer sugestão.

#!/bin/bash
echo "Limpando as regras do Firewall"
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT

# compartilhando a conexao
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo "compartilhamento ativado"


for i in `seq 1 6`
do
iptables -A FORWARD -s 192.168.2.$i -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 192.168.2.$i -j RETURN
done

iptables -A FORWARD -s 127.0.0.1 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -s 127.0.0.1 -j RETURN

echo "Liberado acesso as maquinas permitidas"

for i in `seq 7 111`
do
iptables -A FORWARD -s 192.168.2.$i -p tcp -m tcp --dport 443 -j DROP
done

echo "Bloqueando https"


#proxy transparent
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "proxy transparente ativado"


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts