Buena forma de almacenar muchas contraseñas de terceros

3

He consultado esta pregunta , pero Me gustaría escuchar algo más de entrada.

Estoy creando una aplicación de raspado que actuará como un agregador de clases para un gran número de empresas que utilizan unos pocos sistemas de gestión de inventario / personal / seguimiento populares (en esa industria). Para acceder a ellos y eliminar la información, necesitamos sus nombres de usuario y contraseñas para que puedan acceder mucho.

Lo que he deducido de mi investigación es que la ruta óptima sería configurar un nodo separado en AWS cuyo único propósito es alojar las contraseñas, y hacerlas accesibles solo internamente y solo al nodo que se realizará. el trabajo.

Proporcionaré una API: solicite un recorte y recibirán los resultados más tarde (los resultados no son realmente sensibles).

Ahora, ¿hay una manera de agregar una contraseña por encima de todo eso, o es más o menos suficiente? Esta no será una aplicación conocida en todo el mundo, pero me preocupa que perder la información de autenticación sería una catástrofe para estas empresas.

    
pregunta dsp_099 08.01.2016 - 13:22
fuente

3 respuestas

0
  

Lo que he deducido de mi investigación es que la ruta óptima sería   para configurar un nodo separado en AWS cuyo único propósito es albergar a los   contraseñas.

Suponiendo que no quiere o necesita algo de SQL u otra administración de datos para administrar las credenciales de autenticación, no creo que necesite un nodo de AWS completo (y problemas de seguridad y administración de operadores) para administrar esos datos de manera segura.

Consideraría el archivo de propiedades básicas, alojado en un contenedor de S3 cifrado y seguro, con una política de acceso muy limitado, solo disponible para su (s) instancia (s) de aplicación, que se ha configurado con el rol IAM adecuado.

Usando esta política:

{   "Version": "2012-10-17",   "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Sid": "Stmt0123456789",

      "Resource": [
        "arn:aws:s3:::<your S3 bucket name>/credentials.properties"
      ],
      "Effect": "Allow"
    }   ] }

Solo las instancias con esa política pueden leer esos datos. Es simple, de bajo costo y con cifrado del lado del servidor S3, bastante seguro.

Para obtener más información sobre las opciones de cifrado del lado del servidor S3, consulte Protegiendo los datos usando la encriptación del lado del servidor con Claves de cifrado proporcionadas por el cliente

    
respondido por el Rodrigo M 09.01.2016 - 04:27
fuente
1

Hay soluciones seguras para estantes para esto.

Puede almacenar las contraseñas en un administrador de contraseñas como Hashicorp Vault o Thycotic Secret Server y usa sus API para recuperarlos y usarlos cuando sea necesario para raspar.

Rodar el tuyo también es una opción. Adaptación del ejemplo de este blog sobre el uso de Amazon KMS con DynamoDB es una opción directa para hacerlo si está utilizando AWS y tiene programadores Java en la plantilla.

    
respondido por el Alain O'Dea 09.01.2016 - 03:22
fuente
0

Basándose en la discusión y sus requisitos, y en que los sitios que recopilará información no proporcionan y no pueden proporcionar una API de token adecuada para acceder a los datos que necesita de los usuarios, su mejor opción es realmente hacer cumplir la seguridad de Ese servidor y tener un buen plan de contienda. También debe informar a sus usuarios que van a almacenar sus contraseñas.

Podría depender de cuánto puede gastar para proteger estos datos, use algún software de cifrado (HSM, chip TPM o incluso una tarjeta inteligente / token si no será un uso demasiado alto) para cifrar y descifrar esta información en el servidor. Lo que obtiene es que un simple volcado de datos no perderá datos, el atacante debe volcar datos y ser capaz de controlar el servidor para usar el HSM / TPM / token / smartcard).

Usar una clave almacenada en el software (en el disco) es mejor que nada, pero solo dificulta un poco las cosas para un atacante, lo buscará cuando vea que hay datos cifrados.

Generar una clave derivada con PBKDF2 a partir de algunos datos en su código, algunos datos en el disco y cualquier otro lugar que pueda almacenar en el servidor también hará que el atacante sea un poco más difícil para el atacante, y solo le dará algo de tiempo Actúa y advierte a tus usuarios si algo sucede.

    
respondido por el CristianTM 08.01.2016 - 14:58
fuente

Lea otras preguntas en las etiquetas