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 / 19: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 / 20: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 / 20: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 / 20:21
0

Um bom detalhamento dos arquivos do host: link

    
por 28.02.2011 / 20: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 / 07:53
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '441619',
    'url' => 'how-can-i-prevent-code-from-initiating-outbound-http-connections',
];

$_COOKIE = [
    'advanced-frontend' => 'rlb4slhmsm488ioggu47b8fl8c',
    '_csrf-frontend' => '84b5ce620a24d9c280d06bd9ff27129f4646f34cdb85a0cb28ba5ca41dcd81e6a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"KGegB-7c_ERIH0fnY3Q-E9tj5cRT4JqQ";}',
];

$_SESSION = [
    '__flash' => [],
];