[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Problema abriendo NAT de iptables para SSH



Hola Gorka,

El jue, 28-07-2011 a las 13:17 +0200, Gorka escribió:
> > El mié, 27-07-2011 a las 17:32 +0100, Gorka Expósito escribió:
> > 
> > > # Rechazamos paquetes de forwarding de conexiones no establecidas
> > >
> > > #iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
> > >
> > >
> > >
> > > Si descomento la última línea funciona, si no lo hago no funciona.
> > >
> > > ¿Qué tengo mal? Creo que la última línea aporta seguridad. ¿Cómo puedo
> > > conseguir lo que busco sin perder seguridad?
> > 
> > No controlo mucho iptables pero voy a intentar explicar donde creo yo que
> > está el fallo. Parece claro que la última linea hace match con la conexión SSH
> > entrante, de tal modo que habría que hacer una excepción para el puerto 22.
> > 
> > No sé si voy a escribir una burrada y tampoco he probado si la linea funciona,
> > pero imagino algo así:
> > 
> > iptables -A FORWARD -m state --state NEW,INVALID -i eth0 ! -dport 22 -j
> > DROP
> > 
> 
> Gracias Francesc por contestar. Efectivamente, si añado la siguiente línea funciona:
> 
> iptables -A FORWARD -i eth0 -p TCP --dport 22 -m state --state NEW -j ACCEPT
> 
> Pero entonces, la regla INPUT que hace lo mismo, ¿no vale para nada?, ¿por qué las conexiones SSH desde el exterior entran por FORWARD en lugar de por INPUT?, ¿es porque hay un DNAT para ellas?
> 

Como te decía anteriormente no domino mucho iptables, así que te ruego
que cojas mis opiniones con pinzas y las contrastes con pruebas. De la
misma manera os pido que me corrijáis si escribo cualquier sandez. Yo
interpreto:

1. La regla INPUT abre el puerto 22 para conexiones entrantes y basta.
Sería el caso si el servidor SSH estuviera en el mismo firewall, es
decir, si la petición no se reenviaría hacia 10.0.0.46. Por curiosidad,
ahora que te funciona ¿has probado a comentarla para ver si afecta en tu
escenario?. Quizá con la última regla que has añadido ya no es
necesaria.

2. Como bien dices, creo que las conexiones SSH del exterior entran por
FORWARD porqué existe la regla DNAT (que solo sirve para explicar como
tiene que ser la nueva conexión, ni la acepta ni la deniega, eso lo hace
la regla FORWARD con el ACCEPT o el DROP).

Espero haberme explicado.


-- 
Francesc Guitart



Reply to: