Permitir somente que o NAS interno se comunique com o ssh

1

Eu tenho um NAS interno que nunca quero poder fazer uma conexão de saída em nada, exceto SSH.

Acredito que a seguinte regra no meu roteador bloqueie todo o tráfego de saída do meu NAS em 192.168.1.100:

iptables -A OUTPUT --source 192.168.1.100 -m state --state NEW -j DROP

O que não estou claro é como permitir uma conexão TCP de saída na porta 22.

    
por Mister Epic 20.08.2017 / 20:58

1 resposta

0

A regra que você especificou pode ou não funcionar para bloquear o acesso - observe que você usou "-A", o que significa adicionar a regra ao final da tabela. Se houver uma regra anterior permitindo acesso, isso substituirá a regra. Além disso, a regra que você tem é desnecessariamente complexa.

Para responder à pergunta que você fez é

iptables -I OUTPUT -j DROP
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT

Isso define uma regra no início da tabela de entrada para eliminar todo o tráfego. Em seguida, insere uma regra antes para permitir conexões SSH de saída. Infelizmente, é improvável que isso seja feito porque (a) significa que qualquer serviço que você esteja executando no NAS também não funcionará e (b) as pesquisas de DNS não funcionarão e (c) O bloqueio do ICMP poderá interromper as coisas - embora funciona a maior parte do tempo.

Dependendo do que você está tentando fazer, você pode ajustar as regras de modo a permitir ICMP, conexões de entrada e SSH e conexões da seguinte forma:

   iptables -I OUTPUT -m state --state NEW -j DROP
   iptables -I OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
   iptables -I OUTPUT -p icmp -j ACCEPT
   iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT
   iptables -I OUTPUT -p tcp --dport 53 -j ACCEPT
   iptables -I OUTPUT -p udp --dport 53 -j ACCEPT

Noto que essas regras se concentram no tráfego de saída. Embora isso possa funcionar com segurança, geralmente é melhor lidar com o tráfego de entrada, principalmente se você souber os intervalos de endereços IP e / ou as portas que devem ter permissão para se conectar. Você faria isso usando a cadeia INPUT. Talvez algo como

iptables -I INPUT -j DROP
iptables -I INPUT -p tcp --sport 53 -j ACCEPT
iptables -I INPUT -p udp --sport 53 -j ACCEPT
iptables -I INPUT -p tcp --sport 22 -j ACCEPT
iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -I INPUT -s 172.16.0.0/20 -j ACCEPT

O que permitirá que as pessoas em sua LAN (assumindo que elas estejam em um bloco RFC1918 comum) se comuniquem com seu dispositivo em todos os protocolos e permitam ICMP, DNS e SSH de qualquer lugar.

    
por 21.08.2017 / 05:54

Tags