Vous êtes sur la page 1sur 11

Introduo

Eu irei apresentar: O LDAP;

Alguns cuidados a tomar sobre o OpenLDAP Note !ue" apesar desta s#rie estar focada no $ed %at & '" a maioria dos mesmos princ(pios aplicam)se ao Debian e outras distribui*es

Ainstalao e configurao do OpenLDAP; Amigrao para o OpenLDAP e a configurao de consultas LDAP; A configurao do PAM e NSS para o LDAP; A proteo da conta root; Algumas ferrametnas LDAP; A proteo do OpenLDAP; O OpenLDAP e o SSL;

Autenticao, PAM e NSS


A autenticao # o processo em !ue um usu+rio !ue est+ fa,endo o login em um sistema Linu- tem suas credenciais c.ecadas antes de ter permisso de acesso Normalmente isto significa !ue ele precisa fornecer um nome de login e uma sen.a Muitos programas diferentes fornecem autenticao" cada um usando um m#todo diferente Por e-emplo" o programa b+sico /ni- login fornece uma interface de te-to simples para um usu+rio entrar um user 0D e uma sen.a Sisgemas de login gr+fico como o 1MD 2ou 3DM" ou 4DM5" fornecem uma interface diferente Programas como o SS% podem autenticar usu+rios baseados em coisas como c.a6es $SA ou DSA" bem como assinaturas E-istem muitos ssitemas de autenticao e protocolos de autenticao diferents dispon(6eis no Linu- .o7e 8omo todo sistema /ni- tradicional" o Linu- # capa, de autenticar usu+rios contra entradas nos ar!ui6os 9etc9pass:d e 9etc9s.ado:" mas ele tamb#m suporta es!uemas de autenticao como o 4erberos" $AD0/S" e LDAP" !ue significa Lig.t:eig.t Director; Access Protocol 2Protocolo Le6e de Acesso a Diret<rios5 O PAM 2!ue significa Pluggable Aut.entication Modules )) M<dulos de Autenticao Plug+6eis5 # um con7unto de bibliotecas fornecidos com a maioria das distribui*es Linu- modernas" e # instalado por padro no $ed %at Linu- As bibliotecas PAM fornecem uma interface consistente a um protocolo de autenticao /ma aplicao pode usar as bibliotecas PAM para permitir o uso de !ual!uer protocolo de autenticao dentro da aplicao" assim" se o administrador de sistema !uer mudar de" por e-emplo" autenticao 9etc9pass:d para o LDAP" a aplicao no precisa ser re)escrita ou recompilada O PAM e-ige um m<dulo PAM para cada sistema de autenticao E-istem mais m<dulos de autenticao PAM no site acima 0nfeli,mente" o PAM somente fornece parte da informao necess+ria para controlar os usu+rios em um sistema LinuAl#m de permitir c.ecar se um usu+rio entrou com a sen.a correta" um sistema Linu- precisa outras informa*es" como o 0D num#rico do usu+rio" o diret<rio .ome" o s.ell padro" etc Esta informao" !ue normlmente # arma,enada no ar!ui6o 9etc9pass:d" pode ser determinada atra6#s de uma interface de sistema con.ecida como NSS" ou Name Ser6ice S:itc. Somente alguns es!uemas de autenticao fornecem informa*es suficientes para serem =teis para NSS Por e-emplo" o 4erberos somente arma,ena informao de autenticao de usu+rios" e no detal.es como o diret<rio .ome ou s.ell padro Assim" no .+ um m<dulo NSS para o 4erberos

O que o LDAP?
O LDAP" ou Lig.t:eig.t Director; Access Protocol" # um protocolo de rede !ue # usado para acessar informa*es em um banco de dados orientado a ob7etos O LDAP inclui funcionalidades !ue o tornam =til tanto para o PAM !uanto para o NSS" pois pode autenticar usu+rios" bem como fornecer informa*es sobre o usu+rio como nomes de diret<rios .ome e s.ell padro para o NSS /m Ser6idor LDAP ou Ser6idor de Diret<rio 2>s 6e,es abre6iado como DS5 # um ser6idor !ue pode en6iar e receber informa*es 6ia protocolo LDAP ?ipicamente" um ser6idor LDAP # um soft:are !ue @ou6e@ as portas padro LDAP 2ABC e >s 6e,es DAD5 por cone-*es" e responde a solicita*es e consultas LDAP Para fa,er uma analogia com bancos de dados" o LDAP # o e!ui6alente do SEL" e o ser6idor SEL # como um ser6idor de bancos de dados" como o Oracle ou M;SEL Ser6idores LDAP so particularmente =teis para arma,enar informa*es sobre pessoas 0sto por causa da nature,a orientada a ob7eto do LDAP Diferente de um banco de dados relacional" um ob7eto em um diret<rio LDAP pode conter um n=mero arbitr+rio de atributos" e cada atributo pode ter um n=mero arbitr+rio de 6alores 0sto o torna =til por 6+rias ra,*es Por e-emplo" uma lin.a de bancos de dados contendo uma coluna para um n=mero de telefone ir+ permitir uma =nica entrada na!uela coluna de n=mero de telefone para cada lin.a no banco de dados /ma pessoa" entretanto" pode ter mais de um n=mero de telefone" assim o LDAP permite !ue m=ltiplos n=meros de telefones se7am arma,enados no mesmo ob7eto de pessoa Note a diferena sutil de terminologia a!ui: n<s dissemos um Fdiret<rioF LDAP" em 6e, de Fbanco de dadosF" n<s c.amamos as entradas no diret<rio de Fob7etosF" em 6e, de Flin.asF" e c.amamos os 6alores de

