AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1014664
Accepted
Anton Krouglov
Anton Krouglov
Asked: 2020-04-29 09:51:52 +0800 CST2020-04-29 09:51:52 +0800 CST 2020-04-29 09:51:52 +0800 CST

Como solucionar problemas de segurança do certificado do cliente IIS10 sendo quebrado pelo GP?

  • 772

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.]
group-policy active-directory iis soap
  • 2 2 respostas
  • 557 Views

2 respostas

  • Voted
  1. twconnell
    2020-04-30T11:14:35+08:002020-04-30T11:14:35+08:00

    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.

    • 1
  2. Best Answer
    Anton Krouglov
    2020-05-20T09:24:07+08:002020-05-20T09:24:07+08:00

    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):

     GPRESULT /H C:\GPReport.html
    

    Para ver mais detalhes, use RSOP.MSCconforme recomendação @twconnell . O RSOP.MSC mostra um instantâneo efetivo das políticas locais e de grupo aplicadas. Verifique a segurança em Computer 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 403código fornecido ao cliente. No meu caso, havia 403 16có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:

        netsh http show sslcert ipport=0.0.0.0:443
        ...
        Verificar revogação do certificado do cliente: Desativado
        Verificar revogação usando apenas certificado de cliente em cache: Desativado
        Verificação de uso: Desativado
        Tempo de Frescura de Revogação: 0
        Tempo limite de recuperação de URL: 0
        Identificador Ctl: (null)
        Ctl Store Name: (null)
        Uso do DS Mapper: Desativado
        Negociar certificado do cliente: Ativado
        ...

    Depuração SSL

    Para depurar a ferramenta SSL, use openssla ferramenta do lado do cliente (dado que o myserver usa a porta 443 comum para https):

     openssl s_client -connect myserver:443
    

    No meu caso, acceptable CAs for client certificatesestava inicialmente vazio, então configurei HKEY_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 certificatesna opensslsaí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 ao Trusted 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

    A autenticação do cliente SSL é uma bagunça. É bom porque é absolutamente seguro, mas é ruim porque é difícil de configurar e manter. A menos que você tenha um bom motivo, use a autenticação de chave compartilhada (ou seja, "senha"). Você economizará tempo e dinheiro. A autenticação SSL é boa para quando a segurança supera o custo por uma margem bastante ampla.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve