notas:openldap
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente | ||
notas:openldap [2010/03/10 18:04] – cayu | notas:openldap [2010/10/08 17:24] – cayu | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== OpenLDAP ====== | + | ====== |
OpenLDAP es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia OpenLDAP Public License. LDAP es un protocolo de comunicación independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS. | OpenLDAP es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia OpenLDAP Public License. LDAP es un protocolo de comunicación independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS. | ||
Línea 45: | Línea 45: | ||
===== Replicación ===== | ===== Replicación ===== | ||
+ | |||
+ | ==== Multimaster ==== | ||
**REQUIERE Openldap 2.4** | **REQUIERE Openldap 2.4** | ||
Línea 50: | Línea 52: | ||
La replicación multimaster se puede hacer en 1 o más nodos, la única premisa es que todos deben estar iguales al momento de comenzar esta configuración (misma configuración y misma base). | La replicación multimaster se puede hacer en 1 o más nodos, la única premisa es que todos deben estar iguales al momento de comenzar esta configuración (misma configuración y misma base). | ||
- | Vamos a suponer que tenemos los servidores | + | Vamos a suponer que tenemos los servidores |
En el servidor ldap1 agregar estas línas al final del slapd.conf: | En el servidor ldap1 agregar estas línas al final del slapd.conf: | ||
Línea 103: | Línea 105: | ||
El usuario especificado en el binddn debe tener acceso completo a la base. | El usuario especificado en el binddn debe tener acceso completo a la base. | ||
+ | |||
+ | ==== Master / Slave ==== | ||
+ | |||
+ | En el Master | ||
+ | |||
+ | < | ||
+ | moduleload syncprov | ||
+ | overlay syncprov | ||
+ | syncprov-checkpoint 100 10 | ||
+ | syncprov-sessionlog 100 | ||
+ | </ | ||
+ | |||
+ | En el Slave | ||
+ | |||
+ | < | ||
+ | syncrepl rid=123 | ||
+ | provider=ldap:// | ||
+ | type=refreshAndPersist | ||
+ | retry=" | ||
+ | searchbase=" | ||
+ | schemachecking=off | ||
+ | bindmethod=simple | ||
+ | binddn=" | ||
+ | credentials=contraseña | ||
+ | </ | ||
===== Politicas ===== | ===== Politicas ===== | ||
Línea 117: | Línea 144: | ||
< | < | ||
overlay | overlay | ||
- | ppolicy_default " | + | ppolicy_default " |
</ | </ | ||
Línea 158: | Línea 185: | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | # Default Password Policy | ||
+ | |||
+ | dn: cn=default, | ||
+ | |||
+ | objectClass: | ||
+ | |||
+ | cn: default | ||
+ | |||
+ | # User can change his/her password | ||
+ | |||
+ | pwdAllowUserChange: | ||
+ | |||
+ | # Return warning to bind attempt (seconds) -- 3 days | ||
+ | |||
+ | pwdExpireWarning: | ||
+ | |||
+ | # Interval in seconds to reset failure pwd count | ||
+ | |||
+ | pwdFailureCountInterval: | ||
+ | |||
+ | # Do not allow to bind on expired passwords | ||
+ | |||
+ | pwdGraceAuthNLimit: | ||
+ | |||
+ | # Reject any password changes in this list | ||
+ | |||
+ | pwdInHistory: | ||
+ | |||
+ | # Lock out account when user tries more than x attempts using invalid password | ||
+ | |||
+ | pwdLockout: TRUE | ||
+ | |||
+ | # Do not allow the system to unlock the account | ||
+ | |||
+ | pwdLockoutDuration: | ||
+ | |||
+ | # Consecutinve # of failure attempts | ||
+ | |||
+ | pwdMaxFailure: | ||
+ | |||
+ | # How long the password lasts before user has to change it (seconds) | ||
+ | |||
+ | pwdMaxAge: 77760000 | ||
+ | |||
+ | # Password length | ||
+ | |||
+ | pwdMinLength: | ||
+ | </ | ||
Modificado todo esto se reinicia el LDAP. | Modificado todo esto se reinicia el LDAP. | ||
Línea 211: | Línea 288: | ||
===== En los clientes ===== | ===== En los clientes ===== | ||
+ | **/ | ||
+ | |||
+ | < | ||
+ | auth [success=1 default=ignore] pam_unix.so | ||
+ | auth required pam_ldap.so use_first_pass | ||
+ | auth required pam_permit.so | ||
+ | |||
+ | account [success=1 default=ignore] pam_unix.so | ||
+ | account required pam_ldap.so | ||
+ | account required pam_permit.so | ||
+ | |||
+ | password requisite pam_cracklib.so try_first_pass retry=3 | ||
+ | password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok | ||
+ | password required pam_deny.so | ||
+ | |||
+ | session optional pam_keyinit.so revoke | ||
+ | session required pam_limits.so | ||
+ | session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid | ||
+ | session required pam_unix.so | ||
+ | </ | ||
+ | |||
+ | |||
+ | **/ | ||
+ | |||
+ | < | ||
+ | ... | ||
+ | passwd: | ||
+ | shadow: | ||
+ | group: | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | **/ | ||
+ | |||
+ | < | ||
+ | TLS_REQCERT allow | ||
+ | TLSREQCERT never | ||
+ | </ | ||
+ | |||
+ | **/ | ||
+ | |||
+ | < | ||
+ | host ldap-primario ldap-secundario | ||
+ | |||
+ | binddn uid=usuario-query, | ||
+ | bindpw password1234 | ||
+ | |||
+ | bind_policy soft | ||
+ | |||
+ | bindlimit 3 | ||
+ | timelimit 10 | ||
+ | |||
+ | base dc=dominio | ||
+ | |||
+ | pam_filter objectclass=posixAccount | ||
+ | |||
+ | pam_login_attribute uid | ||
+ | |||
+ | nss_base_passwd ou=users, | ||
+ | nss_base_group ou=groups, | ||
+ | |||
+ | ssl yes | ||
+ | pam_password md5 | ||
+ | TLS_REQCERT never | ||
+ | </ | ||
+ | |||
+ | ==== NSCD ==== | ||
El NSS (Name Service Switch) provee una interface para configurar y acceder a diferentes bases de datos de cuentas de usuarios y claves como / | El NSS (Name Service Switch) provee una interface para configurar y acceder a diferentes bases de datos de cuentas de usuarios y claves como / | ||
Línea 255: | Línea 399: | ||
password-hash | password-hash | ||
</ | </ | ||
+ | o | ||
+ | < | ||
+ | password-hash | ||
+ | </ | ||
+ | |||
+ | //Para que las politicas tengan efecto, deberemos utilizar siempre SSHA// | ||
+ | |||
+ | |||
Script para chequear vencimientos de passwords avisar antes de tiempo, o bloquear cuando esta vencido. Con modificaciones hechas por mi. | Script para chequear vencimientos de passwords avisar antes de tiempo, o bloquear cuando esta vencido. Con modificaciones hechas por mi. | ||
Línea 294: | Línea 446: | ||
# eg: ou=People, | # eg: ou=People, | ||
# | # | ||
- | MY_LDAP_SEARCHBASE=" | + | MY_LDAP_SEARCHBASE=" |
# | # | ||
Línea 556: | Línea 708: | ||
if [ " | if [ " | ||
echo " | echo " | ||
- | dn: uid=${login}, | + | dn: uid=${login}, |
changetype: modify | changetype: modify | ||
add: pwdAccountLockedTime | add: pwdAccountLockedTime | ||
- | pwdAccountLockedTime: | + | pwdAccountLockedTime: |
# Print debug information on STDERR | # Print debug information on STDERR | ||
Línea 676: | Línea 828: | ||
- | ==== Notas y extras | + | ==== Autocambio de contraseña |
- | En el caso de que necesitemos obviamente que antes de que se les caduque la contraseña a los usuarios, ellos mismos puedan cambiar su contraseña | + | En el caso de que necesitemos obviamente que antes de que se les caduque la contraseña a los usuarios, ellos mismos puedan cambiar su contraseña, podremos utilizar un script via web |
{{ : | {{ : | ||
+ | |||
+ | En este apartado del archivo slapd.conf deberemos tener activado el self write | ||
+ | |||
+ | < | ||
+ | access to * | ||
+ | by self write | ||
+ | </ | ||
+ | |||
+ | Aca estan los archivos del script en PHP | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Referencias ==== | ||
+ | |||
+ | |||
+ | ^ OpenLDAP | http:// | ||
+ | ^ Configuraciones de ejemplo | http:// |
notas/openldap.txt · Última modificación: 2015/04/08 19:36 por cayu