SlideShare a Scribd company logo
1 of 45
Download to read offline
4º Seminário de Software
Livre TcheLinux Pelotas




                  Servidor de Autenticação
                           Centralizada
$ 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
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
OK deu, e o LDAP?


                      Experiência com




4 - OpenLDAP: Servidor de Autenticação Centralizada
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
4º Seminário de Software
Livre TcheLinux Pelotas




                           LDAP
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
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
4º Seminário de Software
Livre TcheLinux Pelotas




                           Diretórios
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
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
4º Seminário de Software
Livre TcheLinux Pelotas




                  Serviço de Diretórios
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
4º Seminário de Software
Livre TcheLinux Pelotas




                     Entendendo os
                       Diretórios
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
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
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
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
Entendendo os Diretórios




19 - OpenLDAP: Servidor de Autenticação Centralizada
4º Seminário de Software
Livre TcheLinux Pelotas




                Atributos, ObjectClasses
                       e Schemas
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
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
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
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
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
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
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
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
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
4º Seminário de Software
Livre TcheLinux Pelotas




                      Instalação e
                      Configuração
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
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
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
4º Seminário de Software
Livre TcheLinux Pelotas




                  Uso e Gerenciamento
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
Uso e Gerenciamento

                            Mão na massa




36 - OpenLDAP: Servidor de Autenticação Centralizada
4º Seminário de Software
Livre TcheLinux Pelotas




                  Autenticando Serviços
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
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
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
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
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
4º Seminário de Software
Livre TcheLinux Pelotas




                   Porque usar LDAP?
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.
Muito Obrigado!!




                          Thiago Finardi
                     email: tfinardi@gmail.com
                     Blog: www.botecodigital.info
                     Twitter: @tfinardi
                   Palestra: www.g8si.com/finardi

More Related Content

What's hot

Gerência de Redes - 9.Gerenciamento LDAP
Gerência de Redes - 9.Gerenciamento LDAPGerência de Redes - 9.Gerenciamento LDAP
Gerência de Redes - 9.Gerenciamento LDAPMauro Tapajós
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicaçõeselliando dias
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
Intro Arquitetura Oracle
Intro Arquitetura OracleIntro Arquitetura Oracle
Intro Arquitetura OraclePablo Garcia
 
Funcionalidades Oracle
Funcionalidades OracleFuncionalidades Oracle
Funcionalidades Oracleharlycarreiro
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroSouza Natália
 
Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active DiretoryPedro Neto
 
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracleEduardo Lopes
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active DirectoryEduardo Sena
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDBHugo Souza
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g TI Infnet
 
Weka em aplicações java
Weka em aplicações javaWeka em aplicações java
Weka em aplicações javaMarcio Palheta
 
Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISIS
Desenvolvendo Aplicativos com  Zend Framework  e banco de dados CDS/ISISDesenvolvendo Aplicativos com  Zend Framework  e banco de dados CDS/ISIS
Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISISDomingos Teruel
 

What's hot (20)

Gerência de Redes - 9.Gerenciamento LDAP
Gerência de Redes - 9.Gerenciamento LDAPGerência de Redes - 9.Gerenciamento LDAP
Gerência de Redes - 9.Gerenciamento LDAP
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicações
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Intro Arquitetura Oracle
Intro Arquitetura OracleIntro Arquitetura Oracle
Intro Arquitetura Oracle
 
Funcionalidades Oracle
Funcionalidades OracleFuncionalidades Oracle
Funcionalidades Oracle
 
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC CruzeiroApresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
Apresentação Active Directory na V Semana de Tecnologia FATEC Cruzeiro
 
Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active Diretory
 
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracle
 
Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
J530 3 jndi
J530 3 jndiJ530 3 jndi
J530 3 jndi
 
Conceitos iniciais de Active Directory
Conceitos iniciais de Active DirectoryConceitos iniciais de Active Directory
Conceitos iniciais de Active Directory
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active Directory
 
CouchDB Presentation
CouchDB PresentationCouchDB Presentation
CouchDB Presentation
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g Inúmeras Razões para Migrar de Oracle 10g para 11g
Inúmeras Razões para Migrar de Oracle 10g para 11g
 
Migrando para o PHP 5
Migrando para o PHP 5Migrando para o PHP 5
Migrando para o PHP 5
 
Weka em aplicações java
Weka em aplicações javaWeka em aplicações java
Weka em aplicações java
 
Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISIS
Desenvolvendo Aplicativos com  Zend Framework  e banco de dados CDS/ISISDesenvolvendo Aplicativos com  Zend Framework  e banco de dados CDS/ISIS
Desenvolvendo Aplicativos com Zend Framework e banco de dados CDS/ISIS
 
Active Directory
Active Directory Active Directory
Active Directory
 

