2011-06-02 10 views
8

Necesito migrar una gran aplicación a Windows Azure. La aplicación depende de una biblioteca de terceros que requiere una clave de activación almacenada en un archivo binario especial en el sistema de archivos de instancia de rol.¿Qué tan paranoico debería ser sobre el robo de los archivos binarios de mi aplicación Azure?

Obviamente, esa clave debe estar incluida en el paquete de roles o almacenada en algún lugar donde role pueda recuperarla. La clave de activación no estará vinculada a la máquina (ya que no tengo idea de dónde se ejecutará exactamente una función en la nube) para que cualquiera pueda usarla para hacer que una copia de esa biblioteca funcione.

Dado que las funciones de Azure se ejecutan en un lugar que no está bajo nuestro control, me siento algo paranoico con respecto a que la clave haya sido robada y esté ampliamente disponible.

¿Cómo puedo evaluar qué tan probable es robar un archivo binario que está incluido en el rol de Azure? ¿Cómo atenúo esos riesgos?

+0

¿Has leído el libro blanco de Microsoft sobre esto: http://blogs.msdn.com/b/windowsazure/archive/2010/08/10/new-windows-azure-security-overview-white-paper- now-available.aspx –

+0

@Simon Mourier: Lo leeré, gracias. – sharptooth

+1

¿A quién le preocupa que le roben sus papeles? Por ejemplo, Microsoft, atacantes, su equipo de operaciones, etc. –

Respuesta

2

En cuanto a la seguridad, a menos que su equipo sea extremadamente capaz en esta área, el predeterminado siempre actualizado Azure OS es probablemente mucho más seguro que cualquier host autoconfigurado. Al menos, así es como nosotros (también conocido como mi compañía, Lokad) evaluamos la situación dos años después de migrando en su totalidad a Windows Azure en comparación con nuestra situación anterior auto-alojada.

Luego, si tiene credenciales, como claves de licencia, entonces el lugar más lógico para colocarlas es Role configuration file - no los binarios de rol. De forma natural, puede regenerar el archivo especial dentro de la máquina virtual según sea necesario, pero de esta manera, no internamente extiende sus credenciales por todo el lugar mientras archiva sus versiones binarias.

2

Al hacer preguntas como esto es necesario diferenciar sus atacantes:

  • A2) Rogue hackers Internet
  • A3) un desarrollador en su organización
  • A4) Una persona en su organización que hace despliegues

A sus roles binarios no se puede acceder a A2, sin embargo, son muy accesibles para A3 y A4.

Como se menciona en otra respuesta, puede almacenar sus secretos en el archivo de configuración de roles. Sin embargo, estos secretos aún son accesibles para A4 (cualquiera que tenga acceso al portal).

Para defenderse de A4, desea encriptar los secretos en el archivo de configuración de roles con una clave que no está presente en los binarios de roles o la configuración de roles. Luego, en los binarios de su rol, desencripta la configuración de roles encriptados con la clave de descifrado.

La clave para cifrar los secretos es un certificado que Azure SDK instalará para usted. Puede encontrar una publicación sobre cómo configurar certificados para azure here.

En resumen, para los secretos que usted necesita para defenderse de las personas de su organización que hacen despliegues/tener acceso a los archivos de configuración de hacer lo siguiente:

tienen una parte de confianza hacer lo siguiente:

  • generar un certificado/clave
  • secretos Cifrar privada con el certificado, y almacenar los ajustes de cifrado de los archivos de configuración
  • cargar el certificado/clave privada a su servicio.

A continuación, modifique su servicio para:

  • tiene el modelo de servicios instalar el certificado/PrivateKey
  • que su aplicación, cargar la clave privada para los secretos de descifrado
  • que su solicitud cargar el cifrado configuración de la configuración de roles, y descifrarlos con la clave privada.
Cuestiones relacionadas