iptables adicionando regras na cadeia OUTPUT

1

Podemos inserir regras iptables com base em IP / rede / nome do host:

iptables -t filter -A OUTPUT -p tcp -d www.google.com -j ACCEPT -m comment --comment "www.google.com" 

Não está aceitando:

iptables v1.4.7: host/network www.google.com not found
Try iptables -h' or 'iptables --help' for more information.
    
por user3134198 29.03.2014 / 15:08

1 resposta

0

host/network www.google.com not found

Presumivelmente, você está fazendo isso antes de configurar o DNS ou enquanto a configuração do firewall está bloqueando o DNS.

Em qualquer caso, você está usando a ferramenta errada para o trabalho. Você está tentando dirigir um parafuso com um martelo. Mesmo se você conseguir fazer alguma coisa, eu não sentaria naquela cadeira.

Para este exemplo, não funcionará: www.google.com tem muitos endereços IP e uma determinada pesquisa de DNS retorna apenas alguns deles. Você não pode enumerar facilmente todos os endereços IP de www.google.com . Assim, suas solicitações para www.google.com serão aleatoriamente concluídas ou não. Por outro lado, muitos sites menores do que o Google operam com o mesmo endereço IP, portanto você só pode bloquear todos ou nenhum deles.

Para filtrar o acesso à Web, você precisa de um proxy da web . Na configuração de itables, bloqueie todo o acesso de saída, exceto para a porta 443 (praticamente não é possível filtrar o HTTPS, exceto de forma invasiva e insegura, a qual não entrarei nesta resposta) e com exceção do usuário que está executando o proxy.

iptables -P OUTPUT DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m owner --uid-owner wwwproxy -j ACCEPT

Substitua wwwproxy pelo nome do usuário que está executando o proxy HTTP, que dependerá da sua configuração de proxy.

Existem muitos proxies HTTP por aí. O Squid é popular, mas para uma pequena instalação você pode preferir algo menor.

    
por 30.03.2014 / 01:09