Notificaciones de acceso SSH vía Hangouts
A veces soy un poco “paranoico” con controlar los accesos a mi red y/o mis dispositivos, por eso he activado los avisos por correo de nuevos dispositivos que envía mi router y, para mi Raspberry, he activado usando libpam-script la notificación de accesos por ssh. A continuación veremos como hacerlo.
Necesitamos
- Nuestra cuenta de Hangouts/Google
- Una cuenta secundaria de Hangouts/Google
- sendxmpp
- libpam-script
Vamos a ello
En primer lugar, comenzamos instalando el software necesario (libpam-script y sendxmpp) con aptitude:
1 |
aptitude install libpam-script sendxmpp |
Una vez finalizada la instalación, procedemos a configurar el usuario de hangouts secundario (la cuenta que nos enviará los avisos), para ello creamos el fichero /root/.sendxmpprc con los datos de la cuenta:
1 2 |
#Mi cuenta mi_cuenta@gmail.com;talk.google.com password gmail.com |
Podemos probar a enviar un mensaje con el siguiente comando (como root):
1 |
echo "Mensaje de prueba" | sendxmpp -t cuenta_destino@gmail.com |
Ahora creamos los scripts de notificación de inicio (pam_script_ses_open) y fin (pam_script_ses_close) de sesión en la ruta “/usr/share/libpam-script/”, donde podemos usar las variables que nos da el propio pam (por ejemplo, PAM_USER y PAM_RHOST para tener el usuario y el host de acceso), obteniendo unos scripts similares a los siguientes:
1 2 3 |
#!/bin/bash #Vamos a notificar el inicio de sesion echo "`date \"+[%Y-%m-%d %H:%M:%S]\"` Acceso ssh de '$PAM_USER' desde $PAM_RHOST" | sendxmpp -f /root/.sendxmpprc -t cuenta_destino@gmail.com |
1 2 3 |
#!/bin/bash #Vamos a notificar el fin de sesion echo "`date \"+[%Y-%m-%d %H:%M:%S]\"` Finalizada sesion de '$PAM_USER' desde $PAM_RHOST" | sendxmpp -f /root/.sendxmpprc -t cuenta_destino@gmail.com |
Ahora que ya hemos creado los dos scripts, les damos permisos de ejecucón con “chmod +x” y añadimos la siguiente linea al fichero de configuración de pam para ssh (/etc/pam.d/sshd):
1 2 3 |
# Notificaciones usando pam-script # El parametro "optional" hace que podamos acceder por ssh aunque el script de notificación falle. session optional pam_script.so runas=root |
Con esto ya está todo listo, cada vez que alguien acceda por ssh recibiremos un mensaje de chat con el usuario y el hot o ip desde el que se accede.
Notificaciones de acceso SSH vía Hangouts por Víctor Ramón Rodríguez Domínguez está licenciado bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.