Infotech Notes

16/Maio/2008

Montando um servidor LDAP

Arquivado em: ldap, sincronismo, vrrp — Gustavo @ 1:23 am

Recentemente eu montei um servidor LDAP utilizando dois servidores rodando linux RedHat AS 4, com redundância através de VRRP e sincronismo da dase de dados LDAP.
Este post descreve todos os passos e dicas sobre como colocar este serviço no ar.

Algumas das características utilizadas são:
- Servidores com replicação da base LDAP
- Utilização de um software de virtualização de IPs para redundancia
- Autenticação com utilização de certificados para cifragem dos dados
- Testes com Autenticação de ambientes Windows (Cliente pago)

Servidor Linux:
O servidor utilizado não é um fator tão importante. Eu escolhi utilizar um RedHat AS4, mas pode ser feito também com SUSE, Debian, e mesmo em Unix (Solaris, HP-UX, AIX), pois todo o software utilizado deve ser compilado no servidor, então a distribuição pode ser a escolha de cada um. Penso que vale a pena ter a versão mais atualizada do linux/unix escolhido. Vale a pena lembrar que a versão RHES4 deve ter o update 5 instalado, ou superior. Se for update 4 ou inferior o ldap com password policy não vai funcionar.

VRRP Daemon:
O serviço VRRP é semelhante ao HSRP da Cisco, e permite que duas estações com IPs distintos (ex. 10.0.0.31 = Server1 e 10.0.0.32 = Server2) possam responder por um terceiro IP (10.0.0.30) com redundancia do serviço. Um dos servidores será o master e o outro será o slave. Quando o master ficar fora do ar, o slave assume a resposta pelo IP 10.0.0.30. Quando o server1 voltar ao ar, ele volta a responder pelo IP 10.0.0.30 e o server 2 devolve o IP ao master.
Este serviço é fundamental para garantir a redundancia do servidor, uma vez que na configuração do LDAP será feita a colocação de um master e um slave, com sincronismo da base de ldados LDAP entre os servidores.
O fonte deste recurso pode ser encontrado em https://sourceforge.net/projects/vrrpd/ e deve ser compilado nos dois servidores.

LDAP:
O servidor LDAP utilizado foi a última versão stable, localizada em http://www.openldap.org/software/download/OpenLDAP/openldap-stable/
Depois de baixar a versão, mova o arquivo para o diretório /usr/local e descompacte-o lá.
Rode os seguintes comandos para realizar a configuração e compilação:
# ./configure –enable-crypt –enable-bdb –disable-sql –enable-ppolicy –with-cyrsus-sasl –with-tls –disable-ipv6 –with-slurpd
# make depend && make && make install && echo $?

Se voce encontrar algum problema no configure, é porque deve estar faltando algum pacote necessário à compilação do openldap. Ao executar um rpm -qa | grep -i sasl, eu obtive estes pacotes
- cyrus-sasl-sql-2.1.19-14
- cyrus-sasl-md5-2.1.19-14
- cyrus-sasl-plain-2.1.19-14
- cyrus-sasl-ntlm-2.1.19-14
- cyrus-sasl-2.1.19-14
- cyrus-sasl-gssapi-2.1.19-14
- cyrus-sasl-devel-2.1.19-14

E ao executar um rpm -qa | grep -i ssl eu obtive os seguintes pacotes
- openssl096b-0.9.6b-22.46
- openssl-devel-0.9.7a-43.16
- pyOpenSSL-0.6-1.p23
- xmlsec1-openssl-1.2.6-3
- openssl-0.9.7a-43.16
- mod_ssl-2.0.52-32.3.ent
- perl-Crypt-SSLeay-0.51-5

A versão que eu uso do RedHat é AS4 Update 6

Com as dependências de pacotes resolvidas, o configure deve rodar sem problema, e coom isso os makes podem ser feitos. O echo $? deve retornar um 0 (zero), informando que não houve qualquer problema na compilação e instalação.

Caso voce utilize um servidor ldap master e um slave, execute a instalação do openldap nas duas máquinas, exatamente da mesma maneira.

Nos próximos dias eu continuarei com este post, mostrando como criar um slapd.conf, criar a árvore ldap inicial, criar as entradas na árvore ldap, criar os usuários e definir e aplicar as políticas permittidas pelo Password Policy

Blog no WordPress.com.