Herramientas de usuario

Herramientas del sitio


notas:openldap

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
notas:openldap [2010/11/05 17:42] cayunotas:openldap [2011/02/09 13:13] cayu
Línea 19: Línea 19:
 cualquier tipo de sistema de base de datos, como puede ser los archivos locales (/etc/passwd y / cualquier tipo de sistema de base de datos, como puede ser los archivos locales (/etc/passwd y /
 etc/group) o desde servidores como LDAP, Mysql, Windows.  etc/group) o desde servidores como LDAP, Mysql, Windows. 
 +
 +
 +{{ :notas:diagrama_ldap_radius.png }}
 +
 +En este caso, para mantener centralizada toda la información de autenticación, se utilizo LDAP, el
 +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**, el cual provee los módulos de **PAM** y **NSS** necesarios para integrarse con
 +**LDAP**. Ambos utilizan un archivo de configuración en común (/etc/ldap.conf).
 +En el caso de la replicación y alta disponibilidad, el esquema es del tipo master-slave, donde
 +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 /etc/ldap.conf, resolviendo automáticamente los
 +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 //autenticación se realizara a travez de// **PAM** y //no usando los archivos locales// como estaba configurada anteriormente. Con esto se logra una integración total entre la autenticación de los router y los servidores Linux.
  
  
Línea 287: Línea 305:
  
 ===== En los clientes ===== ===== En los clientes =====
 +
 +==== Configuracion servidor LDAP con políticas ====
  
 **/etc/pam.d/system-auth** **/etc/pam.d/system-auth**
Línea 366: Línea 386:
 password   include system-auth password   include system-auth
 session    include system-auth session    include system-auth
 +</code>
 +
 +
 +==== 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.
 +
 +== /etc/nsswitch.conf ==
 +
 +<code perl>
 +passwd:     files ldap
 +shadow:     files ldap
 +group:      files ldap
 +hosts:      files dns
 +bootparams: nisplus [NOTFOUND=return] files
 +ethers:     files
 +netmasks:   files
 +networks:   files
 +protocols:  files
 +rpc:        files
 +services:   files
 +
 +netgroup:   files
 +
 +publickey:  nisplus
 +
 +automount:  files
 +aliases:    files nisplus
 +</code>
 +
 +== /etc/pam.d/system-auth ==
 +
 +<code perl>
 +auth      required      /lib/security/$ISA/pam_env.so
 +auth      sufficient    /lib/security/$ISA/pam_ldap.so
 +auth      sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok use_first_pass
 +auth      required      /lib/security/$ISA/pam_permit.so
 +auth      required      /lib/security/$ISA/pam_deny.so
 +account   sufficient    /lib/security/$ISA/pam_ldap.so 
 +account   required      /lib/security/$ISA/pam_unix.so
 +password  required      /lib/security/$ISA/pam_cracklib.so retry=3 type=
 +password  sufficient    /lib/security/$ISA/pam_ldap.so debug use_first_pass
 +password  sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow use_first_pass
 +password  required      /lib/security/$ISA/pam_deny.so
 +session   required      /lib/security/$ISA/pam_limits.so
 +session   required      /lib/security/$ISA/pam_unix.so
 +session   optional      /lib/security/$ISA/pam_mkhomedir.so
 +</code>
 +
 +=== 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, Ethernet o Wi-Fi, se envía una información que generalmente es un nombre de usuario y una contraseña. Esta información se transfiere a un dispositivo NAS (Servidor de Acceso a la Red) sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la información es correcta utilizando esquemas de autentificación como PAP, CHAP o EAP. Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los recursos de red como una dirección IP, y otros parámetros como L2TP, etc.//
 +
 +
 +
 +
 +Configuracion de autenticacion, con **PAM** previamente configurado contra LDAP
 +
 +== /etc/raddb/users ==
 +
 +
 +<code python>
 +DEFAULT Auth-Type := Pam, Pam-Auth := radiusd,  Group == "radius-write"
 +        Service-Type = Login-User,
 +        Cisco-AVPair = "shell:priv-lvl=15",
 +        Fall-Through = 0
 +DEFAULT Auth-Type := Pam, Pam-Auth := radiusd, Group == "radius-lectura"
 +        Service-Type = Login-User,
 +        Cisco-AVPair = "shell:priv-lvl=5",
 +        Fall-Through = 0
 +DEFAULT Auth-Type = LDAP
 +        Fall-Through = 1
 +DEFAULT Ldap-Group == "ou=users,dc=pan-energy"
 +        Fall-Through = no
 </code> </code>
  
notas/openldap.txt · Última modificación: 2015/04/08 19:36 por cayu