Como usar o utilitário ASP.NET para criptografar credenciais e as seqüências de conexão do estado da sessão

Traduções deste artigo Traduções deste artigo
ID do artigo: 329290 - Exibir os produtos aos quais esse artigo se aplica.
Importante Este artigo contém informações sobre como modificar o Registro. Antes de modificá-lo, faça um backup e certifique-se de que sabe como restaurá-lo caso ocorra algum problema. Para obter informações adicionais sobre como fazer backup, restaurar e modificar o Registro, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
256986 Descrição do Registro do Microsoft Windows
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve detalhadamente como usar o utilitário Aspnet_setreg.exe para criptografar credenciais e seqüências de conexão do estado da sessão. A versão 1.0 do Microsoft ASP.NET requer o armazenamento de credenciais em texto sem formatação nos arquivos de configuração caso você queira executar uma das seguintes ações:
  • Alterar a identidade do processo de trabalho do ASP.NET.
  • Especificar uma identidade de representação.
  • Especificar uma seqüência de conexão para o estado da sessão.
Ao aplicar o hotfix descrito no artigo 329250 da Base de Dados de Conhecimento da Microsoft (veja "Referências"), você poderá usar os dados criptografados armazenados no Registro no lugar do texto sem formatação nas seguintes seções de configuração:
  • <identity userName= password= />
  • <processModel userName= password= />
  • <sessionState stateConnectionString= sqlConnectionString= />

Introdução

Use o utilitário Aspnet_setreg.exe para criptografar e armazenar esses valores de atributo no Registro em uma chave segura. Use a função CryptProtectData com o sinalizador CRYPTPROTECT_LOCAL_MACHINE para criptografar as credenciais. Como ninguém com acesso ao computador pode chamar CryptUnprotectData, os dados criptografados são armazenados em uma chave do Registro segura com uma Lista de controle de acesso condicional (DACL). Quando ASP.NET analisa o arquivo de configuração, ele lê a chave do Registro segura e usa CryptUnprotectData para descriptografar os dados.

O Inetinfo.exe, executado na identidade do Sistema, lê a seção <processModel />. Para ler as chaves do Registro que armazenam um nome de usuário e uma senha para o processo de trabalho ASP.NET, a conta do Sistema deve ter a permissão Leitura para essas chaves.

O processo de trabalho ASP.NET (Aspnet_wp.exe) lê as seções <identity /> e <sessionState />. Para ler essas chaves do Registro, a conta do processo de trabalho deve ter a permissão Leitura para essas chaves. Se o conteúdo estiver em um compartilhamento UNC (Convenção de nomenclatura universal), a conta usada para acessar esse compartilhamento deve ter permissão para ler essas chaves.

Por padrão, as chaves do Registro criadas por Aspnet_setreg.exe garantem o controle total às contas do Sistema, Administrador e Criador/ Proprietário. Você pode usar o Regedt32.exe para modificar a DACL na chave do Registro. Verifique se outros usuários não podem ler as chaves do Registro.

Reiniciar o IIS

Para que suas alterações tenham efeito, você deve reiniciar os Serviços de informações da Internet da Microsoft (IIS). Ao reiniciar o IIS, você inicia um novo processo de trabalho do ASP.NET. Para fazer isso, clique em Iniciar, em Executar, digite iisreset na caixa Abrir e clique em OK.

Observação Se o servidor que você reconfigurou for um controlador de domínio, talvez você tenha que reiniciar o servidor.

Mais Informações

Baixe e execute o Aspnet_setreg.exe

O seguinte arquivo está disponível para download no Centro de Download da Microsoft:

Recolher esta imagemExpandir esta imagem
Download
Baixar o pacote Aspnet_setreq.exe agora.
Data de lançamento: 11 de abril de 2003

Para obter informações adicionais sobre como baixar os arquivos de Suporte da Microsoft, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
119591 Como obter os arquivos de Suporte da Microsoft nos Serviços online
A Microsoft examinou esse arquivo em busca de vírus. A Microsoft utilizou o mais recente software de detecção de vírus disponível na data em que o arquivo foi publicado. O arquivo está armazenado em servidores de segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.

Para exibir todas as opções de linha de comando disponíveis e como usá-las, execute essa ferramenta a partir do prompt de comando sem qualquer opção da linha de comando. Se você salvou essa ferramenta em C:\Tools\, execute o seguinte comando a partir do prompt de comando para exibir todas as opções disponíveis e a ajuda para elas:
C:\Tools>aspnet_setreg.exe

