Linux: ¿el envío de notificaciones rápidas en los inicios de sesión ssh es una medida de seguridad?

2

Escenario

Uno de mis clientes tiene algunos cuadros basados en Debian directamente accesibles en Internet sin firewall en el puerto ssh. Esos cuadros se configuran para una notificación de correo "instantánea" cuando un usuario ssh remoto inicia sesión con éxito:

me @ server: ~ $ sudo cat / etc / ssh / sshrc

ip='echo $SSH_CONNECTION | cut -d " " -f 1'
logger -t ssh-wrapper $USER login from $ip
echo "User $USER just logged in to $(hostname) from $ip" | mail -s "SSH Login" -- [email protected] &

Me preguntaba si esto podría realmente considerarse como una (buena) notificación de seguridad, ya que el usuario que inicia sesión está ejecutando este comando y, por lo tanto, un usuario malintencionado podría tener control sobre dicho evento. Obviamente, pasan milisegundos después del inicio de sesión, por lo que debería ser muy difícil para un atacante atraparlo, pero aún no estoy seguro de que un usuario remoto no pueda eludir este sshrc global del lado del servidor.

Por ejemplo, he estado trabajando para ellos durante meses y ni siquiera me había dado cuenta, pero recibían una notificación cada vez que ingresaba. Señalaron mi atención al respecto porque dijeron que habían cambiado algo en uno. de sus scripts, que ahora están generando muchas más conexiones que antes y, por lo tanto, me pidieron que evitara que este usuario genere la notificación para evitar que el buzón se inunde.

Como soy un chico instintivo, agregué rápidamente un if para que coincida con el usuario que no debería generar la notificación, e hizo el truco, pero creo que esto hace que esta medida sea incluso más débil de lo que ya parecía .

No sé si es posible, probé muchas búsquedas diferentes que no arrojaron nada relevante, pero si un usuario en el lado del cliente puede especificar una ruta diferente para el sshrc, por ejemplo, esta medida fracasaría miserablemente Si el MTA tiene una cola completa y el usuario puede elevarlo, podría fácilmente poner en cola / retrasar el correo, por eso cambiaría el correo con un servicio de SMS al menos.

Estas son solo algunas de mis dudas, y es por eso que planeo hablar con el CIO del cliente sobre esta debilidad, y me gustaría conocer su opinión al respecto. Por supuesto, me preguntará "¿cuál crees que sería una solución más segura y aún gratuita?" El efectivo es siempre el rey.

Sinceramente, aún no tengo una respuesta para esa pregunta, pero creo que si quieren mantener esta "lógica", al menos, la raíz debe mirar el registro y notificar cuando cada usuario inicia sesión No todos los minutos crontab, ya que quieren que las notificaciones sean instantáneas. Así que creo que podría escribir algo con fileschanged y tail, y usar SMS o guardar el correo como prefiera el cliente. Eso sería ejecutado por root y por lo tanto no estará bajo el control del usuario.

Preguntas

: ¿Es posible que un usuario remoto sin privilegios deshabilite el lado del cliente sshrc del servidor?

-El cliente desea mantener este tipo de notificación, ya sea buena o mala, ¿considera usted esta manera de obtener una buena manera?

-¿Hay alguna otra forma gratuita de que se le notifique con prontitud en un inicio de sesión ssh, de manera no evitable?

-¿No crees que sería más seguro cambiar de correo electrónico a SMS?

    
pregunta Marco 04.09.2017 - 11:57
fuente

1 respuesta

3

Sobre la inseguridad, imho, estás pensando en la dirección equivocada.
¿Qué cosas malas crees que este sistema está impidiendo? Absolutamente nada, y es por eso que no puede dejar de evitarlo. Por el contrario, se añade seguridad; porque si alguien obtiene acceso no autorizado, hay al menos una posibilidad de que no supiera (o no pudiera evitar) el correo.

Lo único que hay que recordar al cliente es que confiar demasiado en los correos no es bueno. Como alerta, bien, como única fuente de verdad ("no somos hackeados porque no hay correo"), no. Hay demasiadas maneras en que los correos electrónicos pueden fallar y demasiadas formas de hackearse sin el inicio de sesión SSH adecuado.

Sobre el firewall, si alguien bloquea las conexiones SSH que están ingresando, nadie podrá iniciar sesión. Eso probablemente no sea útil.

Sobre un método que no se basa en el usuario y el shell, PAM también puede hacerlo. Consulte enlace
Incluso hay una opción para denegar el inicio de sesión si el comando falló, pero en este caso, no es realmente útil (no se inicia sesión porque el servidor de correo está inactivo o lo que sea, y enviarlo al servidor con éxito no significa que llegó al receptor ).

Sobre SMS, no, no son más seguros que los correos electrónicos.

    
respondido por el user155462 04.09.2017 - 13:54
fuente

Lea otras preguntas en las etiquetas