Cómo utilizar la utilidad de ASP.NET para cifrar credenciales y cadenas de conexión de estado de sesión

Seleccione idioma Seleccione idioma
Id. de artículo: 329290 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso describe cómo utilizar la utilidad Aspnet_setreg.exe para cifrar credenciales y cadenas de conexión de estado de sesión. ASP.NET versión 1.0 de Microsoft requiere que almacenan las credenciales de texto en archivos de configuración si desea hacer cualquiera de los siguientes:
  • Cambiar la identidad del proceso de trabajo ASP.NET.
  • Especificar una identidad de suplantación.
  • Especifique una cadena de conexión para el estado de sesión.
Cuando aplique el hotfix que se describe en artículo 329250 (consulte "Referencias"), puede utilizar datos cifrados que se almacenan en el registro en lugar del texto de las siguientes secciones de configuración:
  • < identidad userName = password = o >
  • < processModel userName = password = o >
  • < sessionState stateConnectionString = sqlConnectionString = o >

Introducción

Utilice la utilidad Aspnet_setreg.exe para cifrar y almacenar estos valores de atributo en el registro bajo una clave segura. Utilizar la función CryptProtectData con el indicador CRYPTPROTECT_LOCAL_MACHINE para cifrar las credenciales. Dado que cualquier persona con acceso al equipo puede llamar a CryptUnprotectData , los datos cifrados se almacenan en una clave de registro seguro con una lista de control seguro de acceso discrecional (DACL). Cuando ASP.NET analiza el archivo de configuración, lee la clave de registro seguro y, a continuación, utiliza CryptUnprotectData para descifrar los datos.

Inetinfo.exe, que se ejecuta bajo la identidad sistema, lee el < processModel / > sección. Para leer las claves del registro que almacenan un nombre de usuario y una contraseña para el proceso de trabajo de ASP.NET, la cuenta del sistema debe tener permiso de lectura a estas claves.

ASP.NET lee el proceso de trabajo (aspnet_wp.exe) el < identidad / > y < sessionState / > secciones. Para leer estas claves del registro, la cuenta del proceso de trabajo debe tener permiso de lectura a estas claves. Si el contenido está alojado en una convención de nomenclatura universal (UNC) compartir, la cuenta que se utiliza para tener acceso el recurso compartido UNC debe tener permiso para leer estas claves.

De forma predeterminada, las claves del registro que crea Aspnet_setreg.exe conceden control total a las cuentas del sistema, Administrador y Creator Owner. Puede utilizar Regedt32.exe para modificar la DACL en la clave del registro. Asegurarse de que usuarios arbitrarios no pueden leer las claves del registro.

Reiniciar IIS

Para que los cambios surtan efecto, debe reiniciar servicios de Microsoft Internet Information Server (IIS). Reiniciando IIS iniciar un ASP.NET nuevo proceso de trabajo. Para ello, haga clic en Inicio , haga clic en Ejecutar , escriba iisreset en el cuadro Abrir y, a continuación, haga clic en Aceptar .

Nota Si el servidor que haya reconfigurado es un controlador de dominio, quizás tenga que reiniciar el servidor.

Más información

Descargue y ejecute Aspnet_setreg.exe

El archivo siguiente está disponible para descargarlo del Centro de descarga de Microsoft:

Contraer esta imagenAmpliar esta imagen
Download
Download the Aspnet_setreq.exe package now.
Fecha de lanzamiento: 11 de abril de 2003

Para obtener información adicional acerca de cómo descargar los archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
119591Cómo obtener Archivos de soporte técnico de Microsoft desde los servicios en línea
Microsoft exploró este archivo en busca de virus. con el software de detección de virus más reciente disponible en la fecha de publicación. Asimismo, el archivo se almacenó en servidores seguros que ayudan a prevenir que se hagan cambios no autorizados.

Para mostrar los modificadores de línea de comandos disponibles y su uso, ejecute esta herramienta desde el símbolo del sistema sin los modificadores de línea de comandos. Si había guarda esta herramienta en C:\Tools\, ejecute el comando siguiente desde el símbolo del sistema para mostrar todos sus modificadores disponibles y ayuda a los modificadores:
C:\Tools > aspnet_setreg.exe

Utilizar atributos cifrados en el archivo de configuración

importante Esta sección, el método o la tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica incorrectamente el registro. Por tanto, asegúrese de que siga estos pasos cuidadosamente. Realice una para agregar protección, copia de seguridad del registro antes de modificarlo. A continuación, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756Cómo realizar una copia de seguridad y restaurar el registro de Windows


Nota Esta herramienta crea las claves del Registro bajo el subárbol HKEY_LOCAL_MACHINE . De forma predeterminada, sólo los administradores pueden crear claves en este subárbol. Asegúrese de que iniciado la sesión como administrador para crear correctamente estas claves del registro.
  1. Cifrar los atributos userName y password que se utilizan con la <identity> sección. (También puede hacer esto para las demás secciones que se mencionan en este artículo). Para ello, escriba el comando siguiente en la línea de comandos:
    c:\Tools > aspnet_setreg.exe - k: SOFTWARE\MY_SECURE_APP\identity - u: "yourdomainname\username" - p: "contraseña"
    Este comando cifra los atributos userName y password , crea claves del registro en cualquier ubicación que especifique y almacena los atributos en esas claves del registro. Este comando también genera una salida que especifica cómo cambiar el archivo Web.config o Machine.config de modo que ASP.NET utilice estas claves para leer esa información del registro.

    Después de ejecutar este comando, recibirá el resultado similar al siguiente:
    Edite la configuración para contener los siguientes:

    userName = "del registro: HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG, userName"
    contraseña = "Del registro: HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG, contraseña"

    La DACL en la clave del registro concede control total a System, administradores y Creator Owner.

    Si tiene cifrados credenciales para la <identity/> sección de configuración o una conexión
    cadena para el <sessionstate/> configuración sección, asegúrese de que tiene la identidad del proceso
    Acceso de lectura a la clave del registro. Además, si ha configurado IIS acceso al contenido en un
    Recurso compartido UNC, la cuenta utilizada para tener acceso al recurso compartido necesitarán acceso de lectura a la clave del registro.
    Regedt32.exe se puede utilizar para ver o modificar permisos de clave de registro.

    Puede cambiar el nombre el subclave del registro y el valor del registro para evitar la detección.
  2. Modificar el archivo de configuración correspondiente para que señale a estas claves del registro. Si estos valores deben utilizarse en el <identity> sección, el resultante <identity> sección similar al siguiente.
    <identity impersonate="true"
    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName"
    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" />
    					
  3. Grant Read permisos a la cuenta de proceso aspnet_wp.exe. Para obtener más información acerca de cómo cambiar permisos para las claves del registro, consulte "Utilizar Regedt32.exe para conceder permisos para la cuenta ASP.NET en estas claves del registro" sección.

Utilice Regedt32.exe para conceder permisos para la cuenta ASP.NET en estas claves del registro

importante Esta sección, el método o la tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica incorrectamente el registro. Por tanto, asegúrese de que siga estos pasos cuidadosamente. Realice una para agregar protección, copia de seguridad del registro antes de modificarlo. A continuación, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756Cómo realizar una copia de seguridad y restaurar el registro de Windows
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba regedt32 en el cuadro Abrir y, a continuación, haga clic en Aceptar .
  2. Haga clic en el
    HKEY_LOCAL_MACHINE\SOFTWARE\MY_SECURE_APP\
    subclave.
  3. En el menú seguridad , haga clic en permisos para abrir el cuadro de diálogo de permisos .

    En Microsoft Windows XP o Windows Server 2003, haga clic con el botón secundario del mouse en la clave del registro y, a continuación, haga clic en permisos .
  4. Haga clic en Agregar . En el cuadro de diálogo que se abre, escriba yourservername \ASPNET(or yourservername\NetWork Service when using Windows Server 2003 (IIS 6.0)) y, a continuación, haga clic en Aceptar .
  5. Asegúrese de que la cuenta que acaba de agregar tiene permisos de lectura y, a continuación, haga clic en Aceptar .
  6. Cierre el Editor del registro.

Referencias

Para obtener más información sobre una revisión que permite utilizar las características que se describen en este artículo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
329250REVISIÓN: Credenciales reforzadas para processModel, identidad y sessionState
Nota La revisión que se describe en artículo 329250 sólo está disponible para .NET Framework 1.0.

Para obtener más información sobre Microsoft Windows registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
256986Definición del Registro de Microsoft Windows
Para obtener más información acerca de ASP.NET, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
315158REVISIÓN: ASP.NET no funciona con la cuenta ASPNET predeterminada en un controlador de dominio
Nota La revisión que se describe en artículo 315158 sólo está disponible para .NET Framework 1.0.

317012Identidad de proceso y solicitud en ASP.NET

Propiedades

Id. de artículo: 329290 - Última revisión: lunes, 29 de octubre de 2007 - Versión: 8.7
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palabras clave: 
kbmt kbproductlink kbdownload kbconfig kbfix kbhowtomaster kbsecurity kbstate KB329290 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 329290

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com