Usar atributos criptografados no arquivo de configuração

Aviso O uso incorreto do Editor do Registro ou outro método pode causar sérios problemas que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. O uso do Editor do Registro é de sua responsabilidade.

Observação Essa ferramenta cria as chaves do Registro na subárvore HKEY_LOCAL_MACHINE. Por padrão, somente os administradores podem criar chaves nessa subárvore. Verifique se está conectado como administrador para criar corretamente essas chaves do Registro.
  1. Criptografe os atributos userName e password para que sejam usados com a seção <identity>. (Você também pode fazer isso para as outras seções mencionadas neste artigo). Para fazer isso, digite o seguinte comando na linha de comando:
    c:\Tools>aspnet_setreg.exe -k:SOFTWARE\MY_SECURE_APP\identity -u:"yourdomainname\username" -p:"password"
    Esse comando criptografa os atributos userName e password, cria chaves do Registro em qualquer local que você especificar e armazena os atributos nessas chaves do Registro. Esse comando também gera uma saída que específica como alterar o arquivo Web.config ou Machine.config de modo que o ASP.NET use essas chaves para ler as informações no Registro.

    Após executar esse comando, você recebe uma saída semelhante à seguinte:
    Edite sua configuração para que apresente o seguinte:

    userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName"
    password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password"

    A DACL na chave do Registro garante Controle total ao Sistema, Administrador e Criador/ Proprietário.

    Se você criptografou credenciais para a seção de configuração <identity/>, ou uma seqüência de conexão
    para a seção de configuração <sessionState/>, tenha certeza de que a identidade do processo possui
    acesso Leitura à chave do Registro. Além disso, se você configurou o IIS para acessar o conteúdo em um compartilhamento UNC,
    a conta usada para acessar o compartilhamento precisará do acesso Leitura à chave do Registro.
    O Regedt32.exe pode ser usado para exibir/modificar as permissões da chave do Registro.

    Você pode renomear a subchave e o valor do Registro para evitar a descoberta.
  2. Modifique o arquivo de configuração correspondente para que aponte para as chaves do Registro. Se esses valores forem usados na seção <identity>, a seção <identity> resultante será semelhante a 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. Conceda permissões Leitura à conta do processo Aspnet_wp.exe. Para obter informações adicionais sobre como alterar as permissões para as chaves do Registro, consulte a seção "Usar o Regedt32.exe para conceder permissões para a conta ASP.NET nessas chaves do Registro".

Usar o Regedt32.exe para conceder permissões para a conta ASP.NET nessas chaves do Registro

Aviso O uso incorreto do Editor do Registro ou outro método pode causar sérios problemas que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que os problemas resultantes do uso incorreto do Editor do Registro possam ser solucionados. O uso do Editor do Registro é de sua responsabilidade.
  1. Clique em Iniciar, em Executar, digite regedit32 na caixa Abrir e clique em OK.
  2. Clique na subchave
    HKEY_LOCAL_MACHINE\SOFTWARE\MY_SECURE_APP\
    .
  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 mouse na chave do Registro e clique em Permissões.
  4. Clique em Adicionar. Na caixa de diálogo que aparece, digite nome_do_seu_servidor\ASPNET(ou nome_do_seu_servidor\NetWork Service ao usar o Windows Server 2003 (IIS 6.0)) e clique em OK.
  5. Verifique se a conta que você adicionou tem permissões de Leitura e clique em OK.
  6. Feche o Editor do Registro.

Referências

Para obter informações adicionais sobre um hotfix que permite o uso dos recursos descritos neste artigo, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
329250 CORREÇÃO: Credenciais para processModel, identity e sessionState
Para obter informações adicionais sobre o Registro do Microsoft Windows, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
256986 Descrição do Registro do Microsoft Windows
Para obter informações adicionais sobre ASP.NET, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento da Microsoft:
315158 CORREÇÃO: O ASP.NET não funciona com a conta ASPNET padrão em um controlador de domínio
317012 Processo e identidade de solicitação no ASP.NET

Propriedades

ID do artigo: 329290 - Última revisão: segunda-feira, 29 de outubro de 2007 - Revisão: 8.4
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbproductlink kbdownload kbconfig kbfix kbhowtomaster kbsecurity kbstate KB329290

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