Como: Substituir a reserva de URL do WCF por uma reserva restrita
Uma reserva de URL permite restringir quem pode receber mensagens de um URL ou de um conjunto de URLs. Uma reserva consiste em um modelo de URL, uma lista de controle de acesso (ACL) e um conjunto de sinalizadores. O modelo de URL define quais URLs a reserva afeta. Para obter mais informações sobre como os modelos de URL são processados, consulte Roteamento de solicitações de entrada. A ACL controla qual usuário ou grupo de usuários tem permissão para receber mensagens das URLs especificadas. Os sinalizadores indicam se a reserva é para dar a um usuário ou grupo permissão para ouvir diretamente no URL ou para delegar a permissão para ouvir algum outro processo.
Como parte da configuração padrão do sistema operacional, o Windows Communication Foundation (WCF) cria uma reserva globalmente acessível para a porta 80 para permitir que todos os usuários executem aplicativos que usam uma ligação HTTP dupla para comunicação duplex. Como a ACL nessa reserva é para todos, os administradores não podem permitir ou não explicitamente a permissão para ouvir em uma URL ou conjunto de URLs. Este tópico explica como excluir essa reserva e como recriá-la com uma ACL restrita.
No Windows Vista ou Windows Server 2008, você pode exibir todas as reservas de URL HTTP em um prompt de comando elevado digitando netsh http show urlacl
. O exemplo a seguir mostra o que uma reserva de URL do WCF deve se assemelhar:
Reserved URL : http://+:80/Temporary_Listen_Addresses/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
A reserva consiste em um modelo de URL usado quando um aplicativo WCF está usando uma ligação dupla HTTP para comunicação duplex. URLs deste formulário são usadas para um serviço WCF para enviar mensagens de volta para o cliente WCF ao se comunicar através de uma ligação dupla HTTP. Todos recebem permissão para ouvir na URL, mas não para delegar a escuta de outro processo. Finalmente, a ACL é descrita em SSDL (Security Descriptor Definition Language). Para obter mais informações sobre SSDL, consulte SSDL
Para excluir a reserva de URL do WCF
Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como Administrador no menu de contexto que aparece. Clique em Continuar na janela Controle de Conta de Usuário (UAC) que pode solicitar permissões para continuar.
Digite na
netsh http delete urlacl url=http://+:80/Temporary_Listen_Addresses/
janela do prompt de comando.Se a reserva for excluída com êxito, a seguinte mensagem será exibida. Reserva de URL excluída com sucesso
Criando um novo grupo de segurança e uma nova reserva de URL restrita
Para substituir a reserva de URL do WCF por uma reserva restrita, você deve primeiro criar um novo grupo de segurança. Pode fazê-lo de duas formas: a partir de uma linha de comandos ou a partir da consola de gestão do computador. Você só tem que fazer um.
Para criar um novo grupo de segurança a partir de um prompt de comando
Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como Administrador no menu de contexto que aparece. Clique em Continuar na janela Controle de Conta de Usuário (UAC) que pode solicitar permissões para continuar.
Digite no
net localgroup "<security group name>" /comment:"<security group description>" /add
prompt de comando. Substituir <o nome> do grupo de segurança pelo nome do grupo de segurança que pretende criar e <a descrição> do grupo de segurança por uma descrição adequada para o grupo de segurança.Se o grupo de segurança for criado com êxito, a seguinte mensagem será exibida. O comando foi concluído com êxito.
Para criar um novo grupo de segurança a partir da consola de gestão do computador
Clique em Iniciar, Painel de Controlo, Ferramentas Administrativas e Gestão do Computador para abrir a Consola de Gestão do Computador. Clique em Continuar na janela Controle de Conta de Usuário (UAC) que pode solicitar permissões para continuar.
Clique em Ferramentas do Sistema, clique em Usuários e Grupos Locais, clique com o botão direito do mouse na pasta Grupos e clique em Novo Grupo no menu de contexto que aparece. Digite o Nome do Grupo, a Descrição e outros detalhes desejados desse novo grupo de segurança e clique no botão Criar para criar o grupo de segurança.
Para criar a reserva de URL restrita
Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do mouse em Prompt de Comando e clique em Executar como Administrador no menu de contexto que aparece. Clique em Continuar na janela Controle de Conta de Usuário (UAC) que pode solicitar permissões para continuar.
Digite no
netsh http add urlacl url=http://+:80/Temporary_Listen_Addresses/ user="<machine name>\<security group name>
prompt de comando. Substituir <o nome> da máquina pelo nome do computador no qual o grupo deve ser criado e <o nome> do grupo de segurança pelo nome do grupo de segurança criado anteriormente.Se a reserva for criada com êxito, a seguinte mensagem será exibida. Reserva de URL adicionada com sucesso.