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.