Carlos “Charlie” Navarro 3 casos de uso de un árbol LDAP y su evolución o Es realmente útil LDAP o Como organizo mi árbol.

1 Carlos “Charlie” Navarro [email protected] 3 casos ...
Author: María Josefa Castro Torregrosa
0 downloads 0 Views

1 Carlos “Charlie” Navarro [email protected] 3 casos de uso de un árbol LDAP y su evolución o Es realmente útil LDAP o Como #$%^@#&&& organizo mi árbol LDAP para que sea útil

2 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil ¿Que sabemos de LDAP? ● Lightweight Directory Access Protocol. ● Conjunto de objetos con atributos similares ordenados. ● Distinto a DBMS. ● Objetos, que pueden variar la cantidad de atributos. ● Existe una cuestión oscura (schemas). ● Servidor (slapd) con protocolo TCP. ● Servidor replicación (slurpd). ● Clientes en todas las plataformas ● Servidores Windows guardan en LDAP ● Sabemos como usarlo

3 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Objetivo ● ¿Que queremos obtener? ● ¿Que es lo que tenemos? ● ¿Como organizamos estos datos?

4 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil dn: uid=charlie,ou=people,dc=ip6cba,dc=com,dc=ar uid: charlie cn: Carlos Navarro objectclass: account objectclass: posixAccount objectclass: top loginshell: /bin/bash uidnumber: 1001 gidnumber: 1001 homedirectory: /home/charlie gecos: Carlos Navarro,,,, userpassword: {crypt}KDnOoUYN7Neac dn: cn=charlie,ou=groups,dc=ip6cba,dc=com,dc=ar cn: charlie description: Groupo del usuario charlie gidnumber: 1001 objectclass: top objectclass: posixGroup

5 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Que ponemos /etc/pam.d/login: #%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_nologin.so auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_unix_auth.so use_first_pass account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix_acct.so password required /lib/security/pam_cracklib.so password sufficient /lib/security/pam_ldap.so password required /lib/security/pam_unix_passwd.so use_first_pass md5 shadow session required /lib/security/pam_unix_session.so

6 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Que ponemos /etc/ldap/ldap.conf: host ldap.ip6cba.com.ar base dc=ip6cba, dc=com, dc=ar pam_filter objectclass=posixAccount pam_login_attribute uid pam_member_attribute memberuid

7 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Primer Problema Usuarios Distintos cada lugar pero pueden ir de lugar a lugar, que hago ahora: dn: uid=charlie,ou=people,dc=ip6cba,dc=com,dc=ar O diferencio entre: dn:uid=charlie,ou=people,dc=suc1,dc=ip6cba,dc=com,dc=ar dn:uid=charlie,ou=people,dc=suc2,dc=ip6cba,dc=com,dc=ar

8 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Usamos un atributo l, que es parte del ObjectClass: top. Y tocamos en /etc/ldap.conf pam_filter (&(objectClass=possAccount)(l=suc1)) Para una u otra sucursal.

9 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Podemos agregar acceso por proftpd? LDAPServer localhost LDAPDNInfo cn=admin,dc=ip6cba,dc=com,dc=ar pass LDAPQueryTimeout 5 LDAPDoAuth on (&(uid=%u)(l=suc1))

10 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Trabajando con Mail con Postfix mail es un atributo de organizationalPerson virtual_alias_maps = ldap:vlocalldap:vlocal vlocal_server_host = localhost vlocal_search_base = dc=ip6cba,dc=com,dc=ar vlocal_query_filter = (&(objectClass=posixAccount)(mail=%s)) vlocal_result_attribute = uid

11 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil SaMBa Hay que agregar la clase: sambaSamAccount Nos obliga a: sambaSID: S-1-5-21-2064868664-4159471237-241190580-3004 Y necesitamos: sambaHomePath: \\server\charlie sambaHomeDrive: H: sambaProfilePath: \\server\profiles\charlie sambaPrimaryGroupSID: S-1-5-21-2064868664-4159471237-241190580-3005 sambaDomainName: IP6CBA

12 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil SaMBA Y el archivo de configuración smb.conf ldap admin dn = cn=admin,dc=ip6cba,dc=com,dc=ar ldap delete dn = Yes ldap group suffix = ou=groups ldap idmap suffix = ou=people ldap machine suffix = ou=computers ldap passwd sync = Yes ldap suffix = dc=ip6cba,dc=com,dc=ar ldap user suffix = ou=people passdb backend = ldapsam:ldap://localhost/

13 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Quedando Finalmente: dn: uid=charlie,ou=people,dc=ip6cba,dc=com,dc=ar sn: Navarro givenName: Carlos cn: Carlos Navarro homeDirectory: /home/charlie loginShell: /bin/bash uidNumber: 1002 gidNumber: 1002 gecos: Carlos Navarro mail: [email protected] sambaSID: S-1-5-21-2064868664-4159471237-241190580-3004 uid: charlie sambaHomePath: \\server\charlie sambaHomeDrive: H: sambaProfilePath: \\server\profiles\charlie sambaPrimaryGroupSID: S-1-5-21-2064868664-4159471237-241190580-3005 sambaDomainName: IP6CBA objectClass: sambaSamAccount objectClass: posixAccount objectClass: shadowAccount objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson sambaLMPassword: 96FDA202848A7303E68AA26A841A86FA sambaNTPassword: 3A80662631B2774C1BB9FD8D14082D90 userPassword:: e3NzaGF9L2pXNldGQ3FZOEYxRUs1MGlPeTFvOTlSNXlVbG8xWmo=

14 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Primeras Conclusiones En los dn no hay que poner info variable Hay que usar ObjectClass Hay que exprimir los filtros Hay que buscar utilitarios correctos

15 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Administración de Usuarios Para un ISP Multidominio ● Administración de DNS ● Administración de Mail ● Administración de Alias ● Administración de usuarios ssh/ftp

16 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil dn: ou=dns,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: organizationalUnit ou: dns description: dns zone on ldap dn: dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: dnsdomain2 objectClass: domainrelatedobject dc: ip6cba.com.ar associatedDomain: ip6cba.com.ar aRecord: 200.44.45.15 Administración de DNS dn: dc=www,dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: dnsdomain2 objectClass: domainrelatedobject dc: www associatedDomain: www.ip6cba.com.ar aRecord: 200.44.45.15 dn: dc=mail,dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: dnsdomain2 objectClass: domainrelatedobject dc: mail associatedDomain: mail.ip6cba.com.ar aRecord: 200.44.45.30 Configuración de pdns ldap-basedn=ou=dns,dc=ip6cba,dc=com,dc=ar ldap-binddn=cn=admin,dc=example,dc=tld ldap-secret=elpasswordvaca ldap-method=simple

17 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Administración de Mails dn: vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: VirtualDomain vd: ip6cba.com.ar postfixTransport: virtual: accountActive: TRUE delete: FALSE editAV: FALSE dn: cn=postmaster,vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: VirtualMailAlias mail: [email protected] lastChange: 1044310841 maildrop: [email protected] accountActive: TRUE cn: postmaster sn: Migrate from Jamm editAccounts: TRUE userPassword:: cXFxcQ== creationDate: 20051020 dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: VirtualMailAlias mail: [email protected] maildrop: [email protected] maildrop: [email protected] maildrop: [email protected] accountActive: TRUE sn: Info cn: Info

18 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: VirtualMailAlias mail: [email protected] maildrop: [email protected] accountActive: TRUE sn: Navarro cn: Carlos dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar objectClass: top objectClass: VirtualMailAccount objectClass: Vacation objectClass: amavisAccount objectClass: VirtualForward mail: [email protected] sn: Carlos Navarro accountActive: TRUE delete: FALSE vacationActive: FALSE otherTransport: gnarwl: amavisBypassVirusChecks: FALSE amavisBypassSpamChecks: FALSE cn: Carlos Navarro quota: 10485760 amavisSpamKillLevel: 6.0 amavisSpamTag2Level: 5.5 amavisSpamTagLevel: 3.0 forwardActive: TRUE userPassword:: e01ENX1pZkFuQUFoSXN0eDlzenhMQk9ubXpBPT0= Administración de Mails

19 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil dn: ou=dns,dc=ip6cba,dc=com,dc=ar dn: dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar dn: dc=www,dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar dn: dc=mail,dc=ip6cba.com.ar,ou=dns,dc=ip6cba,dc=com,dc=ar dn: o=hosting,dc=ip6cba,dc=com,dc=ar dn: vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar dn: cn=postmaster,vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar dn: [email protected],vd=ip6cba.com.ar,o=hosting,dc=ip6cba,dc=com,dc=ar Resumen de DNS y Mails

20 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil

21 dn: dc=misuper,dc=com,dc=ar dn: ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: suc=alta cordoba,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: pc=server,suc=alta cordoba,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: pc=pos1,suc=alta cordoba,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: pc=pos2,suc=alta cordoba,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: suc=san vicente,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: pc=server,suc=san vicente,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: pc=pos1,suc=san vicente,ou=cordoba,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: ou=san francisco,ou=cordoba,dc=ip6cba,dc=com,dc=ar dn: ou=rosario,ou=santa fe,dc=ip6cba,dc=com,dc=ar dn: ou=santa fe,ou=santa fe,dc=ip6cba,dc=com,dc=ar dn: ou=corrientes,dc=ip6cba,dc=com,dc=ar dn: ou=parana,ou=corrientes,dc=ip6cba,dc=com,dc=ar dn: ou=concordia,ou=corrientes,dc=ip6cba,dc=com,dc=ar El Supermercado Nacional

22 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil El Supermercado Nacional

23 Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Segundas Conclusiones Los dn sirven para separar árboles El dn es un filtro en sí mismo Uno modifica desde la raiz los datos También son modificados del otro lado

24 Carlos “Charlie” Navarro [email protected] 3 casos de uso de un árbol LDAP y su evolución o Es realmente útil LDAP o Como #$%^@#&&& organizo mi árbol LDAP para que sea útil Gracias