Almacenar certificados IDP de SAML en la carpeta APP_Data

0

Proporcionamos un proveedor de servicios SAML2 a nuestro cliente, para que puedan usarlo para configurar su proveedor de identidad para nuestro proveedor de servicios.

Mis preguntas son acerca de nuestro certificado de cliente, me preocupa que si guardo su certificado en nuestra carpeta APP_Data para poder acceder a él en nuestro código base para configurar el Proveedor de servicios y el Proveedor de identidades. Así que estoy pensando en configurar un nuevo grupo en nuestro AWS y almacenar esos certificados en ese grupo. ¿Alguna sugerencia para este enfoque o hay una mejor manera de al menos asegurar los certificados?

    
pregunta rpmansion 01.03.2017 - 07:01
fuente

1 respuesta

1

¿Qué certificado es este? ¿Es solo la clave pública utilizada para validar el token?

Si es solo la clave pública, entonces lo único que debe preocuparte es que alguien la sobrescriba con una clave diferente.

Si está preocupado por eso, puede almacenarlo en el almacén de certificados y establecer una ACL de tal manera que requiera permisos de administrador para cambiar. El problema práctico es que luego tendrá que almacenar la huella digital o el tema del certificado en algún lugar para poder buscarlo en la tienda. Almacenarla en AWS haría que sea un poco más difícil que alguien se meta con ella. Desearía hacerlo solo desde su servicio para que un atacante en la casilla no pueda usar las mismas credenciales para sobrescribirlo.

Por otro lado, si estás hablando de la clave privada utilizada para descifrar un token cifrado ... esa es otra historia. Realmente necesitas considerar qué tipo de ataques quieres prevenir.

  • Puede almacenarlo localmente en el disco y cualquier persona con acceso de lectura puede, bueno, leer la clave.
  • Puede almacenarlo como un archivo PFX en el disco con una contraseña, pero necesita la contraseña para descifrarla, y debe almacenarse de forma segura en algún lugar, y luego vamos al agujero del conejo.
  • Puede ACL presionar la tecla para que solo la aplicación web pueda leerla, pero es probable que se esté ejecutando como un servicio de red, por lo que está bastante abierto.
  • Puede cambiar la aplicación para usar una cuenta nombrada con contraseña, y ACL el archivo para que solo el usuario pueda leer la clave, pero un administrador aún pueda leerla, porque: admin.
  • Puede almacenarlo en el almacén de certificados, pero los 2 puntos anteriores aún se aplican.
  • Puede almacenarlo en AWS, pero esto requiere una clave para conectarse, y esa clave debe almacenarse en algún lugar de forma segura. Una vez más por el agujero del conejo. Además, esta tecla debe bajarse para ser utilizada, la cual puede almacenarse en el disco o en la memoria. En el disco, todo esto es discutible.
  • Por último, puede almacenarlo en un contenedor de claves adecuado, como un HSM (consulte, por ejemplo, Amazon HSM o Azure Key Vault) donde la clave nunca sale de la tienda, y le envía comandos de cifrado / descifrado. En este punto, aún necesita una forma de conectarse, pero no puede extraer su clave, aunque puede enviar datos arbitrarios para descifrar.

Aquí es donde entra en juego un modelo de amenaza. Evalúa los riesgos asociados con cada método y solo entonces puede determinar si el riesgo justifica el esfuerzo y el impacto del método.

    
respondido por el Steve 01.03.2017 - 15:13
fuente

Lea otras preguntas en las etiquetas