¿Por qué no puedo usar SSH con estas reglas de firewall? [WINDOWS HOST]

3

Actualmente estoy intentando conectarme a mi invitado de Linux Mint a través de SSH en mi host de Windows 10. Mejor dicho, estoy tratando de conectarme con el invitado con éxito teniendo en cuenta las reglas del firewall en particular.

Con Virtual Box, he habilitado un adaptador solo de host para la máquina virtual Linux Mint.

Al permitir cualquier y todo el tráfico a través del puerto 22 a través del firewall con esa regla de permiso en particular, puedo conectar exitosamente a la máquina invitada usando SSH desde mi host de Windows.

Sin embargo, quiero que el invitado de Linux solamente aceptar mi IP para SSH. En otras palabras, quiero que solo acepte mi IP para el puerto 22 (si eso tiene algún sentido).

Configuré el firewall de Linux con estas reglas y no pude entonces después de conectar con éxito:

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

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

Nota: Los términos 'IP DE INVITADO' y 'IP DE HOST' son simples marcadores de posición para la dirección IP asociativa dado el contexto. En este caso, GUEST IP es la dirección IP del adaptador solo para el host desde la interfaz eth1. No hace falta decir que la dirección IP del host representa la dirección IP del host que se encuentra en mi host de Windows 10.

He hecho todo lo posible para que funcione, pero honestamente no sé cómo obtener lo que estoy pidiendo en este momento.

Mi configuración actual:

  • Windows 10 (Host) w / MobaXtrem SSH client & amp; Servidor SSH FreeSSHd
  • Linux Mint 17 (Invitado) con cliente openSSH y; servidor
  • No toqué el firewall de Windows en absoluto
  • Actualmente, el firewall de Linux está configurado para ser eliminado, pero agregado en las reglas mencionadas

Me gustaría que se sepa que mi experiencia con los sistemas basados ​​en Linux / Unix es muy limitado como es con el uso de shells, SSH y configuración de cortafuegos.

Literalmente, acabo de instalar el software SSH mencionado hace un día.

TL; DR : Quiero hacerlo para que mi invitado Linux esté configurado para aceptar solo el tráfico SSH de mi computadora host. Supongo que esto se hace a través de IP pero no estoy seguro de cómo hacerlo. Después de agregar las reglas de firewall anteriores al huésped de Linux, la conexión ya no tuvo éxito y cada intento se agotaría.

Información adicional : - He visto alrededor de estas personas del cuello de los bosques mencionar el reenvío de puertos; Lo intenté, no funcionó. Viendo que era capaz de hacer que funcionara con el adaptador solo para el host, pensé que estaría bien sin esa solución.

Como un aparte , ¿es posible conectarse a mi host de Windows a través de mi invitado de Linux usando SSH? Intenté hacerlo desde mi terminal de Linux, pero seguía diciendo que no tenía permiso para hacerlo.

Si necesita una aclaración o información adicional, no dude en preguntar.

¡Gracias por adelantado!

- T.R.G.

ThatRandomGuy
fuente

Respuestas:

3

Las conexiones TCP tienen dos puertos, origen y destino. Para las conexiones SSH salientes, el puerto de destino es 22, pero el puerto de origen es elegido al azar . (Solo muy pocos protocolos, por ejemplo, BGP, usan puertos de origen y destino idénticos).

Por lo tanto, necesitarías relajar las reglas para:

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

Si te preocupa el huésped conectándose de nuevo al host, puede eliminar la segunda regla siempre que esté usando una con estado Firewall (que permitiría paquetes salientes pertenecientes a una conexión existente).

En iptables, un conjunto de reglas de trabajo se vería como:

-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

(Incluido "permitir ICMP" porque honestamente )

grawity
fuente
Intenté conectarme con las reglas anteriores agregadas al firewall de Linux, pero no pude conectarme. No configuré las tablas de IP todavía. ¿Puedes explicar qué hacen exactamente esas líneas de código?
ThatRandomGuy
Esas son las reglas de firewall. Si no estas usando iptables , que cortafuegos son estás usando?
grawity
Estoy usando el firewall gráfico Gufw que venía preinstalado con Linux Mint. Nunca he usado la línea de comandos para editar las reglas del firewall. ¿Qué hacen esas últimas dos líneas resaltadas en el segundo bloque exactamente?
ThatRandomGuy
Aceptan paquetes ICMP; Paquetes TCP con "puerto de destino" = 22; y paquetes que el SO cree que pertenecen a una conexión existente.
grawity