@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

bastionado-ssh-con-2fa-y-telegram-2

Bastionado SSH con 2FA y Telegram

Bastionado SSH con 2FA y Telegram

Hoy os voy a dar unas pequeñas pautas para hacer un bastionado o hardening de un servicio básico en Linux como es SSH.

Cuando queréis publicar un servicio como SSH hacia Internet o simplemente, securizar de una forma extra vuestro servicio por criticidad, probablemente, SSH por si solo no sea la mejor opción, aunque te lo parezca, al ser un protocolo de los llamados “seguros”.

Es un protocolo de comunicaciones, capa 7 en el modelo OSI (Aplicación), que nos permite operar entre, por ejemplo, una red no segura mediante el encriptado de la comunicación. A simple vista, más que suficiente para la mayoría de pymes o empresas, pero vamos a darle una capa extra de seguridad, mediante autenticación de doble factor (2FA) y alertas con Telegram cuando se produzca un login en el sistema operativo Linux.

bastionado-ssh-con-2fa-y-telegram-0

Para este ejemplo, voy a usar el nuevo Debian 11, sobre una máquina virtual Proxmox. En el proceso de instalación he instalado el complemento SSH Server:

bastionado-ssh-con-2fa-y-telegram-1

Una vez instalado, nos conectaremos a nuestro server:

He agregado el usuario mediante el comando visudo a sudo:

bastionado-ssh-con-2fa-y-telegram-2

Hardening básico SSH

Para evitar problemas, aunque en Debian no es posible por defecto, lo primero que haremos es asegurarnos que el usuario root no puede entrar directamente por SSH. Editamos el fichero:

Y nos aseguramos que la línea siguiente esté de esta forma:

Modificamos el periodo de gracia de la sesion:

Evitar que existan contraseñas en blanco que puedan logarse en el sistema:

Deshabilitamos que al conectarse se diga la versión del sistema:

Existen más opciones…pero de momento con esto nos valdría sin ponernos muy “quisquillosos”.

Configurar 2FA (Doble factor de autenticación) en SSH

Vamos al grano…usaremos el 2FA de Google, que es fácil de implementar. Instalamos paquete necesario:

Hacemos una copia del primer fichero a modificar:

Modificamos el fichero:

Y agregamos la línea:

Reiniciamos el servicio:

Hacemos un nuevo backup del fichero:

Modificamos el fichero:

Cambiamos la siguiente línea a YES:

Descomentamos la siguiente línea:

Instalaros en vuestro dispositivo la app GOOGLE AUTHENTICATOR. La necesitaréis para configurar la herramienta.

Ahora lanzáis el comando:

Y vamos respondiendo a las siguientes preguntas:

Reiniciar el servicio de SSH nuevamente:

Ahora cada vez que conectéis, os pedirá la contraseña y la verificación, que es el código que encontraréis al abrir Google Authenticator:

Configurar alertas Telegram en el login en SSH

Ahora tenemos un sistema seguro al que conectarnos, pero queremos adicionalmente, saber en qué momento se producen esos login, de forma que verifiquemos constantemente, que nuestro sistema operativo linux es seguro y no hemos dejado agujeros.

Para ello, como ya hemos comentado, usaremos Telegram. De forma que nos llegarán alertas al móvil, con los logins que se produzcan.

En otras entradas ya os he explicado como configurar Telegram para recibir alertas:

Configurar Telegram en Zabbix

Tendremos que generar un nuevo BOT y guardar el TOKEN que se genera al final, para el script que vamos a utilizar. Iniciar el BOT generado y agregarlo como un usuario más a vuestro grupo donde vais a recibir las alertas. Seguir el proceso de la entrada anterior:

configurar-telegram-en-zabbix-02

Ahora simplemente generamos un fichero en la ruta /etc/ssh de la siguiente forma:

Colocaremos el siguiente contenido:

Le damos permisos de ejecución:

Configuramos la siguiente variable:

Ahora modificaremos la configuración de PAM. PAM o módulos de autenticación conectables (Pluggable Authentication Modules) son la capa de gestión que se encuentran entre las aplicaciones de Linux y el sistema de autenticación nativo de Linux.

Hacemos una copia de seguridad:

Y agregamos al final del fichero:

Y comprobamos que funcionan las notificaciones y el doble factor de autenticación 2FA.

Simplemente, probarlo para verificar que todo funciona bien.

bastionado-ssh-con-2fa-y-telegram-3

Con esto, ya tenemos un sistema linux, un poco más seguro. Espero que os guste, compartir es gratis 🙂

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

script-bash-synology-usb-backup-copy-7

Script Bash: Synology USB Backup Copy

Script Bash: Synology USB Backup Copy Después de los últimos acontecimientos con los nas de …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

1 + ocho =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu