Mostrando entradas con la etiqueta openldap. Mostrar todas las entradas
Mostrando entradas con la etiqueta openldap. Mostrar todas las entradas

jueves, 16 de octubre de 2008

RT y ldap...

RT tiene la opcion de poder definirle metodo de autenticacion externa via OpenLdap

En lo personal se me hizo mas simple la instalacion manual que comentan en la liga.

Despues de la instalacion del modulo, es necesaria una configuracion en el archivo de configuracion /etc/request-tracker3.6/RT_SiteConfig.pm

Esta es la configuracion de mi sitio:

### MY_LDAP Settings

Set($AuthMethods, [ 'MY_LDAP' ]);

Set($ExternalAuthPriority,['MY_LDAP']);

Set($ExternalInfoPriority, [ 'MY_LDAP' ]);

Set($LdapAutoCreateNonLdapUsers, 1);

Set($AutoCreateNonExternalUsers, 1);

Set($ExternalSettings, {'MY_LDAP' =>{
'type' => 'ldap',
'auth' => 1,
'info' => 1,
'server' => '172.16.29.X',
'base' => 'ou=People,dc=XXX',
'filter' => '(objectclass=posixAccount)',
'd_filter' => '(objectClass=posixGroup)',
'tls' => 0,
'net_ldap_args' => [ version => 3 ],
'attr_match_list' => [ 'Name', 'EmailAddress', 'RealName', 'WorkPhone', 'Address2'],
'attr_map' => { 'Name' => 'uid',
'EmailAddress' => 'mail',
'RealName' => 'cn',
'Organization' => 'XXXXXXXXX XXXX',
'ExternalContactInfoId' => 'dn',
'Gecos' => 'cn',
'HomePhone' => ' ',
'WorkPhone' => ' ',
'MobilePhone' => ' ',
'PagerPhone' => 'pager',
'Address1' => ' ',
'Address2' => ' '
}
}
});

miércoles, 15 de octubre de 2008

Apache+LDAP en Debian...

Para configurar la authenticacion con ldap de un usuario para acceder a un sitio que provee un apache. Esta nota esta en el entendido de que tiene un servidor ldap funcionando y un servidor apache en Debian.


1) Habilitando modulos en configuracion de apache

cd /etc/apache2/mods-enabled/
ln -s ../mods-available/authnz_ldap.load .
ln -s ../mods-available/ldap.load .

2) Configurando la ruta

cd ../sites-enabled/
vi 000-default

Alias /Documentos/ "/var/www/Documentos/"

AuthType Basic
AuthName "Restricted Access"
AuthBasicProvider ldap
AuthLDAPURL "ldap://mi_server_ldap:389/ou=People,dc=midc?uid"
require valid-user


3) Reiniciar el sevicio de apache

/etc/init.d/apache2 restart

4) Comprobar accesando a http://misitio/Documentos

jueves, 5 de junio de 2008

Ldap commands...

Para iniciar/detener servicio:
/etc/init.d/sladp start | stop


Para crear un index:
slapindex -v -f /etc/ldap/slapd.conf


Para backup de la base:
/etc/init.d/slapd stop (Debe estar detenido el servicio)
slapcat -v -f /etc/ldap/slapd.conf -l /home/local/backup-ldap.ldif



Para recuperar la base desde un respaldo:
/etc/init.d/slapd stop
rm -rf /var/lib/ldap/*
slapadd -v -c -l /home/admin/backup-ldap.ldif -f /etc/ldap/slapd.conf
/etc/init.d/slapd start



Para agregar un registro:
ldapadd -x -D 'cn=admin,dc=example,dc=exampledomain' -w password -f rvillar.ldif


Para eliminar un registro:
ldapdelete -x -h 127.0.0.1 -D 'cn=admin,dc=example,dc=exampledomain' -w password "cn=userdel,ou=People,dc=example,dc=exampledomain"


Para busquedas:
ldapserach -x
ldapsearch -x -b 'dc=example,dc=exampledomain' cn='Marcela Alegria' uid ou
ldapsearch -x -b 'dc=example,dc=exampledomain' "(&(ou=Math)(cn=*Pig*))"


Para crear una cadena para password cifrada:
slappasswd -u -s

Migracion del servicio Openldap a un nuevo servidor Debian...

Estos fueron los pasos que hice para migrar la informacion de un servidor ldap existente a un nuevo servidor de ldap (Debian).


* Hacer respaldo de la base ldap en el servidor actual

1) /etc/init.d/slapd stop
2) slapcat -v -f /etc/ldap/slapd.conf -l /home/local/backup-ldap.ldif


* En el nuevo servidor:


1) Instalacion de openldap

apt-get install slapd ldap-utils

2) En mi caso el apt-get no me pregunto nada y trato de configurarlo con informacion local, pero fue necesario cambiarlo a la definicion del servidor anterior.

# /etc/init.d/slapd stop

# vi /etc/ldap/ldap.conf
BASE dc=misubdom,dc=midom
URI ldap://127.0.0.1


# vi /etc/ldap/slapd.conf
suffix "dc=misubdom,dc=midom"
rootdn "cn=admin,dc=misubdom,dc=midom"


3) Probando la configuracion

# slaptest -f /etc/ldap/slapd.conf -d2


4) Iniciando el servicio
#/etc/init.d/slapd start

7) Comprobando que funciona
# ldapsearch -x

8) Ahora si, la migracion de la informacion propiamente dicho:

# /etc/init.d/slapd stop
# slapadd -v -c -l /home/admin/backup-ldap.ldif -f /etc/ldap/slapd.conf

9) Iniciando el servicio
#/etc/init.d/slapd start

10 ) Comprobando que funciona
# ldapsearch -x

sábado, 3 de mayo de 2008

Debian como cliente de autenticacion de Openldap..

1) # apt-get install libpam-ldap libnss-ldap

2) Modificar archivos de pam para definir que sea valido autenticacion via ldap.

En /etc/pam.d/common-account

account sufficient pam_ldap.so
account required pam_unix.so


En /etc/pam.d/common-auth

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure


En /etc/pam.d/common-password

password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5


En /etc/pam.d/common-session

session sufficient pam_ldap.so
session required pam_unix.so


En /etc/nsswitch.conf:

:%s/compat/ldap files/g




SOLUCION DE PROBLEMAS:

1) Cuando se trata de un usuario local, pide en 2 ocasiones el password. Eso se soluciona poniendo una opcion mas en los archivos /etc/pam.d/common-*

use_first_pass

ejemplo:
/etc/pam.d/common-auth

auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass

2) Al reiniciar el equipo, manda durante el boot el mensaje:


udevd[374]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server
udevd[374]: nss_ldap: failed to bind to LDAP server ldap://ip.ldap: Can't contact LDAP server



Eso pasa por que se trata de conectar al servidor ldap antes de levantar la interfaz de red. Lo solucione asi:

# rm -rf /etc/rcS.d/S40networking
# ln -s /etc/init.d/networking /etc/rcS.d/S09networking