Smartphone clientes SSH con usuario compartido

1

Estoy escribiendo una aplicación para teléfonos inteligentes para proporcionar un uso muy limitado de SSH. El usuario no puede realizar acciones arbitrarias cuando está conectado. Solo puede ejecutar un script específico.

Por diversos motivos, no es posible implementar el inicio de sesión sin contraseña, por lo que la contraseña debe proporcionarse desde el teléfono inteligente para iniciar sesión. Sin embargo, tengo preguntas sobre las fallas / problemas de seguridad con lo que estoy haciendo.

  1. No quiero darles a los usuarios (empleados internos) la contraseña de SSH directamente, por lo que no pueden SSH desde sus hogares y hacer lo que quieran en el servidor. Así que mi plan es que el usuario ingrese su propia contraseña y la use como una clave para almacenar en el teléfono inteligente la contraseña SSH cifrada (AES). Solo yo o un administrador del servidor pueden ingresar esta contraseña en sus teléfonos, después de descargar la aplicación. De esta manera no pueden iniciar sesión desde dispositivos no autorizados. ¿Es esta una buena idea? No puedo pensar en ningún fallo de seguridad en esto.

  2. Estoy pensando en darles a todos los usuarios de teléfonos inteligentes una cuenta de usuario en el servidor, para que todos inicien sesión en el mismo usuario mediante SSH. ¿Es esta también una mala idea?

pregunta JJJ 09.03.2012 - 15:13
fuente

3 respuestas

7

Darle a todos los usuarios una cuenta compartida no es algo que consideraría. No podría saber con certeza qué usuario hizo qué en el sistema, varias personas compartirán la misma cuenta al mismo tiempo ... En definitiva, es probable que se ensucie en algún momento.

Imagínese si uno de ellos pierde su teléfono, y se ve obligado a bloquear a todos cuando se entera, sin mencionar que quien encuentre el teléfono puede iniciar sesión y hacer daño y le sería difícil averiguar qué se hizo. por ese usuario.

Preferiría la primera opción. Configure cada aplicación manualmente antes de dar acceso a los empleados, guarde y cifre el par de claves, o la contraseña en el dispositivo y déjelos elegir una contraseña para desbloquear el acceso a la aplicación. De esta manera, si pierde o le roban un teléfono, simplemente puede desautorizar la clave / cuenta afectada.

    
respondido por el code_burgar 09.03.2012 - 15:56
fuente
2

¿Está limitado a permitir que los usuarios accedan directamente a SSH?
Eso lo coloca en un lugar bastante difícil, tanto con la autenticación de los usuarios como se mencionó, como con la restricción de las acciones reales que pueden realizar.

Sugeriría una solución diferente: tener un componente de servidor, que emule SSH, y luego dirija las acciones al SSH real. Incluso podría implementar eso como un servicio web, probablemente sería más sencillo incluso para la aplicación cliente.

De esta manera, es trivial hacer cumplir las restricciones sobre las acciones que desea permitir (simplemente no admite las acciones no permitidas), bloquear el uso de SSH en el hogar (ya que no es realmente SSH), y autenticar usuarios individuales es mucho más fácil también.

    
respondido por el AviD 19.03.2012 - 09:44
fuente
0

Una vez que le da a los usuarios el dispositivo, deberían poder obtener la contraseña / clave ssh de la aplicación móvil desde su dispositivo si lo desean. Puede hacerlo más difícil (y no es trivial), pero un usuario sofisticado podría obtenerlo. Por lo tanto, necesitas tener restricciones del lado del servidor.

Por ejemplo, puede intentar bloquee ssh , por ejemplo, la cuenta tiene permisos mínimos (por ejemplo, no hay permisos para ejecutar un shell, solo puede ejecutar un comando, etc.). Tenga cuidado con la forma en que lo hace, intente romperlo (dependiendo de los comandos permitidos (o de si permite argumentos) pueden llegar a un shell). Pero es más seguro que nada.

Sin embargo, tal vez no deberías otorgar a los usuarios permisos ssh a través de una aplicación. ¿Qué tal si escribe un servidor / servicio web simple que solo tiene permisos para hacer lo que quiere que se haga? Estoy de acuerdo con otros en que compartir credenciales en dispositivos móviles es una mala idea.

    
respondido por el dr jimbob 19.03.2012 - 16:34
fuente

Lea otras preguntas en las etiquetas