"our dreams of freedom have changed the world everybody lives in"
12 ene 2020

Envío de email cuando hay un login por ssh

En máquinas conectadas directamente a Internet (y esto incluye el acceso a ellas vía un puerto abierto del Firewall), es recomendable estar atento a los "logins de usuario" que se producen. En entornos profesionales, además del aviso de correo que programamos aquí, es conveniente hacer uso de otras herramientas tipo SIEM o HostIDS. En mi servidor, que es pequeñito y con pocos recursos, yo utilizo lo que sigue.

He agregado esto al fichero "/etc/pam.d/sshd".

# Envío de correo cuando login
session optional pam_exec.so /root/bin/send-mail-on-ssh-login.sh

El fichero completo (/etc/pam.d/sshd), como referencia y copia de seguridad, está adjunto aquí (le he agregado la extensión .txt para que sea "leible" desde el blog).

Y he creado el script correspondiente en "root/bin" con este contenido:

#!/bin/sh
if [ "$PAM_TYPE" != "open_session" ]
then
  exit 0
else
  {
    echo "User: $PAM_USER"
    echo "Remote Host: $PAM_RHOST"
    echo "Service: $PAM_SERVICE"
    echo "TTY: $PAM_TTY"
    echo "Date: `date`"
    echo "Server: `uname -a`"
  } | mail -s "$PAM_SERVICE login on `hostname -s` for account $PAM_USER" example@example.com
fi

exit 0

¡OJO!: has de modificar la dirección de mail "example@example.com" por la tuya propia donde quieres recibirlos.

Referencias:

1.- http://blog.th-neumeier.de/2011/02/send-email-on-ssh-login-using-pam/

2.- http://serverfault.com/questions/400613/send-notification-email-when-the-ubuntu-server-is-remoted-via-ssh

3.- http://www.tiger-computing.co.uk/get-notified-with-every-ssh-login/

4.- http://www.farinspace.com/secure-login-linux-server/

5.- http://www.mydigitallife.info/how-to-get-linux-server-sends-email-alert-on-root-login/

Para avisar cuando alguien hace login como root (no permitido por ssh, sólo como "promoción interna" ;-)), añadimos al .bashrc de root lo siguiente (¡¡OJO!! No hagas copy/paste de esta línea. Es mejor que la teclees pues debe de haber -introducidos por el "parser" de coloreado de sintaxis- códigos de control extraños en algunos caracteres que no funcionan si la copias):

echo 'ALERT - Root Shell Access () on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`" example@example.com

Espero que te sea útil.

Si consideras alguna parte mejorable, por favor, indícamelo con un comentario. Como siempre, te estaré muy agradecido.

Dejar comentario.

Tags: Configuraciones Seguridad