Estimados amigos del blog,
En la entrada de hoy vamos a comentar una frase o premisa en el mundo de la seguridad que no siempre se cumple en nuestras investigaciones y auditorías.
Como te imaginas hablamos del concepto del título, mínima superficie de exposición. Cuando hablamos de defender nuestros sistemas, debemos intentar exponer los menos servicios posibles, ya que cuantos menos servicios sean accesibles por un atacante malicioso, menos posibilidades habrá de que puedan explotar un fallo o vulnerabilidad y comprometer el sistema. Pero, esto que resulta sencillo de entender no es siempre sencillo de implementar.
Os pongo un ejemplo sencillo que me suele pasar con mis amigos no-informáticos. Cuando hablas de tu trabajo, les habla de seguridad, de hacking ético, de auditorías, de compañías a las que encuentras fallos más o menos graves… A todos les viene a la mente una pregunta:
– Entonces, Kino, ¿podrías hackear cualquier empresa? ¿Podrías hackear mi casa?
– Casi seguro que no puedo hackear tu casa. Te explico por qué:
En tu casa usas un router para conectarte a Internet, sí. El tráfico de salida, lo que usas de internet está permitido. Lo que solemos hacer en un ataque o auditoría es usar conexiones entrantes que permites en tu router. Por ejemplo, si habilitas un NAT para poder conectarte desde otro sitio por una aplicación de control remoto o si has abierto un NAT para publicar una página web que albergas en tu servidor. En estos casos podemos intentar explotar un fallo, una vulnerabilidad en estos servicios que expones, o una mala configuración (admin/admin) pero para ello, debes haber expuesto estos servicios. En la mayoría de casos, los usuarios normales, no suelen realizar esta tarea.
En el mundo empresarial suele ser distinto. Una empresa normal expone en internet todos los servicios que presta, que brinda a sus empleados, por ejemplo: una web comercial, un acceso a una intranet de persona, un servicio de correo, la administración del firewall para poder trabajar en remoto los fines de semana, cámaras de seguridad, etc.
En estos casos, para el atacante es más fácil encontrar un «punto flaco» en la seguridad en alguno de los servicios expuestos, más que nada, porque hay más servicios expuestos.
Una de las recomendaciones generales que se suelen hacer en las auditorías de seguridad es la que nos lleva al artículo, Reducir la superficie de exposición. Este concepto suele ir muchas veces asociado a seguridad por casualidad: no está bien planteada la seguridad de la empresa pero, por casualidad, todos los sistemas ejecutan una versión sin fallos, aunque en cualquier momento que aparezca un fallo la posibilidad de sufrir un incidente es alta.
Pongamos un ejemplo sencillo. Un firewall perimetral que se publica a internet con los puertos abiertos de administración por Telnet 23, por SSH 22, por Web 80 y por un software cliente específico 8291. Si lo que vas a administrar es un aparato, ¿por qué 4 vías de conexión?. El hecho de dejar las 4 vías abiertas identifica claramente qué tipo de equipo es (si has leído el puerto 8291, podrás buscar en internet que el ejemplo es un Mikrotik). A esto se le denomina anti-fingerprint también, ya que intentas borrar la huella que identifica tu sistema. Por otro lado, si un día, aparece un fallo en un componente del firewall, tienes más posibilidades de que sea uno de los que tienes expuestos si los tienes expuestos todos, que si solo usas uno.
Otro ejemplo, a veces menos evidente, son las conexiones entrantes. Por ejemplo, un servidor SSH para administrar un servidor. Un RDP para un equipo «aislado» al que se conecta un técnico una vez al mes para un software viejuno ( Xp en una fábrica…), una VPN que no termina de funcionar bien, o que no todo el mundo tiene configurada porque necesita un cliente y el despliegue es costoso a nivel organizativo, un servidor Citrix para que algunos usuarios trabajen en remoto desde casa en vacaciones o en horarios fuera de oficina… ¿Te suena este escenario? 4 ó 5 servicios publicados en Internet, con 4 ó 5 sistemas de autenticación, actualizaciones, controles de seguridad disponibles para que un atacante descubra un fallo, o realice un ataque de fuerza bruta invisible para la organización y consiga un resultado. Para este caso, sería recomendable implementar una VPN con varios perfiles, uno para que el usuario se conecte SOLO al equipo que necesita, otro perfil para el administrador, otro para los proveedores, etc. De esta manera, estaremos aplicando el concepto de mínima superficie de exposición.
Espero que te haya gustado esta aproximación al concepto y que por supuesto, revises tu configuración para intentar exponer los menos servicios necesarios.
Gracias por leernos.