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"