Implicaciones de seguridad del uso del script Bash como shell de inicio de sesión SSH

3

Tengo una implementación de monitoreo bastante simple, digamos que el servidor de monitoreo se conecta a un objetivo a través de SSH a través de la autenticación de clave, y obtiene información de acuerdo a un script configurado como shell de inicio de sesión para el usuario de monitoreo.

es decir. monitoring ---ssh---> target ---login-shell---> script argument

Un script de shell de inicio de sesión de ejemplo podría ser el siguiente:

#!/bin/bash
if [ "$2" = "hello" ]; then
        echo "$(free -m)"
fi

Y los datos se pueden obtener de la siguiente manera:

[root@run ~]# ssh -i sshkey testuser@target hello
              total        used        free      shared  buff/cache   available
Mem:          15857        3086        1376         832       11394       11539
Swap:         16127           0       16127

testuser tendría el script bash configurado como su shell de inicio de sesión:

testuser:x:1006:1007::/home/testuser:/home/testuser/init

¿Hay algún problema de seguridad obvio con tal implementación? Si actualmente no, ¿qué debo tener en cuenta al expandir esto para incluir más funciones?

    
pregunta Paweł Adamski 26.11.2017 - 22:04
fuente

1 respuesta

1

Esto me parece bien por ahora.

Al pasar argumentos al script, recuerde que no debe pasar los argumentos directamente a las sentencias ejecutadas, al menos no si no desea que la máquina / usuario de monitoreo tenga un shell real en el sistema.

    
respondido por el Tobi Nary 26.11.2017 - 22:37
fuente

Lea otras preguntas en las etiquetas