Implementação de serviço de diretórios com OpenLDAP no CentOS 6.3

O objetivo deste tutorial é mostrar como instalar, configurar e administrar um serviço de diretórios com OpenLDAP.

[ Hits: 91.029 ]

Por: Maycson Fonseca em 09/01/2013 | Blog: http://br.linkedin.com/pub/maycson-fonseca/96/b54/12a


Criando certificado SSL



Entre na pasta de certificados do sistema, e se existir o certificado ldap-server.pem, remova-o para que possamos criar um novo. Coloque as devidas permissões no certificado e crie um link simbólico para o diretório cacerts/ do OpenLDAP.

Obs.: Se não existir o diretório cacerts/, copie o diretório certs/ e troque o nome para: cacerts

# cp -r /etc/openldap/certs/ /etc/openldap/cacerts
# chown -R :ldap /etc/openldap/certs/
# chown -R :ldap /etc/openldap/cacerts/
# cd /etc/pki/tls/certs
# rm ldap-server.pem
# make ldap-server.pem
# chmod 640 ldap-server.pem
# chown :ldap ldap-server.pem
# ln -s /etc/pki/tls/certs/ldap-server.pem /etc/openldap/cacerts/ldap-server.pem


Edite o arquivo ldap alterando a linha:

SLAPD_LDAPS=no

Para:

# nano /etc/sysconfig/ldap

SLAPD_LDAPS=yes

Agora editaremos o arquivo slapd.conf para configurar o caminho do certificado:

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/ldap-server.pem
TLSCertificateKeyFile /etc/pki/tls/certs/ldap-server.pem

No arquivo ldap.conf, adicione o seguinte conteúdo:

TLS_CACERTDIR /etc/openldap/cacerts
TLS_REQCERT never

Realizaremos os ajustes finais e testaremos a configuração do certificado:

# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d
# service slapd restart
# ldapsearch -x -ZZ -h localhost
   # Consulta TLS
# ldapsearch -x -H ldaps://localhost   # Consulta SSL
# openssl s_client -connect localhost:636 -showcerts

Edite o arquivo nsswitch.conf alterando a entrada de "hosts":

# nano /etc/nsswitch.conf

hosts: ldap files dns

Adicione as seguintes regras no firewall do CentOS, alterando "192.168.255.0/24" para o endereço de rede da sua LAN:

# nano /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 636 -j ACCEPT

Reinicie o firewall:

# service iptables restart

Página anterior     Próxima página

Páginas do artigo
   1. O que é LDAP
   2. Criando certificado SSL
   3. Comandos importantes
   4. Gerenciando com phpLDAPadmin
   5. Autenticando as estações no servidor OpenLDAP
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Firewall com o UFW

Adicionar mensagens iniciais no terminal nas sessões de sudo

Configurando mais de um IP por placa de rede

Instalação de servidor Slackware 10.2

Ubuntu 64: Como criar um chroot para aplicações 32 bits

  
Comentários
[1] Comentário enviado por will__m em 04/11/2013 - 10:01h


Obrigado.


[2] Comentário enviado por rootss em 15/04/2014 - 20:23h

Cara primeiramente parabéns pelo artigo.

Estou com um problema aqui pra gerenciar pelo PHPldapAdmin.

Eu logo normalmente mas não exibe a árvore de diretórios, aparece assim " Esta base não pode ser criada com PLA. " .... onde deveria estar a base.

Você já passou por isso? ou tem idéia do que pode ser? Já não sei mais o que fazer hehe

Desde já agradeço.

Abs...

[3] Comentário enviado por murilo_ns em 06/05/2014 - 11:51h

como seria a autenticação se a estação fosse um Ubuntu e o servidor um CentOS?

[4] Comentário enviado por jfernandes em 05/10/2014 - 00:37h

Olá rapaz,

Antes de mais nada, parabéns pelo post, mas gostaria de pedir ajudas .

Como faço para localizar objetos específicos pelo nome, exemplo, um usuário, uma impressora, um servidor, quero localizar isso numa base LDAP.

Fico no aguardo

Abraços

[5] Comentário enviado por maycson em 06/10/2014 - 11:52h


[3] Comentário enviado por murilo_ns em 06/05/2014 - 11:51h:

como seria a autenticação se a estação fosse um Ubuntu e o servidor um CentOS?


Olá, seria a mesma coisa. No Ubuntu o que muda é apenas o nome de alguns arquivos e seus respectivos lugares.

[6] Comentário enviado por maycson em 06/10/2014 - 11:56h


[4] Comentário enviado por jfernandes em 05/10/2014 - 00:37h:

Olá rapaz,

Antes de mais nada, parabéns pelo post, mas gostaria de pedir ajudas .

Como faço para localizar objetos específicos pelo nome, exemplo, um usuário, uma impressora, um servidor, quero localizar isso numa base LDAP.

Fico no aguardo

Abraços


Olá, Obrigado

Você pode fazer assim : ldapsearch -h 127.0.0.1 -b "cn=maycson.fonseca,ou=users,dc=ldap-server,dc=com" -x
Se você separar por OUs as impressoras, os usuários e os servidores você consegue localizar bem fácil.
Era essa sua duvida ?

Abraços

[7] Comentário enviado por jfernandes em 06/10/2014 - 12:36h

Perfeito rapaz.

Muito obrigado.

Mais uma para nossas anotações.

Valeu Maycon

[8] Comentário enviado por maycson em 06/10/2014 - 22:33h


[2] Comentário enviado por rootss em 15/04/2014 - 20:23h:

Cara primeiramente parabéns pelo artigo.

Estou com um problema aqui pra gerenciar pelo PHPldapAdmin.

Eu logo normalmente mas não exibe a árvore de diretórios, aparece assim " Esta base não pode ser criada com PLA. " .... onde deveria estar a base.

Você já passou por isso? ou tem idéia do que pode ser? Já não sei mais o que fazer hehe

Desde já agradeço.

Abs...



Olá, Obrigado

use esse comando a sua base não foi adicionada corretamente:
ldapadd -h 127.0.0.1 -x -D "cn=Manager,dc=ldap-server,dc=com" -f ldap-server.ldif -W

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts