11c57998aefaa854d4dc0433f13e778a.ppt
- Количество слайдов: 24
Integración de servicios con LDAP Universidad de Navarra Centro de Tecnología Informática Ignacio Coupeau Borrás 011023. 01
Integración de servicios con LDAP · · · · Evolución histórica de nuestra instalación Objetivos finales Servicios integrados con el LDAP en la actualidad Descripción del sistema Estructura y configuración El cambio a Open. Ldap v 2. x Seguridad en LDAP Experiencias CTI
Objetivos finales · Centralización/coordinación - Repositorio de perfiles de usuario para el acceso a distintos servicios/sistemas - Autentificación/autorización para el acceso a recursos CTI
Servicios integrados con el LDAP · · · Inicio de sesión NT (perfiles, policies, etc. ). Samba 2. 2. 2 Acceso a recursos compartidos SMB (Samba): - impresoras: sistema de cuotas; faxserver - discos (shares) Autentificación y accounting de usuarios de correo (POP, IMAP y SMTP) y servicios (TELNET, WEB, FTP, SSH, etc. ) en máquinas unix: pam y nsswitch · · · Libro de direcciones (y routing/addressing del correo smtp [RFC 822]) Validación para Acceso Remoto (Radius) Acceso a espacios Web restringidos mod_auth_ldap Validación para acceso a Internet en los proxies (Squid-ldap_aut) Almacenamiento de certificados digitales para firma electrónica (X 509 v 3) [RFC 2377] Calendario: Netscape vs Steltor. CTI
Servicios integrados con el LDAP CTI
El cambio a Open. Ldap v 2. x · · · · Open Source code (Netscape, i. Planet, . . . ) con muy buen soporte en listas y en proyectos relacionados; cambio de protocolo; de LDAPv 2 a LDAPv 3 [] esquema de directorio distribuido; soporte de referrals [RFC 3088] definición de clases y atributos con sintáxis según Attribute Syntax Definitions según [RFC 2252] ldap seguro: protección de datos (TLS y SSL) [RFC 2830] soporte de backends DBBerkeley 3. x y gdbm, y threads POSIX. posibilidad de cambios menos traumáticos en la estructura, organización y distribución de las bases de datos. diacríticos CTI
Descripción del sistema · 4 servidores linux RH 6. 2, kernel 2. 4. x; Intel 2 x 450; 1 sparc · software - Open. Ldap 2. x - Open. SSL 0. 9 x - ldbm backend: Berkeley DB 3. x y gdbm · o=
Estructura CTI
Configuración: Schemas, password, TLS # include include /usr/local/etc 2/openldap_2/etc/openldap/schema/core. schema /usr/local/etc 2/openldap_2/etc/openldap/schema/cosine. schema /usr/local/etc 2/openldap_2/etc/openldap/schema/nis. schema /usr/local/etc 2/openldap_2/etc/openldap/schema/unav. schema /usr/local/etc 2/openldap_2/etc/openldap/schema/samba. schema # Define global ACLs to disable default read access # before ldbm’s ACL # Do not enable referrals until AFTER you have a working directory # service AND an understanding of referrals. #referral ldap: //arcos. cti. unav. es pidfile argsfile /usr/local/etc 2/openldap_2/var/slapd. pid /usr/local/etc 2/openldap_2/var/slapd. args #The
Configuración: TLS CAcerts (Chain: CA concatenados) -----BEGIN CERTIFICATE----MIIDmj. CCAw. Og. Aw. IBAg. IBADANBgkqhki. G 9 w 0 BAQQFADCBj. . . OAx+35 dm. Vo 9 gu/els. Cqu. Zc. To. V 7 g+Oz. Tbut. AE+ GXlz. B 8 l. E/y. Kz. Ok 9 l 3 Bk= -----END CERTIFICATE-----BEGIN CERTIFICATE----MIIDqz. CCAx. Sg. Aw. IBAg. IBAj. ANBgkqhki. G 9 w 0 BAQQFADCBj EDAOBg. NVBAg. TB 05 hdm. Fycm. Ex. ETAPBg. NVBAc. TCFBhb. XBsb bml 2 ZXJza. WRh. ZCBk. ZSBOYXZhcn. Jh. MQww. Cg. YDVQQLEw. NDV. . . Iikjn. IYc. Pa. Um. FGZTyb. HJ 09 zg. O 5 zx. Wrn. LDl. MS 1 u. AVqaz. NA f. Y 3+g. Yo 6 vv. QE 1 pr. JNFm 4 Zqo. FHAv 2 s 61 AA+5 RVa+84 A== -----END CERTIFICATE----- arcos-key. pem -----BEGIN RSA PRIVATE KEY----MIICXAIBAAKBg. Qjejejje. L 9 H 9 Ey 9 v. Tcj m. HEo. ANQj. VAESc 1 v+7 c 1 H 2 s. Gw. UURHVdqc. . . x. F/r. VGPVcnflmatarile. Yg 0 CQFu+/i. IA b 4 u. TRv 4 dh. Gh. Hw 4 GKg 431 M 2 Hj 27 tn. CGHi= -----END RSA PRIVATE KEY----- arcos-cert. pem -----BEGIN CERTIFICATE----MIIEKDCCA 5 Gg. Aw. IBAg. ICAngw. DQYJKo. ZIhvc. NAQEEBQAwg. Z. . Ma+5+Da. A 3 l 9 Gi 2 lw. HVNUMb. AHb. W+RGHHRRNJHJHKJKJ 9908 t 5 axwx 531 Ii. E 2 ec. B 1 f 0 Cgh. U 673 a 81 t. RFSTYSGSt. IKJ 0 Ml 5 c. S 6 de 24 t. Q/1 kg. WEk -----END CERTIFICATE----- CTI
Configuración: ACL (no ACIs) # UNAV SMB #################################### # database ldbm suffix "o=smb, dc=unav, dc=es" rootdn "cn=diradmin, dc=unav, dc=es" rootpw
Configuración: slapd. conf (parcial) #################################### # UNAV PEOPLE-ORGANIZATION #################################### database ldbm suffix "o=Universidad de Navarra, c=ES" rootdn "cn=dirman, o=Universidad de Navarra, c=ES" rootpw {crypt}mejor_crypted directory /usr/local/etc 2/openldap_2/unav-old # # referral index. . . # #################################### # UNAV PEOPLE #################################### # database ldbm suffix "dc=unav, dc=es" rootdn "cn=dirman, dc=unav, dc=es" rootpw {crypt}que_plain_text directory /usr/local/etc 2/openldap_2/unav-person # replogfile /usr/tmp/slurpd. replog replica host=arcos. cti. unav. es: 8011 binddn="cn=replicator, dc=unav, dc=es" bindmethod=simple credentials={crypt}mejor_crypted # CTI
Configuración: ldif tree unav-ldif. tree dn: dc=unav, dc=es dc: unav object. Class: dc. Object object. Class: organization o: Universidad de Navarra dn: o=people, dc=unav, dc=es o: people object. Class: organization unav-ldif-organization dn: o=Universidad de Navarra, c=ES o: Universidad de Navarra objectclass: organization object. Class: referral object. Class: extensible. Object ref: ldap: //arcos. cti. unav. es: 8001/o=people, dc=unav, dc=es dn: o=smb, dc=unav, dc=es object. Class: referral object. Class: extensible. Object o: smb ref: ldap: //arcos. cti. unav. es: 8002/o=smb, dc=unav, dc=es CTI
Configuración: 1 ldif y n object. Class objectclass ( 1. 3. 6. 1. 4. 1. 9183. 2. 2. 1 dn: uid=099147, o=smb, dc=unav, dc=es NAME 'samba. Account' object. Class: samba. Account DESC 'Provisional samba. Account' object. Class: posix. Account SUP top uid: 037148 STRUCTURAL ntuid: 037148 MUST ( Object. Class $ uid. Number $ rid: 3 ec ntuid $ rid ) uid. Number: 17603 MAY ( gid. Number $ grouprid $ ou $ cn $ gecos: Ignacio Coupeau description $ cn: Ignacio Coupeau lm. Password $ nt. Password $ home. Directory: /usr/local/etc 3/disco 2/037148 pwd. Last. Set $ pwd. Can. Change $ login. Shell: /bin/bash pwd. Must. Change $ lm. Password: 58 AE 48 B 2 A 256 C 127 A 17527 F 32 FFC 1 D 17 logon. Time $ logoff. Time $ nt. Password: 27 F 32 FFC 1 E 250389860 B 1658 AE 48 B 2 A 2 kickoff. Time $ pwd. Last. Set: 3 BCC 0486 smb. Home $ home. Drive $ script $ acct. Flags: [U ] profile $ acct. Flags ) ) profile: \%Lprofilesprn 1 home. Drive: U: smb. Home: \saco 5disco 2 pwd. Can. Change: 0000 objectclass ( 1. 3. 6. 1. 1. 1. 2. 0 NAME 'posix. Account' pwd. Must. Change: FFFF SUP top AUXILIARY gid. Number: 203 DESC 'Account with POSIX attributes' grouprid: 207 MUST ( cn $ uid. Number $ gid. Number $ home. Directory ) MAY ( user. Password $ login. Shell $ gecos $ description ) ) CTI
Evolución: 1997/1998 · · septiembre 1997 Inicio de nuestra experiencia con ldapv 2 con el servidor ldap de la Univ. de Michigan. La idea inicial era la recogida en Slapd Administration Guide: un servicio de directorio y una pasarela para X 500: 100% puro directorio electrónico. Se habló por primera vez del LDAP en las JT de 1997, en Zaragoza (cfr. Javier Masa) CTI
Evolución: 1998/1999 · · · De Umich a Open. Ldap; ldap+samba; certificados x 509 y Netscape calendar server diciembre de 1999: Sendmail+ldap CTI
Evolución: 1999/2000 · · · samba+aprint (sistema de impresión con cuotas) autentificación proxy-cache - directa - indirecta vía samba (pam-squid samba|ldap) autentificación espacios web CTI
Evolución: 2000/2001 · · · desarrollo de los servicios de accounting basados en pam y nsswitch; febrero de 2001: primeros contactos con el Open. Ldap v 2. 0 a gateway oracle-ldap; radius de telefónica radiusddll agosto/septiembre de 2001 migramos a LDAPv 3 y cambiamos el esquema y distribución de las bases CTI
Evolución: 2001/2002 · · Integración con DNS [RFC 1034] Conexiones seguras ldaps y slurpds de forma "nativa" sin wrappers (stunnel, etc). Los acentos Posibilidad de utilización de diversos métodos de autentificación en LDAP para centralizar/coordinar diversos mecanismos/api de (pam, MIT Kerberos, SASL/GSSAPI, etc. ). CTI
Seguridad en LDAP · Seguridad: Autentificación, integridad, confidencialidad y autorización. El protocolo no contempla el nivel de autorización que debe desarrollarse con ACL y similares. · El LDAP v 2 define tres tipos de autentificacion: anonymous, simple (clear-text password), y Kerberos V 4. · The LDAP v 3 soporta autentificacion: anonymous, simple y SASL. - - mecanismos sasl [RFC 2222] : - GSSAPI (MIT Kerberos 5 or Heimdal Kerberos 5) - EXTERNAL (requiere TLS: X 509 [ietf-draft]) - DIGEST-MD 5 [RFC 2831] - ANONYMOUS [RFC 2245] LDAPv 3 -HOWTO IBM Red. Books pp. 42 -49 CTI
Autentificación. . . autorización en LDAP The Simple Authentication and Security Layer (SASL) is a method for adding authentication support to connection-based protocols. To use this specification, a protocol includes a command for identifying and authenticating a user to a server and for optionally negotiating a security layer for subsequent protocol interactions. CTI
Experiencias (1) · · El GB: lo mejor Log y debug slapd -f slapd-4. conf -H "ldap: //arcos/ ldaps: //arcos. cti. unav. es/" -l LOCAL 4 syslog. conf /var/log/messages · · Usuarios administrativos De la Redundancia: si pero. . . ¿ 24 x 7? slapd-1. conf -d 16 -o -r /tmp/slurpd. replog · Saltos entre jerarquías: referrals (subordinate, superior) y ciclos: -M[M] -C · Enable manage DSA IT control Automatically chase referrals. ACL: dónde y como CTI
Experiencias (2) · · exportar/importar/reindexar slapcat slapadd vs ldapadd slapindex si todo va mal: C Utilidades para mantenimiento y desarrollo: perl+módulos Net. LDAPapi y C+libldap vs wrappers No olvide sus aplicaciones: bases, sintáxis de comandos: -x, –LL, -H, ldif, der. . . (user. Certificate; binary: < file: ///
Experiencias (3) · Indices: qué, cómo, cuándo Oct 23 14: 46 trancos slapd[2031]: conn=25926 op=1 SRCH base="o=smb, dc=unav, dc=es" scope=1 filter="(&(uid=D 8$)(object. Class=samba. Account))" Oct 23 14: 50: 39 boromir slapd[7877]: conn=9426 op=1 SRCH base="o=people, dc=unav, dc=es" scope=2 filter="(cn=*estibaliz*)" · Base 64 perl <


