Pesquisei muito sobre como bloquear sites de relacionamentos (tipo Facebook), e encontrei muitas maneiras na Internet, mas, com soluções nada práticas, muito complicadas.
Resolvi fazer alguns testes com IPtables, já que o Squid no modo transparente, não controla HTTPS (porta 443), então, cheguei ao seguinte comando que funcionou aqui comigo:
iptables -A FORWARD -m string --algo bm --string "facebook.com" -j REJECT
É claro que este comando deve ficar dentro do seu script de Firewall, para poder funcionar toda vez que o servidor proxy for iniciado.
Melhorando um pouco:
for i in $(cat /root/webs-negado.txt) do iptables -A FORWARD -m string --algo bm --string "$i" -j LOG --log-prefix "FIREWALL: HTTPS-NEGADO " iptables -A FORWARD -m string --algo bm --string "$i" -j REJECT done
O que isto faz, é pegar todos os domínios que estão dentro do arquivo /root/webs-negado.txt e criar duas regras para cada site:
- A primeira cria um registro (“LOG”);
- E a segunda, bloqueia (“REJECT”).
Leia mais em: GNU/Linux, BSD, Unix-like e Software Livre