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 / 825528
Accepted
Gerald Schneider
Gerald Schneider
Asked: 2017-01-12 02:05:58 +0800 CST2017-01-12 02:05:58 +0800 CST 2017-01-12 02:05:58 +0800 CST

Depurando um tempo limite com autenticação ldap no apache

  • 772

Estou tentando depurar um problema de tempo limite que tenho com o Apache, há alguns meses.

O padrão se parece com isso:

A cada primeira solicitação de uma nova sessão (ou após algum tempo após a última solicitação), o navegador solicita instantaneamente as credenciais e, em seguida, envia a solicitação com autenticação básica. Então o servidor espera exatamente 1 minuto antes de enviar o resultado.

insira a descrição da imagem aqui

As solicitações subsequentes são atendidas instantaneamente, isso só acontece para solicitações após algum tempo (não consegui identificar exatamente ainda, entre 5 e 15 minutos).

O fato de o tempo de espera ser reproduzível exatamente 60 segundos me parece um tempo limite. Se eu cancelar a solicitação e clicar em recarregar, recebo o URL solicitado instantaneamente.

Como o prompt de senha também aparece instantaneamente, posso descartar um problema com o handshake SSL entre o cliente e o servidor ou problemas de DNS nessa perna. Não importa se eu solicito um script PHP ou um arquivo de texto em branco, o que também elimina um problema com scripts no servidor. Acho que o resultado do processo de autenticação é armazenado em cache por um tempo, portanto, não é necessário para solicitações subsequentes.

Observe que a autenticação sempre é bem-sucedida, portanto, também posso descartar um problema "o controlador de domínio não respondeu".

O Apache 2.4 está sendo executado no Windows Server 2012 R2. Está configurado para autenticação LDAP:

<Location />
    AuthType Basic
    AuthName "AD Login"
    AuthBasicProvider ldap
    LDAPReferrals Off
    #AuthLDAPUrl ldap://dc01.domain.de:3268/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*)
    #AuthLDAPUrl ldap://ad.domain.de:389/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*) STARTTLS
    AuthLDAPUrl ldap://ad.domain.de:389/dc=ad,dc=domain,dc=de?sAMAccountName?sub?(objectClass=*) TLS
    AuthLDAPBindDN "[email protected]"
    AuthLDAPBindPassword "secret"
    Require valid-user
    Require all denied
</Location>

Como você pode ver, tentei diferentes tipos de conexão com os controladores de domínio, realmente não parece importar qual método de criptografia eu uso ou se eu passo a criptografia.

ad.domain.de resolve para vários controladores de domínio, mas o comportamento é o mesmo se eu me conectar a um controlador de domínio específico.

Sem entradas no logon de erro LogLevel info, ainda estou hesitante em aumentá-lo para debug, pois sei por experiência que tenho problemas para filtrar as informações de depuração geradas.

Existe alguma coisa que eu perdi ainda que eu possa usar para depurar o problema, ou eu tenho que passar pelo log de nível de depuração?

active-directory timeout apache-2.4 mod-auth-ldap
  • 1 1 respostas
  • 7245 Views

1 respostas

  • Voted
  1. Best Answer
    Gerald Schneider
    2017-01-13T06:06:33+08:002017-01-13T06:06:33+08:00

    Após aumentar o nível de log para os módulos authnz_ldape ldapa seguinte mensagem de erro apareceu no log de erro:

    ldap_simple_bind () expirou na conexão reutilizada, descartada pelo firewall?

    Isso me levou a este relatório de bug do mod_ldap , que, embora tenha sido um erro de configuração, me apontou o problema real:

    Conforme relatado em outro lugar, o Windows fecha uma conexão LDAP após 900 segundos, mas o comportamento padrão do Apache parece tentar reutilizar a conexão indefinidamente. Se o Apache tentar reutilizar depois que o Windows fechar a conexão, haverá um atraso de 60 segundos esperando a conexão expirar [...]

    Fazendo algumas verificações rápidas para confirmar isso:

    O valor padrão MaxConnIdleTimenas políticas de LDAP da Microsoft é 900 segundos, o que corresponde à minha observação de que o problema aparece novamente após 15 minutos. O atraso de 60 segundos também corresponde exatamente ao meu problema.

    De acordo com esse relatório de erro, o problema deve ser resolvido definindo LDAPConnectionPoolTTLum valor menor MaxConnIdleTimee diferente do valor padrão -1, mas isso não funcionou para mim. Tive que definir o valor como 0, desabilitando a reutilização de conexões existentes.

    LDAPConnectionPoolTTL 0
    

    Não espero nenhum problema de desempenho com isso, pois os resultados do ldap são armazenados em cache de qualquer maneira.

    A única coisa que permanece um mistério é por que esse problema ocorre apenas em nossa instância do Apache em execução no Windows, mas não nas instâncias do Apache em execução no Linux.

    • 3

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