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

Colaboração: Alexandro Silva

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

Uma autenticação centralizada faz parte do processo de adequação do ambiente as boas práticas de segurança. Esta solução provê recursos que atendem aos principios de autenticidade e não-repúdio. Usando a criptografia juntamente com esta solução poderemos previnir ataques de hijacking, spoofing e man in the middle.

O LDAP (Lightweight Directory Access Protocol) é um protocolo cliente-servidor, utilizado para acessar um serviço de Diretório. Ele foi inicialmente usado como uma interface para o X.500, mas também pode ser usado com autonomia e com outros tipos de servidores de Diretório. Atualmente vem se tornando um padrão, diversos programas já têm suporte a LDAP. Livros de endereços, autenticação, armazenamento de certificados digitais (S/MIME) e de chaves públicas (PGP), são alguns dos exemplos onde o LDAP já é amplamente utilizado.

O Openldap é a solução livre para a implementação do LDAP. Diferentemente das soluções proprietárias ( e.g. Active Directory (tm) ), ele implementa de forma fidedigna as especificações das RFCs deste protocolo.

Este artigo têm como principal objetivo ensinar como implantar uma solução livre e gratuita de autenticação com segurança. Não abordarei conceitos sobre o funcionamento do protocolo, para isso recomendo a leitura das referências.

Inicialmente irei configurar um servidor LDAP e um cliente autenticando nesta base.

Configurando o LDAP server

Instale os pacotes necessários

  # aptitude install slapd ldap-utils migrationtools
  # dpkg-reconfigure slapd
  DNS domain name: acme.local 
  Organization name: acme
  Database backend to set:   HDB
  Do you want the database to be removed when slapd is purged? No
  Move old database? Yes
  Allow LDAPv2 protocol? Yes

Adicionando Schemas

Acesso o diretório /etc/ldap/schemas

  cd /etc/ldap/schemas

Faça o download dos schemas. Eles serão importantes na implementação do kerberos e na autenticação dos usuários do Postfix

  wget http://www.bayour.com/openldap/schemas/krb5-kdc.schema
  wget http://trac.kyapanel.com/export/360/trunk/ldap/schema/qmailuser.schema

Edite o arquivo /etc/ldap/slapd adicionando os novos schemas e novos indices no index

  # vim /etc/ldap/slapd.conf
  
  
  include         /etc/ldap/schema/krb5-kdc.schema
  include         /etc/ldap/schema/qmailuser.schema
  
  index objectClass,ou,cn,sn,uid,uidNumber,mail,mailAlternateAddress,mailForwardingAddress,memberUid eq

Reinicie o slapd

  invoke-rc.d slapd restart

Testando

  ldapsearch -x -b "dc=acme,dc=local"
  # extended LDIF
  #
  # LDAPv3
  # base <dc=acme,dc=local> with scope subtree
  # filter: (objectclass=*)
  # requesting: ALL
  #
  
  # acme.local
  dn: dc=acme,dc=local
  objectClass: top
  objectClass: dcObject
  objectClass: organization
  o: acme
  dc: acme
  
  # admin, acme.local
  dn: cn=admin,dc=acme,dc=local
  objectClass: simpleSecurityObject
  objectClass: organizationalRole
  cn: admin
  description: LDAP administrator
  
  # search result
  search: 2
  result: 0 Success
  
  # numResponses: 3
  # numEntries: 2

Migrando os usuários e grupos locais com o migration tools

O migrationtools é um conjunto de scripts responsáveis por migrar as informações locais como hosts, serviços, usuários, grupos e etc para a infraestrutura do LDAP.

Edite as seguintes linhas do arquivo /usr/share/migrationtools

  vim migrate_common.ph
  $DEFAULT_MAIL_DOMAIN = "acme.local";
  $DEFAULT_BASE = "dc=acme,dc=local";
  $EXTENDED_SCHEMA = 1;

Importe a base

  ./migrate_base.pl > base.ldif

O arquivo base.ldif contém a infraestrutura básica de OUs ( Unidades Organizacionais ). Como o objetivo de nosso LDAP é autenticação então edite o arquivo base.ldif deixando somente as seguintes informações:

  dn: dc=acme,dc=local
  dc: acme
  objectClass: top
  objectClass: domain
  objectClass: domainRelatedObject
  associatedDomain: acme.local
  
  dn: ou=People,dc=acme,dc=local
  ou: People
  objectClass: top
  objectClass: organizationalUnit
  objectClass: domainRelatedObject
  associatedDomain: acme.local
  
  dn: ou=Group,dc=acme,dc=local
  ou: Group
  objectClass: top
  objectClass: organizationalUnit
  objectClass: domainRelatedObject
  associatedDomain: acme.local

Migre as contas e as senhas dos usuários

  ETC_SHADOW=/etc/shadow ./migrate_passwd.pl /etc/passwd > passwd.ldif

Migre os grupos

  ./migrate_group.pl /etc/group > group.ldif

Atualize o BD do LDAP

  ldapadd -h localhost -x -W -D "cn=admin,dc=acme,dc=local" -c -f base.ldif
  ldapadd -h localhost -x -W -D "cn=admin,dc=acme,dc=local" -c -f passwd.ldif
  ldapadd -h localhost -x -W -D "cn=admin,dc=acme,dc=local" -c -f group.ldif

Testando

  ldapsearch -LL -H ldap://localhost -b"dc=acme,dc=local" -x "(uid=alexos)"
  
  dn: uid=alexos,ou=People,dc=acme,dc=local
  uid: alexos
  cn: alexos
  sn: alexos
  mail: alexos@acme.local
  objectClass: person
  objectClass: organizationalPerson
  objectClass: inetOrgPerson
  objectClass: posixAccount
  objectClass: top
  objectClass: krb5Principal
  objectClass: shadowAccount
  shadowMax: 99999
  shadowWarning: 7
  krb5PrincipalName: alexos@ACME.LOCAL
  loginShell: /bin/bash
  uidNumber: 1000
  gidNumber: 1000
  homeDirectory: /home/alexos
  gecos: alexos,,,

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 (921 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*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