Como utilizar o utilitário ASP.NET para encriptar as credenciais e cadeias de ligação do estado de sessão

Traduções de Artigos Traduções de Artigos
Artigo: 329290 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo descreve como utilizar o utilitário Aspnet_setreg.exe para encriptar as credenciais e cadeias de ligação do estado de sessão. Microsoft ASP.NET versão 1.0 requer que armazene credenciais de texto simples nos ficheiros de configuração se pretender efectuar um dos seguintes procedimentos:
  • Altere a identidade de processo de trabalho do ASP.NET.
  • Especificar uma identidade de representação.
  • Especificar uma cadeia de ligação para o estado da sessão.
Quando aplicar a correcção descrita no artigo da base de dados de conhecimento da Microsoft 329250 (consulte "Referências"), pode utilizar dados encriptados que estão armazenados no registo em vez do texto nas seguintes secções de configuração:
  • < identidade userName = palavra-passe = / >
  • < processModel userName = palavra-passe = / >
  • < sessionState stateConnectionString = sqlConnectionString = / >

Introdução

Utilize o utilitário Aspnet_setreg.exe para encriptar e armazenar estes valores de atributo no registo sob uma chave segura. Utilize a função CryptProtectData com o sinalizador CRYPTPROTECT_LOCAL_MACHINE para encriptar as credenciais. Uma vez que qualquer pessoa com acesso ao computador pode chamar CryptUnprotectData , os dados encriptados são guardados com uma chave de registo protegido com uma lista de controlo de forte de acesso discricionário (DACL). Quando o ASP.NET analisa o ficheiro de configuração, lê a chave de registo seguro e, em seguida, utiliza CryptUnprotectData para desencriptar os dados.

Inetinfo.exe, que é executado sob a identidade sistema, lê o < processModel / > secção. Para ler as chaves de registo que armazenam um nome de utilizador e palavra-passe para o processo de trabalho do ASP.NET, a conta de sistema tem ter permissão de leitura a estas chaves.

O ASP.NET processo de trabalho (Aspnet_wp.exe) lê o < identidade / > e < sessionState / > secções. Para ler estas chaves de registo, a conta do processo de trabalho tem de ter permissão ler para estas chaves. Se o conteúdo está alojado numa convenção de nomenclatura universal (UNC) partilhar, a conta utilizada para aceder à partilha UNC tem de ter permissão para ler estas chaves.

Por predefinição, as chaves de registo que cria Aspnet_setreg.exe concedem controlo total para as contas sistema, administrador e proprietário criador. Pode utilizar o Regedt32.exe para modificar a DACL na chave de registo. Certifique-se de que os utilizadores arbitrários não é possível ler as chaves de registo.

Reiniciar o IIS

Para as alterações entrem em vigor, tem de reiniciar Microsoft Internet Information Services (IIS). Reiniciando o IIS inicia o ASP.NET um novo processo de trabalho. Para o fazer, clique em Iniciar , clique em Executar , escreva iisreset na caixa Abrir e, em seguida, clique em OK .

Nota Se o servidor tiver reconfigurado for um controlador de domínio, poderá ter de reiniciar o servidor.

Mais Informação

Transfira e execute Aspnet_setreg.exe

O ficheiro seguinte está disponível para transferência a partir do Centro de transferências da Microsoft:

Reduzir esta imagemExpandir esta imagem
Download
Download the Aspnet_setreq.exe package now.
Data de edição: 11 de Abril de 2003

Para obter mais informações sobre como transferir ficheiros de suporte da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
119591Como obter ficheiros de suporte da Microsoft a partir de serviços online
Microsoft procedeu de vírus neste ficheiro. Microsoft utilizou o mais recente software de detecção de vírus que estava disponível na data em que o ficheiro foi publicado. O ficheiro é alojado em servidores com segurança avançada o que ajuda a impedir alterações não autorizadas ao ficheiro.

Para apresentar todos os parâmetros da linha de comandos disponíveis e a respectiva utilização, execute esta ferramenta da linha de comandos sem parâmetros da linha de comandos. Se guardar esta ferramenta C:\Tools\, execute o comando seguinte na linha de comandos para apresentar todos os respectivos parâmetros disponíveis e a ajuda para os parâmetros:
C:\Tools > aspnet_setreg.exe

Utilizar atributos encriptados no ficheiro de configuração

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows


Nota Esta ferramenta cria as chaves de registo da subárvore HKEY_LOCAL_MACHINE . Por predefinição, apenas os administradores podem criar chaves sob esta subárvore. Certifique-se que iniciou como administrador para criar estas chaves de registo com êxito.
  1. Encriptar os atributos userName e password para ser utilizado com o <identity> secção. (Pode também executar esta para as secções que são mencionadas neste artigo). Para o fazer, escreva o seguinte comando na linha de comandos:
    c:\Tools > aspnet_setreg.exe - k: SOFTWARE\MY_SECURE_APP\identity - u: "yourdomainname\username" - p: "palavra-passe"
    Este comando encripta os atributos userName e password , cria chaves de registo em qualquer localização que especificar e, em seguida, armazena os atributos essas chaves de registo. Este comando também gera resultados que especifica como alterar o ficheiro Web.config ou Machine.config para que o ASP.NET utilizará estas chaves para ler essas informações a partir do registo.

    Depois de executar este comando, receberá resultados é semelhante à seguinte:
    Edite a configuração para conter o seguinte:

    userName = "registo: HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG, userName"
    palavra-passe = "Registo: HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG, palavra-passe"

    A DACL na chave de registo concede controlo total ao sistema, administradores e proprietário criador.

    Se tiver encriptado as credenciais para o <identity/> secção de configuração ou uma ligação
    cadeia para o <sessionstate/> configuração secção, garantir que tem a identidade do processo
    Acesso de leitura a chave de registo. Além disso, se tiver configurado o IIS aceder a conteúdo numa
    Partilha UNC, a conta utilizada para aceder à partilha terá acesso de leitura para a chave de registo.
    Regedt32.exe pode ser utilizado para ver/modificar permissões de chave de registo.

    Mudar poderá o nome subchave e valor de registo para impedir a detecção.
  2. Modificar o correspondente ficheiro de configuração para apontar para estas chaves de registo. Se estes valores devem ser utilizados o <identity> secção <identity> resultante secção se assemelhe ao seguinte.
    <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. Leitura de conceder permissões para a conta do processo Aspnet_wp.exe. Para mais informações sobre como alterar permissões para chaves de registo, consulte "Utilizar Regedt32.exe para conceder permissões para a conta de ASP.NET estas chaves de registo" secção.

Utilizar o Regedt32.exe para conceder permissões para a conta de ASP.NET estas chaves de registo

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows
  1. Clique em Iniciar , clique em Executar , escreva regedt32 na caixa Abrir e, em seguida, clique em OK .
  2. Clique em
    HKEY_LOCAL_MACHINE\SOFTWARE\MY_SECURE_APP\
    subchave.
  3. No menu segurança , clique em permissões para abrir a caixa de diálogo permissões .

    No Microsoft Windows XP ou no Windows Server 2003, clique com o botão direito do rato a chave de registo e, em seguida, clique em permissões .
  4. Clique em Adicionar . Na caixa de diálogo é aberta, escreva yourservername \ASPNET(or yourservername\NetWork Service when using Windows Server 2003 (IIS 6.0)) e, em seguida, clique em OK .
  5. Certifique-se de que a conta que acabou de adicionar tem permissões de leitura e, em seguida, clique em OK .
  6. Feche o Editor de registo.

Referências

Para obter mais informações sobre uma correcção que permite utilizar as funcionalidades que são descritas neste artigo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
329250CORRECÇÃO: Credenciais mais seguras para processModel identidade e sessionState
Nota A correcção descrita no artigo 329250 só está disponível para o .NET Framework 1.0.

Para obter mais informações sobre o Microsoft Windows registo, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
256986Descrição do registo do Microsoft Windows
Para obter mais informações sobre ASP.NET, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
315158CORRECÇÃO: O ASP.NET não funciona com a conta ASPNET predefinida num controlador de domínio
Nota A correcção descrita no artigo 315158 só está disponível para o .NET Framework 1.0.

317012Identidade de processo e um pedido no ASP.NET

Propriedades

Artigo: 329290 - Última revisão: 29 de outubro de 2007 - Revisão: 8.7
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbproductlink kbdownload kbconfig kbfix kbhowtomaster kbsecurity kbstate KB329290 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 329290

Submeter comentários

 

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