Viewers also liked

Viewers also liked (9)

Active Directory
Active DirectoryActive Directory
Active Directory
 
Ebook - Diretivas de Grupo (GPO)
Ebook - Diretivas de Grupo (GPO)Ebook - Diretivas de Grupo (GPO)
Ebook - Diretivas de Grupo (GPO)
 
O que é literatura marginal
O que é literatura marginalO que é literatura marginal
O que é literatura marginal
 
Revisional de Literatura para o ENEM
Revisional de Literatura para o ENEMRevisional de Literatura para o ENEM
Revisional de Literatura para o ENEM
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
 
Teoria da literatura
Teoria da literaturaTeoria da literatura
Teoria da literatura
 
LITERATURA: ESCOLAS LITERÁRIAS
LITERATURA: ESCOLAS LITERÁRIASLITERATURA: ESCOLAS LITERÁRIAS
LITERATURA: ESCOLAS LITERÁRIAS
 
Modernismo
ModernismoModernismo
Modernismo
 
O negro na literatura brasileira
O negro na literatura brasileiraO negro na literatura brasileira
O negro na literatura brasileira
 

Similar to Servidor de autenticação centralizada com OpenLDAP

OpenLDAP: Centralizar é preciso
OpenLDAP: Centralizar é precisoOpenLDAP: Centralizar é preciso
OpenLDAP: Centralizar é precisoThiago Finardi
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldapCarlos Veiga
 
T@rget Trust - Formação: Administrador e Suporte Linux
T@rget Trust - Formação: Administrador e Suporte LinuxT@rget Trust - Formação: Administrador e Suporte Linux
T@rget Trust - Formação: Administrador e Suporte LinuxTargettrust
 
Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directoryjdavalos
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineOtávio Calaça Xavier
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Gabriel Machado
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 págOi S.A
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Thyago Maia
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dnsOi S.A
 
