Proteger servidores OpenSSH y OpenVPN (también con Latch) (I)

viernes, 13 de junio de 2014

Latch nació de la idea de evitar que posibles atacantes pudieran acceder a nuestros servicios aunque dispusieran de las credenciales de inicio de sesión. De esta forma, es posible controlar cuándo se puede acceder a los diferentes servicios como banca online, correo electrónico, redes sociales y blogs incluso si un atacante conociera la contraseña. ¿En qué mejora Latch la seguridad de servicios con OpenSSH y OpenVPN? En esta entrada se cuenta la experiencia de cómo se protegen los servidores OpenSSH y por qué Latch podría resultar útil.

Protegiendo OpenSSH

OpenSSH es el servidor SSH más utilizado en el mundo. Proporciona acceso a través de terminal un equipo para administrarlo de forma remota y segura. Además permite hacer "SSH Tunneling" para cifrar cualquier protocolo desde el equipo cliente hasta el servidor.

Al trabajar con OpenSSH, algunas opciones fundamentales de seguridad para proteger el servidor pasan por: elegir la versión dos del protocolo, cambiar el puerto por defecto, deshabilitar el login como "root" del sistema, crear una lista blanca con sólo determinados usuarios, elegir un número máximo de autenticaciones antes de desconectar la sesión y reducir el tiempo de introducción de la contraseña...

Por ejemplo, para reducir el número de intentos de conexión se debe usar el módulo recent del cortafuegos iptables. Con esta característica, es posible bloquear los intentos de conexión desde una determinada IP que ha intentado conectarse varias veces de forma fallida. Una mejora de seguridad muy importante es autenticarse a través de una pareja de claves RSA. Cuando se obliga a autenticar a los usuarios mediante RSA, el acceso estará protegido contra ataques de diccionario o fuerza bruta.

Sin embargo, todas estas medidas de seguridad se vienen abajo si, por algún motivo, un atacante conoce las credenciales o tiene en su poder la clave RSA. No es difícil imaginar un escenario en el que el usuario pierde las contraseñas, o un dispositivo donde se almacenan las claves privadas. Hasta ahora, una posible solución a este problema pasaba por el conocido "port knocking". Gracias al "golpeo de puertos" podríamos abrir el cortafuegos a los accesos SSH a través de una determinada secuencia preestablecida de intentos de conexión a puertos. Aunque eficaz, en la práctica es bastante incómodo puesto que se debe utilizar knock para golpear los puertos y que se abra el utilizado por SSH, después utilizar el servicio SSH, y por último realizar otro golpeo para dejarlo en su estado original. Otros puntos débiles de "port knocking" es "recordar" la secuencia de puertos a utilizar. Acceder desde un terminal móvil al servidor SSH, podría resultar poco práctico.

¿Qué ofrece Latch?

Mensaje de bloqueo cuando se intenta acceder con el pestillo cerrado
Una solución para añadir seguridad en servidores SSH es Latch.roporciona una forma elegante de solucionar los accesos no legítimos a un servidor. Esta herramienta simplifica al máximo el intento de evitar que un atacante con las credenciales pueda acceder al servicio protegido. Con el "pestillo" digital cerrado, aunque un atacante conozca nuestras credenciales, no podrá acceder. Además, es posible pedir de forma obligatoria una clave de un solo uso (One Time Password) cada vez que se acceda. De esta forma el atacante no solo tendrá que conocer o tener en su poder las credenciales, sino que también tendrá que conocer la clave generada aleatoriamente por Latch para iniciar sesión.

La instalación y configuración de Latch para OpenSSH es muy sencilla, ni siquiera se debe modificar el archivo de configuración de OpenSSH. Cuando un usuario intenta entrar en el servicio con el "pestillo" cerrado, se enviará un aviso al terminal móvil indicando que alguien ha intentado acceder. Además, desde el panel de control de Latch se podrá comprobar el intento de intrusión. Otra característica con la que cuenta este panel de control es la posibilidad de ver el número de claves OTP que se han generado para acceder al servicio.

Panel de administrador desde donde se pueden controlar los intentos de acceso


La facilidad con la que se puede bloquear y desbloquear el servicio es realmente simple: basta con arrastrar un interruptor disponible en la app para cerrar el servicio. Todo ello con una instalación rápida y fácil. Latch se ha convertido en una herramienta fundamental para proteger los accesos a servidores en Redes Zone, sin necesidad de configuraciones complejas con iptables y además con un uso muy intuitivo.


Proteger servidores OpenSSH y OpenVPN (también con Latch) (y II)


Sergio de Luz
sergio.deluz@redeszone.net

No hay comentarios:

Publicar un comentario en la entrada