Nunca está de mas un toque de paranoia, en especial si te están siguiendo.
Si tenés un servidor Linux expuesto a internet ni hace falta que te diga que el servicio SSH va a ser golpeado incesantemente por bots ejecutando ataques de fuerza bruta por que ya lo habrás notado hace tiempo y la estarás pariendo en carne propia.
Tampoco hace falta que te diga que podés mitigar el 90% de estos ataques automatizados sacando el servicio SSH del puerto 22, implementando fail2ban o autenticación por llaves.
Podrías llevarlo al extremo de lo ridículo inclusive implementando Crypto Port Knoking y asegurarte de enterarte de todo lo que pasa en tu red centralizando los logs en un único servidor syslog, por ejemplo.
Si por otro lado tenés tu PC con Linux o un servidorcito casero que no justifica tamaño gasto de recursos humanos, o tenés un servidor en el que varias personas disponen de credenciales de login, llaves, o permisos en /etc/sudoers para iniciar sesión como root, puede que te interese estar al corriente de quien, cuando y desde donde accedió al mismo como superusuario para saber a quién putear y a quien no cuando las cosas se rompan.
¿Como?
Una de las tantas formas de mantenerse al tanto de todo esto es recibir un alerta por mail en caso de login y de entre todas, debe ser una de las mas fáciles de implementar, siempre y cuando tu PC o servidor disponga de un MTA utilizable, (si no lo tuvieras, podés seguir mi guía para usar una cuenta de gmail con Linux).
Siempre que exista el archivo .bash_profile en el directorio que contiene el home de cualquier usuario, se ejecutará su contenido cada vez que el usuario en cuestión inicie sesión.
Si te interesa enterarte cada vez que alguien inicie sesión como root, tenés que agregar en el .bash_profile del mismo –que para root está ubicado en /root/.bash_profile– la siguiente línea:
echo ‘ALERTA – Acceso a la consola como root en:’ `date` `who` `hostname -f` | mail -s «Alerta: acceso como root desde `who | cut -d»(» -f2 | cut -d»)» -f1`» [email protected]
¿Se entendió?
Cada vez que root inice sesión se ejecutará el código anterior y te llegará un mail con toda la información pertinente.
Otra vuelta de rosca al tornillo de la seguridad, para que puedas dormir tranquilo.
… Siempre y cuando la conexión no provenga de Rumania.
… O China
… (Sin ánimo de ofender a todos mis lectores rumanos o chinos).
Yo utilizo, denyhost, este se ve bueno pero me bota un error.
bash: command substitution: line 15: syntax error near unexpected token `(‘
bash: command substitution: line 15: `who | cut -d( -f2 | cut -d) -f1’