Apache / PHP ldap pára de funcionar. Requer reinicialização do apache

4

Atualmente, tenho uma configuração em que os usuários fazem login em um site usando credenciais LDAP. É tudo interno, então eu não me importo muito com certificados. Então, no meu arquivo /etc/openldap/ldap.conf eu tenho TLS_REQCERT never . Antes de adicionar isso ao arquivo, eu sempre estava recebendo o erro Error Binding to LDAP: TLS: hostname does not match CN in peer certificate . Depois de adicionar que tudo parecia funcionar bem. No entanto, agora eu estou achando que depois de algum tempo, talvez algumas horas por dia, os logins falharão novamente, e eu vou começar a receber esse erro. Se eu reiniciar o apache, tudo funciona bem novamente por um tempo. Então o erro aparece novamente. O que poderia estar causando isso para continuar acontecendo? O servidor é um CentOS 6.5.

    
por LoneWolfPR 10.10.2014 / 16:27

2 respostas

0

Você deve verificar a validade do certificado, talvez o problema esteja relacionado a esse bug:

TLS_REQCERT = nunca é ignorado quando o certificado do emissor é expirado

Resumo:

Description of problem:

Setting TLS_REQCERT=never is ignored, when the server certificate is before/after validity period. In that moment, connection fails.

Version-Release number of selected component (if applicable):

openldap-2.4.23-15.el6
openldap-2.4.24-3.fc15

How reproducible:

Set up certificates in slapd to allow TLS/SSL. The certificate can be invalid (invalid issuer, invalid server name, etc.).

Run: LDAPTLS_REQCERT=never ldapsearch -x -ZZ ...

The execution will be successful, TLS will be used.

Change your system time out of the validity period of the certificate. Run the same command again. The command will fail this time.

Atualização:
Você desabilitou a verificação de certificado no OpenLDAP ldap.conf (que deve aplica-se também ao php-ldap).
Adicione em seu código PHP, antes do ldap_connect, coloque o seguinte:

putenv('LDAPTLS_REQCERT=never');

Precisa de ajuda para ignorar o certificado do servidor durante a ligação ao servidor LDAP usando PHP

Como resolvo ldap_start_tls () “Impossível iniciar TLS: Erro de conexão” em PHP?

Atualização 2:

Outro problema pode ser que o servidor apache não está pegando o arquivo de configuração ldap.conf corretamente, dê uma olhada nestes links onde o problema está descrito:

link

Espero que isso ajude

    
por 13.10.2014 / 01:00
0

Este é um tiro selvagem no escuro, então, se estiver errado, peço desculpas por levar você na direção errada. Talvez o seu serviço ldap esteja ficando sem descritores de arquivos disponíveis (cada conexão de rede consome um FD). Nos meus servidores ldap, eu aumentava os limites padrão:

OVZ-CentOS65[root@ldap1 ~]# more /etc/security/limits.d/ldap.conf 
@ldap           soft    nofile          100000
@ldap           hard    nofile          200000

Tente adicionar isso (ou ajustar qualquer arquivo que esteja atualmente controlando os limites de usuário, grupo ou processo do ldap) e reinicie o serviço ldap. Veja se os sintomas com o apache persistem.

    
por 16.10.2014 / 22:24