Estou com uma situação estranha. Meus servidores Win 2016 foram arruinados pelas polÃticas do grupo AD.
O IIS 10 começou a lançar o erro 403 após a atualização automática da polÃtica de grupo do AD no momento X. Anteriormente, a parte remota nos ligou sem problemas via https com certificados de cliente.
Eu tenho um backup antes do momento X e depois do momento X, mas não consigo identificar a configuração que foi alterada pelo AD GP.
Eu tenho um papel de configuração com todas as configurações necessárias para configurar nosso serviço da web do zero. Eu verifiquei todos eles contra os servidores das vÃtimas. Nada mudou. Em todos os nÃveis, a autenticação anônima está habilitada e as configurações de SSL->certificados do cliente->aceitar.
Nossos administradores juram que não mudaram nada. Os logs do IIS não mostram nada após o momento X.
Alguma ideia de onde olhar? Registro? Metabase?
Erro exato retornado ao chamador de acordo com os logs de rastreamento SOAP e2e:
The HTTP request was forbidden with client authentication scheme 'Anonymous'.[The remote server returned an error: (403) Forbidden.]
Um problema comum com a Diretiva de Grupo e os servidores IIS é quando um GPO substitui os direitos do usuário atribuÃdos pela diretiva de segurança local e as contas de serviço do IIS não podem fazer logon. O log de segurança do Windows deve ter eventos de falha de logon EventId 4625 para suas contas de serviço do servidor IIS se isso estiver acontecendo.
Você pode validar rapidamente qualquer interferência de GPO executando RSOP.MSC do seu servidor IIS e navegando até Configuração do computador > PolÃticas > Configurações do Windows > Configurações de segurança > PolÃticas locais > Atribuição de direitos do usuário
Observe a coluna Source GPO para identificar qual GPO está aplicando uma configuração. Use gpedit.msc para visualizar/editar as configurações aplicadas pela polÃtica de grupo local.
Você pode usar este artigo para validar suas permissões de servidor IIS. Comece com a tabela 'Direitos de usuário do Windows que são atribuÃdos pela polÃtica de segurança local' na parte inferior da página.
Lembre-se: GPOs não são o inimigo, desde que sejam testados e aplicados de maneira controlada.
Resposta curta
Verifique se há certificados não autorizados . No meu caso, havia um certificado não autoassinado no repositório de certificados das Autoridades de Certificação Raiz Confiáveis. Nossos administradores adicionaram esse certificado emitido pelo governo a toda a floresta (por meio da PolÃtica de Grupo) sem os devidos testes prévios.
Detalhes
Coloquei aqui algumas diretrizes gerais de solução de problemas para ajudar as pessoas a resolver esses problemas em menos de 3 semanas, como no meu caso.
PolÃticas de Grupo AD
Se você não estiver familiarizado com as PolÃticas de Grupo, use o comando abaixo para obter um relatório legÃvel (melhor visualizado pelo IE):
Para ver mais detalhes, use
RSOP.MSC
conforme recomendação @twconnell . O RSOP.MSC mostra um instantâneo efetivo das polÃticas locais e de grupo aplicadas. Verifique a segurança emComputer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment
. No meu caso, li cuidadosamente esta excelente resposta do SO e segui todos os links. Em seguida, verifiquei os direitos de acesso em cada arquivo, pasta e pool de aplicativos. Não havia nada de errado ali.Registros do IIS
Observe os logs do IIS. Deve haver mais detalhes do que apenas
403
código fornecido ao cliente. No meu caso, havia403 16
código lá.Consulte este guia de solução de problemas . No meu caso foi tão curto:
Client certificate is untrusted or invalid
Lista de revogação de certificados (CRL)
Minha CA de certificado era uma CA de empresa fornecida pelo AD, portanto, inicialmente pensei que poderia haver algum problema com a lista de revogação de certificados (CRL). O melhor guia prático é este . Para entender mais detalhes leia este , este e finalmente este monstro . No meu caso, não houve problemas com a CRL, pois segui este , este e este guias de antemão. Resultado:
Depuração SSL
Para depurar a ferramenta SSL, use
openssl
a ferramenta do lado do cliente (dado que o myserver usa a porta 443 comum para https):No meu caso,
acceptable CAs for client certificates
estava inicialmente vazio, então configureiHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\SendTrustedIssuerList
o valor DWORD para 1 e reiniciei o servidor de acordo com este guia (próximo à parte inferior) . Observe que a lista vazia de CAs aceitáveis ​​para certificados de cliente O problema do IIS também pode ocorrer devido à enorme lista de CAs conforme esta pergunta do SF .Quando você tiver uma lista de
acceptable CAs for client certificates
naopenssl
saÃda, poderá compará-la com o conteúdo dos repositórios de certificados configurados em seu servidor. No meu caso, havia apenas um certificado pertencente aoTrusted Root Certification Authorities
. Então, depois de alguns dias de investigação que me levaram a este artigo de suporte ms #2802568 . Efetivamente, um certificado não autoassinado colocado incorretamente condenou toda a cadeia de autenticação.EpÃlogo
Citando @tylerl