Enviar un correo electrónico cuando alguien inicie sesión

10

Mi sistema CentOS / RHEL puede haber sido pirateado, no estoy seguro. Pero estoy jugando seguro creando una nueva rebanada desde cero.

He instalado Tripwire, pero también me gustaría que me envíen un correo electrónico cuando alguien inicie sesión. No quiero esperar el informe de registro diario, quiero un correo electrónico inmediato cuando alguien inicie sesión. Preferiblemente con su dirección IP también.

Sugerencias?

¿Similar a Enviar alerta por correo electrónico al ingresar el archivo de registro? pero tal vez alguien tenga una técnica para este problema específico.

Gracias,

Larry

Agregado: http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1249534744623+28353475&threadId=698232 tiene algunas ideas

LarryK
fuente
1
Destrozalo desde la órbita. i.stack.imgur.com/cFSC5.png
Jacob

Respuestas:

9

Debe usar una solución para el monitoreo de registros como OSSEC , buscará en sus registros información de seguridad (incluyendo inicio de sesión, sudo, etc.) y le enviará un correo electrónico cuando la alerta sea importante.

Es fácil de configurar y puede elevar el nivel de alerta para correos electrónicos o incluir uno alert-by-emailen la alerta específica.

También puede hacer una respuesta activa configurable, bloqueando las direcciones IP y denegando el acceso por un período de tiempo predeterminado.

chmeee
fuente
4

Solución de cambio leve de adams que no se rompe si la raíz está conectada a más de un terminal:

login_info="$(who | head -n1 | cut -d'(' -f2 | cut -d')' -f1)"
message="$(
printf "ALERT - Root Shell Access (%s) on:\n" "$(hostname)"
date
echo
who
)"
mail -s "Alert: Root Access from ${login_info}" admin <<< "${message}"
alexh
fuente
4

podrías poner esto en tu .bashrc

echo 'ALERT - Root Shell Access to' $(hostname) 'on:' `date` `who` \
| mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`" YOUREMAIL
Adán
fuente
2

Puede agregar el comando apropiado a, / llamar a un script desde / etc / profile.

John Gardeniers
fuente
2

Sin embargo, tenga en cuenta que si su máquina ha sido pirateada, puede ser una tarea trivial para el pirata informático, suponiendo que no se trate de un script kiddie del que estamos hablando, deshabilitar la función de alerta por correo electrónico.

Maximus Minimus
fuente
44
Sí, por eso quiero que se envíe un correo electrónico tan pronto como alguien inicie sesión. - El servidor no recibe tantos inicios de sesión. Me imagino que de esa manera reducirá las probabilidades de que alguien pueda evitar que se envíe el correo electrónico sobre su interrupción inicial (si es a través de un shell de inicio de sesión).
LarryK
2

Publiqué un script bash en Github Gist que hace lo que estás buscando. Enviará un correo electrónico al administrador del sistema cada vez que un usuario inicie sesión desde una nueva dirección IP. Utilizo el script para examinar los inicios de sesión en nuestros sistemas de producción estrechamente controlados. Si un inicio de sesión se ve comprometido, seremos notificados sobre la ubicación de inicio de sesión inusual y tendremos la oportunidad de bloquearlos del sistema antes de que causen daños graves.

Para instalar el script, simplemente actualícelo con su correo electrónico sysadmin y cópielo en /etc/profile.d/.

Elliot B.
fuente
Intenta no copiar y pegar tus propias respuestas . Si cree que las preguntas son esencialmente las mismas y la misma solución se aplica a ambos, el método preferido es marcar una pregunta como duplicada de la otra.
HBruijn
@HBruijn, consideré ese enfoque. Sin embargo, en este caso, las dos preguntas son similares, pero no duplicadas, pero la misma respuesta aún se aplica a ambas.
Elliot B.