Skip to main content

Bloquear sites https pelo Iptables

Certamente quem utiliza proxy transparente já sentiu a necessidade de bloquear sites que utilizam HTTPS como Facebook, Twitter, Gmail, Youtube, entre outros, e se viu num grande problema.

Uma solução utilizada por alguns era bloquear todo o tráfego da porta 443 e liberar para destinos específicos, porém as dores de cabeça que esta manobra gera são grandes.

Outra solução é implementar um recurso que está disponível no iptables a partir do kernel 2.6 e permite um filtro mais específico dos pacotes. Não vou me alongar muito, até porque vou citar as referências que contém mais detalhes e macetes.

Em resumo, para bloquear por exemplo, o facebook no iptables, utilizamos a seguinte regra:

iptables -I FORWARD -s $LAN -m string --string 'facebook' --algo bm -j DROP

Caso queira liberar o acesso para algum IP específico:

iptables -I FORWARD -s 192.168.1.10 -m string --string 'facebook' --algo bm -j ACCEPT

Simples e rápido.

Você pode encontrar mais informações sobre o parâmetro –string no manual do iptables. Este outro site também traz várias informações e alguns exemplos interessantes.

Por exemplo, pode-se utilizar esta função para barrar ataques DDOS, email spoofing e tentativas de intrusão.