Infotech Notes

29/Julho/2008

LDAP com TLS/SSL

Arquivado em: Linux, ldap — Gustavo @ 6:28 pm

Seguem aqui os passos para adicionar um pouco de segurança ao sistema LDAP. No meu caso, eu utilizo um certificado auto-assinado. Não é a maneira mais segura, mas ajuda muito quando voce tem que autenticar os usuários e quer evitar que a senha seja lida caso algum sniffer esteja ativo.

Lembre-se de manter a parte privativa do certificado o mais seguro possível, pois é isto que garantirá a segurança e a privacidade das informações. O sistema usado como exemplo é um Red Hat AS 4 Update 6 e os comandos devem ser executados pelo usuário root.

Criação da autoridade certificadora e geração do scertificado:

cd /usr/share/ssl
rm -fr demoCA
/usr/share/ssl/misc/CA -newca
openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem /usr/share/ssl/misc/CA -sign

Com isto, voce já tem os certificados privados e público. Vamos agora colocar os arquivos certos nos lugares certos.

cp demoCA/cacert.pem /etc/openldap/cacerts/cacert.pem
cp newcert.pem /etc/openldap/cacerts/servercrt.pem
cp newreq.pem /etc/openldap/cacerts/serverkey.pem

Corrigindo as permissões e proprietários

chmod 0400 /etc/openldap/cacerts/serverkey.pem
chown -R ldap:ldap /etc/openldap/cacerts /etc/init.d/ldap restart

Copiando os certificados na máquina cliente ldap

scp /etc/openldap/cacerts/cacert.pem root@<ip_client>:/etc/openldap/cacerts/.

Com estes passos feitos, basta acertar as configurações dos arquivos abaixo nas máquinas LDAP Client:

# arquivo: /etc/ldap.conf
host <fqdn_ldap_server>
base ou=Users,dc=com
uri ldaps://<fqdn_ldap_server>/
ldap_version 3
port 636
timelimit 120
bind_timelimit 120
idle_timelimit 3600
pam_password md5
pam_password exop
ssl on
tls_checkpeer yes
tls_cacertfile /etc/openldap/cacerts/cacert.pem
tls_cacertdir /etc/openldap/cacerts
tls_reqcert never
tls_ciphers TLSv1
pam_password md5

# arquivo: /etc/openldap/ldap.conf
URI ldaps://<fqdn_ldap_server>:636
HOST <fqdn_ldap_server>
BASE ou=Users,dc=com
TLS_CACERTDIR /etc/openldap/cacerts
TLS_REQCERT never

24/Julho/2008

Limpar o conteúdo da fila de impressão

Arquivado em: Windows — Gustavo @ 5:44 pm

Para quem às vezes tem algum problema na hora de imprimir algum documento, nada é mais chato do que tentar apagar o(s) documento(s) da fila de impressão.

Para fazer isso de uma forma elegante, crie um arquivo limpa.bat (ou qualquer outro nome que voce ache conveniente) e coloque o texto abaixo dentro dele.

net stop spooler
cd %systemroot%\system32\spool\PRINTERS
del /f /s *.SHD
del /f /s *.SPL
net start spooler

Pronto. Sua fila de impressão estará limpa e voce pode imprimir o que precisar.

20/Julho/2008

Montando um servidor LDAP, parte 3

Arquivado em: Linux, ldap — Gustavo @ 1:34 am

Bom, continuando os posts 1 e 2, seguem agora os arquivos de configuração /usr/local/etc/openldap/slapd.conf e /etc/init.d/ldap

Como eu não consigo formatar este post para representar corretamente os espaços nestes arquivos, eu vou anexá-los em um PDF. Estes arquivos referem-se à configuração do servidor Master LDAP (IP 10.0.0.31) e do servidor Slave (IP 10.0.0.32), contendo também o arquivo /etc/init.d/ldap, para início do serviço nos dois servidores.

Arquivo PDF com a configuração LDAP master e slave

Alguns simples problemas costumam acontecer:
- o diretório /var/lib/ldap não existe
- o script de inicializacao /etc/init.d/ldap não tem permissão de execução
- o diretório dos schemas é diferente do especificado no arquivo slapd.conf

Corrija-os e então inicie o ldap.

Após iniciar, voce pode usar o utilitário LDAP Admin (http://ldapadmin.sourceforge.net/) que roda em MS-Windows, facilitando a gerencia da árvore LDAP.

Não esqueça de adicionar a base (ou o topo) da árvore, que no nosso exemplo é o domínio dc=com. Para isto, basta criar um arquivo texto com as linhas a seguir e emitir o seguinte comando no seu servidor LDAP (nos dois servidores).

dn: dc=com
objectClass: domain
dc: com

Salve com o nome base.ldif (arquivo de texto puro, usando vi/vim ou outro editor) e rode o seguinte comando ldapadd -x -D “cn=Manager,dc=com” -W -f base.ldif

Ele pedirá uma senha. Informe a senha usada no comando slappasswd

Rode o LDAP Admin e veja a base de sua árvore LDAP no ar. A partir deste ponto, voce pode começar a criar a estrutura de sua árvore LDAP.

19/Julho/2008

Montando um servidor LDAP, parte 2

Arquivado em: ldap, sincronismo, vrrp — Gustavo @ 11:48 pm

Bom, depois de algum tempo na frente dos seus servidores compilando o OpenLDAP e o VRRP Daemon, chegou a hora de configurá-los e colocá-los em operação.

Vamos começar pelo VRRP que é mais fácil e mais simples. Para isso eu vou presumir 2 servidores com IPs 10.0.0.31 (LDAP Master) e 10.0.0.32 (LDAP Slave). O IP virtual que será o responsável pelas respostas das duas máquinas será o 10.0.0.30

Servidor Master (ip 10.0.0.31). Crie o arquivo /etc/init.d/vrrpd e coloque este texto nele

Arquivo PFD com a configuração do VRRP Server

Dê permissões de execução e crie o link em /etc/rc3.d/S94vrrpd. Os espaços deste script foram comidos na hora de publicar a mensagem. Mas o script é pequeno e fácil de entender.

Servidor Slave (ip 10.0.0.32). Crie o arquivo /etc/init.d/vrrpd e coloque este texto nele

Arquivo PDF com a configuração do VRRP Slave

Dê permissões de execução e crie o link em /etc/rc3.d/S94vrrpd

Com as configurações deste arquivo, também é possível executar um chkconfig –add vrrpd, sem a necessidade de criar o link manualmente. Eu fiz isto em um RedHat.

Inicie o serviço VRRP e faça os testes. Efetue um ping para o IP Virtual e então veja o arp deste IP. Então pare o serviço no servidor Master, e veja que o ping perde alguns pacotes mas logo volta a responder. Verifique novamente o arp deste IP e veja que o arp está diferente.

As mensagens deste serviço são colocadas no arquivo /var/log/messages e se parecem com estas

May 28 11:11:53 master-server vrrpd: VRRP ID 1 on eth1: we are now a backup router.
May 28 11:11:57 master-server vrrpd: VRRP ID 1 on eth1: we are now the master router.

Sugiro também adicionar em seu servidor DNS uma entrada A e PTR que resolva o nome e o reverso para este novo elemento em sua rede.

Blog no WordPress.com.