Proteção estendida para autenticação com Reporting Services
A Proteção Estendida é um conjunto de melhorias das versões recentes do sistema operacional Microsoft Windows. A Proteção Estendida aprimora a maneira como aplicativos podem proteger as credenciais e a autenticação. O recurso em si não oferece proteção diretamente contra ataques específicos, tais como encaminhamento de credenciais, mas oferece uma infraestrutura para aplicativos como o Reporting Services a fim de impor a Proteção Estendida para Autenticação.
Os principais aprimoramentos de autenticação que fazem parte de proteção estendida são a associação de serviço e a associação de canal. A associação de canal usa um token de associação de canal (CBT) para verificar se o canal estabelecido entre dois terminais não foi comprometido. A associação de serviço usa Nomes de Serviço Principais (SPN) para verificar o destino pretendido dos tokens de autenticação. Para obter mais informações básicas sobre a proteção estendida, consulte Autenticação Integrada do Windows com proteção estendida.
O SSRS (SQL Server Reporting Services) dá suporte e impõe a Proteção Estendida que foi habilitada no sistema operacional e configurada no Reporting Services. Por padrão, o Reporting Services aceita solicitações que especificam a autenticação Negotiate ou NTLM e, portanto, podem aproveitar o suporte à Proteção Estendida no sistema operacional e os recursos da proteção estendida do Reporting Services.
Importante
Por padrão, a Proteção Estendida não está habilitada no o Windows. Para obter informações sobre como habilitar a Proteção Estendida no Windows, consulte Proteção estendida para autenticação. O sistema operacional e a pilha de autenticação de cliente devem suportar a Proteção Estendida de forma que a autenticação seja bem-sucedida. Para sistemas operacionais mais antigos, pode ser necessário instalar mais de uma atualização para um computador completo compatível com a Proteção Estendida. Para obter informações sobre os desenvolvimentos mais recentes da Proteção Estendida, consulte informações atualizadas da Proteção Estendida.
Visão Geral da proteção estendida do Reporting Services
O SSRS dá suporte e impõe a proteção estendida que foi habilitada no sistema operacional. Se o sistema operacional não for compatível com a proteção estendida ou se o recurso não foi ativado no sistema operacional, o recurso de proteção estendida do Reporting Services não é consegue autenticar. A Proteção Estendida do Reporting Services também exige um certificado TLS/SSL. Para obter mais informações, confira Configurar conexões TLS em um servidor de relatório no modo nativo
Importante
Por padrão, a Proteção Estendida não está habilitada no Reporting Services. O recurso pode ser habilitado modificando o arquivo de configuração rsreportserver.config ou usando as APIs WMI para atualizar o arquivo de configuração. O SSRS não fornece uma interface do usuário para modificar ou exibir as configurações de proteção estendida. Para obter mais informações, consulte a seção de parâmetros de configuração neste tópico.
Problemas que normalmente ocorrem em virtude de alterações nas configurações de proteção estendida ou de parâmetros incorretamente configurados não são expostos com mensagens de erro óbvias nem com janelas de caixa de diálogo. Problemas relacionados à configuração e à compatibilidade de proteção estendida geram falhas de autenticação e erros nos logs de rastreamento do Reporting Services.
Importante
Algumas tecnologias de acesso a dados podem não dar suporte à proteção estendida. Uma tecnologia de acesso a dados é usada para conexão às fontes de dados do SQL Server e ao banco de dados do catálogo do Reporting Services. Se uma tecnologia de acesso a dados não der suporte à proteção estendida, o Reporting Services será afetado das seguintes maneiras:
- O SQL Server que executa o banco de dados de catálogo do Reporting Services não pode ter a proteção estendida ativada; caso contrário, o servidor de relatório não se conectará com sucesso ao banco de dados de catálogo e gerará erros de autenticação.
- As instâncias do SQL Server usadas como fontes de dados de relatórios do Reporting Services não podem ter a proteção estendida habilitada. Caso contrário, as tentativas do servidor de relatório de se conectar à fonte de dados de relatório falharão e gerarão erros de autenticação.
A documentação de uma tecnologia de acesso a dados deve ter informações sobre suporte para proteção estendida.
Atualizar
O upgrade de um servidor do Reporting Services para o SQL Server 2016 adiciona definições de configuração com valores padrão ao arquivo rsreportserver.config. Se as configurações já estiverem presentes, a instalação do SQL Server 2016 preserva elas no arquivo rsreportserver.config.
Quando as definições de configuração forem acrescentadas ao arquivo de configuração rsreportserver.config, o comportamento padrão será que o recurso da proteção estendida do Reporting Services esteja desativado e você deverá habilitar o recurso da forma descrita neste artigo. Para obter mais informações, consulte a seção definições de configuração neste artigo.
O valor padrão da configuração
RSWindowsExtendedProtectionLevel
éOff
.O valor padrão da configuração
RSWindowsExtendedProtectionScenario
éProxy
.O Supervisor de Atualização não verifica se o sistema operacional ou a instalação atual do Reporting Services possui o suporte de Proteção Estendida habilitado.
O que a proteção estendida do Reporting Services não contempla
O recurso de proteção estendida do Reporting Services não possui suporte nas seguintes áreas de recursos e cenários:
Autores de extensões de segurança personalizadas do Reporting Services precisam acrescentar o suporte à proteção estendida às próprias extensões de segurança personalizadas.
O fornecedor deve atualizar os componentes de terceiros adicionados ou usados por uma instalação do Reporting Services para dar suporte à proteção estendida. Para obter mais informações, entre em contato com o fornecedor externo.
Cenários e recomendações de implantação
Os cenários a seguir ilustram implantações e topologias diferentes e a configuração recomendada para protegê-los com a Proteção Estendida do Reporting Services.
Direto
Este cenário descreve a conexão direta a um servidor de relatórios, por exemplo, um ambiente de intranet.
Proxy e balanceamento de carga da rede
Aplicativos clientes se conectam a um dispositivo ou software que executa o TLS e transmite as credenciais ao servidor para autenticação, por exemplo, uma extranet, Internet ou Intranet Segura. O cliente se conecta a um Proxy ou todos os clientes usam um proxy.
A situação é a mesma quando você usa um dispositivo de Balanceamento de Carga de Rede (NLB).
Gateway
Este cenário descreve aplicativos clientes que se conectam a um dispositivo ou software que realiza TLS e autentica o usuário. Então, o dispositivo ou software personifica o contexto de usuário ou o contexto de um usuário diferente antes de fazer uma solicitação ao servidor de relatórios.
Combinação
Este cenário descreve ambientes de Extranet ou Internet onde um cliente conecta um Proxy em conjunto com um ambiente de intranet onde um cliente se conecta ao servidor de relatório.
Configurar a proteção estendida do Reporting Services
O arquivo rsreportserver.config contém os valores de configuração que controlam o comportamento da proteção estendida do Reporting Services.
Para obter mais informações sobre como usar e editar o arquivo rsreportserver.config, consulte Arquivo de Configuração RsReportServer.config. As configurações da proteção estendida também podem ser alteradas e inspecionadas com APIs do WMI. Para obter mais informações, veja Método SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting).
Quando a validação das definições de configuração falhar, os tipos de autenticação RSWindowsNTLM
, RSWindowsKerberos
e RSWindowsNegotiate
são desativados no servidor de relatórios.
Definições de configuração para a proteção estendida dos serviços de relatórios
A tabela a seguir fornece informações sobre os parâmetros de configuração que aparecem no rsreportserver.config
para proteção estendida.
Configuração | Descrição |
---|---|
RSWindowsExtendedProtectionLevel |
Especifica o grau de imposição da proteção estendida. Os valores válidos são:Off : Padrão. Especifica que não há nenhuma verificação de associação de canal nem de associação de serviço.Allow dá suporte à proteção estendida mas não a exige. Especifica:- A proteção estendida é imposta para aplicativos clientes executados em sistemas operacionais que dão suporte à proteção estendida. A forma como a proteção é imposta é determinada pela configuração RsWindowsExtendedProtectionScenario \- A autenticação é permitida para aplicativos executados em sistemas operacionais que não dão suporte à proteção estendida. Require especifica:- A proteção estendida é imposta para aplicativos clientes executados em sistemas operacionais que dão suporte à proteção estendida. - A autenticação não é permitida para aplicativos executados em sistemas operacionais que não dão suporte para proteção estendida. |
RsWindowsExtendedProtectionScenario |
Especifica quais formas de proteção estendida serão validadas: associação de canal, associação de serviço ou ambas. Os valores válidos são:Proxy : Padrão. Especifica:\- A autenticação Windows NTLM, Kerberos e Negotiate quando um token de associação de canal estiver presente. -A Associação de Serviço é imposta. Any especifica:\- A autenticação Windows NTLM, Kerberos e Negotiate e uma associação de canal não são obrigatórias. -A Associação de Serviço é imposta. Direct especifica:– A autenticação Windows NTLM, Kerberos e Negotiate quando um CBT está presente, quando uma conexão TLS com o serviço atual está presente e quando o CBT da conexão TLS corresponde ao CBT do token NTLM, Kerberos ou Negotiate. -A Associação de Serviço não é imposta. Anotação: A configuração RsWindowsExtendedProtectionScenario será ignorada se RsWindowsExtendedProtectionLevel estiver definida como OFF . |
Entradas de exemplo no arquivo de configuração rsreportserver.config :
<Authentication>
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionLevel>
</Authentication>
Associação de serviço e SPNs incluídos
A associação de serviço usa SPNs (nomes de entidades de serviço) para validar o destino pretendido dos tokens de autenticação. O Reporting Services usa as informações de reserva da URL existente para compilar uma lista de SPNs que são considerados válidos. A informação de reserva de URLs para validação de SPNs e reservas de URL permitem que os administradores do sistema a gerenciem ambas a partir de um único local.
A lista de SPNs válidos é atualizada quando uma das ações a seguir ocorre:
- O servidor de relatório inicia.
- As definições de configuração para proteção estendida sofrem alterações.
- O domínio do aplicativo é reciclado.
A lista válida de SPNs é específica para cada aplicativo. Por exemplo, o Gerenciador de Relatórios e o Servidor de Relatório têm, cada um, uma lista diferente de SPNs válidos calculada.
Os fatores a seguir determinam os SPNs válidos calculados para um aplicativo:
Cada reserva de URL.
Cada SPN recuperado do controlador de domínio para a conta de serviço do Reporting Services.
Se uma reserva de URL conter caracteres curinga ('*' ou '+'), o Servidor de Relatório adiciona cada entrada da lista de hosts.
Fontes de coleta de hosts.
A tabela a seguir lista as possíveis fontes da lista de Hosts.
Tipo da fonte. | Descrição |
---|---|
ComputerNameDnsDomain | O nome do domínio DNS atribuído ao computador local. Se o computador local for um nó de um cluster, será usado o nome de domínio DNS do servidor virtual de cluster. |
ComputerNameDnsFullyQualified | O nome DNS totalmente qualificado que identifica exclusivamente o computador local. Esse nome é uma combinação do nome de host do DNS e o nome de domínio do DNS, que usa o formato HostName.DomainName. Se o computador local for um nó de um cluster, será usado o nome do DNS totalmente qualificado do servidor virtual de cluster. |
ComputerNameDnsHostname | O nome do host de DNS do computador local. Se o computador local for um nó de um cluster, será usado o nome de host do DNS do servidor virtual de cluster. |
ComputerNameNetBIOS | O nome NetBIOS do computador local. Se o computador local for um nó de um cluster, será usado o nome do NetBIOS do servidor virtual de cluster. |
ComputerNamePhysicalDnsDomain | O nome do domínio DNS atribuído ao computador local. Se o computador local for um nó de um cluster, será usado o nome do computador local e não o nome do servidor virtual de cluster. |
ComputerNamePhysicalDnsFullyQualified | O nome DNS totalmente qualificado que identifica exclusivamente o computador. Se o computador local for um nó de um cluster, será usado o nome do DNS totalmente qualificado do computador local e não o nome do servidor virtual de cluster. O nome totalmente qualificado do DNS é uma combinação do nome de host do DNS e o nome de domínio do DNS, que usa a forma HostName.DomainName. |
ComputerNamePhysicalDnsHostname | O nome do host de DNS do computador local. Se o computador local for um nó de um cluster, será usado o nome de host do DNS e não o nome do servidor virtual de cluster. |
ComputerNamePhysicalNetBIOS | O nome NetBIOS do computador local. Se o computador local for um nó de um cluster, essa fonte é o nome NetBIOS do computador local e não do servidor virtual de cluster. |
Para obter mais informações, confira Registrar um nome da entidade de serviço (SPN) para um servidor de relatório e Sobre reservas e registro de URL (Configuration Manager do Servidor de Relatório).
Conteúdo relacionado
- Conectar a um mecanismo de banco de dados usando proteção estendida
- Visão geral sobre a proteção estendida para autenticação
- Autenticação Integrada do Windows com proteção estendida
- Assistente de Segurança da Microsoft: proteção estendida para autenticação
- Log de rastreamento do serviço Servidor de Relatório
- Arquivo de configuração RsReportServer.config
- Método SetExtendedProtectionSettings (WMI MSReportServer_ConfigurationSetting)
- Experimente perguntar no fórum do Reporting Services