Abaixo segue algumas questões realizadas em concursos com o assunto LDAP
LADP UFS
quinta-feira, 11 de setembro de 2014
quinta-feira, 4 de setembro de 2014
Exemplo de uso do Ldap - Windows Active Directory
Baseado no pré-requisito de se ter um modelo padrão para acessar e armazenar
informações, com o ADS e a padronização feita pelo protocolo LDAP, a Microsoft definiu
como as informações devem ser formatadas. Com isso, foi possível fazer com que diversos
sistemas distintos na rede pudessem autenticar-se na base de dados do ADS ou até mesmo
buscarem informações armazenadas em diretórios. (KING, 2000)
Com o ADS, cada objeto em um diretório possui um nome único para referenciá-
lo, pois utiliza nomes no padrão X.500 para representar cada um dos objetos que ele contém.
Como já visto, em ambientes X.500, o nome completo ou distinto (DN) de qualquer objeto
representa o caminho completo para o topo da estrutura da árvore de diretórios, conforme
pode ser observado
Essa estrutura hierárquica do LDAP possibilitou ao sistema operacional Windows
e ao ADS trabalharem com uma base de dados global, não sendo mais necessário possuir
diversos domínios em uma empresa. Como exemplo,
Esse exemplo mostra que a empresa KingTech possui duas filiais: Reno e Tampa.
Cada uma delas possui diversos departamentos (no caso, Consulting, Education e Sales). A integração LDAP + ADS possibilitou a existência de um domínio único representado pela organização (o - organization) KingTech, com duas unidades organizacionais (ou -organization unit), Reno e Tampa. Assim, temos as seguintes representações para cada uma das filiais:
1. Tampa.KingTech
2. Reno.KingTech
Com essa estrutura centralizada e organizada hierarquicamente, não haverá mais a
complexidade de vários domínios para uma única empresa, passando a existir apenas um domínio central (no caso KingTech) e unidades organizacionais ligadas a ele (no caso, Reno e Tampa). Nesse caso os usuários estariam ligados a organização central, podendo ainda pertencer a uma ou várias unidades organizacionais.
fonte: TCC de BRENO DA SILVA AMARAL
informações, com o ADS e a padronização feita pelo protocolo LDAP, a Microsoft definiu
como as informações devem ser formatadas. Com isso, foi possível fazer com que diversos
sistemas distintos na rede pudessem autenticar-se na base de dados do ADS ou até mesmo
buscarem informações armazenadas em diretórios. (KING, 2000)
Com o ADS, cada objeto em um diretório possui um nome único para referenciá-
lo, pois utiliza nomes no padrão X.500 para representar cada um dos objetos que ele contém.
Como já visto, em ambientes X.500, o nome completo ou distinto (DN) de qualquer objeto
representa o caminho completo para o topo da estrutura da árvore de diretórios, conforme
pode ser observado
Essa estrutura hierárquica do LDAP possibilitou ao sistema operacional Windows
e ao ADS trabalharem com uma base de dados global, não sendo mais necessário possuir
diversos domínios em uma empresa. Como exemplo,
Cada uma delas possui diversos departamentos (no caso, Consulting, Education e Sales). A integração LDAP + ADS possibilitou a existência de um domínio único representado pela organização (o - organization) KingTech, com duas unidades organizacionais (ou -organization unit), Reno e Tampa. Assim, temos as seguintes representações para cada uma das filiais:
1. Tampa.KingTech
2. Reno.KingTech
Com essa estrutura centralizada e organizada hierarquicamente, não haverá mais a
complexidade de vários domínios para uma única empresa, passando a existir apenas um domínio central (no caso KingTech) e unidades organizacionais ligadas a ele (no caso, Reno e Tampa). Nesse caso os usuários estariam ligados a organização central, podendo ainda pertencer a uma ou várias unidades organizacionais.
fonte: TCC de BRENO DA SILVA AMARAL
OpenLdap em Centos 6.3
Vamos demonstrar como instalar um servidor de openldap em um Centos para cetralizarmos os acessos.
Primeiramente vamos desabilitar nosso firewall para que não esteja nada barrando, lembrando que só estou fazendo isso pois é um ambiente de testes.
# system-config-firewall-tui
Vamos agora instalar o openLdap
# yum -y install openldap-servers openldap-clients
Após a instalação vamos realizar a configuração do OpenLDAP.
Vamos ativar o Log
# mkdir /var/log/slapd
# chmod 755 /var/log/slapd/
# chown ldap:ldap /var/log/slapd/
Em seguida precisamos realizar um ajuste no arquivo do rsyslog.
# vim /etc/rsyslog.conf
Inclua a linha abaixo no arquivo.
[...]
local4.* /var/log/slapd/slapd.log
[...]
Em seguida reinicie o serviço.
# service rsyslog restart
Agora vamos realizar a alteração conforme nosso domínio.
# cp -Rfa /etc/openldap/slapd.conf.bkp --- //Vamos criar um backup para garantir
# vim /etc/openldap/slapd.conf
Criando os certificados.
# cd /etc/pki/tls/certs
# make slapd.pem
Na criação do cerfitifaco, será necessário responder a perguntas como qual país, qual cidade, qual organização entre outras.
Após a criação precisaremos ajustar a permissão
# chmod 640 slapd.pem
# chown :ldap slapd.pem
# ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/certs/slapd.pem
Gerando a senha de gerenciamento do OpenLDAP.
#slappasswd
New password: senha
Re-enter new password: senha
{SSHA}mHW4UnE06j/vZVLkuldssdXOAu2CiN89
Ao gerar a senha, ele mostrará a hash da sua senha, guarde-a, pois usaremos ela em uma configuração posterior.
Copiando os arquivos de exemplo para ajustar na configuração.
# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
Atualizando o arquivo 'slapd.conf'.
Todas configurações abaixo serão feitas em slapd.conf.
#vim /etc/openldap/slapd.conf
Alterar as linhas de origem do caminho do certificado.
De:
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password
Para:
TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem
Agora vamos usar a hash gerada anterior aqui:
Busque por 'rootpw' e add a senha que geramos com o comando 'slappasswd'.
[...]
rootpw {SSHA}mHW4UnE06j/vZVLkuldssdXOAu2CiN89
[...]
Realize as alterações de 'dc=my-domain' para o seu dominio. Exatamente essas linhas
by dn.exact="cn=Manager,dc=ldapufs,dc=com,dc=br" read
suffix "dc=ldapufs,dc=com"
checkpoint 1024 15
rootdn "cn=Manager,dc=ldapufs,dc=com,dc=br"
Pronto terminamos aqui o slapd.conf.
Agora vamos habilitar o SSL sobre o LDAP.
#vim /etc/sysconfig/ldap
Procure pela linha abaixo e altere de 'no' para 'yes' para ativar o SSL.
[...]
SLAPD_LDAPS=yes
[...]
Atualizando o arquivo de configuração do Ldap.
#vim /etc/openldap/ldap.conf
Ajuste as configurações conforme abaixo.
BASE dc=tidahora,dc=com,dc=br
URI ldap://localhost
TLS_REQCERT never
TLS_CACERTDIR /etc/openldap/certs
Criando a estrutura inicial do LDAP.
# vim /root/root.ldif
dn: dc=ldapufs,dc=com,dc=br
dc: ldapufs
objectClass: dcObject
objectClass: organizationalUnit
ou: ldapufs.com.br
dn: ou=people,dc=ldapufs,dc=com,dc=br
ou: people
objectClass: organizationalUnit
dn: ou=groups,dc=ldapufs,dc=com,dc=br
ou: groups
objectClass: organizationalUnit
Executando um 'teste'.
# rm -rf /etc/openldap/slapd.d/*
# slapadd -v -n 2 -l /root/root.ldif
Saída do comando acima:
added: "dc=ldapufs,dc=com,dc=br" (00000001)
added: "ou=people,dc=ldapufs,dc=com,dc=br" (00000002)
added: "ou=groups,dc=ldapufs,dc=com,dc=br" (00000003)
_#################### 100.00% eta none elapsed none fast!
Closing DB...
//Caso o comando acima nao funcione, basta criar 3 arquivos cada um com uma estrofe. e criaremos o ldapufs, people e o groups separadamente.
Ajustando a permissão da estrutura de diretórios do LDAP.
# chown -R ldap:ldap /var/lib/ldap
# chown -R ldap:ldap /etc/openldap/slapd.d
Testando as configurações do LDAP.
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d
Ajustando a inicialização do Serviço.
# chkconfig --level 235 slapd on
# /etc/init.d/slapd start
Testando LDAP.
# ldapsearch -x -ZZ -h localhost
# ldapsearch -x -H ldaps://localhost
Um pequeno ajuste a ser realizado no arquivo '/etc/nsswitch.conf'.
#vim /etc/nsswitch.conf
Procure pela linha onde contém 'hosts' e realize a alteração conforme abaixo.
hosts: ldap files dns
Pronto, agora seu servidor estará apto a receber configurações e conexões de acesso.
Existe o phpldapadmin, que é uma ótima ferramente de gerencia do OpenLdap. Em breve posto sobre ela.
Diferença entre LDAP e Active Directory
Muitas pessoas tem dúvidas entre a diferença entre LDAP e Active Directory, muito por causa do OpenLdap, uma versão opensource do Active Directory.
Então vamos lá.
O Active Directory é um sistema baseado em banco de dados que fornece autenticação, diretório, a política, e outros serviços em um ambiente Windows. Active Directory é construído emcima de LDAP, como HTTP é construído em cima de TCP.
LDAP (Lightweight Directory Access Protocol) é um protocolo de aplicação para consultar e modificar itens de prestadores de serviços de diretório como o Active Directory, que suporta uma forma de LDAP.
Ou seja, não podemos fazer quaisquer comparações significativas.
Agora, podemos comparar o Active Directory da Microsoft, como OpenLdap, pois ambos foram feitos emcima do protocolo LDAP, e são bastante usados para unificar redes heterogêneas.
Então vamos lá.
O Active Directory é um sistema baseado em banco de dados que fornece autenticação, diretório, a política, e outros serviços em um ambiente Windows. Active Directory é construído emcima de LDAP, como HTTP é construído em cima de TCP.
LDAP (Lightweight Directory Access Protocol) é um protocolo de aplicação para consultar e modificar itens de prestadores de serviços de diretório como o Active Directory, que suporta uma forma de LDAP.
Ou seja, não podemos fazer quaisquer comparações significativas.
Agora, podemos comparar o Active Directory da Microsoft, como OpenLdap, pois ambos foram feitos emcima do protocolo LDAP, e são bastante usados para unificar redes heterogêneas.
quarta-feira, 27 de agosto de 2014
Estrutura do diretorio LDAP
Enquanto procurava sobre como autenticar o ubuntu via LDAP achei um explicacão interessante sobre a organizaćão do diretorio LDAP
notem que existem mais de um nivel de 'dc' o que indica a possibilidade de subgrupos.
fonte:
http://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP#I_don.27t_get_it._What_is_a_directory.3F
Organisational structure for GenFic, a Fictional Gentoo company
dc: com
|
dc: genfic ## (Organisation)
/ \
ou: People servers ## (Organisational Units)
/ \ ..
uid: .. John ## (OU-specific data)
notem que existem mais de um nivel de 'dc' o que indica a possibilidade de subgrupos.
dn: uid=john,ou=Professor,ou=People,dc=example,dc=com
fonte:
http://wiki.gentoo.org/wiki/Centralized_authentication_using_OpenLDAP#I_don.27t_get_it._What_is_a_directory.3F
terça-feira, 26 de agosto de 2014
Proposta de Estudo de Caso.
Estamos pensando em um demonstrar a configuracao de um servidor de LDAP que irá validar o login de varios serviços.
Eis a estrutra proposta:
1-Sprint:
Configuração do OpenLdap em um servidor Linux.
Instalação do phpLDAPadmin (UI para manutenção da base LDAP).
Serviço de Shell autenticando-se com LDAP
Instancia do PostgreSQL autenticando-se com LDAP ( De acordo com permisão ou não do usuario)
2- Sprint ( De acordo com tempo disponivel para desenvolvimento)
-Login do Windows no openLDAP
-Instalação do mod_authnz_ldap - Apache.
A partir do primeiro sprint será possivel demonstrar como o LDAP pode ser utilizado para gerenciar usuarios e seus niveis de acesso. Mantendo um ponto de cadastro unico.
quarta-feira, 20 de agosto de 2014
OpenLDAP - continuação...
Como já falado em outro post, o OpenLDAP é um software livre de código aberto que implementa o protocolo LDAP. Ele é um serviço de diretório baseado no padrão X.500.
O OpenLDAP é independente de sistema operativo. Várias distribuições Linux incluem o pacote do OpenLDAP. O software também corre nos sistemas operativos BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (2000, XP, 2003, 2008, Vista, win7 e win 8) ez/OS.
Possui basicamente 2 arquivos de configuração, que são, respectivamente:
- slapd.conf - configuração do daemon;
- ldap.conf - configuração para acesso dos clientes à base;
- quais as classes de objetos (object classes) podem ser inseridas num diretório;
- quais os atributos de uma determinada classe de objetos;
- os valores possíveis para os atributos;
O DN é usado para identificar uma entrada de forma não ambígua num serviço de diretório. Esse atributo é composto por uma seqüência de Relative Distinguished Name (RDN) e cada RDN corresponde a um ramo na árvore do diretório, desde a raiz até a entrada à qual o DN faz referência. Um DN é formado por uma série de RD´s separados por vírgulas. Por exemplo:
dn: uid=rodrigo,ou=usuarios,dc=wikipedia,dc=org
A inserção dos dados na base LDAP será feita por meio de arquivos ldif (LDAP Data Interchange Format), um arquivo de texto comum que pode ser criado ou alterado com editores de texto convencionais, obedecendo-se apenas, o schema do diretório. As funções do arquivo ldif são:
- importar dados para o diretório;
- alterar objetos existentes;
- criar o backup do diretório;
- replicação do diretório;
dn: uid=cleber,ou=aluno,dc=escola dc=br
objectClass: top
objectClass: organizationPerson
objectClass: mailUser
uid: cleber
Assinar:
Comentários (Atom)



