iptables forçar todos os navegadores a usar proxy

3

Eu instalei o squid como meu servidor proxy no sistema independente Ubuntu 10.04 que tem uma única NIC . Por que eu instalei o Squid em um sistema autônomo é por causa dos meus amigos que usam o meu sistema para navegar em sites e baixar arquivos. Então eu instalei o Squid para bloquear sites e downloads pornográficos. Mas eles simplesmente ignoram as configurações de proxy, desativando-o no navegador ... Eu sei que há alguma maneira de forçar todos os navegadores a passar pelo proxy usando o iptables. Mas como? Eu tenho procurado em todos os lugares para a resposta, mas não posso obter o caminho certo ainda. Alguém pode me ajudar?

    
por karthick87 07.11.2010 / 18:39

2 respostas

2

Primeiro, bloqueie o acesso direto à porta 80 para todos, exceto root e squid. (root precisa disso para obter atualizações para o seu sistema). (Estou supondo que o squid seja executado como proxy do usuário - edite conforme apropriado).

iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner proxy -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP

Então você pode configurar o firefox para usar o squid como um proxy como normal. Se seus amigos alterarem as configurações, eles serão bloqueados.

Note que o squid não pode fazer proxy no tráfego https, então não coloquei esses detalhes nessas regras. Se você quiser fazer apenas filtragem sem proxy ou cache, você pode usar o DansGuardian. Este é um guia para usar o dansguardian com alguns usuários excluídos da filtragem. O guia significará que o https (porta 443) será filtrado pelo DansGuardian, bem como pelo http (porta 80).

    
por Hamish Downer 07.11.2010 / 20:32
0

alternadamente, você pode soltar as opções LD_PRELOAD para proxychains em .profile - se você quiser fazer proxy em https, pode fazê-lo com 3proxy

    
regra
por RobotHumans 08.11.2010 / 06:49