Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Implantando autenticação centralizada e segura usando Openldap - ACLs e SSL (LDAPs)

Colaboração: Alexandro Silva

Data de Publicação: 03 de agosto de 2010

Com o servidor funcionando corretamente irei restringir os acessos pelas ACLs e adicionar criptografia (ldaps) como camada de segurança.

ACLs

Edite o arquivo /etc/ldap/slapd.conf restrigindo o acessos ao BD midificando as ACL como o exemplo abaixo:

  vim /etc/ldap/slapd.conf
  access to attrs=userPassword
        by anonymous auth
        by self write
        by * none
  access to dn.base="" by * read
  access to *
        by * read

Gerando a senha em SSHA

  slappasswd -h {SSHA}
  
  Informe a senha do **ADMIN** e confirme

Edite o arquivo /etc/ldap/slapd.conf

  vim /etc/ldap/slapd
  suffix          "dc=acme,dc=local"
  rootdn          "cn=admin,dc=acme,dc=local"
  rootpw          "{SSHA}irRG0yGfiDoBbKqX5rRTBzy+23J5rt+J"

Reincie o slapd

  invoke-rc.d slapd restart

LDAP com TLS/SSL (LDAPs)

Para habilitar o TLS/SSL no servidor execute os seguintes passos:

Crie e acesse o diretório ssl em /etc/ldap

  mkdir /etc/ldap/ssl
  
  cd ssl

Caso você não possua um certificado assinado por uma CA crie uma CA usando o comando

  /usr/lib/ssl/misc/CA.sh -newca
  CA certificate filename (or enter to create) **[ Pressine ENTER ]**
  Enter PEM pass phrase: **[ INFORME A SENHA ]**
  Verifying - Enter PEM pass phrase: **[ REPITA A SENHA ANTERIOR ]**
  Country Name (2 letter code) [AU]:**BR**
  State or Province Name (full name) [Some-State]:**Bahia**
  Locality Name (eg, city): **Salvador**
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:**ACME**
  Organizational Unit Name (eg, section) :**IT**
  Common Name (eg, YOUR name) :**localhost**
  Email Address:**admin@acme.local**
  
  No campo "A challenge password: **[ Pressione ENTER ] **
  An optional company name: **[ Pressione ENTER ]**
  Enter pass phrase for ./demoCA/private/./cakey.pem: **[ Digite a senha definida no "Enter PEM pass phrase" ]**

Crie a chave:

  openssl req -newkey  rsa:1024  -nodes -keyout newreq.pem -out newreq.pem
  Country Name (2 letter code) [AU]:**BR**
  State or Province Name (full name) [Some-State]:**Bahia**
  Locality Name (eg, city):**Salvador**
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:**ACME**
  Organizational Unit Name (eg, section):**IT**
  Common Name (eg, YOUR name):**localhost**
  Email Address:**admin@acme.local**
  A challenge password: **[ Pressione ENTER ]**
  An optional company name: **[ Pressione ENTER ]**

Assine a chave criada usando a CA.

  /usr/lib/ssl/misc/CA.sh -sign

Digite a senha da CA e responda todos os questionamentos como "y"

Copie o arquivo cacert.pem para o diretório /etc/ldap/ssl

  cp demoCA/cacert.pem /etc/ldap/ssl/

Altere o dono dos arquivo .pem

  chown openldap *.pem

Altere as permissões de acesso aos arquivos .pem

  chmod 600 *.pem

Adicione as seguintes linhas no arquivo /etc/ldap/slapd.conf:

  TLSCACertificateFile    /etc/ldap/ssl/cacert.pem
  TLSCertificateFile      /etc/ldap/ssl/newcert.pem
  TLSCertificateKeyFile   /etc/ldap/ssl/newreq.pem
  TLSVerifyClient never

Descomente e edite o arquivo /etc/default/slapd habilitando o ldaps

  vim /etc/default/slapd
  SLAPD_SERVICES="ldaps:///"

Edite o arquivo /etc/ldap/ldap.conf adicionando a seguinte linha:

  TLS_REQCERT never

Reinicie o slapd

  invoke-rc.d slapd restart

Testando

  ldapsearch -LL -H ldaps://localhost -b"dc=acme,dc=local" -x "(uid=alexos)"

Após a modificações apresentadas anteriormente nosso arquivo /etc/ldap/slapd.conf ficará como no exemplo abaixo:

Exemplo arquivo /etc/ldap/slapd.conf

  allow bind_v2
  
  include         /etc/ldap/schema/core.schema
  include         /etc/ldap/schema/cosine.schema
  include         /etc/ldap/schema/nis.schema
  include         /etc/ldap/schema/inetorgperson.schema
  include         /etc/ldap/schema/krb5-kdc.schema
  include         /etc/ldap/schema/qmailuser.schema
  
  pidfile         /var/run/slapd/slapd.pid
  
  TLSCACertificateFile    /etc/ldap/ssl/cacert.pem
  TLSCertificateFile      /etc/ldap/ssl/newcert.pem
  TLSCertificateKeyFile   /etc/ldap/ssl/newreq.pem
  TLSVerifyClient never
  
  argsfile        /var/run/slapd/slapd.args
  
  loglevel        none
  
  modulepath      /usr/lib/ldap
  moduleload      back_hdb
  
  sizelimit 500
  
  database        hdb
  
  suffix          "dc=acme,dc=local"
  rootdn          "cn=admin,dc=acme,dc=local"
  rootpw          "{SSHA}/v+HeJBQferYPfYFkqqa1TwIGmW2piFv"
  
  directory       "/var/lib/ldap"
  
  index objectClass,ou,cn,sn,uid,uidNumber,mail,mailAlternateAddress,mailForwardingAddress,memberUid eq
  
  lastmod         on
  
  access to attrs=userPassword
        by anonymous auth
        by self write
        by * none
  
  access to dn.base="" by * read
  
  access to *
        by * read

Referências:

Fonte: http://blog.alexos.com.br/?p=1901&lang=en

Veja a relação completa dos artigos de Alexandro Silva

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (779 votos)

Opinião dos Leitores

Flávio
03 Ago 2010, 15:34
Olá Alexandre,
Estou seguindo seu material, configurei o servidor ldap e instalaei o phpldapadmin também. Quando tento me conectar atravé do phpldapadmin, recebo o seguinte erro:

Erro:
Impossível iniciar TLS. Por favor verifique a configuração do servidor LDAP.

O apache 2 está configurando com SSL.

Teria alguma dica sobre isso?
Flávio
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis