Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi

6,888 views
6,713 views

Published on

Na palestra será demonstrado o funcionamento de uma base LDAP, explicando a organização e como os registros são armazenados na base. Ao final será mostrado um exemplo ao vivo de integração de autenticação de serviços na base LDAP.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,888
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
192
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi

  1. 1. 4º Seminário de Software Livre TcheLinux Pelotas Servidor de Autenticação Centralizada
  2. 2. $ whoami Thiago Finardi Analista e Desenvolvedor de Sistemas Coordenador da área de TI Senac Uruguaiana Sysadmin na G8 Sistemas de Informação www.g8si.com 2 - OpenLDAP: Servidor de Autenticação Centralizada
  3. 3. echo $USER 1º Contato em 2003 Usuário GNU/Linux a 4 anos Programador Cobol por 5 anos Docente no curso Técnico em Informática Blog www.botecodigital.info 3 - OpenLDAP: Servidor de Autenticação Centralizada
  4. 4. OK deu, e o LDAP? Experiência com 4 - OpenLDAP: Servidor de Autenticação Centralizada
  5. 5. Cronograma O que é LDAP Diretórios Serviços de diretórios Entendendo os diretórios Atributos, ObjectClasses e Schemas Registros na base LDAP Instalação Uso e gerenciamento Autenticando serviços Conclusão
  6. 6. 4º Seminário de Software Livre TcheLinux Pelotas LDAP
  7. 7. O que é LDAP Lightweight Directory Access Protocol é um conjunto de protocolos desenhados para acessar informação centralizada em uma rede; Define a forma de funcionamento de um serviço de diretórios ( critérios, mecanismos e métodos); Tem a função de verificar as credenciais do cliente; 7 - OpenLDAP: Servidor de Autenticação Centralizada
  8. 8. Características do LDAP Funcionalidade sobre IPV4 e IPV6 (LDAP V3); Leve e robusto; Suporte a vários backends (SQL,BDB,PASSWD); Suporte a múltiplas instâncias de dados; Backup fácil Replicação (Slurpd e Syncrepl) Suporte a TLS/SSL 8 - OpenLDAP: Servidor de Autenticação Centralizada
  9. 9. 4º Seminário de Software Livre TcheLinux Pelotas Diretórios
  10. 10. Diretórios Quais são as características? Quantidade de caracteres? São compartilhamentos com fim de organização Regra Highlander: Só pode haver um. 10 - OpenLDAP: Servidor de Autenticação Centralizada
  11. 11. Diretórios Cada diretório, é um objeto no sistema de arquivos que tem características próprias que o diferenciam das demais informações. A raiz do sistema é conhecida como ”/” 11 - OpenLDAP: Servidor de Autenticação Centralizada
  12. 12. 4º Seminário de Software Livre TcheLinux Pelotas Serviço de Diretórios
  13. 13. Serviços de Diretórios? “Um serviço que armazena e organiza informações sobre os recursos e os usuários de uma rede de computadores.” Catálogo, lista de recursos; Centralização de gestão dos recursos da rede; Simplificar a administração, backup e replicação; Centralizar é a palavra chave; 13 - OpenLDAP: Servidor de Autenticação Centralizada
  14. 14. 4º Seminário de Software Livre TcheLinux Pelotas Entendendo os Diretórios
  15. 15. Entendendo os Diretórios Elimine quaisquer outros conceitos pré existentes; Não estabeleça elos com base de dados SQL ou DB; Pense em diretório com o conceito mais simples; Arquivos e diretórios; Em uma base LDAP não se armazenam arquivos, mas sim recursos de rede. 15 - OpenLDAP: Servidor de Autenticação Centralizada
  16. 16. Entendendo os Diretórios Raiz : dc=tchelinux,dc=org Formato em dc=dominio,dc=foo,dc=bar A partir da raiz todos os demais "diretórios" e "arquivos" serão armazenados Alguns objetos são diretórios que servem para organizar e outros objetos servem para armazenar diferentes tipos de informação. 16 - OpenLDAP: Servidor de Autenticação Centralizada
  17. 17. Entendendo os Diretórios Diretórios com nomes diferentes: ou=usuarios,dc=tchelinux,dc=org ou=grupos,dc=tchelinux,dc=org OU = Organizational Unit Objeto para organizar, agrupar objetos. Faz o papel de diretório. 17 - OpenLDAP: Servidor de Autenticação Centralizada
  18. 18. Entendendo os Diretórios Arquivos com nomes diferentes: cn=”Thiago Finardi”, ou=usuarios,dc=tchelinux,dc=org cn=”Palestrantes”,ou=grupos,dc=tchelinux,dc=org CN = Common Name Cada arquivo é classificado de acordo com seu conteúdo. Cada objeto será diferente de acordo com seu conteúdo. 18 - OpenLDAP: Servidor de Autenticação Centralizada
  19. 19. Entendendo os Diretórios 19 - OpenLDAP: Servidor de Autenticação Centralizada
  20. 20. 4º Seminário de Software Livre TcheLinux Pelotas Atributos, ObjectClasses e Schemas
  21. 21. Atributos ● Um atributo é um campo que armazena uma determinada informação; ● Definem regras para o tipo de valor a ser armazenado; 21 - OpenLDAP: Servidor de Autenticação Centralizada
  22. 22. Atributos ● Exemplo: attributetype ( 1.3.6.1.1.1.1.3 NAME ’homeDirectory’ DESC ’The absolute path to the home directory’ EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ● O atributo homeDirectory permite o armazenamento de textos e caracteres especiais. 22 - OpenLDAP: Servidor de Autenticação Centralizada
  23. 23. ObjectClasses ● ObjectClasses são compostas por um conjunto de atributos; ● Possuem derivações, uma objectClass pode herdar atributos requeridos de outra; 23 - OpenLDAP: Servidor de Autenticação Centralizada
  24. 24. ObjectClasses ● Exemplo: objectclass ( 1.3.6.1.1.1.2.0 NAME ’posixAccount’ DESC ’Abstraction of an account with POSIX attributes’ SUP top AUXILIARY MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) ) ● MUST – Atributos obrigatórios ● MAY – Atributos opcionais 24 - OpenLDAP: Servidor de Autenticação Centralizada
  25. 25. ObjectClasses ● O posixAccount é uma classe de objetos que visa criar um usuário real de sistema. Perceba os atributos. ● O conjunto de ObjectClasses e atributos são chamados de “schemas” 25 - OpenLDAP: Servidor de Autenticação Centralizada
  26. 26. Objects ● Um Object é um conjunto de ObjectClass e seus atributos: dn: cn="Thiago Finardi",ou=usuarios,dc=tchelinux,dc=org uid: tfinardi sn: tfinardi objectClass: top objectClass: person objectClass: qmailUser homeDirectory: /home/tfinardi userPassword::c2VuaGEK cn: Thiago Finardi mail: tfinardi@gmail.com 26 - OpenLDAP: Servidor de Autenticação Centralizada
  27. 27. Schemas ● São os arquivos que contém todos os atributos e todos os ObjectClass. ● São arquivos textuais puros que são lidos pelo OpenLDAP. ● Cada schema habilita um determinado tipo informação a ser armazenada na base. ● /etc/ldap/schema 27 - OpenLDAP: Servidor de Autenticação Centralizada
  28. 28. Schemas ● Os schemas são lidos pela base LDAP e assim permite o uso dos campos nele definido. ● Quanto mais schemas sua base LDAP tiver, mais flexível ela será. ● Cada schema contém uma série de objetos e atributos para atender necessidades específicas de recursos específicos (Ex: Samba). 28 - OpenLDAP: Servidor de Autenticação Centralizada
  29. 29. Atributos, ObjectClasses e Schemas ● Resumindo: ● Os schemas nada mais são do que arquivos texto contendo uma série de ObjectClasses. ● Os ObjectClasses nada mais são do que um conjunto de atributos ● Atributos nada mais são do que a definição lógica dos campos que podem ser utilizados em uma base LDAP. 29 - OpenLDAP: Servidor de Autenticação Centralizada
  30. 30. 4º Seminário de Software Livre TcheLinux Pelotas Instalação e Configuração
  31. 31. Instalação ● Iniciando pela configuração correta do nome e endereço IP da máquina antes de realizar a instalação do OpenLDAP. (FQDN) ● Porque essa configuração é importante? ● O nome do servidor é utilizado para compor o nome da raiz da base LDAP. 31 - OpenLDAP: Servidor de Autenticação Centralizada
  32. 32. Configurando nome + domínio ● Altere o /etc/hostname ● ldap.tchelinux.org ● Alterar o /etc/hosts ● 192.168.0.1 ldap.tchelinux.org ● sysctl kernel.hostname=ldap.tchelinux.org 32 - OpenLDAP: Servidor de Autenticação Centralizada
  33. 33. Instalação ● Instalando a partir dos repositórios: ● aptitude install slapd ● Um menu de configuração será aberto ● Defina a senha para a base ldap ● Cheque o sufixo da base em: ● /etc/ldap/slapd.conf 33 - OpenLDAP: Servidor de Autenticação Centralizada
  34. 34. 4º Seminário de Software Livre TcheLinux Pelotas Uso e Gerenciamento
  35. 35. Uso e Gerenciamento ● O uso e gerenciamento do OpenLDAP é feito nativamente pelos seus comandos. Há dois grupos de comandos: os do servidor e os do cliente. ● Comandos “slap” x comandos “ldap”, quais as diferenças entre eles? ● Instalando comandos ldap ● aptitude install ldap-utils 35 - OpenLDAP: Servidor de Autenticação Centralizada
  36. 36. Uso e Gerenciamento Mão na massa 36 - OpenLDAP: Servidor de Autenticação Centralizada
  37. 37. 4º Seminário de Software Livre TcheLinux Pelotas Autenticando Serviços
  38. 38. Instalando o proftpd ● Para instalar o “proftpd” e sua documentação execute o comando abaixo: ● aptitude install proftpd proftpd-mod-ldap proftpd-doc ● Na primeira tela selecione “standalone”(solitário) 38 - OpenLDAP: Servidor de Autenticação Centralizada
  39. 39. Configurando o proftpd ● Edite o arquivo de configuração do “proftpd”: /etc/proftpd/proftpd.conf. ● UseIPv6 off ● ServerName "FTP com OpenLDAP" ● DefaultRoot ~ As linhas alteradas foram: Linha 1 – Desativa o uso de Ipv6; Linha 3 – Mudança no banner apresentado durante o login via ftp; Linha 21 – Define que o diretório padrão, quando um usuário se logar, é o seu diretório “home”. 39 - OpenLDAP: Servidor de Autenticação Centralizada
  40. 40. Configurando o proftpd ● Para fazer o proftpd autenticar na base LDAP adicione as seguintes linhas no arquivo /etc/proftpd/proftpd.conf. LDAPServer ldap.tchelinux.org LDAPDNInfo cn=admin,dc=tchelinux,dc=org sua_senha LDAPDoAuth on "ou=Usuarios,dc=tchelinux,dc=org" uid=%v LDAPUseTLS off 40 - OpenLDAP: Servidor de Autenticação Centralizada
  41. 41. Finalizando ● Para ativar o suporte a LDAP, edite o arquivo “/etc/proftpd/modules.conf” e descomente a linha 22: ● LoadModule mod_ldap.c ● Reinicie o “proftpd”: ● /etc/init.d/proftpd restart 41 - OpenLDAP: Servidor de Autenticação Centralizada
  42. 42. Teste de funcionamento ● Para testar a conexão basta estabelecer uma conexão ftp com o comando: ● ftp ldap.tchelinux.org ● OBSERVAÇÃO: o usuário somente será capaz de logar no servidor FTP se o diretório “home” dele existir. 42 - OpenLDAP: Servidor de Autenticação Centralizada
  43. 43. 4º Seminário de Software Livre TcheLinux Pelotas Porque usar LDAP?
  44. 44. Vantagens do LDAP Padrão aberto; API bem definida com para várias linguagens de programação Esquemas (regras para armazenamento) padronizados para diferentes funções; Permite a consolidação de informações de várias fontes(email,samba,squid,apache,ftp,radius,etc.); Implementa ACL's Facilmente replicável e distribuível.
  45. 45. Muito Obrigado!! Thiago Finardi email: tfinardi@gmail.com Blog: www.botecodigital.info Twitter: @tfinardi Palestra: www.g8si.com/finardi

×