Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Alexos Core ...
Tela cheia

Implantando autenticação centralizada e segura usando Openldap

31 de Julho de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 1414 vezes
<p><img src="http://www.kolab.org/images/logo-openldap.png" alt="Openldap" /></p> <p>Uma autenticação centralizada faz parte do processo de adequação do ambiente as boas práticas de segurança. Esta solução provê recursos que atendem aos principios de autenticidade e não-repúdio. Usando a criptografia juntamente com esta solução poderemos previnir ataques de <a href="http://en.wikipedia.org/wiki/Hijacking">hijacking</a>, <a href="http://en.wikipedia.org/wiki/Spoofing_attack">spoofing</a> e <a href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">man in the middle</a>.</p> <p>O <a href="http://en.wikipedia.org/wiki/LDAP"> LDAP</a> (Lightweight Directory Access Protocol) é um protocolo cliente-servidor, utilizado para acessar um serviço de Diretório. Ele foi inicialmente usado como uma interface para o X.500, mas também pode ser usado com autonomia e com outros tipos de servidores de Diretório. Atualmente vem se tornando um padrão, diversos programas já têm suporte a LDAP. Livros de endereços, autenticação, armazenamento de certificados digitai<br /> s (S/MIME) e de chaves públicas (PGP), são alguns dos exemplos onde o LDAP já é amplamente utilizado.</p> <p>O <a href="http://en.wikipedia.org/wiki/OpenLDAP">Openldap</a> é a solução livre para a implementação do LDAP. Diferentemente das soluções proprietárias ( e.g. Active Directory &#8482; ), ele implementa de forma fidedigna as especificações das <a href="http://www.openldap.org/project/kurt/publications.html">RFCs</a> deste protocolo.</p> <p>Este artigo têm como principal objetivo ensinar como implantar uma solução livre e gratuita de autenticação com segurança. Não abordarei conceitos sobre o funcionamento do protocolo, para isso recomendo a leitura das referências.</p> <p>Inicialmente irei configurar um servidor LDAP e um cliente autenticando nesta base. Os próximos artigos apresentarei como integrar outros serviços com HTTP ( Apache ), Proxy ( Squid ) , Email ( Postfix + Dovecot ) ao serviço de diretório. </p> <p>Divirtam-se!!</p> <p><strong>= Configurando o LDAP server ==</strong></p> <p>Instale os pacotes necessários </p> <blockquote><p> aptitude install slapd ldap-utils migrationtools </p></blockquote> <blockquote><p> dpkg-reconfigure slapd </p></blockquote> <blockquote><p> DNS domain name: <strong>acme.local </strong><br /> Organization name: <strong>acme</strong><br /> Database backend to set: <strong>HDB</strong><br /> Do you want the database to be removed when slapd is purged? <strong>No</strong><br /> Move old database? <strong>Yes</strong><br /> Allow LDAPv2 protocol? <strong>Yes</strong> </p></blockquote> <p><strong>== Adicionando Schemas ==</strong></p> <p>Acesso o diretório /etc/ldap/schemas</p> <blockquote><p> cd /etc/ldap/schemas </p></blockquote> <p>Faça o download dos schemas. Eles serão importantes na implementação do kerberos e na autenticação dos usuários do Postfix</p> <blockquote><p> wget http://www.bayour.com/openldap/schemas/krb5-kdc.schema</p> <p>wget http://trac.kyapanel.com/export/360/trunk/ldap/schema/qmailuser.schema </p></blockquote> <p>Edite o arquivo /etc/ldap/slapd adicionando os novos schemas e novos indices no index</p> <blockquote><p> vim /etc/ldap/slapd.conf </p></blockquote> <blockquote><p> include /etc/ldap/schema/krb5-kdc.schema<br /> include /etc/ldap/schema/qmailuser.schema</p> <p>index objectClass,ou,cn,sn,uid,uidNumber,mail,mailAlternateAddress,mailForwardingAddress,memberUid eq </p></blockquote> <p>Reinicie o slapd </p> <blockquote><p> invoke-rc.d slapd restart </p></blockquote> <p><strong>== Testando ==</strong></p> <blockquote><p> ldapsearch -x -b &#8220;dc=acme,dc=local&#8221; </p></blockquote> <blockquote><p> # extended LDIF<br /> #<br /> # LDAPv3<br /> # base with scope subtree<br /> # filter: (objectclass=*)<br /> # requesting: ALL<br /> #</p> <p># acme.local<br /> dn: dc=acme,dc=local<br /> objectClass: top<br /> objectClass: dcObject<br /> objectClass: organization<br /> o: acme<br /> dc: acme</p> <p># admin, acme.local<br /> dn: cn=admin,dc=acme,dc=local<br /> objectClass: simpleSecurityObject<br /> objectClass: organizationalRole<br /> cn: admin<br /> description: LDAP administrator</p> <p># search result<br /> search: 2<br /> result: 0 Success</p> <p># numResponses: 3<br /> # numEntries: 2 </p></blockquote> <p><strong>== Migrando os usuários e grupos locais com o migration tools ==</strong></p> <p>O migrationtools é um conjunto de scripts responsáveis por migrar as informações locais como hosts, serviços, usuários, grupos e etc para a infraestrutura do LDAP. </p> <p>Edite as seguintes linhas do arquivo /usr/share/migrationtools</p> <blockquote><p> vim migrate_common.ph </p></blockquote> <blockquote><p> $DEFAULT_MAIL_DOMAIN = &#8220;acme.local&#8221;;</p> <p>$DEFAULT_BASE = &#8220;dc=acme,dc=local&#8221;;</p> <p>$EXTENDED_SCHEMA = 1; </p></blockquote> <p>Importe a base</p> <blockquote><p> ./migrate_base.pl > base.ldif </p></blockquote> <p>O arquivo base.ldif contém a infraestrutura básica de OUs ( Unidades Organizacionais ). Como o objetivo de nosso LDAP é autenticação então edite o arquivo base.ldif deixando somente as seguintes informações:</p> <blockquote><p> dn: dc=acme,dc=local<br /> dc: acme<br /> objectClass: top<br /> objectClass: domain<br /> objectClass: domainRelatedObject<br /> associatedDomain: acme.local</p> <p>dn: ou=People,dc=acme,dc=local<br /> ou: People<br /> objectClass: top<br /> objectClass: organizationalUnit<br /> objectClass: domainRelatedObject<br /> associatedDomain: acme.local</p> <p>dn: ou=Group,dc=acme,dc=local<br /> ou: Group<br /> objectClass: top<br /> objectClass: organizationalUnit<br /> objectClass: domainRelatedObject<br /> associatedDomain: acme.local </p></blockquote> <p>Migre as contas e as senhas dos usuários</p> <blockquote><p> ETC_SHADOW=/etc/shadow ./migrate_passwd.pl /etc/passwd > passwd.ldif </p></blockquote> <p>Migre os grupos</p> <blockquote><p> ./migrate_group.pl /etc/group > group.ldif </p></blockquote> <p><strong>== Atualize o BD do LDAP ==</strong></p> <blockquote><p> ldapadd -h localhost -x -W -D &#8220;cn=admin,dc=acme,dc=local&#8221; -c -f base.ldif</p> <p>ldapadd -h localhost -x -W -D &#8220;cn=admin,dc=acme,dc=local&#8221; -c -f passwd.ldif</p> <p>ldapadd -h localhost -x -W -D &#8220;cn=admin,dc=acme,dc=local&#8221; -c -f group.ldif </p></blockquote> <p><strong>== Testando ==</strong></p> <blockquote><p> ldapsearch -LL -H ldap://localhost -b&#8221;dc=acme,dc=local&#8221; -x &#8220;(uid=alexos)&#8221; </p></blockquote> <blockquote><p> dn: uid=alexos,ou=People,dc=acme,dc=local<br /> uid: alexos<br /> cn: alexos<br /> sn: alexos<br /> mail: alexos@acme.local<br /> objectClass: person<br /> objectClass: organizationalPerson<br /> objectClass: inetOrgPerson<br /> objectClass: posixAccount<br /> objectClass: top<br /> objectClass: krb5Principal<br /> objectClass: shadowAccount<br /> shadowMax: 99999<br /> shadowWarning: 7<br /> krb5PrincipalName: alexos@ACME.LOCAL<br /> loginShell: /bin/bash<br /> uidNumber: 1000<br /> gidNumber: 1000<br /> homeDirectory: /home/alexos<br /> gecos: alexos,,, </p></blockquote> <p><strong>Referências:</strong></p> <p><a href="http://www.andreaswacker.com/blog/2010/05/10/ldap_sasl_bindsimple-cant-contact-ldap-server-1/">Andreaswacker</a><br /> <a href="http://linsec.ca/Using_OpenLDAP_for_User_Authentication">Linsec.ca</a><br /> <a href="http://www.openldap.org/doc/admin24/">Openldap.org</a></p> <p><strong><a href="http://blog.alexos.com.br/?p=1901&amp;#038;lang=en">Continua&#8230;.</a></strong></p> <div><h3>See:</h3><ul><li><a href="http://blog.alexos.com.br/?p=1913&amp;lang=pt-br" class="crp_title">Implantando autenticação centralizada e segura usando Openldap &#8211; PAM e LDAP</a></li><li><a href="http://blog.alexos.com.br/?p=1901&amp;lang=pt-br" class="crp_title">Implantando autenticação centralizada e segura usando Openldap &#8211; ACLs e SSL ( LDAPs )</a></li><li><a href="http://blog.alexos.com.br/?p=344&amp;lang=pt-br" class="crp_title">Configurando o Bind9 no Ubuntu/Debian ( Atualizado )</a></li><li><a href="http://blog.alexos.com.br/?p=990&amp;lang=pt-br" class="crp_title">Autenticando o Ocomon no AD</a></li><li><a href="http://blog.alexos.com.br/?p=950&amp;lang=pt-br" class="crp_title">Monitorando vários servidores de forma simples com o Munin</a></li></ul></div><p><a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Google Bookmarks" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/google.png" height="16" alt="Google Bookmarks" width="16" /></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Twitter" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/twitter.png" height="16" alt="Twitter" width="16" /></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Technorati Favorites" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/technorati.png" height="16" alt="Technorati Favorites" width="16" /></a> <a href="http://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Google Gmail" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/gmail.png" height="16" alt="Google Gmail" width="16" /></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="LinkedIn" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/linkedin.png" height="16" alt="LinkedIn" width="16" /></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Google Reader" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/reader.png" height="16" alt="Google Reader" width="16" /></a> <a href="http://www.addtoany.com/add_to/wordpress?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="WordPress" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/wordpress.png" height="16" alt="WordPress" width="16" /></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Slashdot" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/slashdot.png" height="16" alt="Slashdot" width="16" /></a> <a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Reddit" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/reddit.png" height="16" alt="Reddit" width="16" /></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Delicious" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/delicious.png" height="16" alt="Delicious" width="16" /></a> <a href="http://www.addtoany.com/add_to/multiply?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Multiply" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/multiply.png" height="16" alt="Multiply" width="16" /></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Digg" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/digg.png" height="16" alt="Digg" width="16" /></a> <a href="http://www.addtoany.com/add_to/identi_ca?linkurl=http%3A%2F%2Fblog.alexos.com.br%2F%3Fp%3D1880%26amp%3Blang%3Dpt-br&amp;linkname=Implantando%20autentica%C3%A7%C3%A3o%20centralizada%20e%20segura%20usando%20Openldap" title="Identi.ca" target="_blank"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/icons/identica.png" height="16" alt="Identi.ca" width="16" /></a> <a href="http://www.addtoany.com/share_save" class="a2a_dd addtoany_share_save"><img src="http://blog.alexos.com.br/wp-content/plugins/add-to-any/share_save_171_16.png" height="16" alt="Share/Bookmark" width="171" /></a> </p>
Fonte: http://blog.alexos.com.br/?p=1880&lang=pt-br

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.