asorufps.wikispaces.com final... · web viewcreamos el archivo serial para la nueva autoridad...

42
EXAMEN FINAL DE ADMINISTRACION DE SISTEMAS OPERATIVOS EN RED ELIECER ALEJANDRO MOLINA VERGEL 1151054 EDGAR YESID GARCÍA ORTIZ 1150967 UNIVERSIDAD FRANCISCO DE PAULA SANTANDER FACULTAD DE INGENIERIA DEPARTAMENTO DE SISTEMAS E INFORMATICA SAN JOSE DE CUCUTA

Upload: phamkhanh

Post on 19-May-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

EXAMEN FINAL DE ADMINISTRACION DE SISTEMAS OPERATIVOS EN RED

ELIECER ALEJANDRO MOLINA VERGEL 1151054

EDGAR YESID GARCA ORTIZ1150967

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS E INFORMATICA

SAN JOSE DE CUCUTA

2016

EXAMEN FINAL DE ADMINISTRACION DE SISTEMAS OPERATIVOS EN RED

ELIECER ALEJANDRO MOLINA VERGEL 1151054

EDGAR YESID GARCA ORTIZ1150967

PRESENTADO AL INGENIERO

JEAN POLO CEQUEDA

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS E INFORMATICA

SAN JOSE DE CUCUTA

2016

Descripcin de openLDAP:

OpenLDAP es una implementacin libre y de cdigo 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 comunicacin independiente de la plataforma.

Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software tambin corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.

Histricamente la arquitectura del servidor OpenLDAP (slapd, Standalone LDAP Daemon) fue dividida entre una seccin frontal que maneja las conexiones de redes y el procesamiento del protocolo, y una base de datos dorsal o de segundo plano (backend) que trata nicamente con el almacenamiento de datos. La arquitectura es modular y una variedad de backends est disponible para interactuar con otras tecnologas, no slo bases de datos tradicionales.

Nota: En versiones antiguas (1.x), los trminos "backend" y "database (base de datos)" podan intercambiarse. Para ser precisos, un "backend" es una clase de interfaz de almacenamiento, y una base de datos es una instancia de un backend. El servidor slapd puede utilizar arbitrariamente varios backends en una sola vez, y puede tener arbitrariamente muchas instancias de cada backend (por ejemplo varias bases de datos) activas por vez.

Algunos desarrollos son creados especficamente para facilitar la gestin de sistemas de directorio como OpenLDAP para usuarios que buscan una interfaz intuitiva, adems de aadir otras herramientas y caractersticas.

Entorno durante el tutorial:

1. Directorio de openldap: /var/lib/ldap/

2. Directorio nuestra organizacin: /var/lib/ldap/company/

3. Directorio de configuracin: /etc/openldap/

4. Directorio de certificados: /etc/openldap/certs/

5. Autoridad certificadora: ldapcert.pem

6. Nombre de dominio: alejandro.asor.com

7. Email: [email protected]

8. Frase certificado: asor_ufps

9. Cualquier contrasea: 12345

10. Clave generada para ldap: {SSHA}4KFh33h+sxiaS2BELjqQ6tDkCSTfjC1a

11. Administrador: admin

Glosario:

Partes de la especificacin de directorio x.500, definidas para el protocolo LDAP para mas informacin visita el siguiente link: http://www.ietf.org/rfc/rfc2253.txt

DN = Distinguished Names , Nombre distintivo

OU = Unidad Organizacional

DC = Componente de dominio

UID (id de usuario), sta es una identificacin nica obligatoria;

CN(nombre comn), ste es el nombre de la persona;

givenname, ste es el nombre de pila de la persona;

SN(apellido), ste es el apellido de la persona.

O(organizacin), sta es la compaa de la persona.

U(unidad organizacional), ste es el departamento de la compaa para la que trabaja la persona.

MAIL, sta es la direccin de correo electrnico de la persona (por supuesto).

INSTALACIN

Instalando el software necesario:

dnf install openldap openldap-clients openldap-servers nss-pam-ldapd authconfig authconfig-gtk migrationtools

CONFIGURACIN SERVIDOR:

Creando los Certificados TLS/SSL:

Si no est creada creamos la carpeta de certificados:

mkdir /etc/openldap/certs/

Entramos al directorio de certificados:

cd /etc/openldap/certs

Creando la autoridad certificadora:

Creamos el archivo serial para la nueva autoridad certificadora.

echo 01 > certificado.srl

Cuando la opcin -CA se utiliza para firmar un certificado que utiliza un nmero de serie especificado en un archivo .

Este archivo consta de una lnea que contiene un nmero par de dgitos hexadecimales con el nmero de serie de su uso. Despus de cada uso, el nmero de serie se incrementa y se escriben en el archivo de nuevo.

Si nuestro certificado es llamado organizacin.pem el archivo srl debe ser llamado organizacion.srl.

openssl genrsa -aes128 2048 > ldapcert.key

agregaremos la frase: asor_ufps.

openssl req -utf8 -new -key ldapcert.key -out ldapcert.csr

Verificamos insertando la frase que guardamos anteriormente

openssl x509 -req -in ldapcert.csr -out ldapcert.pem -signkey ldapcert.key -days 3650

Listo ahora tenemos un certificado llamado ldapcert.pem, este ser usado por todos los clientes de nuestro servidor. Ahora crearemos el certificado y la firma digital para nuestro servidor.

Certificado y firma digital para nuestro servidor:

openssl genrsa -aes128 2048 > key.pem

Como sucedi anteriormente se nos pide una frase de verificacin, usaremos asor_ufps

openssl req -utf8 -new -key key.pem -out slapd.csr

openssl x509 -req -in slapd.csr -out cert.pem -CA ldapcert.pem -CAkey ldapcert.pem -days 3650

openssl rsa -in key.pem -out key.pem

Ingresamos la contrasea asor_ufps y listo.

Actualizaremos los enlaces hash a los certificados ejecutando la siguiente linea

cacertdir_rehash /etc/openldap/certs

Ahora para proteger nuestros certificados cambiaremos los permisos y los dueos de la carpeta de certificados, permitiendo solamente al usuario root y al grupo ldap hacer uso de ellos:

chown -R root:ldap /etc/openldap/certs

chmod -R u=rwX,g=rX,o= /etc/openldap/certs

Hay que aclarar el valor del parmetro u=rwX, la equis en mayscula indica que si es un directorio el usuario podr entrar, si es un archivo no cambiar los permisos.

As quedaran:

por ltimo ejecutaremos las siguientes instrucciones:

cp ldapcert.pem /var/www/html/

chmod 644 /var/www/html/ldapcert.pem

Creacin de Los directorios

Con fines de organizacin se crear un directorio especfico para este directorio y se configurar con permisos de acceso exclusivamente al usuario y grupo ldap.

mkdir /var/lib/ldap/companychmod 700 /var/lib/ldap/company

De la carpeta /usr/share/openldap-servers/ copiamos el archivo DB_CONFIG.example a /var/lib/ldap/company/DB_CONFIG

Ejecutamos

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/company/DB_CONFIG

Luego cambiamos el propietario a nuestra carpeta y todo lo contenido en ella

chown -R ldap:ldap /var/lib/ldap/company

Creacin de claves de acceso para LDAP

Para crear la clave para que una persona pueda administrar el directorio ejecutamos la siguiente lnea:

slappasswd

Esta instruccin nos pedir una contrasea y nos generar una clave. Para la contrasea usaremos 12345 y la clave generada se muestra a continuacin:

Guarda sta clave pues luego la usaremos ms adelante.

Usando el archivo de configuracin

Se debe crear el archivo /etc/openldap/slapd.conf , si est creado podemos reemplazar todo lo que haya en l.

la siguiente linea nos crear el archivo sldap.conf

touch /etc/openldap/slapd.conf

y editamos el archivo sldap.conf con la siguiente linea:

nano /etc/openldap/slapd.conf

El archivo /etc/openldap/slapd.conf debe de tener definidos todos los archivos de esquema mnimos requeridos. De tal modo, el inicio del archivo debe contener algo similar a lo siguiente:

fichero:/etc/openldap/slapd.conf

include /etc/openldap/schema/corba.schema

include /etc/openldap/schema/core.schema

include /etc/openldap/schema/cosine.schema

include /etc/openldap/schema/duaconf.schema

include /etc/openldap/schema/dyngroup.schema

include /etc/openldap/schema/inetorgperson.schema

include /etc/openldap/schema/java.schema

include /etc/openldap/schema/misc.schema

include /etc/openldap/schema/nis.schema

include /etc/openldap/schema/openldap.schema

include /etc/openldap/schema/ppolicy.schema

include /etc/openldap/schema/collective.schema

include /etc/openldap/schema/pmi.schema

Se deben habilitar las opciones TLSCACertificateFile, TLSCertificateFile y TLSCertificateKeyFile estableciendo como valores de stas las rutas hacia el certificados y firma digital.

fichero:/etc/openldap/slapd.conf

#Se deben habilitar las opciones:

#TLSCACertificateFile

#TLSCertificateFile

#TLSCertificateKeyFile estableciendo

#como valores de stas las rutas hacia el certificados y firma digital.

TLSCACertificateFile /etc/openldap/certs/ldapcert.pem

TLSCertificateFile /etc/openldap/certs/cert.pem

TLSCertificateKeyFile /etc/openldap/certs/key.pem

A fin de permitir conexiones desde clientes con OpenLDAP 2.x, establecer el archivo de nmero de proceso y el archivo de argumentos de LDAP, deben estar presentes las siguientes opciones, con los correspondientes valores:

fichero:/etc/openldap/slapd.conf

#A fin de permitir conexiones desde clientes con OpenLDAP 2.x,

#establecer el archivo de nmero de proceso y el archivo de argumentos de LDAP,

#deben estar presentes las siguientes opciones, con los correspondientes valores:

allow bind_v2

pidfile /var/run/openldap/slapd.pid

argsfile /var/run/openldap/slapd.args

Para concluir con el /etc/openldap/slapd.conf, se aade lo siguiente, que tiene como finalidad el definir la configuracin del nuevo directorio que en adelante se utilizar para autenticar a toda la red de rea local:

fichero:/etc/openldap/slapd.conf

database bdb

suffix "dc=alejandro,dc=asor,dc=com"

rootdn "cn=admin,dc=alejandro,dc=asor,dc=com"

rootpw {SSHA}4KFh33h+sxiaS2BELjqQ6tDkCSTfjC1a

directory /var/lib/ldap/company

# Indices a mantener para esta base de datos

index objectClass eq,pres

index ou,cn,mail,surname,givenname eq,pres,sub

index uidNumber,gidNumber,loginShell eq,pres

index uid,memberUid eq,pres,sub

index nisMapName,nisMapEntry eq,pres,sub

En el tag database seleccionamos bdb que corresponde al formato de almacenamiento de datos por defecto de OpenLDAP,se puede elegir Mysql, Postgresql u otros formatos de bases de datos mas informacin en: http://www.openldap.org/doc/admin24/backends.html pese a no ser recomendados en el sitio oficial del proyecto openldap.

En suffix se arma el dominio al que va a atender LDAP (en este caso alejandro.asor.com).

Rootdn corresponde el nombre con que se autentica el administrador de openLDAP (en este caso admin pero puede ser modificado por el que se considere conveniente).

Rootpw es la password del usuario administrador (Manager en el ejemplo).

Por seguridad, el archivo /etc/openldap/slapd.conf deber tener permisos de lectura y escritura, slo para el usuario ldap.

chown ldap:ldap /etc/openldap/slapd.conf

chmod 600 /etc/openldap/slapd.conf

Evitamos que ldap use la configuracin predeterminada modificando el nombre de la carpeta /etc/openldap/slapd.d por /etc/openldap/slapd.d.bck

mv /etc/openldap/slapd.d /etc/openldap/slapd.d.bck

ahora creamos la carpeta slapd.d

mkdir /etc/openldap/slapd.d

Es necesario crear los archivos base para el contenido del directorio /var/lib/ldap/company, por tanto ejecutamos lo siguiente:

echo "" | slapadd -f /etc/openldap/slapd.conf

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Si nos aparece el error:

575df223 bdb_monitor_db_open: monitoring disabled; configure monitor database to enable

No interesa

Cambiamos los permisos de nuestra carpeta slapd.d y de la carpeta var/lib/ldap/company

chown -R ldap:ldap /etc/openldap/slapd.d /var/lib/ldap/company

Iniciando el servicio:

Inicie el servicio y aada este a la pila de servicios que se inician junto al sistema con las siguientes dos lineas:

systemctl start slapd.service

systemctl enable slapd.service

Migrando cuentas del sistema

LDAP Migration Tools es una coleccion de scripts escritos en PERL desarrollados por PADL software.ltd. sta herramienta convierte los archivos de configuracin en archivos con formato LDIF. Podemos encontrar mas informacin en su sitio oficial:

http://www.padl.com/tools.html

Modificaremos el script segn la configuracin que hemos hecho anteriormente, abriremos el script con la siguiente instruccin:

nano /usr/share/migrationtools/migrate_common.ph

y modificamos los valores de las siguientes variables:

# Default DNS domain

$DEFAULT_MAIL_DOMAIN = "alejandro.asor.com";

# Default base

$DEFAULT_BASE = "dc=alejandro,dc=asor,dc=com";

A continuacin, hay que crear el objeto que a su vez contendr el resto de los datos en el directorio, utilizando migrate_base.pl para generar el archivo base.ldif.

Genere el archivo base.ldif, ejecutando lo siguiente:

/usr/share/migrationtools/migrate_base.pl > /etc/openldap/base.ldif

Utilizamos la instruccin ldapadd para insertar los datos necesarios. Las opciones utilizadas con este mandato son las siguientes:

1. -xautenticacin simple

2. -Wsolicitar clave de acceso

3. -D binddnNombre Distinguido (dn) a utilizar

4. -h anfitrinServidor LDAP a acceder

5. -f archivo archivo a utilizar

Sabiendo lo anterior podremos usar facilmente la instruccin ldapadd

ldapadd -x -W -D 'cn=admin,dc=alejandro,dc=asor,dc=com' -h 127.0.0.1 -f /etc/openldap/base.ldif

En nuestro laboratorio nos gener el error:

Esto sucede porque no existe una raiz asociada con la entrada dc=asor,dc=com es decir asor.com abirmos entonces el archivo base.ldif

nano /etc/openldap/base.ldif

veremos el siguiente archivo:

Como podemos observar existe un nombre distintivo (Distinguished Names: dn) con un componente de dominio asor y otro com, es decir estamos haciendo referencia a una ruta no existente asor.com, por tanto eliminaremos esta entrada de nuestro archivo base.ldif

solo dejando como raz :

intentamos de nuevo la instruccin:

ldapadd -x -W -D 'cn=admin,dc=alejandro,dc=asor,dc=com' -h 127.0.0.1 -f base.ldif

Una vez hecho lo anterior, se podr comenzar a poblar el directorio con datos. Lo primero ser importar los grupos y usuarios existentes en el sistema. Realizamos la importacin de usuarios creando los archivos group.ldif y passwd.ldif, utilizando migrate_group.pl y migrate_passwd.pl.

Ejecutamos los siguientes dos mandatos:

/usr/share/migrationtools/migrate_group.pl /etc/group group.ldif

/usr/share/migrationtools/migrate_passwd.pl /etc/passwd passwd.ldif

Estas instrucciones usarn los scripts migrate_group.pl y migrate_passwd.pl respectivamente usando los directorios del sistema /etc/group y /etc/passwd y en donde estemos ubicados crear los archivos group.ldif y passwd.lidf respectivamente, los cuales incluirn la informacin de los grupos y cuentas en el sistema, incluyendo las claves de acceso. Los datos se podrn insertar en el directorio LDAP utilizando lo siguiente:

ldapadd -x -W -D 'cn=admin,dc=alejandro,dc=asor,dc=com' -h 127.0.0.1 -f group.ldif

veremos una salida parecida a cuando agregamos base.ldif:

ldapadd -x -W -D 'cn=admin,dc=alejandro,dc=asor,dc=com' -h 127.0.0.1 -f passwd.ldif

al igual que las instrucciones anteriores nos dar una salida parecida a :

CONFIGURACIN CLIENTE

La idea es que los usuarios se loguen desde cualquier mquina, mediante su, login y gdm, frente al servidor LDAP y tengan siempre el mismo entorno, a saber, variables de sistema, shell, escritorio etc..

Los clientes requieren tener instalados los paquetes nss-pam-ldap, authconfig y openldap-clients-2.4.23-16.el6 (las versiones anteriores de este ltimo tienen roto el soporte para TLS/SSL):

dnf install authconfig openldap-clients nss-pam-ldapd

Definimos los valores para las opciones de host y base, esto para decirle al sistema que servidor y a que directorio conectarse en el archivo /etc/pam_ldap.conf

nano /etc/nslcd.conf

uid nslcd

gid ldap

uri alejandro.asor.com

uri ldap://alejandro.asor.com

uri ldaps://alejandro.asor.com

uri ldap://192.168.1.99

uri ldaps://192.168.1.99

base dc=alejandro,dc=asor,dc=com

ssl start_tls

tls_cacertfile /etc/openldap/certs/ldapcert.pem

luego modificamos el archivo nsswitch.conf y aadimos las siguientes lineas al final del archivo

nano /etc/nsswitch.conf

passwd: files sss ldap

shadow: files sss ldap

group: files sss ldap

por ultimo ejecutamos la SIGUIENTE linea (DEBEMOS TENER SELINUX ACTIVO)

authconfig --useshadow --passalgo=sha512 --enablelocauthorize --enablemkhomedir --enableldap --enableldapauth --ldapserver=alejandro.asor.com --ldapbasedn=dc=alejandro,dc=asor,dc=com --enableldaptls --ldaploadcacert=http://192.168.1.99/ldapcert.pem --update

PRUEBAS:

Antes de configurar el sistema para utilizar LDAP para autenticar, es conveniente verificar que todo funciona correctamente.El siguiente mandato verifica que directorios disponibles existen en el servidor 127.0.0.1.

ldapsearch -h 127.0.0.1 -x -b '' -s base '(objectclass=*)' namingContexts

debe devolver una salida parecida:

El siguiente mandato debe devolver toda la informacin de todo el directorio solicitado (dc=alejandro,dc=asor,dc=com).

ldapsearch -x -b 'dc=alejandro,dc=asor,dc=com' '(objectclass=*)'

Como salida nos mostrar la arquitectura del rbol de directorios asociados a alejandro.asor.com.

Otro ejemplo es realizar una bsqueda especfica, para un usuario en particular.

De la salida anterior podemos observar la siguiente entrada:

Asumiendo que en el directorio existe el usuario denominado operator, ejecute lo siguiente:

ldapsearch -x -b 'uid=operator,ou=People,dc=alejandro,dc=asor,dc=com'

como podemos observar nos lista la informacin de dicha entrada. Verificamos que se encuentra pepe el usuario que creamos cuando instalamos y configuramos Postfix y Dovecot:

ldapsearch -x -b 'uid=pepe,ou=People,dc=alejandro,dc=asor,dc=com'

Efectivamente ha encontrado el usuario.

Agregando un usuario

Ejecutamos las siguientes instrucciones

mkdir /etc/openldap/users/

cd /etc/openldap/users

Generamos una contrasea usando openSSL

openssl passwd -1 -salt 12345

passwd: 12345

Lo que nos generar la siguiente salida:

$1$12345$4Gam1JX4790weMm6hLf9I

Esta ser nuestra contrasea: {crypt}$1$12345$4Gam1JX4790weMm6hLf9I

Primero creamos la carpeta que este usuario usar:

mkdir /home/juan

Luego creamos un fichero con la estructura ldif llamado juan.ldif con las siguientes lineas:

dn: uid=juan,dc=alejandro,dc=asor,dc=com

uid: juan

cn: juan

objectClass: account

objectClass: posixAccount

objectClass: top

objectClass: shadowAccount

userPassword: {crypt}$1$12345$4Gam1JX4790weMm6hLf9I

shadowLastChange: 14335

shadowMax: 99999

shadowWarning: 7

loginShell: /bin/bash

uidNumber: 10005

gidNumber: 10005

homeDirectory: /home/juan

gecos: juan

Para agregarlo usaremos la instruccin que usamos para agregar el archivo base.ldif:

ldapadd -x -W -D 'cn=admin,dc=alejandro,dc=asor,dc=com' -h 127.0.0.1 -f juan.ldif

Cambiando la contrasea de un usuario

ldappasswd -s welcome123 -W -D "cn=admin,dc=alejandro,dc=asor,dc=com" -x "uid=juan,dc=alejandro,dc=asor,dc=com"

Donde:

s especifica la contrasea del usuario

x la entrada del usuario que buscamos para cambiar su contrasea

y D nuestro nombre distintivo que usamos para autentificarnos en el servidor

INSTALANDO CLIENTE WEB:

Usaremos el cliente web phpldapadmin. Lo instalaremos usando el gestor de repositorios:

dnf install phpldapadmin

Necesitaremos soporte para manejar archivos xml, si no tienes el soporte el cliente web te avisar, sin embargo se comportar de forma erronea.

Instalamos el soporte xml para php:

dnf install php-xml

Configurando Apache para usar PhpLdapAdmin:

Despus de instalado modificamos el archivo de configuracin de apache para phpldapadmin creado automticamente cuando lo instalamos. Si no lo tenemos lo creamos.

nano /etc/httpd/conf.d/phpldapadmin.conf

reemplazamos todo el archivo por las siguientes lineas:

#

# Web-based tool for managing LDAP servers

#

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs

Alias /ldapadmin /usr/share/phpldapadmin/htdocs

# Apache 2.4

#Require local

AllowOverride All

Options FollowSymlinks

Require all granted

# Apache 2.2

#Order Deny,Allow

#Deny from all

#Allow from 127.0.0.1

#Allow from ::1

Como podemos ver hemos comentareado la linea de atributo Require local para permitir que nos podamos conectar con el cliente web desde otro ordenador de nuestra red local.

Configurando php.ini para usar autentificacin por ldap:

Ahora debemos indicarle a php que permita autentificacin por ldap.

Abrimos el archivo php.in que se encuentra en la carpeta /etc/

nano /etc/php.ini

Descomentariamos o agregamos la siguiente linea:

extension=ldap.so

Configurando PhpLdapAdmin:

El archivo de configuracin de ldapadmin se encuentra en la carpeta /etc/phpldapadmin/config.php

cd /etc/phpldapadmin/

Primero le daremos le diremos al sistema que el dueo de esos archivos es apache, para que l pueda usarlo sin problema

chown apache:apache config.php

de lo contrario si existe una sesin y se hace un cambio en el archivo de configuracin php lanzar una exepcin.

Haremos una copia de seguirdad para poder restablecer los datos si tenemos un inconveniente.

cp config.php config.php.bck

crearemos un nuevo archivo de configuracin

nano config.php

y aadiremos las siguientes lineas:

Podemos acceder ahora a nuestro cliente web. Usando la siguiente ruta

[ip server local]/phpldapadmin

Ahora podemos loguearnos usando nuestros usuarios del sistema o los que ya hemos creado.

En los tutoriales anteriores creamos el usuario pepe, y pedro; en este a juan, tambin podremos acceder usando el usuario root.

Si queremos administrar nuestro directorio entraramos de esta forma:

Podemos ver por ejemplo el arbol del directorio activo:

El grupo people contiene las cuentas de usuario del sistema operativo.

Vemos que existen usuarios como alejandro, pepe, jose, root est mas abajo, y otros usuarios del sistema que son creados por los procesos.

Creando un grupo con el cliente web

Debemos entrar con nuestra cuenta de administrador que tendr la siguiente forma cn=admin,dc=alejandro,dc=asor,dc=com

Hacemos clic en el siguiente cono y nos aparecer la siguiente ventana:

Podemos ver que el cliente web ya tiene plantillas predeterminadas para diferentes aplicaciones, como samba (un servidor para compartir archivos en una red local).

Crearemos una cuenta de usuario haciendo clic en el icono

Nos aparecer un formulario que completaremos con la siguiente informacin:

Nos pedir confirmacin

Hacemos clic en cometer, podemos hacer clic en el checkbox del atributo que queramos omitir. Finalmente podemos ver que se ha creado el usuario:

AUTENTICANDO LDAP VIA SCRIPT PHP:

Php nos ofrece funciones para manejar conexiones ldap, debemos primero activar el modulo ldap para apache para dar soporte a este servicio. Acontinuacin se detallar una funcin bsica para autenticar con un servidor via ldap

function ldaplogin() {

$tls = false;

$ldap['username'] = $_POST['username'];

$ldap['psw'] = $_POST['psw'];

if ($tls) {

$ldap["host"] = "ldap://alejandro.asor.com";

$ldap["port"] = "636"; //tls/ssl

} else {

putenv('LDAPTLS_REQCERT=never');

$ldap["host"] = "ldap://alejandro.asor.com"; //direccion de nuestro servidor ldap

$ldap["port"] = "389"; //puerto

}

$ldap["dn"] = 'uid=' . $ldap['username'] . ',ou=People,dc=alejandro,dc=asor,dc=com';

$ldap["base"] = "dc=alejandro,dc=asor,dc=com";

$ldap['conn'] = ldap_connect($ldap['host'], $ldap['port']);

ldap_set_option($ldap['conn'], LDAP_OPT_PROTOCOL_VERSION, 3);

ldap_set_option($ldap['conn'], LDAP_OPT_REFERRALS, 0);

if ($tls) {

ldap_start_tls($ldap['conn']);

}

$login_status = ldap_bind($ldap['conn'], $ldap['dn'], $ldap['psw']);

if ($login_status) {

session_start();

session_cache_limiter('nocache,private');

$_SESSION['username'] = $_POST["username"];

$_SESSION['psw'] = $_POST["psw"];

$_SESSION['f_login'] = date("Y-n-j H:i:s");

echo 1;

return;

}else

{

echo 0;

}

}