campos de um ob7eto de FatributosF" em 6e, de FcolunasF

Por que usar o LDAP?


Existem v rias ra!"es #or qu$ devemos usar o LDAP%
O LDAP permite !ue a centrali,ao de informa*es sobre usu+rios" sen.as" diret<rios .ome" etc" em um =nico lugar na rede Se estamos usando ar!ui6os 9etc9pass:d" por e-emplo" precisamos nos certificar !ue os ar!ui6os pass:d fi!uem em sincronia na rede" !ue pode ser um pesadelo completo em uma rede enorme com usu+rios trocando sen.as recularmente O LDAP oferece transa*es criptografadas A maioria dos ser6idores LDAP oferece cone-*es criptografadas usando o SSL 2ou usando o Start ?LS na porta ABC ou o LDAPS na porta DAD5" !ue # mais segura !ue alguns mecanismos pelas !uais sen.as so transferidas pela rede /m diret<rio LDAP # tamb#m =til para outras finalidades Por e-emplo" ele pode rapida e facilmente ser usado como um diret<rio de email da e!uipe e dos contatos da empresa G poss(6el usar o LDAP em uma estrutura de +r6ore" diferente do 9etc9pass:d ou das tabelas N0S !ue basicamente arma,enam informa*es de usu+rios em uma estrutura plana 8om um n=mero maior de usu+rios fa, sentido di6idir os mesmos em unidades organi,acionais de forma !ue eles possam ser encontrados e gerenciados mais facilmente A longo pra,o" isto torna a administrao de diret<rios LDAP menos onerosa !ue a administrao de ar!ui6os 9etc9pass:d ou bancos de dados N0S9N0SH

O#enLDAP
O OpenLDAP # uma implementao open source de um ser6idor de diret<rio LDAP O OpenLDAP # instalado por padro no $ed %at & ' e posteriores" e est+ dispon(6el nas 6ers*es D I e posteriores do $ed %at Note !ue 6ers*es anteriores do $ed %at usam a 6erso ' do OpenLDAP Apesar de ser considerado uma 6erso est+6el pelo time OpenLDAP" por um n=mero de ra,*es de segurana eu alerto contra o uso do mesmo Por e-emplo" ele no suporta o SSL ou c.ecagem de es!uema Sua 6erso do OpenLDAP de6e ser a I J &)A ou posterior

Insta&ando o O#enLDAP
8omo sempre" 6ocK pode instalar o OpenLDAP a partir do c<digo fonte" bai-ando o mesmo do :eb site do OpenLDAP" e seguindo as intru*es de compilao Min.a preferKncia" entretanto" # instalar os pacotes OpenLDAP dos ar!ui6os $PM conforme segue Note !ue 6ocK precisa instalar tanto o pacote do ser6idor !uanto do cliente se 6ocK !uiser configurar um ser6idor OpenLDAP Primeiro" colo!ue seu 8D)$OM do $ed %at na unidade de leitura e use a seguinte se!LKncia de comandos: mount 9de69cdrom 9mnt9cdrom cd 9mnt9cdrom9$ed%at9$PMS rpm )/.6 openldap)I J &)'M iABD rpm openldap)ser6ers)I J &)'M iABD rpm umount 9mnt9cdrom

G poss(6el !ue os pacotes 7+ este7am realmente instalados em seu sistema 2para 6erificar isto 6ocK pode e-ecutar o comando rpm )! openldap5 ?amb#m # poss(6el !ue 6ocK precise resol6er alguma dependKncia na instalao dos $PMs acima Em particular" os pacotes do OpenLDAP e-igem o pacote OpenSSL" e" pelo menos" o pacote NrbO)libs

LDAP, e 'i'&iotecas PAM e NSS


Para poder usar o LDAP pro6a6elmente 6ocK ir+ precisar instalar as bibliotecas PAM para o LDAP No $ed %at D I e posteriores" estas esto inclu(das ni pacote nssPldap 2uma 6e, !ue as bibliotecas pamPldap no so muito =teis sem as bibliotecas nssPldap e 6ice)6ersa5 Elas so instaladas normalmente por padro ) para testar" use o comando run )! nssPldap Se o pacote nssPldap no est+ instalado" 6ocK pode instalar o mesmo usando o $PM conforme segue: mount 9de69cdrom 9mnt9cdrom cd 9mnt9cdrom9$ed%at9$PMS rpm )/.6 nssPldapQ rpm