[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-FirstVitor Tomaz
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppetRamon Mota
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 

Similar to Servidor de autenticação centralizada com OpenLDAP (20)

OpenLDAP: Centralizar é preciso
OpenLDAP: Centralizar é precisoOpenLDAP: Centralizar é preciso
OpenLDAP: Centralizar é preciso
 
Aula03 - protocolo ldap
Aula03 -  protocolo ldapAula03 -  protocolo ldap
Aula03 - protocolo ldap
 
OpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-loOpenLDAP: Porque utilizá-lo
OpenLDAP: Porque utilizá-lo
 
T@rget Trust - Formação: Administrador e Suporte Linux
T@rget Trust - Formação: Administrador e Suporte LinuxT@rget Trust - Formação: Administrador e Suporte Linux
T@rget Trust - Formação: Administrador e Suporte Linux
 
Integrado Linux y Active Directory
Integrado Linux y Active DirectoryIntegrado Linux y Active Directory
Integrado Linux y Active Directory
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 
Workshop_OpenLDAP
Workshop_OpenLDAPWorkshop_OpenLDAP
Workshop_OpenLDAP
 
Abstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP DoctrineAbstração do banco de dados com PHP Doctrine
Abstração do banco de dados com PHP Doctrine
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Apres tec. 1ª estrela 40 pág
Apres tec. 1ª estrela   40 págApres tec. 1ª estrela   40 pág
Apres tec. 1ª estrela 40 pág
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
 
Primeiros Passos Com Elasticsearch
Primeiros Passos Com ElasticsearchPrimeiros Passos Com Elasticsearch
Primeiros Passos Com Elasticsearch
 
Apresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael FelixApresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael Felix
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dns
 
Entity Framework 4 Code-First
Entity Framework 4 Code-FirstEntity Framework 4 Code-First
Entity Framework 4 Code-First
 
[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First[NetPonto] Entity Framework 4 Code-First
[NetPonto] Entity Framework 4 Code-First
 
Administracao de sistemas_com_puppet
Administracao de sistemas_com_puppetAdministracao de sistemas_com_puppet
Administracao de sistemas_com_puppet
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Treinamento DBA Essential
Treinamento DBA EssentialTreinamento DBA Essential
Treinamento DBA Essential
 

More from Thiago Finardi

Hacking Ético e os Testes de Invasão - UruguaianaTech 2014
Hacking Ético e os Testes de Invasão - UruguaianaTech 2014Hacking Ético e os Testes de Invasão - UruguaianaTech 2014
Hacking Ético e os Testes de Invasão - UruguaianaTech 2014Thiago Finardi
 
Monitoramento de Redes com Zabbix
Monitoramento de Redes com ZabbixMonitoramento de Redes com Zabbix
Monitoramento de Redes com ZabbixThiago Finardi
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IPThiago Finardi
 
Monitoramento de Ativos: Você sabe o que acontece na sua rede?
Monitoramento de Ativos: Você sabe o que acontece na sua rede?Monitoramento de Ativos: Você sabe o que acontece na sua rede?
Monitoramento de Ativos: Você sabe o que acontece na sua rede?Thiago Finardi
 
Análise Forense Computacional
Análise Forense ComputacionalAnálise Forense Computacional
Análise Forense ComputacionalThiago Finardi
 
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux Uruguaiana
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux UruguaianaEspelhamento de Discos (Raid1) Local e Remoto - TchêLinux Uruguaiana
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux UruguaianaThiago Finardi
 
Espelhamento RAID1 Debian
Espelhamento RAID1 DebianEspelhamento RAID1 Debian
Espelhamento RAID1 DebianThiago Finardi
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros InteligentesThiago Finardi
 
Debian para servidores
Debian para servidoresDebian para servidores
Debian para servidoresThiago Finardi
 
Filtros inteligentes: Otimizando sua Internet
 Filtros inteligentes: Otimizando sua Internet Filtros inteligentes: Otimizando sua Internet
Filtros inteligentes: Otimizando sua InternetThiago Finardi
 

More from Thiago Finardi (10)

Hacking Ético e os Testes de Invasão - UruguaianaTech 2014
Hacking Ético e os Testes de Invasão - UruguaianaTech 2014Hacking Ético e os Testes de Invasão - UruguaianaTech 2014
Hacking Ético e os Testes de Invasão - UruguaianaTech 2014
 
Monitoramento de Redes com Zabbix
Monitoramento de Redes com ZabbixMonitoramento de Redes com Zabbix
Monitoramento de Redes com Zabbix
 
Análise de Tráfego TCP/IP
Análise de Tráfego TCP/IPAnálise de Tráfego TCP/IP
Análise de Tráfego TCP/IP
 
Monitoramento de Ativos: Você sabe o que acontece na sua rede?
Monitoramento de Ativos: Você sabe o que acontece na sua rede?Monitoramento de Ativos: Você sabe o que acontece na sua rede?
Monitoramento de Ativos: Você sabe o que acontece na sua rede?
 
Análise Forense Computacional
Análise Forense ComputacionalAnálise Forense Computacional
Análise Forense Computacional
 
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux Uruguaiana
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux UruguaianaEspelhamento de Discos (Raid1) Local e Remoto - TchêLinux Uruguaiana
Espelhamento de Discos (Raid1) Local e Remoto - TchêLinux Uruguaiana
 
Espelhamento RAID1 Debian
Espelhamento RAID1 DebianEspelhamento RAID1 Debian
Espelhamento RAID1 Debian
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros Inteligentes
 
Debian para servidores
Debian para servidoresDebian para servidores
Debian para servidores
 
Filtros inteligentes: Otimizando sua Internet
 Filtros inteligentes: Otimizando sua Internet Filtros inteligentes: Otimizando sua Internet
Filtros inteligentes: Otimizando sua Internet
 

Servidor de autenticação centralizada com OpenLDAP

  • 1. 4º Seminário de Software Livre TcheLinux Pelotas Servidor de Autenticação Centralizada
  • 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. 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. OK deu, e o LDAP? Experiência com 4 - OpenLDAP: Servidor de Autenticação Centralizada
  • 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. 4º Seminário de Software Livre TcheLinux Pelotas LDAP
  • 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. 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. 4º Seminário de Software Livre TcheLinux Pelotas Diretórios
  • 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. 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. 4º Seminário de Software Livre TcheLinux Pelotas Serviço de Diretórios
  • 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. 4º Seminário de Software Livre TcheLinux Pelotas Entendendo os Diretórios
  • 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. 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. 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. 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. Entendendo os Diretórios 19 - OpenLDAP: Servidor de Autenticação Centralizada
  • 20. 4º Seminário de Software Livre TcheLinux Pelotas Atributos, ObjectClasses e Schemas
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 4º Seminário de Software Livre TcheLinux Pelotas Instalação e Configuração
  • 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. 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. 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. 4º Seminário de Software Livre TcheLinux Pelotas Uso e Gerenciamento
  • 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. Uso e Gerenciamento Mão na massa 36 - OpenLDAP: Servidor de Autenticação Centralizada
  • 37. 4º Seminário de Software Livre TcheLinux Pelotas Autenticando Serviços
  • 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. 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. 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. 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. 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. 4º Seminário de Software Livre TcheLinux Pelotas Porque usar LDAP?
  • 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. Muito Obrigado!! Thiago Finardi email: tfinardi@gmail.com Blog: www.botecodigital.info Twitter: @tfinardi Palestra: www.g8si.com/finardi