Tell socat para ouvir conexões de um único endereço IP

5
socat TCP-LISTEN:22,fork TCP:192.168.0.15:5900

Como posso saber para socat , que a porta 22 só é confiável do endereço IP remoto 8.8.8.8 e não deve aceitar conexões de outros endereços IP? Isso está em um servidor Linux.

    
por YumYumYum 19.06.2015 / 09:21

4 respostas

11

Você pode adicionar a opção range ao endereço de escuta socat:

socat TCP-LISTEN:22,fork,range=8.8.8.8/32 TCP:192.168.0.15:5900

Ou você pode adicionar a opção tcpwrap=vnc_forward e definir regras globais para esse serviço vnc_forward conforme hosts_access (5) .

Isso não impedirá que as conexões atinjam socat , mas socat as ignorará (com um aviso) se elas não vierem de 8.8.8.8.

    
por 19.06.2015 / 09:34
5

A maioria das pessoas usa firewalls para isso. Dê uma olhada em iptables para restringir o tráfego para a porta 22, por exemplo:

iptables -I INPUT -p tcp '!' -s 8.8.8.8 --dport 22 -j REJECT

Ou, se o firewall já é restritivo, permita apenas um endereço:

iptables -A INPUT -p tcp -s 8.8.8.8 --dport 22 -j ACCEPT

Por favor, note que esta não é uma configuração completa para um firewall iptables, você primeiro precisa configurar uma configuração adequada antes de usar o acima.

    
por 19.06.2015 / 09:27
2

Algo como isso funciona para que eu possa socat ouvir apenas no host local.

socat TCP-LISTEN:22,fork,bind=127.0.0.1 TCP:192.168.0.15:5900

Então você poderia tentar isso.

socat TCP-LISTEN:22,fork,bind=8.8.8.8 TCP:192.168.0.15:5900
    
por 28.11.2016 / 00:48
0

Se o seu objetivo principal for a segurança e você controlar a máquina cliente, conectar-se ao seu servidor socat através de um túnel SSL é uma aposta mais segura, fazendo com que o servidor verifique o certificado do cliente antes de aceitar conexões.

Eu passei por isso recentemente tentando proteger uma configuração de cliente / servidor de sinergia.

Este tutorial explica claramente a configuração

link

Um desvio das instruções que encontrei é que a biblioteca SSL do cliente deve rejeitar a chave do servidor por padrão devido ao patch para o logjam

Anexando o seguinte ao servidor O PEM faz tudo funcionar

openssl dhparam 2048 >> "$FILENAME".pem

Esse mecanismo de troca baseado em chave é muito mais autoritativo quando se trata de validar hosts com base em IP.

    
por 28.11.2016 / 04:57

Tags