Bloquear porta de entrada

0

Instalei o LabView em uma máquina Scientific Linux 6 e recebi imediatamente uma mensagem do nosso oficial de segurança, informando que a porta 3580 está aberta e escutando e que isso é um problema de segurança. Aparentemente, a porta é usada para servidor de configuração e monitoramento da web e não pode ser fechada. Embora, talvez eu esteja entendendo mal as coisas, mas se não: #% &! * # @

Para ver a porta de escuta, eu digito

$ netstat -anp | grep 3580
> (Not all processes could be identified, non-owned process info
>  will not be shown, you would have to be root to see it all.)
> tcp        0      0 0.0.0.0:3580                0.0.0.0:*                   LISTEN      -

Agora tentei fechar a porta usando iptables :

$ iptables -A INPUT -p tcp --destination-port 3580 -j DROP

Mas quando eu digito novamente o comando netstat , ainda vejo a porta aberta. Certamente eu estou apenas entendendo mal como iptables funciona. Alguém pode me dizer o que estou fazendo errado?

    
por pfnuesel 16.04.2016 / 00:57

1 resposta

2

netstat mostra que algo (provavelmente Labview) está escutando naquela porta. Sua linha iptables irá bloquear os pacotes de fora do computador que chegam àquela porta, e portanto não deve haver nenhum problema. O programa está escutando, portanto, você vê que a porta está aberta ao executar o netstat, mas os pacotes não podem chegar de fora e, portanto, não é possível acessar a porta a partir do exterior. Se você precisar bloquear pacotes do próprio computador, isso é possível, mas você pode impactar muito bem a funcionalidade do LabView.

Notas:

  • ainda é possível que alguém detecte sua regra de firewall, pois suponho que não haja outras regras de firewall. iptables -L -n -v para vê-los. Você quer usar DROP ou REJECT de acordo com as outras regras. Se o pacote for aceito, use REJECT, que imitará uma porta na qual nenhum programa está escutando. EDIT: para uma conexão com uma porta TCP, existem quatro resultados possíveis:

    1. a conexão é aberta com um pacote TCP SYN / ACK, o que acontece se houver um programa escutando na porta e a conexão não estiver bloqueada por um firewall
    2. a conexão é rejeitada / redefinida com um pacote TCP RST, o que acontece se não houver nenhum programa escutando na porta ou se um firewall retornar o RST (o que o iptables faz com -j REJECT)
    3. nenhum pacote é retornado, o que acontece se um pacote for perdido ou se um firewall derrubar o pacote (o que o iptables faz com -j DROP)
    4. nenhum pacote TCP é retornado, mas um firewall pode retornar um pacote ICMP, que é menos comum.

    Assim, do lado de fora da sua máquina, seu agente de segurança pode detectar facilmente a diferença entre o TCP RST e nenhum pacote. Se não houver firewall diferente de uma linha, eu recomendaria usar -j REJECT em vez de -j DROP para que não haja diferença das outras portas e para que o scanner de rede que ele está usando não seja interrompido por vários segundos irritantes enquanto testando a porta, em vez disso, obtendo um RST imediato dizendo "esta porta está fechada", como ele conseguiu para todos os outros. Para um servidor conectado à Internet, eu recomendaria usar -j DROP para tornar a varredura de portas o mais demorada possível para os malfeitores, mas sua situação parece muito diferente!

  • A linha do iptables que você deu desaparecerá na reinicialização. Você precisa modificar /etc/sysconfig/iptables manualmente ou executar /sbin/service iptables save quando sua configuração estiver correta.

  • Sua linha iptables bloqueará os pacotes que seu responsável pela segurança indicou, mas você deve investigar a configuração onde você só permite o que precisa e proíbe todo o resto, com configuração com estado. O LabView ou outro programa poderia perfeitamente abrir outras portas. Esse assunto é um pouco grande demais para essa breve resposta!

  • Você já sabe que é Labview, mas vendo seu comando netstat eu gostaria de observar que eu prefiro lsof (exemplo lsof -i :3580 , mas ele pode não estar instalado) para ver o que está escutando em uma porta . O mais importante é que ele informará o que o programa está escutando e você poderá decidir o que fazer com ele. Como no netstat você tem que ser root ou usar o sudo para ver tudo (você tem que ser root para executar o iptables também, então eu suponho que isso não seja um problema).

por 16.04.2016 / 01:35