[LACNIC/Seguridad] NAT o no NAT esa es la cuestion

Ariel Sabiguero Yawelak asabigue en fing.edu.uy
Vie Jun 8 08:41:26 BRT 2007


> Algunos comentarios a modo de fomentar la discusión:
>   
Bueno, ya estaba fomentada :-D (y en algunos casos un poco exaltada).

> seguri >> > Quizás está la imagen de la empresa. Quizás no se quiera saber que,
> seguri >> > desde las máquinas de los directores se accede a sitios pornográficos o
> seguri >> > que no condicen con otros objetivos de mi empresa.
> seguri >>
> seguri >>Y como puede un ente externo saber que una IP dada pertenece a un director?
> seguri >
> seguri >Por ej leyendo el encabezado de un mail enviado por el director.
>
> El uso de un proxy para WEB no implica que se tenga que utilizar NAT para 
> todo el resto. Los proxy WEB se justifican, en ciertos casos, por una 
> serie de motivos mas alla de que se utilice NAT o no. Creo que no se puede 
> poner al uso de un proxy como argumento a favor del NAT.
>   
Bueno, en el ejemplo anterior se supo la IP del Director por el 
encabezado de su e-mail.... tengo que instalar también un SMTP local 
para anonimizar el e-mail? Tengo que poner un proxy por cada protocolo? 
También otro para anonimizar los torrents?
Ese equipo va a estar complicado de administar... y lleno de 
vulnerabilidades en el software, pues todos esos proxies realmente van a 
tener que estar emparchados en cada revisión de software...
El ejemplo de WEB era simplemente uno, pero podríamos utilizarlo para 
"anonimizar" cualquier protocolo X. Si dispongo de NAT/PAT como 
"servicio" me ahorro de programarlo en mis aplicaciones y no preciso un 
proxy-X o gateway-X para todo protocolo posible.

Mirémoslo como un problema abstracto: no quiero que fuera de mi 
organización de conozca o individulice el tráfico. Ni si quiera para un 
ataque, observación pasiva. Sacar la totalidad del tráfico con una única 
IP es perfecto para eso.
Quizás no precisamos tantas direcciones, y quizás por eso aun no se usa 
IPv6 aun, pero no es culpa del NAT/PAT.
> Ademas, si 
> asumimos que esta bloqueado TODO el trafico indeseable, que me aporta el 
> nat respecto a la seguridad referente a la alcanzabilidad de mi red?
>   
Que desde afuera no se conoce cuántas máquinas tengo, qué hace cada una, 
etc. No podés trivialmente hacer una matríz de orígenes y destinos de 
mis conexiones, etc. Podés aplicar quizás alguna heurística o inspección 
más compleja, pero deja de ser trivial. Dejás de poder correlacionar 
tráficos con usuarios de una manera simple, etc.
Me podrán contestar "pero si querés privacidad en el correo, encriptalo" 
se, el body si, los headers no... podríamos discutirlo protocolo a 
protocolo. En algunos hay mejores opciones, en otros no tanto... pero la 
seguridad, concebida como una suma de medidas, creo que es mejor lograda 
"sumando" lo que cada capa puede darme. Efectivamete creo que si ponés 
un proxy detrás de un NAT resolvés tanto las cosas proxiables, como 
todas aquellas que no son proxiables detras de la misma ip.

Alguien sugirió seguridad en base a "ocultamiento", pero no es de lo que 
se trata. Meramente se trata de no divulgar información innecesaria. 
Muchas veces "menos es más".
> Por ultimo, y esto tambien se dijo antes, es falsa la premisa de que el 
> NAT haga inalcanzables los sistemas desde Internet, pues la proteccion que 
> pueda dar el NAT se bypasea (siendo un poco simplista) haciendo un 
> spoofing de IPs, puertos y algo mas.... si bien esto no seria tan facil en 
> la practica, la proteccion real la estaria dando el firewall y no el NAT.
>   
Creo que nunca se habló de reemplazar un firewall (realmente no lo 
recuerdo en la lista) por solamente un "nat device". Creo que se habla 
solamente de utilizar NAT como algo con valor agregado al resto de las 
políticas de seguridad.
> Por otro lado, también hay que pensar en el uso que se le da al NAT... si 
> pensamos en tener mas de un servicio (servidores) publico en un red que es 
> privada (detras de un NAT por ejemplo), creo que ya estamos incurriendo un 
> error de diseño pues si los servidores son "publicos" no deberian estar 
> direccionados en forma privada.
>   
Asumiendo que tenés suficientes direcciones y no estás aplicando NAT 
porque te faltan, el motivo que se me ocurre (y he usado) para hacer 
"NAT reverso" es para esconder un poco mi topología en caso de un 
ataque. Para simplificar la cosa, digamos que "ofrezco" servicios de 
HTTP y SMTP en una misma IP, y poruq me comí un parche de PHP o porque 
aun nadie publicó una vulnerabilidad y un cracker muy bueno la explotó y 
consiguió acceso a mi server HTTP, solamente tiene la mitad de mis 
servicios, y no la totalidad. Por otra parte, como E.Cota dijo, le va a 
insumir un tiempo darse cuenta de mi topología. Probablemente poco, pero 
seguramente algo más le va a llevar. Aumenta mis chances de detectarlo. 
De todas formas, espero que no pueda esquivar el chroot-jail donde corre 
el servicio, y además, que mi IDS detecte algo de tráfico "inesperado" 
en ese equipo, etc.

> Ahora bien, si tenemos una red privada desde la que mayormente se 
> "consume" de Internet (en lugar de "servir" datos), pues no le veo mayores 
> problemas al NAT (salvando el problema de ciertas aplicaciones ya 
> mencionadas). Lo que si creo, es que de todas formas, el NAT no sera una 
> medida de seguridad sino una solucion cuando me dan una unica IP o un 
> intento (en general fallido) de simplificacion del "control" de acceso a 
> una red.
>   
Mirale el valor que tiene a no dar más info de la necesaria. Per se, eso 
ya es importante.
Cuando hacés turismo, ¿te ponés un gorro que dice "turista" y colgás una 
cámara de fotos bien cara en la mitad del pecho, a la vista de todo el 
mundo o te mimetizás todo lo que podés para pasar lo más inadvertido 
posible?
Eso también es seguridad y dar la menor información posible ;-)




Más información sobre la lista de distribución Seguridad