quinta-feira, 4 de setembro de 2014

OpenLdap em Centos 6.3



Vamos demonstrar como instalar um servidor de openldap em um Centos para cetralizarmos os acessos.

Primeiramente vamos desabilitar nosso firewall para que não esteja nada barrando, lembrando que só estou fazendo isso pois é um ambiente de testes.

# system-config-firewall-tui

Vamos agora instalar o openLdap

# yum -y install openldap-servers openldap-clients

Após a instalação vamos realizar a configuração do OpenLDAP.

Vamos ativar o Log

# mkdir /var/log/slapd
# chmod 755 /var/log/slapd/
# chown ldap:ldap /var/log/slapd/

Em seguida precisamos realizar um ajuste no arquivo do rsyslog.

# vim /etc/rsyslog.conf

Inclua a linha abaixo no arquivo.

[...]
local4.*                        /var/log/slapd/slapd.log
[...]

Em seguida reinicie o serviço.

# service rsyslog restart

Agora vamos realizar a alteração conforme nosso domínio.

# cp -Rfa /etc/openldap/slapd.conf.bkp --- //Vamos criar um backup para garantir
# vim /etc/openldap/slapd.conf

Criando os certificados.

# cd /etc/pki/tls/certs
# make slapd.pem

Na criação do cerfitifaco, será necessário responder a perguntas como qual país, qual cidade, qual organização entre outras.

Após a criação precisaremos ajustar a permissão

# chmod 640 slapd.pem
# chown :ldap slapd.pem
# ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/certs/slapd.pem

Gerando a senha de gerenciamento do OpenLDAP.

#slappasswd
New password: senha
Re-enter new password: senha
{SSHA}mHW4UnE06j/vZVLkuldssdXOAu2CiN89

Ao gerar a senha, ele mostrará a hash da sua senha, guarde-a, pois usaremos ela em uma configuração posterior.

Copiando os arquivos de exemplo para ajustar na configuração.

# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

Atualizando o arquivo 'slapd.conf'.

Todas configurações abaixo serão feitas em slapd.conf.

#vim /etc/openldap/slapd.conf

Alterar as linhas de origem do caminho do certificado.
De:
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password

Para:
TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem

Agora vamos usar a hash gerada anterior aqui:

Busque por 'rootpw' e add a senha que geramos com o comando 'slappasswd'.

[...]
rootpw                  {SSHA}mHW4UnE06j/vZVLkuldssdXOAu2CiN89
[...]

Realize as alterações de 'dc=my-domain' para o seu dominio. Exatamente essas linhas

 by dn.exact="cn=Manager,dc=ldapufs,dc=com,dc=br" read
suffix          "dc=ldapufs,dc=com"
checkpoint      1024 15
rootdn          "cn=Manager,dc=ldapufs,dc=com,dc=br"

Pronto terminamos aqui o slapd.conf.

Agora vamos habilitar o SSL sobre o LDAP.

#vim /etc/sysconfig/ldap

Procure pela linha abaixo e altere de 'no' para 'yes' para ativar o SSL.

[...]
SLAPD_LDAPS=yes
[...]

Atualizando o arquivo de configuração do Ldap.

#vim /etc/openldap/ldap.conf

Ajuste as configurações conforme abaixo.
BASE dc=tidahora,dc=com,dc=br
URI ldap://localhost
TLS_REQCERT never      
TLS_CACERTDIR   /etc/openldap/certs

Criando a estrutura inicial do LDAP.

# vim /root/root.ldif

dn: dc=ldapufs,dc=com,dc=br
dc: ldapufs
objectClass: dcObject
objectClass: organizationalUnit
ou: ldapufs.com.br

dn: ou=people,dc=ldapufs,dc=com,dc=br
ou: people
objectClass: organizationalUnit

dn: ou=groups,dc=ldapufs,dc=com,dc=br
ou: groups
objectClass: organizationalUnit

Executando um 'teste'.

# rm -rf /etc/openldap/slapd.d/*
# slapadd -v -n 2 -l /root/root.ldif

Saída do comando acima:

added: "dc=ldapufs,dc=com,dc=br" (00000001)
added: "ou=people,dc=ldapufs,dc=com,dc=br" (00000002)
added: "ou=groups,dc=ldapufs,dc=com,dc=br" (00000003)
_#################### 100.00% eta   none elapsed            none fast!        
Closing DB...

//Caso o comando acima nao funcione, basta criar 3 arquivos cada um com uma estrofe. e criaremos o ldapufs, people e o groups separadamente.


Ajustando a permissão da estrutura de diretórios do LDAP.

# chown -R ldap:ldap /var/lib/ldap
# chown -R ldap:ldap /etc/openldap/slapd.d

Testando as configurações do LDAP.

# 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

Ajustando a inicialização do Serviço.
# chkconfig --level 235 slapd on
# /etc/init.d/slapd start

Testando LDAP.

# ldapsearch -x -ZZ -h localhost
# ldapsearch -x -H ldaps://localhost

Um pequeno ajuste a ser realizado no arquivo '/etc/nsswitch.conf'.

#vim /etc/nsswitch.conf

Procure pela linha onde contém 'hosts' e realize a alteração conforme abaixo.

hosts:      ldap files dns


Pronto, agora seu servidor estará apto a receber configurações e conexões de acesso.
Existe o phpldapadmin, que é uma ótima ferramente de gerencia do OpenLdap. Em breve posto sobre ela.


Nenhum comentário:

Postar um comentário