Archivo

Archivo para la Categoría "Servidor de Autenticación"

Cómo implementar OpenLDAP – Segunda Parte

20 diciembre 2009 Deja un comentario

En el documento-howto-guía pasado escribí acerca de cómo utilizar OpenLDAP como un servidor de autenticación.
Ahora voy a escribir en cómo configurar OpenLDAP para:

1. Configurar el cliente de OpenLDAP para que al momento que el usuario se logee, el cliente genere un directorio /home/$usuario
2. Configurar OpenLDAP para permitirle al usuario modificar su contraseña
3. Configurar OpenLDAP para que un usuario solo tenga acceso a hosts/clientes específicos, en ves de tener acceso a todos los hosts que utilizan OpenLDAP como servidode autenticación

1. Configurar el cliente de OpenLDAP para que al momento que el usuario se logee , el cliente genere un directorio /home/$usuario

Cuando un usuario establece una conexión a un sistema que utiliza OpenLDAP como servidor de autenticación, el usuario NO tendrá un directorio /home/$usuario puesto que la cuenta de usuario no fue creada localmente en el sistema.

Al logearme al sistema me aparece esto:

[dan@centos ~]$ ssh usuarioTest@host_usando_openldap_como_auth_server
usuarioTest@centos’s password:
Last login: Thu Jul 31 11:19:17 2008 from otro.host.de_mi_red.com
Could not chdir to home directory /home/usuarioTest: No such file or directory
-bash-3.1$

Esto es porque el usuario no tiene un directorio en /home en este host, la manera de solucionar esto es

* Creándo el /home/usuarioTest a mano
o
* Modificando /etc/pam.d/sshd y agregándo al final una línea como esta:

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

Trata de logearte de nuevo al sistema, y verás algo cómo esto:

[dan@centos ~]$ ssh usuarioTest@host_usando_openldap_como_auth_server
usuarioTest@centos’s password:
Creating directory ‘/home/usuarioTest’.
Last login: Fri Aug 8 08:38:26 2008 from otro.host.de_mi_red.com
[usuarioTest@centos ~]$

Listo! Ahora configura tus demás hosts para que utilicen OpenLDAP como su servidor de autenticación.

2. Configurar OpenLDAP para permitirle al usuario modificar su contraseña

Esta es una modificación sencilla en la configuración de OpenLDAP, lo único que tienes que hacer es agregar las siguientes líneas a /etc/opendalp/slapd.conf

– snip –
access to attrs=userPassword
by self write
by anonymous auth
by dn.base=”cn=admin,dc=mi_dominio,dc=com” write
by * none

access to *
by self write
by dn.base=”cn=admin,dc=mi_dominio,dc=com” write
by * read
– snip –

Reinicia el servicio de OpenLDAP con un /etc/init.d/ldap restart
Disfruta de los resultados.

3. Configurar OpenLDAP para que un usuario solo tenga acceso a hosts/clientes específicos, en ves de tener acceso a todos los hosts que utilizan OpenLDAP como servidode autenticación

El primer paso a realizar es generar una Organizational Unit (ou) con el nombre de “Hosts”, aquí un ejemplo del ldif:

– snip –
dn: ou=Hosts, dc=mi_dominio,dc=com
ou: Hosts
objectClass: top
objectClass: organizationalUnit
– snip –

Después lo que se tiene que hacer es poblar esta OU co el nombre de cada host, debemos de crear una entrada por cada host que tengamos en nuestra red, aquí un ldif de ejemplo:

– snip –
dn: cn=nombre_del_host, ou=Hosts, dc=mi_dominio,dc=com
ipHostNumber: 2.2.2.2 (aquí la la ip sl host)
objectClass: ipHost
objectClass: device
objectClass: extensibleObject
cn: nombre_del_host.mi_dominio.com (este es el FQDN del host)
cn: clb1
– snip –

El siguiente paso es modificar /etc/ldap.conf en cada host de nuestra red, debe de modificarse de la siguiente manera:

– snip original –
# Group to enforce membership of
#pam_groupdn cn=PAM,ou=Groups,dc=example,dc=com

# Group member attribute
#pam_member_attribute uniquemember
– snip original –

– snip modificado –
# Group to enforce membership of
pam_groupdn cn=nombre_del_host,ou=Hosts,dc=mi_dominio,dc=com

# Group member attribute
pam_member_attribute member
– snip modificado –

Después de hacer esto, viene la “magia”. Hay que agregar un atributo al cn=nobre_del_host con el id del usuario que queremos permitirle acceso a este host, el ldif queda de la siguiente manera:

– snip –
dn: cn=nombre_del_host, ou=Hosts, dc=mi_dominio,dc=com
ipHostNumber: 2.2.2.2
objectClass: ipHost
objectClass: device
objectClass: extensibleObject
cn: nombre_del_host.mi_dominio.com (este es el FQDN del host)
cn: clb1
member: uid=kwame,ou=People,dc=mi_dominio,dc=com
member: uid=otro_usuario,ou=People,dc=mi_dominio,dc=com
member: uid=un_usuario_mas,ou=People,dc=mi_dominio,dc=com
– snip –

Fuente: http://kwame.informatux.net/?p=100

Cómo implementar OpenLDAP

20 diciembre 2009 Deja un comentario

Pero para comenzar, empecemos por el principio.
- Que es LDAP?
LDAP (Lightweight Directory Access Protocol) es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.

- Y entonces, que es OpenLDAP?
Se trata de una implementación libre del protocolo que soporta múltiples esquemas por lo que puede utilizarse para conectarse a cualquier otro LDAP.

Tiene su propia licencia, la OpenLDAP Public License. Al ser un protocolo independiente de la plataforma, varias distribuciones Linux y BSD lo incluyen, al igual que AIX, HP-UX, Mac OS X, Solaris, Windows (2000/XP) y z/OS.

OpenLDAP tiene tres componentes principales:

* slapd – demonio LDAP autónomo.
* syncrepl – opción para replicar ldap
* Rutinas de biblioteca de soporte del protocolo LDAP.
* Utilidades, herramientas y clientes.

- Cómo lo instalo y como lo configuro?
Este howto se va a enfocar a como instalar OpenLDAP y cómo configurarlo en CentOS ya que es la distribución que utilizo en mis servidores.

La instalación es trivial

yum install openldap openldap-clients openldap-servers

Esto como superusuario.

Para usuarios novatos siempre resulta útil enterarse de que archivos instaló yum, para dar un vistazo a los paquetes que instaló yum se puede hacer con un

rpm -ql openldap
rpm -ql openldap-clients
rpm -ql openldap-servers

El siguiente paso es crear un directorio en donde OpenLDAP va a guardar su base de datos

Leer más…

Seguir

Get every new post delivered to your Inbox.