Cómo obtener alertas de correo electrónico de inicio de sesión SSH de root y de usuario


Siempre que instalamos, configuramos y aseguramos servidores Linux en un entorno de producción, es muy importante realizar un seguimiento de lo que sucede con los servidores y quién inicia sesión en el servidor en lo que respecta a la seguridad del servidor.

Porque si alguien se conecta al servidor como usuario root usando tácticas de fuerza bruta a través de SSH, entonces piense en cómo destruirá su servidor. Cualquier usuario que obtenga acceso de root puede hacer lo que quiera. Para bloquear tales ataques SSH, lea nuestros siguientes artículos que describen cómo proteger los servidores de tales ataques.

  1. Bloquear ataques de fuerza bruta del servidor SSH mediante DenyHosts
  2. Utilice Pam_Tally2 para bloquear y desbloquear inicios de sesión SSH fallidos
  3. 5 mejores prácticas para asegurar y proteger el servidor SSH

Por lo tanto, no es una buena práctica permitir el inicio de sesión de root directo a través de una sesión SSH y recomendar crear cuentas no root con acceso sudo. Siempre que se necesite acceso de root, primero inicie sesión como usuario normal y luego use su para cambiar al usuario root. Para deshabilitar los inicios de sesión de root SSH directos, siga nuestro artículo a continuación que muestra cómo deshabilitar y limitar el inicio de sesión de root en SSH.

  1. Deshabilite el inicio de sesión de raíz SSH y limite el acceso SSH

Sin embargo, esta guía muestra una forma sencilla de saber cuando alguien inició sesión como usuario root o normal, debería enviar una notificación de alerta por correo electrónico a la dirección de correo electrónico especificada junto con la dirección IP del último inicio de sesión. Entonces, una vez que conozca la dirección IP del último inicio de sesión realizado por un usuario desconocido, puede bloquear el inicio de sesión SSH de una dirección IP particular en el firewall de iptables.

  1. Cómo bloquear el puerto en Iptables Firewall

Cómo configurar alertas de correo electrónico de inicio de sesión SSH en el servidor Linux

Para llevar a cabo este tutorial, debe tener acceso de nivel raíz en el servidor y un poco de conocimiento del editor nano o vi y también mailx (Mail Client) instalado en el servidor para enviar los correos electrónicos. dependiendo de su distribución, puede instalar el cliente mailx usando uno de los siguientes comandos.

# apt-get install mailx
# yum install mailx

Ahora inicie sesión como usuario root y vaya al directorio de inicio de root escribiendo el comando cd/root.

# cd /root

A continuación, agregue una entrada al archivo .bashrc. Este archivo establece variables de entorno local para los usuarios y realiza algunas tareas de inicio de sesión. Por ejemplo, aquí configuramos una alerta de inicio de sesión por correo electrónico.

Abra el archivo .bashrc con vi o nano editor. Recuerde que .bashrc es un archivo oculto, no lo verá haciendo el comando ls -l. Tienes que usar -a marca para ver archivos ocultos en Linux.

# vi .bashrc

Agregue la siguiente línea completa al final del archivo. Asegúrese de reemplazar "ServerName" con un nombre de host de su servidor y cambie "[email protected]" por su dirección de correo electrónico.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email protected]

Guarde y cierre el archivo y cierre la sesión y vuelva a iniciarla. Una vez que inicie sesión a través de SSH, se ejecutará un archivo .bashrc de forma predeterminada y le enviará una dirección de correo electrónico con la alerta de inicio de sesión de root.

ALERT - Root Shell Access (Database Replica) on: Thu Nov 28 16:59:40 IST 2013 tecmint pts/0 2013-11-28 16:59 (172.16.25.125)

Inicie sesión como usuario normal (tecmint) y vaya al directorio de inicio del usuario escribiendo cd/home/tecmint/command.

# cd /home/tecmint

A continuación, abra el archivo .bashrc y agregue la siguiente línea al final del archivo. Asegúrese de reemplazar los valores como se muestra arriba.

echo 'ALERT - Root Shell Access (ServerName) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" [email protected]

Guarde y cierre el archivo y cierre la sesión y vuelva a iniciar sesión. Una vez que vuelva a iniciar sesión, se ejecutará un archivo .bashrc y le enviará una dirección de correo electrónico con la alerta de inicio de sesión del usuario.

De esta forma, puede configurar una alerta por correo electrónico para que cualquier usuario reciba alertas de inicio de sesión. Simplemente abra el archivo .bashrc del usuario que debe ubicarse en el directorio de inicio del usuario (es decir, /home/username/.bashrc) y configure las alertas de inicio de sesión como se describe arriba.