Como faço para forçar toda a comunicação pela internet a passar pelo Squid?

0

Eu tenho um caso de uso em que quero controlar (e auditar) todo o acesso à rede por aplicativos executados em um computador desktop Ubuntu. O Squid pareceu um ótimo começo - eu instalei e configurei. Onde os navegadores da Web estão configurados para usar o proxy no host local: 3128, recebo o controle de auditoria e acesso que estou procurando.

O problema é que qualquer aplicativo que não esteja configurado para usar exclusivamente localhost: 3128 como proxy ainda pode se comunicar normalmente com minha LAN e com a Internet.

Encontrei vários documentos 'como fazer' detalhando como configurar hosts com várias Ethernet cartões para atuar como gateways - e usar o Squid como um proxy obrigatório ... mas minha configuração é sutilmente diferente. Eu quero ter certeza de que o squid é o único aplicativo que se comunica pela rede. Existe uma maneira direta de bloquear todo o acesso à rede (entrada e saída - mesmo incluindo DNS - etc.), exceto via squid, em um único host com uma conexão Ethernet?

    
por aSteve 07.08.2016 / 17:28

1 resposta

0

Você pode simplesmente definir regras com firewall para negar todas as portas de saída, exceto para 3128. Certifique-se de ter ufw instalado ( sudo apt-get install ufw , se não estiver) , então:

sudo ufw deny out to any # deny all outgoing addresses
sudo ufw allow out from any to 127.0.0.1 port 3128 proto udp # allow the single outgoing port
sudo ufw allow out from any to 127.0.0.1 port 3128 proto tcp
sudo ufw allow out from any port 3128 to any # outgoing from any IP:3128 to any address (to allow packets of squid)

Você não pode ter certeza de que todos os aplicativos existentes usariam proxy pelo simples motivo de que alguns deles nem sequer podem ser escritos com proxy em mente (proxies não podem ser usados de forma transparente, aplicativos precisam ter cuidado especial de um proxy) , mas as regras do ufw assegurariam que seus pacotes não seriam comprimidos de outras portas. E não se esqueça para definir variáveis http (s) _proxy /etc/environment .

    
por Hi-Angel 07.08.2016 / 18:15