Tutorial completo de implementação de LDAP + Samba + Squid
Este tutorial destina-se a todos os administradores de redes e sistemas que queiram economizar tempo e gerenciar de uma maneira simples e segura seus usuários utilizando o LDAP (Lightweight Directory Access Protocol).
Parte 14: Implementando SSL ao seu LDAP Server
Todo administrador sempre deve estar preocupado com a segurança de seus servidores, por isso aqui esta uma boa solução para acrescentar ao seu LDAP Server. A seguir vamos aplicar as configurações ao LDAP usando os utilitários do OpenSSL para gerar as chaves auto-assinadas para ele.
Note que as chaves deverão ser geradas dentro do diretório /usr/local/etc/openldap/certificates/.
Foi desabilitada a verificação do certificado (se há alguma entidade certificadora que garante que você é você mesmo). Estamos apenas interessados em usar um túnel criptografado.
Primeiramente vamos criar um diretório dentro do /usr/local/etc/openldap chamado certificates e depois um script para gerar as chaves criptografadas.
Utilize seu editor de textos preferido e crie o script gerador.sh:
Gerando as chaves criptografadas
Note que as chaves deverão ser geradas dentro do diretório /usr/local/etc/openldap/certificates/.
Foi desabilitada a verificação do certificado (se há alguma entidade certificadora que garante que você é você mesmo). Estamos apenas interessados em usar um túnel criptografado.
Primeiramente vamos criar um diretório dentro do /usr/local/etc/openldap chamado certificates e depois um script para gerar as chaves criptografadas.
Utilize seu editor de textos preferido e crie o script gerador.sh:
#!/bin/sh
# /usr/local/etc/openldap/certificates/gerador.sh
# Certificado para a função "server"
echo "É necessário prover uma senha para a chave privada."
openssl genrsa -des3 -out server.key 4096
# Esta linha agora REMOVE a passphrase da chave privada
echo "Digite primeiro a senha da chave privada, depois um para remova-la"
openssl rsa -in server.key -out server.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.csr
# Certificado para a função "client"
echo "Gerando a chave para o client. Mesmo procedimento anterior"
openssl genrsa -des3 -out client.key 1024
openssl rsa -in client.key -out client.key
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.csr
# /usr/local/etc/openldap/certificates/gerador.sh
# Certificado para a função "server"
echo "É necessário prover uma senha para a chave privada."
openssl genrsa -des3 -out server.key 4096
# Esta linha agora REMOVE a passphrase da chave privada
echo "Digite primeiro a senha da chave privada, depois um
openssl rsa -in server.key -out server.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.csr
# Certificado para a função "client"
echo "Gerando a chave para o client. Mesmo procedimento anterior"
openssl genrsa -des3 -out client.key 1024
openssl rsa -in client.key -out client.key
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.csr
Use o comando a baixo para rodar o script:
# sh gerador.sh
Ele fará algumas perguntas (veja abaixo) como requisição se senhas, escolha uma senha de maneira que você não vá esquecê-la, eu usei a mesma do admin.
É necessário prover uma senha para a chave privada.
Generating RSA private key, 4096 bit long modulus
...
e is 65537 (0x10001)
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key
Digite primeiro a senha da chave privada, depois um <ENTER> para removê-la.
Enter pass phrase for server.key:
riting RSA key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Goias
Locality Name (eg, city) []:Goiania
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Canal Linuxajuda
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:administrador
Email Address []:administrador@linuxajuda.org
Please enter the following 'extra' attributes
to be sent with your certificate request
challenge password []:system
An optional company name []:
Signature ok
subject=/C=BR/ST=Goias/L=Goiania/O=Canal Linuxajuda/CN=administrador/emailAddress=administrador@linuxajuda.org
Getting Private key
Gerando a chave para o client. Mesmo procedimento anterior
Generating RSA private key, 1024 bit long modulus
...
e is 65537 (0x10001)
Enter pass phrase for client.key:
Verifying - Enter pass phrase for client.key:
Enter pass phrase for client.key:
writing RSA key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Goias
Locality Name (eg, city) []:Goiania
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Canal Linuxajuda
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:administrador
Email Address []:administrador@linuxajuda.org
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:system
An optional company name []:
Signature ok
subject=/C=BR/ST=Goias/L=Goiania/O=Canal Linuxajuda/CN=administrador/emailAddress=administrador@linuxajuda.org
Getting Private key
OBS: Onde perdir "Enter pass phrase for client" ou server, digite uma senha.
Realmente você faz a diferença aqui no VOL ao postar um tuto como estes e se tratando de um assunto como LDAP.
Sinceramente thelinux.