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/09/09 17:39] – cayu | notas:openldap [2011/05/03 18:52] – cayu | ||
---|---|---|---|
Línea 19: | Línea 19: | ||
cualquier tipo de sistema de base de datos, como puede ser los archivos locales (/ | cualquier tipo de sistema de base de datos, como puede ser los archivos locales (/ | ||
etc/group) o desde servidores como LDAP, Mysql, Windows. | etc/group) o desde servidores como LDAP, Mysql, Windows. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | En este caso, para mantener centralizada toda la información de autenticación, | ||
+ | cual fue instalado en los equipos que al momento de la implementación cumplan la función de | ||
+ | servidor **Radius**. **LDAP** permite que la información sea accedida desde cualquier lugar a travez de la red, es rápido para realizar búsquedas y tiene una opción de replicación de datos para obtener | ||
+ | alta disponibilidad. Radius podía ser utilizado solamente como sistema de autenticación pero no | ||
+ | provee la funcionalidad de guardar información de las cuentas de usuario que Linux necesita para | ||
+ | efectuar el login. En los servidores que usan esta autenticación se instalo el paquete de Redhat | ||
+ | llamado **nss_ldap**, | ||
+ | **LDAP**. Ambos utilizan un archivo de configuración en común (/ | ||
+ | En el caso de la replicación y alta disponibilidad, | ||
+ | todas las modificaciones se realizan sobre el master y se propagan al slave (el cual es solo para | ||
+ | lectura de datos no para modificación). La alta disponibilidad se logra configurando dos o mas | ||
+ | servidores en el archivo de configuración / | ||
+ | módulos de **NSS** y **PAM** la conexión con uno u otro equipo. | ||
+ | La configuración del servicio **Radius** se modifico para que la // | ||
Línea 52: | Línea 70: | ||
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 288: | Línea 306: | ||
===== En los clientes ===== | ===== En los clientes ===== | ||
+ | ==== Configuracion servidor LDAP con políticas ==== | ||
+ | |||
+ | **/ | ||
+ | |||
+ | < | ||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | |||
+ | Y si tenemos una aplicacion que utiliza **PAM** para autenticar deberemos configurarla asi (ejemplo FreeRADIUS) : | ||
+ | |||
+ | **/ | ||
+ | < | ||
+ | auth | ||
+ | account | ||
+ | account | ||
+ | password | ||
+ | session | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Configuracion servidor LDAP sin políticas ==== | ||
+ | |||
+ | |||
+ | |||
+ | === Configuracion PAM === | ||
+ | |||
+ | **PAM** **P**luggable **A**uthentication **M**odules. PAM es un sistema de autenticación que controla el acceso a diferentes recursos. | ||
+ | |||
+ | == / | ||
+ | |||
+ | <code perl> | ||
+ | passwd: | ||
+ | shadow: | ||
+ | group: | ||
+ | hosts: | ||
+ | bootparams: nisplus [NOTFOUND=return] files | ||
+ | ethers: | ||
+ | netmasks: | ||
+ | networks: | ||
+ | protocols: | ||
+ | rpc: files | ||
+ | services: | ||
+ | |||
+ | netgroup: | ||
+ | |||
+ | publickey: | ||
+ | |||
+ | automount: | ||
+ | aliases: | ||
+ | </ | ||
+ | |||
+ | == / | ||
+ | |||
+ | <code perl> | ||
+ | auth required | ||
+ | auth sufficient | ||
+ | auth sufficient | ||
+ | auth required | ||
+ | auth required | ||
+ | account | ||
+ | account | ||
+ | password | ||
+ | password | ||
+ | password | ||
+ | password | ||
+ | session | ||
+ | session | ||
+ | session | ||
+ | </ | ||
+ | |||
+ | === Radius === | ||
+ | |||
+ | **RADIUS** (acrónimo en inglés de **R**emote **A**uthentication **D**ial-In **U**ser **S**erver). Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1813 UDP para establecer sus conexiones. | ||
+ | |||
+ | |||
+ | |||
+ | //Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Configuracion de autenticacion, | ||
+ | |||
+ | == / | ||
+ | |||
+ | |||
+ | <code python> | ||
+ | DEFAULT Auth-Type := Pam, Pam-Auth := radiusd, | ||
+ | Service-Type = Login-User, | ||
+ | Cisco-AVPair = " | ||
+ | Fall-Through = 0 | ||
+ | DEFAULT Auth-Type := Pam, Pam-Auth := radiusd, Group == " | ||
+ | Service-Type = Login-User, | ||
+ | Cisco-AVPair = " | ||
+ | Fall-Through = 0 | ||
+ | DEFAULT Auth-Type = LDAP | ||
+ | Fall-Through = 1 | ||
+ | DEFAULT Ldap-Group == " | ||
+ | Fall-Through = no | ||
+ | </ | ||
+ | |||
+ | ==== 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 332: | Línea 515: | ||
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 769: | Línea 960: | ||
{{: | {{: | ||
+ | |||
+ | ==== SUDO ==== | ||
+ | |||
+ | La confiuración de SUDO almacenada dentro de LDAP la podemos encontrar en el archivo README.LDAP | ||
+ | |||
+ | |||
+ | Igualmente SUDO nos tomara la configuación actual para obtener los grupos, de los dato que obtiene del nss, asi que podemos configurar nuestro grupo ldap para ser tomado por el sudoers de esta forma. | ||
+ | |||
+ | |||
+ | < | ||
+ | %Administradores ALL=(ALL) ALL | ||
+ | </ | ||
==== Referencias ==== | ==== Referencias ==== |
notas/openldap.txt · Última modificación: 2015/04/08 19:36 por cayu