Como posso impedir que o código inicie conexões http de saída?

1

Eu quero impedir que o código faça conexões http com outros hosts específicos. Meu entendimento é que isso pode ser feito em /etc/hosts.deny. Como isso seria?

    
por Nate Reed 28.02.2011 / 20:59

5 respostas

1

Você poderia mapear os nomes de host para localhost em / etc / hosts (é mais fácil configurar do que hosts.deny, mas não tem controle granular).

Exemplo de entrada no arquivo hosts:

google.com    127.0.0.1
someotherdomain.com    127.0.0.1

Oh btw, essa questão é mais adequada para serverfault.com.

    
por 28.02.2011 / 21:05
0

A abordagem /etc/hosts/ é pobre, já que em qualquer endereço que você redireciona o "host proibido" para outro servidor web pode escutar.

Se você tem acesso de gravação a /etc/hosts , geralmente é root e também responsável por configurar seu firewall. É aqui que você deve configurar regras relativas ao tráfego de saída.

    
por 28.02.2011 / 21:10
0

O kernel do Linux tem recursos de firewall. estes provavelmente lhe darão os melhores resultados. Não está claro se você deseja bloquear toda a conexão http da sua máquina para os hosts específicos ou apenas um programa específico - mas, se necessário, você também pode filtrar o tráfego originando o aplicativo ou o usuário.

Eu costumo usar o FireHOL , que é um invólucro conveniente em torno dos comandos básicos de configuração do firewall.

    
por 28.02.2011 / 21:21
0

Um bom detalhamento dos arquivos do host: link

    
por 28.02.2011 / 21:07
0

Não, hosts.deny não fará isso. Nem o hacking / etc / hosts fará qualquer diferença (pode quebrar a biblioteca de resolvedores, mas não impedir que um aplicativo faça conexões de saída se não usar o resolvedor padrão ou encontrar endereços de alguma outra forma).

Usar um firewall é realmente a maneira mais óbvia. Para o tráfego gerado localmente, o iptables é capaz de bloquear pacotes de saída por ID de usuário, ID de grupo ou ID de processo, o que significa que você pode restringi-lo a processos específicos. Provavelmente, a maneira mais fácil é fazer isso com o ID do usuário e executá-lo com algum usuário restrito.

    
por 01.03.2011 / 08:53