API de CLI que requiere detalles de usuario de texto simple

6

Me han encargado la tarea de escribir un módulo para que mi empresa interactúe con una API externa. Esta API tiene una sintaxis similar a SSH donde debo incorporar los detalles del usuario, así como la dirección de host del servidor al que estoy tratando de conectarme.

Sin embargo, me encuentro con el problema de seguridad que para pasar los detalles del usuario, necesito tenerlos en texto plano. Aún peor es el hecho de que estos detalles del usuario son en realidad los detalles del usuario para la máquina en la que se ejecuta el servidor. ¿Existe una forma inteligente de realizar esta tarea sin exagerar y usar un servidor de inicio de sesión externo? Sé que ha habido discusiones similares donde se llegó a la conclusión "No hacerlo", pero en este caso realmente no tengo control sobre la forma en que funciona la API.

    
pregunta Max Basescu 22.07.2014 - 16:42
fuente

3 respuestas

0

Si no puedes cambiar la API, entonces debes guardar la contraseña o pedirla al usuario cada vez que necesites hacer una llamada a la API.

Suponiendo que preguntar no es práctico, almacene la contraseña cifrada. No, no detendrá a un atacante serio, pero es mejor que nada: almacenar la contraseña en texto sin formato ni siquiera detendrá a un script para niños.

    
respondido por el Mark 17.12.2014 - 08:55
fuente
0

Es un común problema , y el uso de un servidor de inicio de sesión externo simplemente cambia el problema a otra parte.

Una solución (bastante elaborada) es cifrar la contraseña usando una clave pública para cada usuario autenticado y usando la protección con contraseña en la clave privada del usuario, almacenada en la máquina, donde la contraseña suministrada por el usuario también puede autenticar el acceso a la La máquina actúa como cliente o se envía a través del cable desde el almacenamiento en la máquina cliente (pero aún está protegida por la contraseña ingresada manualmente). Esto al menos elimina el texto claro del almacenamiento.

Ciertamente, usted quiere asegurarse de que haya un firewall restrictivo entre la máquina cliente y cualquier usuario.

    
respondido por el symcbean 12.01.2016 - 00:43
fuente
-1

Bueno, entonces podrías usar el método de clave asimétrica, pero si lo piensas, la razón por la que la contraseña está cifrada en el cliente es generalmente la misma contraseña que se usa en otros casos, por lo que si usas una contraseña diferente para Las transacciones con esta API, aislarán los problemas solo con este método de acceso.

    
respondido por el mincewind 17.12.2014 - 09:02
fuente

Lea otras preguntas en las etiquetas