Eu tenho uma sub-rede pública e privada na minha rede e estou roteando todo o tráfego na minha sub-rede privada por meio de uma máquina NAT na sub-rede pública. Na máquina NAT, configurei o servidor proxy do squid para permitir a conexão https apenas para um domínio específico (digamos, google.com). Um trecho da configuração do meu squid é o seguinte:
acl allowed_https_sites ssl::server_name google.com
Em minhas regras do iptables, adiciono as regras abaixo de acordo com a configuração do meu squid. As regras são:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130
sudo service iptables save
De dentro da máquina de sub-rede privada, se eu tentar navegar para google.com
, ele funciona e se eu navegar para qualquer outro site https, não consigo acessá-lo, o que é exatamente o que eu quero.
Eu quero levar isso a mais um passo, onde eu não quero nenhum tipo de conexão de saída além de google.com
possível da minha máquina NAT também. Para conseguir isso, estou tentando implementar uma solução, conforme discutido neste solução , mas não estou obtendo os resultados desejados.
Se eu modificar as regras conforme mencionado no link acima, não conseguirei alcançar o resultado final. O resultado final que estou tentando alcançar é permitir apenas um único domínio https da minha máquina na sub-rede privada e descansar. Tudo deve ser bloqueado / rejeitado. No começo eu pensei, eu poderia fazer uma simples combinação de strings nas regras do iptables, mas eu estava enganado. Isso parece mais desafiador do que eu inicialmente previa. Alguma outra idéia que eu poderia experimentar ou eu posso de alguma forma ajustar a solução acima para caber no meu usecase?