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;
}
}