Por que não consigo usar o SSH com essas regras de firewall? [WINDOWS HOST]

3

Atualmente, estou tentando me conectar ao meu convidado Linux Mint via SSH no meu host do Windows 10. Melhor dizendo, estou tentando conectar-me ao convidado com sucesso, com regras específicas de firewall em mente.

Usando o Virtual Box, eu habilitei um adaptador somente de host para a máquina virtual Linux Mint.

Ao permitir todo e qualquer tráfego na porta 22 por meio do firewall com essa permissão específica em todas as regras, posso conectar-me com êxito à máquina convidada usando o SSH do host do Windows.

No entanto, eu quero que o convidado Linux apenas aceite meu IP para SSH. Em outras palavras, quero que apenas aceite o meu IP para a porta 22 (se isso fizer algum sentido).

Eu configurei o firewall do Linux com essas regras e não poderia depois de conectar-se com êxito:

GUEST IP 22/tcp ALLOW IN HOST IP 22/tcp

HOST IP 22/tcp ALLOW OUT GUEST IP 22/tcp

Observação: os termos 'IP do CONVIDADO' e 'IP do host' são espaços reservados simples para o endereço IP associativo dado o contexto. Nesse caso, o IP do CONVIDADO é o endereço IP do adaptador somente host da interface eth1. Não é preciso dizer que o IP do HOST representa o endereço IP do host encontrado no host do Windows 10.

Eu fiz o que pude para fazer com que funcionasse, mas honestamente não sei como conseguir o que estou pedindo neste momento.

Minha configuração atual:

  • Windows 10 (Host) com o cliente e o cliente MobaXtrem SSH; Servidor SSH FreeSSHd
  • Linux Mint 17 (Guest) com o cliente openSSH & separar
  • Não tocou no firewall do Windows
  • Atualmente, o firewall do Linux está definido para ser descartado, mas adicionado nas regras mencionadas

Gostaria de deixar claro que minha experiência com sistemas baseados em Linux / Unix é muito limitada, pois é com o uso de shells, SSH e configuração de firewalls.

Eu literalmente acabei de instalar o software SSH mencionado há um dia.

TL; DR : Eu quero fazer com que meu guest Linux esteja configurado para aceitar somente o tráfego SSH do meu computador host. Estou assumindo que isso é feito via IP, mas não tenho certeza de como fazê-lo. Depois de adicionar as regras de firewall acima ao convidado Linux, a conexão não se tornou mais bem-sucedida e todas as tentativas acabariam com o tempo limite.

Info Adicional : - Eu tenho visto em torno dessas pessoas do bosque mencionando encaminhamento de porta; Eu tentei, não funcionou. Vendo como eu consegui fazer com que funcionasse com o adaptador somente para host, achei que ficaria bem sem essa solução.

Como um aparte , é possível conectar-se ao meu host do Windows através do meu convidado Linux usando o SSH? Eu tentei fazer isso a partir do meu terminal Linux, mas ele continuou dizendo que eu não tinha permissão para fazê-lo.

Se precisar de esclarecimentos ou informações adicionais, sinta-se à vontade para perguntar.

Obrigado antecipadamente!

- T.R.G.

    
por ThatRandomGuy 14.06.2016 / 18:59

1 resposta

3

As conexões TCP possuem duas portas, origem e destino. Para conexões SSH de saída, a porta de destino é 22, mas a porta de origem é escolhida aleatoriamente . (Apenas alguns protocolos, por exemplo, BGP, usam portas de origem e destino idênticas.)

Portanto, você precisaria relaxar as regras para:

allow incoming from hostIP (any)/tcp to guestIP 22/tcp
allow outgoing from guestIP 22/tcp to hostIP (any)/tcp

Se você está preocupado com a guest conectando-se ao host, você pode remover a segunda regra enquanto estiver usando um firewall stateful (o que seria permitir pacotes de saída pertencentes a uma conexão existente).

No iptables, um conjunto de regras de trabalho seria semelhante:

-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT

# (Well, *I think* this should work.)
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -j REJECT

(Incluído "permitir ICMP" porque honestamente )

    
por 14.06.2016 / 19:50