como evitar que qualquer serviço seja vinculado a uma determinada interface?

3

Eu preciso configurar um servidor (preferencialmente RedHat / CentOS / Fedora, mas a família Debian também funcionaria) sem nenhum serviço disponível em uma determinada interface.

Não consigo usar iptables (que seria a solução mais simples).

Eu poderia verificar quais estão habilitadas e desativá-las manualmente ou forçar uma ligação a outra interface, mas há o risco de que, após uma atualização / atualização / instalação temporária adicional, as alterações sejam revertidas ou um serviço extra seja implantado.

Existe uma maneira de configurar uma interface de rede para que ela não permita que nenhum serviço seja vinculado a ela, para que não haja nenhuma porta ouvindo nela?

    
por WoJ 18.11.2013 / 13:36

2 respostas

0

Acho que finalmente entendi o problema. Principal mal-entendido de mim (e suponho que alguns outros) foi sugerido que um scanner está em algum lugar fora.

Se você planeja usar este host como um scanner, o iptables pode ficar sobrecarregado.

Nesse caso, você precisa de alguma configuração para proteger os aplicativos do host, mas não para criar registros de sessão para o tráfego do scanner.

A solução é simples: crie um contêiner (LXC ou OpenVZ) e oculte a equipe do seu scanner. Use uma configuração de conexão em ponte do seu contêiner para a rede real.

Assim, o seu scanner terá um endereço IP dedicado e os aplicativos host nunca serão vinculados a ele. Na configuração básica, o tráfego do contentor irá ignorar o iptables.

Se você quiser proteger o contêiner adicionalmente, ative a pesquisa de iptable para a ponte ( net.bridge.bridge-nf-call-iptables = 1 em sysctl.conf) e adicione as regras da seguinte forma:

-I FORWARD -p ip -s <rogue_network> -d <scanner_ip>    -j ACCEPT
-I FORWARD -p ip -s <scanner_ip>    -d <rogue_network> -j ACCEPT
-I FORWARD -j REJECT --reject-with icmp-host-unreachable

UPD :
Anterior não está funcionando corretamente - esqueça de desativar o rastreamento de conexão:

-t raw -I PREROUTING -p ip -s <rogue_network> -d <scanner_ip>    -j NOTRACK
-t raw -I PREROUTING -p ip -s <scanner_ip>    -d <rogue_network> -j NOTRACK
-t raw -I PREROUTING -j REJECT --reject-with icmp-host-unreachable
    
por 20.11.2013 / 12:01
1

Eu não sei de nenhuma maneira de dizer ao kernel para não permitir a ligação a uma determinada interface de rede. Você diz que você vai considerar iptables , então para o meu dinheiro ter a linha

iptables -I INPUT 1 -p tcp -m state --state NEW -j REJECT --reject-with tcp-reset

terá o mesmo efeito (para daemons que se ligam a portas TCP) simplesmente não ter um daemon ligado; em ambos os casos, uma redefinição TCP será emitida. Da mesma forma, a linha

iptables -I INPUT 2 -p udp -m state --state NEW -j REJECT --reject-with icmp-port-unreachable

fará o mesmo para novas conexões para portas UDP que não tenham nenhum limite de ouvinte: o kernel emitirá um pacote inacessível por porta ICMP em ambos os casos.

Esta é uma configuração iptables extremamente simples e é improvável que seja sobrecarregada por qualquer quantidade de tráfego que você possa passar por essa NIC.

    
por 18.11.2013 / 14:26