umount 9mnt9cdrom

Se 6ocK precisar obter o c<digo fonte das bibliotecas pamPldap e nssPldap" elas esto dispon(6eis no PADL com" nos seguintes locais: .ttp:99::: padl com9pamPldap .tml para o pamPldap .ttp:99::: padl com9nssPldap .tml para o nssPldap

(on)i*urando o O#enLDAP
A configurao do OpenLDAP # feita atra6#s do ar!ui6o 9etc9openldap9slapd conf E-iste uma p+gina man descre6endo o conte=do do ar!ui6o slapd conf 26e7a man slapd conf5 bem como um e-celente guia de administrao no site do OpenLDAP 8omo ponto inicial" 6ocK pode !uerer usar este ar!ui6o simples de configurao: R R See slapd conf2O5 for details on configuration options R ?.is file s.ould NO? be :orld readable R include include include include include include include 9etc9openldap9sc.ema9core sc.ema 9etc9openldap9sc.ema9cosine sc.ema 9etc9openldap9sc.ema9inetorgperson sc.ema 9etc9openldap9sc.ema9nis sc.ema 9etc9openldap9sc.ema9rfcBII)MailMember sc.ema 9etc9openldap9sc.ema9autofs sc.ema 9etc9openldap9sc.ema9Nerberosob7ect sc.ema

RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R ldbm database definitions RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR

database suffirootdn rootp: director;

ldbm @oSM;8ompan;"cSA/@ @uidSroot"ouSPeople"oSM;8ompan;"cSA/@ secret 96ar9lib9ldap

R 0ndices to maintain indeindeob7ect8lass"uid"uidNumber"gidNumber cn"mail"surname"gi6enname e! e!"subinitial

R R A8Ls R

access to dnS@ Q"ouSPeople"oSM;8ompan;"cSA/@ attrSuserPass:ord b; self :rite b; dnS@uidSroot"ouSPeople"oSM;8ompan;"cSA/@ :rite b; Q aut.

access to dnS@ Q"oSM;8ompan;"cSA/@ b; self :rite b; dnS@uidSroot"ouSPeople"oSM;8ompan;"cSA/@ :rite b; Q read

access to dnS@ Q"oSM;8ompan;"cSA/@ b; Q read

defaultaccess read

/ma coisa !ue de6e ser notada no ar!ui6o de configurao acima: os usu+rios de6em substituir @oSM;8ompan;"cSA/@ no ar!ui6o com um Tase DN !ue represente sua organi,ao Note !ue eu prefiro utili,ar a especificao estilo 1 OJJ acima" mas 6ocK pode usar a especificao DNS" !ue # @dcSm;compan;"dcScom"dcSau@ ou similar Por e-emplo" se sua comania for c.amada @farnarNle com@" 6ocK pode usar @dcSfarnarNle"dcScom@ ou pode usar @oSfarnarNle"cS/S@ Lembre desta Tase DN" ela ser+ importante mais tarde Eu resol6i incluir algum 8ontrole de Acesso elementar no ar!ui6o O ar!ui6o padro slapd conf inclu(do com o $ed %at Linu- no inclui A8Ls" mas elas so obrigat<rias em uso real UocK pode !uerer e-pandir as A8Ls acima 26e7a o manual slapd conf ou o guia do administrador5 Eu inclu( uma sen.a root padro ) FsecretF Esta # uma m+ id#ia uma 6e, !ue 6ocK ten.a dados no seu diret<rio LDAP 0remos tratar isto mais tarde /ma 6e, !ue 6ocK ten.a um ar!ui6o slapd conf funcional" 6ocK pode iniciar seu ser6idor G bem f+cil fa,er isto" 6ocK s< precisa e-ecutar o seguinte comando: 9etc9rc d9init d9ldap start Desde !ue o ar!ui6o slapd conf este7a correto" 6ocK de6e poder usar o pstree para 6er um processo slapd em e-ecuo Se o ar!ui6o slapd conf esti6er errado" procure as mensagens de erro 2e-ecutar o slapd )d pode ser de a7uda5" corri7a !ual!uer problema !ue 6ocK 6e7a" e tente no6amente

Mi*rando #ara o O#enLDAP


/ma 6e, !ue 6ocK ten.a seu ser6idor LDAP iniciado" 6ocK ter+ um diret<rio 6a,io A primeira coisa !ue 6ocK precisa fa,er # popular o mesmo com dados de sua base de autenticao e-istente

+sando as )erramentas LDAP )ornecidas


O OpenLDAP fornece uma suite de ferramentas para migrar dados de sua base N0S ou 9etc9pass:d e-istente para o LDAP Se 6ocK atualmente e-ecuta outro es!uema de autenticao como o 4erberos ou S94e;" e est+ migrando para o LDAP" ento eu ac.o !ue 6ocK est+ por conta No $ed %at Linu- & '" as ferramentas de migrao esto em 9usr9s.are9openldap9migration No $ed %at D I e anteriores elas esto em 9usr9lib9openldap9migration9 Em !ual!uer dos casos" abra uma 7anela de s.ell" mude para a!uele

diret<rio" e comece a trabal.ar Primeiro" edite o ar!ui6o migratePcommon p. Perto da lin.a &I 6ocK 6K um par de lin.as parecidas com estas: VDEWA/L?PMA0LPDOMA0N S @babel com au@; VDEWA/L?PTASE S @oSTabel"cSA/@;

UocK precisar+ editar estas duas lin.as" colocando seu dom(nio de correio padro e a Tase DN !ue 6ocK definiu anteriormente no ar!ui6o slapd conf A seguir" # s< e-ecutar as ferramentas de migrao 0sto pode ser feito usando um comando simples" assumindo !ue 6ocK est+ migrando do 9etc9pass:d para o LDAP: migratePallPonline s. 2certifi!ue)se !ue seu ser6idro LDAP est+ sendo e-ecutado antes de usar o comando acima5 Este comando ir+ perguntar !ual o seu DN root e sen.a 2entre a sen.a secret !ue definimos no ar!ui6o slapd conf5" e ir+ inciar a popular seu diret<rio LDAP

(on)i*urando consu&tas LDAP


?er os dados no diret<rio LDAP # bom" mas em algum momento 6ocK ir+ !uerer consultar os dados E-iste um con7unto padro de ferramentas de consulta e administrao do LDAP baseadas em lin.a de comando !ue so fornecidas com o OpenLDAP Estas incluem o ldapadd" ldapmodif;" e o ldapsearc. 8ada uma destas ferramentas possui uma p+gina man" e 6ocK de6e ler em detal.es estas p+ginas O ar!ui6o de configurao padro para estas ferramentas # o 9etc9openldap9ldap conf O formato de ar!ui6o # bastante simples Em um =nico sistema ele precisa conter somente as seguintes duas lin.as: TASE oSM;8ompan;"cSA/ /$0 ldap:99'I& J J '

Lembre)se de substituir o Tase DN pelo !ue 6ocK definiu no ar!ui6o slapd conf" no lugar do oSM;8ompan;"cSA/ mostrado acima Em uma rede" 6ocK pode ter !ue substituir o endereo 'I& J J ' pelo endereo 0P do seu ser6idor LDAP Para a!ueles !ue entendem um pouco mel.or os conceitos do LDAP: o OpenLDAP no suporta 2ainda5 a locali,ao base SLP ou DNS $$" assim" 6ocK precisa ser bastante perciso acerca da locali,ao do ser6idor )) ou um endereo 0P" um nome de .ost em 9etc9.osts" ou algo !ue possa ser encontrado no DNS /ma 6e, !ue 6ocK ten.a feito isto" 6ocK de6e poder e-ecutar uma pes!uisa simples UocK pode comear procurando seu usu+rio root usando o comando abai-o: ldapseac. )- FuidSrootF UocK de6e 6er uma entrada bastante parecida com a abai-o: 6ersion: I

R R filter: uidSroot R re!uesting: ALL R

R root"People"M;8ompan;"A/ dn: uidSroot"ouSPeople"oSM;8ompan;"cSA/ uid: root cn: root

sn: root mail: root,m-com#an-.com.au ob7ect8lass: person ob7ect8lass: organi,ationalPerson ob7ect8lass: inetOrgPerson ob7ect8lass: account ob7ect8lass: posi-Account ob7ect8lass: top ob7ect8lass: NerberosSecurit;Ob7ect ob7ect8lass: s.ado:Account s.ado:Ma-: CCCCC s.ado:Xarning: & NrbName: root,M/(OMPAN/.(OM.A+ loginS.ell: 9bin9bas. uidNumber: J gidNumber: J .omeDirector;: 9root gecos: root

R searc. result searc.: I result: J Success

R num$esponses: I R numEntries: '

Agora !ue 6ocK c.egou to longe" pare e sorria UocK conseguiu fa,er o LDAP funcionar" o !ue >s 6e,es no # uma tarefa f+cilY 0sto nos le6a ao fim do primeiro artigo desta s#rie de dois artigos No pr<-imo artigo" iremos continuar a discusso do OpenLDAP e do Linu-" cobrindo assuntos como: 8onfigurar o PAM e NSS para o LDAP" Werramentas LDAP" tornar o OpenLDAP mais seguro e a gerao de c.a6es SSL para o OpenLDAP

(on)i*urando o PAM e o NSS #ara o LDAP +sando aut0con)i*


Primeiro" um a6iso: este roteiro s< funciona com o aut.config do $ed %at 6ers*es & J ou posteriores Se 6ocK est+ usando o $ed %at D I ou anterior" 6ocK precisar+ ler as p+ginas man sobre os ar!ui6os de configurao e ediar os mesmos > mo Note !ue no .+ um ar!ui6o 9etc9pam d9s;stem)aut. no $ed %at D I a configurao do PAM e NSS para usar o LDAP e-ige !ue se7a editado um ar!ui6o de configurao em 9etc9pam d 29etc9pam d9s;stem)aut.5" a modificao do ar!ui6o de configurao NSS" !ue # 9etc9nss:itc. conf" e a edio dos ar!ui6os de configurao pamPnss e pamPldap" !ue # 9etc9ldap conf Weli,mente" o $ed %at fornece um utilit+rio

c.amado aut.config !ue fa, isto automaticamente para 6ocK Para usar o mesmo" e-ecute aut.config na lin.a de comando Dentro do aut.config" isto # um e-erc(cio direto Mar!ue o !uadro F/se LDAPF Nos pr<-imos !uadros" entre um 6alor para o ser6idor 2o mesmo endereo 0P !ue 6ocK usaou em 9etc9openldap9ldap conf5" e um Tase DN 2o mesmo Tase DN especificado em 9etc9openldap9slapd conf5 /ma 6e, finali,ado" tudo de6e estar configurado Eu descobri !ue a mel.or forma de descobrir isto # como segue: Primeiro" encontre uma conta no diret<rio LDAP" usando um comando como ldapsearc. )- FuidSsomeaccountF Esta conta de6e ser uma !ue foi copiada do ar!ui6o 9etc9pass:d !ue 6ocK tin.a no sistema antes de configurar o LDAP Uerifi!ue se a conta e-iste" usando Ffinger someaccountF UocK de6e obter uma resposta mostrando o user id" nome" e outros detal.es /sando o 6i ou outro editor de te-to" edite o ar!ui6o 9etc9pass:d e remo6a a conta" e /sando o finger no6amente" 6erifi!ue se a conta ainda e-iste Se tudo esti6er correto" ela ainda e-istir+ ) os detal.es da conta esto agora sendo recuperados do LDAP em 6e, de 9etc9pass:d

Prote1a a (onta 2oot


O ar!ui6o slapd conf !ue foi configurado anteriormente cont#m uma entrada para o DN root bem como uma sen.a Esta sen.a # usada como uma sen.a de recuperao para o root DN caso a entrada no se7a encontrada no diret<rio Ob6iamente" !uando 6ocK configura o LDAP a primeira 6e," com um banco de dados 6a,io" esta entrada era e-igida Agora no # mais" portanto 6ocK de6e comentar a mesma" como segue: rootdn R rootp: @uidSroot"ouSPeople"oSM;compan;"cSA/@ secret

Sua sen.a root de6e ter sido obtida do ar!ui6o 9etc9pass:d ou 9etc9s.ado: e inserida no LDAP Para testar isto" repita a pes!uisa acima usando a opo )D no ldapsearc. para tentar um logon em seu diret<rio LDAP" como segue: ldapsearc. )- )D FuidSroot"ouSPeople"oSM;8ompan;"cSA/F )X FuidSrootF

O ldapsearc. ir+ pedir uma sen.a ) entre sua sen.a de superusu+rio a!ui e" se tudo correr de acordo com o plane7ado" de6e funcionar corretamente

3erramentas LDAP de Lin0a de (omando


O OpenLDAP 6em com um le!ue de ferramentas de lin.a de comando /ni- para administrao do diret<rio LDAP Estas ferramentas so =teis como referKncia" e como ferramentas similares so fornecidas com muitos outros sistemas LDAP comerciais" # uma boa id#ia aprender estas As ferramentas 6Km com p+ginas man compreensi6as" entretanto" pode ser mel.or ler alguma informao LDAP na 0nternet e9ou um guia de administrao LDAP para aprender a terminologia As ferramentas so: ldapsearc. ) para pes!uisar entradas no LDAP; ldapadd ) para acrescentar entradas no LDAP; ldapmodif; ) para editar entradas no LDAP; ldapdelete ) para e-cluir entradas no LDAP; ldappass:d ) para mudar a sen.a de uma entrada LDAP; e" ldapmodrdn ) para renomear uma entrada LDAP

Etas ferramentas admitem um con7unto de parZmetros de lin.a de comando comuns" !ue incluem op*es como: 6 ) modo 6erboso;

N ) use autenticao 4erberos - ) use autenticao simples c ) operao cont(nua 2no aborta se .ou6er um erro5; f ) leia a informao de um ar!ui6o; D ) especifi!ue um DN LDAP para se conectar; X ) solicite uma sen.a para autenticao; e" % ) use um ser6idro LDAP em particular" e-emplo: )% ldap:99ldap m;compan; com

Outras )erramentas LDAP


E-iste uma 6ariedade enorme de ferramentas LDAP dispon(6eis gratuita ou comercialmente na internet /ma r+pida pes!uisa no fres.meat por LDAP 6ai re6elar 6+rias A!ui esto algumas !ue eu gosto bastante 3E O 3E # uma ferramenta poderosa !ue permite !ue 6ocK 6e7a dentro do diret<rio LDAP e administre parte do mesmo O 3E permite controle completo sobre o ser6idor LDAP" incluindo: Tro:ser de ob7etos LDAP ) Werramentas para acrescentar9e-cluir9atuali,ar entradas no LDAP; e" Tro:ser de es!uema LDAP ) Werramentas para construir entradas a partir de outras entradas" ou configurar modelos

O 3E tamb#m permite !ue 6ocK entre dentro do diret<rio LDAP e 6e7a as fun*es internas do LDAP O 3E est+ dispon(6el na forma de c<digo fonte do site :eb" e o c<digo fonte inclui um ar!ui6o spec" de forma !ue 6ocK pode criar um ar!ui6o $PM se !uiser

Director- Administrator
O Director; Administrator # uma aplicao para administrar entradas de usu+rio e grupos em ser6idores de diret<rio LDAP Ela fornece uma interface amig+6el para administrar os detal.es pessoais dos usu+rios" informa*es de li6ro de endereo" e roteamento de email 2para 6ers*es do sendmail !ue suportam informa*es de roteamento de email arma,enadas em LDAP5 Eu ac.ei a interface do Director; Administrator simples e intuiti6a" apesar de no ser to poderoso !uanto o 3E e no ir al#m da administrao simples de usu+rios e grupos O autor do Director; Administrator tem prometido uma no6a 6erso por algum tempo" e eu ten.o alguns poucos itens na min.a lista de pedidos para ele" o principal problema # !ue sua 7anela principal fornece uma 6isuali,ao no ordenada e no estruturada de todos os usu+rios na +r6ore do diret<rio Se e-iste um n=mero muito grande de usu+rios no diret<rio" isto # insatisfat<rio 2eu ten.o cerca de 'OJJ em uma +r6ore LDAP !ue administro" e no ser+ incomum organi,a*es !ue tem de,enas de mil.ares5 8omo uma ferramenta b+sica de administrao de usu+rios em uma rede Linu- pe!uena com um diret<rio LDAP" entretanto" o Director; Administrator # uma e-celente ferramenta

O 2ed 4at 5ic6start e o O#enLDAP


Ocasionalmente eu monto sistemas usando a ferramenta 4icNstart da $ed .at A =ltima 6erso do sistema de instalao do $ed %at inclui algumas op*es 4icNstart !ue podem ser usadas para conectar um sistema a uma rede baseada no LDAP durante a instalao do sistema As op*es so descritas em detal.e no $ed %at Linu- 8ustomi,ation 3uide" mas a opo principal !ue 6ocK precisa # o parZmetro @aut.@ !ue de6e ser: aut. ))enableldap ))enableldapaut. ))ldapser6erS ))basednS

O $ed %at tamb#m inclui alguma informao sobre o OpenLDAP no seu $ed %at Linu- $eference 3uide" especialmente o cap(tulo M Se 6ocK 6ai usar a autenticao 4erberos com o OpenLDAP" ento 6ocK precisa ler tamb#m o cap(tulo C

3a!endo o O#enLDAP Mais Se*uro

A maneira principal em !ue 6ocK pode mel.orar a segurana do OpenLDAP # incluir o modo secure socNets la;er 2SSL ) camada segura de so!uetes5" e o modo transport la;er securit; 2?LS ) segurana de camada de transporte5 na sua cone-o cliente9ser6idor 0sto criptografa todo o tr+fego LDAP usando o protocolo SSL O OpenLDAP 6erso I J e posterior possui a capacidade de rodar nos modos SSL e ?LS usando as bibliotecas OpenSSL" mas 6ocK de6e estar usando uma 6erso posterior > I J & para !ue funcione corretamente Os passos principais !ue 6ocK de6e serguir para conseguir !ue o OpenLDAP funcione com o SSL so: 8ertifi!ue)se !ue o OpenLDAP este7a compilado com as bibliotecas OpenSSL; e" 3ere as c.a6es SSL para o OpenLDAP 8onfigure o OpenLDAP para usar as c.a6es SSL ?esteY

Note !ue e-iste duas formas diferentes de operar o OpenLDAP com o SSL So elas: ?LS" tamb#m con.ecido como modo Start ?LS Esta # a abordagem mais moderna a comunica*es protegidas" pois usa a mesma porta ?8P !ue # usada para conectar ao ser6idor OpenLDAP 2ABC5 mas fa, a mudana para a comunicao segura usando um comando @Start ?LS@ antes !ue !ual!uer dado se7a transferido; e" O modo SSL" !ue opera em uma porta ?8P diferente 2DAD5 da porta LDAP padro" e comea a cone-o em modo seguro

O modo ?LS # mais fle-(6el !ue o modo SSL 2uma 6e, !ue clientes ou ser6idores !ue no entendem o SSL podem continuar a comunicao ignorando o comando Start ?LS5" mas infeli,mente muitos ser6idores e clientes LDAP antigos no implementaram este modo e s< usam o modo SSL Assim # prefer(6el" na min.a opinio" para fe,er os seus ser6idores e clientes LDAP funcionando tanto no modo ?LS !uanto SSL

(om#i&ando o O#enLDAP com o O#enSSL


Weli,mente" esta # a parte mais f+cil do trabal.o Se 6ocK est+ usando uma 6erso do OpenLDAP empacotada com" por e-emplo" o $ed %at ou Debian Linu-" 6ocK descobrir+ !ue este trabal.o 7+ foi feito para 6ocK No6amente" certifi!ue)se !ue 6ocK tem uma 6erso recente do OpenLDAP 2no $ed %at" !ual!uer 6erso !ue # I J &)A ou posterior ser6e5 Se 6ocK est+ compilando o OpenLDAP do c<digo fonte" 6ocK s< precisa informar a seguinte flag adicional !uando esti6er rodando o script de configurao do OpenLDAP: )):it.)tls UocK tamb#m precisa certificar)se !ue as bibliotecas OpenSSL esto presentes em seu sistema

7erando c0aves SSL #ara o O#enLDAP


Para usar o OpenLDAP no modo ?LS ou SSL 6oc[e precisa gerar uma c.a6e SSL em formato PEM Assumindo !ue 6ocK tem o OpenSSL instalado 2caso contr+rio 6ocK no estaria fa,endo isto5" 6ocK ir+ encontrar um ar!ui6o MaNefile no diret<rio 9usr9s.are9ssl9certs !ue cont#m os comandos apropriados para criar esta c.a6e UocK pode e-ecutar o seguinte comando: cd 9usr9s.are9ssl9certs maNe slapd pem

Durante o processo de criao da c.a6e" o programa ir+ pedir 6+rios detal.es sobre seu ser6idor Estes incluem o c<digo do pa(s" estado" nome da organi,ao" endereo email" nome do ser6idor" etc $esponda estas !uest*es da forma mais completa poss(6el ) elas sero codificadas no ar!ui6o PEM Se 6ocK no tem o ar!ui6o MaNefile do OpenSSL" ou no pode e-ecutar o comando @maNe@ por alguma ra,o" ento ter+ de criar o ar!ui6o PEM manualmente Segue um roteiro apro-imado dos comandos necess+rios: 9usr9bin9openssl re! )ne:Ne; rsa:'JIM )Ne;out tempfile' )nodes )-OJC )da;s ADO )out tempfileI cat tempfile' \ ldap pem

ec.o @@ \\ ldap pem cat tempfileI \\ ldap pem rm )f tempfile' tempfileI

Note !ue este comando ir+ criar uma c.a6e $SA e ir+ auto)assinar a mesma c.a6e 8.a6es auto)assinadas no so usuais em 2por e-emplo5 comunica*es %??PS" pois as c.a6es so geralmente assinadas por uma terceira empresa con.ecida como 8ertification Aut.orit; Neste caso" entretanto" uma c.a6e auto)assinada # aceit+6el" 7+ !ue a maioria dos clientes LDAP no c.eca a assinatura da c.a6e Ob6iamente" para usu+rios mais a6anados" # poss(6el gerar uma c.a6e e ter a mesma assinada por uma 8ertification Aut.orit; e-terna Wica a seu crit#rio o !ue fa,er Nota importante: uma 6e, !ue 6ocK ten.a gerado as c.a6es" # importante !ue elas se7am tornadas Fread onl;F pelo usu+rio !ue est+ rodando o ser6idor LDAP Para o $ed %at Linu-" o ser6idor OpenLDAP 2slapd5 # e-ecutado como um usu+rio no pri6ilegiado" c.amado FldapF" em um grupo c.amado FldapF Para tornar este usu+rio e grupo os propriet+rios da c.a6e rec#m criada" e-ecute o seguinte comando: c.o:n ldap ldap slapd pem

(on)i*urando o O#enLDAP #ara usar c0aves SSL


Para configurar o OpenLDAP para usar as c.a6es SSL !ue 6ocK rec#m criou" # preciso modificar o ar!ui6o 9etc9openldap9slapd conf As seguintes lin.as de6em ser acrescidas ao ar!ui6o 2elas podem estar em !ual!uer parte do ar!ui6o" mas eu sugiro colocar as mesmas perto do in(cio" ap<s todas as declara*es FincludeF5: ?LS8ip.erSuite %03%:MED0/M:HSSL6I ?LS8ertificateWile 9usr9s.are9ssl9certs9slapd pem ?LS8ertificate4e;Wile 9usr9s.are9ssl9certs9slapd pem

Note !ue e-istem diferentes 6alores 6+lidos para a lin.a ?LS8ip.erSuite" mas a lin.a acima # o !ue eu recomendo UocK pode tamb#m ter !ue modificar seu script de iniciali,ao do LDAP Se 6ocK est+ usando o $ed %at Linu- 6erso & J ou posterior" no ser+ necess+rio 8aso contr+rio" 6ocK de6e locali,ar a lin.a no seu script de iniciali,ao 2pro6a6elmente 9etc9rc d9init d9ldap ou 9etc9init d9ldap5 !ue cont#m a lin.a !ue incia o slapd" e modificar a mesma para ficar assim: slapd ). F@ldap:999 ldaps:999@F G a opo ap<s o @).@ !ue nos interessa neste ponto UocK de6e notar !ue estmos informando ao ser6idor LDAP para funcionar tanto nos modos ldap !uanto ldaps 2seguro5 ?eoricamente" uma 6e, !ue isto se7a feito" 6ocK pode desligar o modo ldap e usar somente o modo seguro" mas isto no # recomendado" 7+ !ue muitos clientes LDAP no suportam o modo seguro Note !ue podem .a6er mais op*es na lin.a !ue roda o slapd em seu script de inciali,ao: dei-e as mesmas intactas G preciso reiniciar o ser6idor LDAP para !ue o mesmo re)leia o ar!ui6o slapd conf: 9etc9rc d9init d9ldap stop 9etc9rc d9init d9ldap start

8estando o O#enLDAP e o SSL


O primeiro passo para testar se o ser6idor LDAP est+ funcionando no modo SSL # e-ecutar o seguinte comando: netstat )a ] grep L0S?EN E-aminando a sa(da do comando" 6ocK pode 6er se o seu ser6idor slapd est+ ou6indo a porta ABC 2ldap5 bem como a porta DAD 2ldaps5 Se o modo SSL no esti6er funcionando" ento ele estar+ ou6indo apenas a porta ABC 2ldap5 Weli,mente" o OpenSSL 6em no s< com um =til gerador de c.a6es" mas tamb#m com um testador de lin.a SSL Ele funciona com o seguinte comando: openssl sPclient )connect local.ost:DAD )s.o:certs

Note !ue eu escol.i usar a cone-o direta ao LDAP no modo SSL em 6e, de ir atra6#s do ?LS ) o =ltimo # poss(6el" mas um pouco complicado Se tudo correr bem" 6ocK de6e 6er alguma sa(da do ser6idor LDAP na 7anela de comando" mostrando informa*es sobre o certificado" bem como o certificado" 0Ds da sesso" e c.a6es mestre" !ue esto em uso pelo ser6idor Se 6ocK puder encontrar um cliente LDAP !ue suporta SSL ou ?SL" como o 3E" ati6e a opo no cliente !ue .abilita o modo ?LS" e 6e7a se ele funciona Uoila" 6ocK tem agora um ser6idor LDAP seguroY

Pro'&emas com o O#enLDAP


Por mais !ue eu goste de soft:are li6re" eu ten.o encontrado alguns problemas durante o tempo !ue eu ten.o usado o OpenLDAP Por e-emplo" em comparao com alguns ser6idores LDAP como o iPlanet DS e o NDS da No6ell" ele # um pouco lento 0sto pode ser percebido !uando opera*es tanto de leitura !uanto escrita esto sendo e-ecutadas ao mesmo tempo Eu tamb#m descobri alguns bugs no ser6idor OpenLDAP e bibliotecas Estes causam 6+rios problemas" incluindo coisas como fal.as em pes!uisas NSS sob carga" transa*es SSL terminando inesperadamente" e problemas de recuperao de diret<rio depois de um s;stem cras. Para o seu cr#dito" o time do OpenLDAP mant#m um sistema de controle de bugs acess(6el ao p=blico" onde o status de problemas como estes podem ser monitorados Em algumas ocasi*es eu consegui reparar certos bugs ao re6erter para 6ers*es anteriores das bibliotecas NSS LDAP 8omo alternati6as ao OpenLDAP" tanto o ser6idor de diret<rios No6ell !uanto o iPlanet 2no)gratuitos" no open source5 possuem ser6idores dispon(6eis ao Linu- Ambos funcionam bem com as bibliotecas padro LDAP NSS e PAM" apesar da No6ell fornecer seu pr<prio PAM e bibliotecas NSS 2por um preo5 0nfeli,mente" uma discusso mais profunda sobre os ser6idores de diret<rio da No6ell e iPlanet ter+ de esperar outra oportunidade" pois est+ fora do escopo deste artigo

Vous aimerez peut-être aussi