Por que não consigo usar SSH com essas regras de firewall?

Por que não consigo usar SSH com essas regras de firewall?

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

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

Ao permitir todo e qualquer tráfego através da porta 22 através do firewall com essa regra específica de permitir tudo, consigo me conectar com êxito à máquina convidada usando SSH do meu host Windows.

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

Eu configurei o firewall Linux com essas regras enão conseguiadepois de conectar com sucesso:

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

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

Nota: Os termos 'GUEST IP' e 'HOST IP' são simples espaços reservados para o endereço IP associativo, dado o contexto. Nesse caso, GUEST IP é o endereço IP do adaptador somente host da interface eth1. Escusado será dizer que o HOST IP representa o endereço IP do host encontrado no meu host Windows 10.

Fiz o que pude para que funcionasse, mas honestamente não sei como conseguir o que estou pedindo neste momento.

Minha configuração atual:

  • Windows 10 (Host) com cliente SSH MobaXtrem e servidor SSH FreeSSHd
  • Linux Mint 17 (convidado) com cliente e servidor openSSH
  • Não toquei no firewall do Windows
  • Atualmente o firewall do Linux está configurado para cair, mas adicionado nas regras mencionadas

Gostaria de informar que minha experiência com sistemas baseados em Linux/Unix émuitolimitado ao uso de shells, SSH e configuração de firewalls.

Eu literalmente instalei o software SSH mencionado há um dia.

DR:Quero fazer com que meu convidado Linux esteja configurado para aceitar apenas o tráfego SSH do meu computador host. Presumo que isso seja feito via IP, mas não sei como fazê-lo. Depois de adicionar as regras de firewall acima ao convidado Linux, a conexão não foi mais bem-sucedida e todas as tentativas atingiram o tempo limite.

Informação adicional: - Já vi por aí gente falando em encaminhamento portuário; Eu tentei, não funcionou. Vendo como consegui fazê-lo funcionar com o adaptador somente host, achei que ficaria bem sem essa solução.

Como um aparte, é possível conectar-se ao meu host Windows através do meu convidado Linux usando SSH? Tentei fazer isso no meu terminal Linux, mas dizia que não tinha permissão para fazer isso.

Se precisar de esclarecimentos ou informações adicionais, não hesite em perguntar.

Desde já, obrigado!

- TRG

Responder1

As conexões TCP têm duas portas, origem e destino. Para conexões SSH de saída, a porta de destino é 22, mas a porta de origem éescolhido aleatoriamente. (Apenas poucos 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 oconvidadoconectando-se novamente ao host, você pode remover a segunda regra, desde que esteja usando umcom estadofirewall (que permitiria pacotes de saída pertencentes a uma conexão existente).

No iptables, um conjunto de regras funcional seria semelhante a:

-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" porquehonestamente)

informação relacionada