sincronizacion de bases de credenciales

61
SINCRONIZACION DE BASES DE CREDENCIALES La empresa para la que trabaja ha ido creciendo a un ritmo acelerado y no ha dado tiempo para que el departamento de IT reaccione ante ello. Esto ha llevado a una situación particular, poseer dos bases de datos con credenciales de empleados, un Active Directory lo cual brinda mecanismos de autenticación para usuarios Windows y otro OpenLDAP que brinda autenticación para cuentas de correo. El problema es que esto trae inconsistencias, ya que al cambiar información en una base, debe cambiarse en la otra. Ante esto se le solicita despliegue un mecanismo que permita establecer sincronización bidireccional de forma automática y en tiempo real entre ambas bases de datos. PROTOCOLOS DE COMUNICAION Universidad Nacional de El Salvador Facultad Multidisciplinaria de Occidente

Upload: alejandro-martinez

Post on 18-Nov-2014

1.047 views

Category:

Documents


7 download

DESCRIPTION

Sincronizacion de Active Directory (autenticacion de usuarios) y OpenLAP (autenticacion de correos), basados en Debian Squeez y Windows Servero 2008

TRANSCRIPT

Page 1: Sincronizacion de Bases de Credenciales

La empresa para la que trabaja ha ido creciendo a un ritmo acelerado y no ha dado tiempo para que el departamento de IT reaccione ante ello. Esto ha llevado a una situación particular, poseer dos bases de datos con credenciales de empleados, un Active Directory lo cual brinda mecanismos de autenticación para usuarios Windows y otro OpenLDAP que brinda autenticación para cuentas de correo. El problema es que esto trae inconsistencias, ya que al cambiar información en una base, debe cambiarse en la otra. Ante esto se le solicita despliegue un mecanismo que permita establecer sincronización bidireccional de forma automática y en tiempo real entre ambas bases de datos.

Alumnos: Martínez Castaneda Carlos Alejandro

Portillo Carcamos José Franklin

PROTOCOLOS DE COMUNICAION

Universidad Nacional de El Salvador

Facultad Multidisciplinaria de Occidente

Page 2: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Catedrático: Ing. Juan Carlos Peña Moran

Facultad Multidisciplinaria de Occidente 1

URL: http://www.slideshare.net/AlejandroMartinez25/sincronizacion-de-bases-de-credenciales

Page 3: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Sincronización de Bases de Credenciales

Requisitos: Equipo Linux: Debian squeez

Equipo Windows: Windows Server 2008.

Servicio de directorio: OpenLDAP y Active Directory

Lsc proyec (BSD license.)

Java 1.6 virtual machine (JRE).

Instalación de un controlador de dominio con Active Directory.

Antes de instalar nuestro controlador de dominio, deberemos asignarle un nombre a nuestros servidores y una dirección ip estática que será muy importante para logra nuestro cometido, para ello llamaremos a nuestros servidores como SERV-AD y utilizaremos direcciones ipv4, primeramente le asignaremos el nombre y la ip a nuestro primer servidor y luego utilizando los mismos pasos podemos hacerlo con el segundo. Primeramente le asignaremos, como ya hemos dicho, un nombre a nuestro primer servidor, para ello nos vamos a inicio, damos clic en herramientas administrativas y elegimos la opción Administrador del servidor

Facultad Multidisciplinaria de Occidente 2

Page 4: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Opción Administrador del servidor: Dentro del administrador del servidor buscamos la opción cambiar las propiedades del sistema y de la ventana que aparezca pulsamos el botón cambiar

Ahora nos mostrara el siguiente cuadro en le damos en la ficha cambiar y se nos abrirá un nuevo cuadro en donde especificamos el nombre del servidor en este caso SERV-AD

Para el caso nuestro el dominio de es sync-ldap.com

Facultad Multidisciplinaria de Occidente 3

Page 5: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Luego es necesario colocar una IP estática con él para poder instalar el controlador de dominio, damos click en ver conexiones de red

Damos clic derecho—propiedades y luego clic en el botón propiedades del cuadro de dialogo que nos muestra a continuación en donde haremos la configuraciones siguientes: mostrara opciones para ipv4 e ipv6 en nuestro caso utilizaremos la que dice Internet Protocol IPv4 y luego asignamos una IP fija a nuestro adaptador de red y es la que tendrá nuestro servidor Active.

Facultad Multidisciplinaria de Occidente 4

Page 6: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Como se muestra a continuación vamos a colocar nuestra IP fija con la siguiente dirección 192.168.0.2 y las especificaciones que nos muestra la figura siguiente.

Una vez realizada esta configuración procedemos a instalar el Controlador de Dominio, para ello nos dirigimos a Inicio—ejecutar nos aparecerá la siguiente ventana y tecleamos dcpromo.

Facultad Multidisciplinaria de Occidente 5

Page 7: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Luego nos parece la Siguiente pantalla, dejamos tal como esta en la imagen y damos clic en siguiente.

nos muestra información de lo que vamos a realizar y algunas especificaciones de Windows Server 2008, damos clic en Siguiente

Aquí nos preguntara si queremos añadirnos a un bosque ya existente o deseamos crear uno nuevo en nuestro caso será crear uno nuevo

Facultad Multidisciplinaria de Occidente 6

Page 8: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

En este paso es muy importante establecer nuestro FQDN nuestro caso particular es el dominio de cómo los muestra la imagen.

Nos pedirá con que versiones de Server queremos que este sea funcional elegimos la versión 2008

Facultad Multidisciplinaria de Occidente 7

Page 9: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Nos mostrara la siguiente información damos clic en siguiente.

Este es el directorio en donde se guardara la base de datos los archivos de registro y el sysvol lo dejamos como se muestra y damos clic en siguiente

Facultad Multidisciplinaria de Occidente 8

Page 10: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Establecemos la contraseña

Facultad Multidisciplinaria de Occidente 9

Page 11: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Nos muestra la configuración podremos exportar a un .txt dichas configuraciones y luego comenzara a crear nuestro árbol.

CREANDO ZONA INVERSA PARA NUESTRO DOMINIO

Para ello nos dirigimos a Herramientas Administrativas y seleccionamos DNS como se puede observa en la imagen.

Facultad Multidisciplinaria de Occidente 10

Page 12: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Ahora procedemos a crear nuestra zona inversa, nos ubicamos en zona de búsqueda inversa damos clic derecho, zona nueva.

Nos aparece el asistente para la creación de la zona inversa damos clic en siguiente.

Escogemos zona principal y siguiente

Escogemos para todos los servidores DNS en este dominio

Facultad Multidisciplinaria de Occidente 11

Page 13: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Desde acá podemos escoger crear una zona inversa para IPV4 o IPV6 nuestro caso escogemos IPV4 y damos clic en siguiente

Colocamos el id de Red de nuestro servidor y damos clic en siguiente

Facultad Multidisciplinaria de Occidente 12

Page 14: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Una vez creada la zona inversa vamos a agregarle un puntero de la siguiente manera, clic derecho en la zona inversa que acabamos de crear y elegimos Nuevo Puntero.

Nos muestra la siguiente ventana y luego damos clic en aceptar y listo tendremos nuestra zona inversa configurada correctamente.

Facultad Multidisciplinaria de Occidente 13

Page 15: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Ahora ya tenemos listo nuestro Active con DNS, pasaremos a agregar usuarios nos dirigimos Usuarios y Equipos de Active Directory desde donde agregaremos usuarios, equipos, unidades organizativas, etc.

Damos clic derecho sobre nuestro dominio elegimos nuevo, Unidad Organizativa a la que colocaremos el nombre de usuarios, dentro de esta agregaremos nuestros usuarios.

Facultad Multidisciplinaria de Occidente 14

Page 16: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Agregamos un usuario con los siguientes datos

Facultad Multidisciplinaria de Occidente 15

Page 17: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Definimos la contraseña del usuario para que esta pueda ser una contraseña sin complejidad esto se configura en Administración de Directivas de Grupos

Damos clic en Finalizar y luego ya creado el usuario podemos realizar configuraciones como en que equipos puede autenticarse entre otras configuraciones.

Facultad Multidisciplinaria de Occidente 16

Page 18: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Aquí podemos ver las diferentes opciones de configuración para los usuarios, solo nos vamos a las propiedades del usuario que se a creado.

Facultad Multidisciplinaria de Occidente 17

Page 19: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Tenemos listo nuestro Active Directory , Ahora instalaremos y configuraremos nuestro ldap para que podamos realizar la sincronización con el Active Directory

INSTALANDO Y CONFIGURANDO LDAP

Procederemos a instalar nuestro servidor LDAP este un servidor de base de datos no relacional sino de directorios, que ventaja tiene esto, una de ellas es su rapidez, no son lentas para escribir y podemos hacer balanceo de carga.

A continuación citaremos los pasos del proceso de instalación y configuración de nuestro servidor ldap.

Tome muy en cuenta estos pasos para su correcta configuración

Paso 1;

Necesitamos convertir nuestra maquina en un FQDN

a) verificamos a través del siguiente comando podemos verificar si existe el FQDN

b) Según este equipo ya tiene asignado uno, pero este se puede asignar de la siguiente manera si no estuviese asignado

c) Nos dirigimos al siguiente directorio /etc/ y buscamos el archivo hosts y el archivo hostname respectivamente y lo editamos con nano o gedit acá utilizaremos nano de la siguiente manera.

Facultad Multidisciplinaria de Occidente 18

Page 20: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Dichos archivos quedan configurados de la manera como se observa en las imágenes anteriores

Según el ejemplo anterior si se encuentra configurado el fqdn y tiene la siguiente estructura:

com

sync-ldap

Paso 2:

Vamos a actualizar primeramente los repositorios en el siguiente directorio podemos nano /etc/apt/sources.list podemos agregar las url de los repositorios que necesitemos en este caso estas son las que tenemos agregadas. (las líneas que les antecede un comodín son comentario)

Facultad Multidisciplinaria de Occidente 19

Page 21: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Luego Actualizamos de la siguiente manera

Una vez actualizados los repositorios procedemos a instalar nuestro ldap nos aparecerá una pantalla en donde nos pedirá la contraseña que tendrá el administrador del servidor ldap.

Si todo está bien Podemos verificar que se abre el puerto 389 con el siguiente comando. netstat –tanp

Facultad Multidisciplinaria de Occidente 20

Page 22: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Una vez hecho esto vamos a configurarlo

Los archivos de configuración están ubicados en /etc/ldap/ ahí encontraremos algunos archivos de configuración y también directorios como schema es donde se guardan los esquemas de ldap.

Instalaremos unas Utilidades para ldap de la siguiente manera

Con estas utilidades podremos exportar modificar la base de datos de ldap entre otras cosas.

Vamos a proceder a crear un archivo del tipo ldaif desde donde podremos exportar o importar configuraciones de nuestro ldap lo editamos con nano, que es el editor que seguiremos usando a lo largo de este documento.

El ldif tendrá como nombre rama.ldif en este pondremos un identificador sin espacios y con los siguientes objectClass

Según las especificaciones que le hemos dado al archivo ira a crear una unidad organizativa llamada usuarios que pertenece al dominio sync-ldap.com (dc=sync-ldap,dc=com) y ahi definimos los objectClass que tendra este ou.

Con una de las herramientas que hemos instalado vamos a agregar el contenido del ldif de la siguiente manera.

Si todo salió bien mostrara esto en la terminal

Facultad Multidisciplinaria de Occidente 21

Page 23: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

A continuación instalaremos una aplicación gráfica desde donde puede administrar su servido, esta se instala de la siguiente manera.

Ahora nos conectaremos a nuestro ldap desde la aplicación grafica de la siguiente manera.

Facultad Multidisciplinaria de Occidente 22

Page 24: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Como podemos ver ya tenemos agregado el ou=usuarios, solo nos hace falta agregar datos para luego poder realizar las operaciones de sincronización.

Para poder Sincronizar Credenciales de Autenticación y que los usuarios que se encuentra en nuestro AD puedan replicarse con los usuarios del LDAP y viceversa haremos uso de la siguiente herramienta.

Instalación y configuración de Lsc proyect

Facultad Multidisciplinaria de Occidente 23

Page 25: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Descargamos LSC Project de la página oficial: lsc-project.org:

Los requisitos para que LSC funcione adecuadamente:

Instalar java 1.6 virtual machine (JRE)

Agregamos a nuestros repositorios en /etc/apt/sources.list

deb http://http.us.debian.org/debian/ squeeze main contrib non-free deb-src http://http.us.debian.org/debian/ squeeze main contrib non-free

Instalamos java jre y configurarlo

# apt-get update

# apt-get install sun-java6-jre

#update-alternatives --config java

chequeamos que se encuentre bien configurado

$ export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun

Facultad Multidisciplinaria de Occidente 24

Page 26: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Descomprimimos lsc project y cambiamos el nombre de este para adecuarlo al proyecto nuestro

Antes de continuar es necesario verificar que poseemos conexión a los servidores donde tenemos nuestro Active Directory y el openLDAP

Para lograr sincronizar contraseñas active directory, exige que la conexión se realice de forma segura a través de ssl puerto 636

Para ello es necesario crear certificados en active directory, crear una unidad certificadora y firmarlos para luego ser instalados y exportados al java en el servidor donde se localiza el openldap.

Haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de servidores. En la sección Resumen de funciones, haga clic en Agregar funciones.

Seleccionar funciones, seleccione el Certificado de Active Directory casilla de verificación. Haga clic en Siguiente dos veces.

Facultad Multidisciplinaria de Occidente 25

Page 27: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Seleccionar servicios de función, seleccione la casilla Entidad de certificación, a continuación, haga clic en Siguiente.

Especificar tipo de instalación, haga clic en la Empresa, a continuación, haga clic en Siguiente.

Facultad Multidisciplinaria de Occidente 26

Page 28: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Especificar tipo de CA, haga clic en la CA raíz y haga clic en Siguiente.

Configurar la clave privada y configuración de criptografía para las páginas de CA, puede configurar las opciones de configuración opcionales,

Facultad Multidisciplinaria de Occidente 27

Page 29: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

incluyendo proveedores de servicios criptográficos. Sin embargo, los valores por defecto deberían estar bien. Haga clic en Siguiente dos veces.

En el nombre común para esta caja de CA, escriba el nombre común de la CA, a continuación, haga clic en Siguiente.

Establecer el periodo de validez, acepte los valores predeterminados o especificar otros lugares de almacenamiento para la base de datos de

Facultad Multidisciplinaria de Occidente 28

Page 30: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

certificados y el registro de certificado de la base de datos, a continuación, haga clic en Siguiente.

Después de verificar la información en la página Confirmar selecciones de instalación, haga clic en Instalar.

Facultad Multidisciplinaria de Occidente 29

Page 31: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Revise la información en la pantalla de resultados para verificar que la instalación ha sido satisfactoria.

Paso 2.Obtenerel certificado del servidor

Los pasos anterior ese describe cómo instalarla autoridad de certificación

Facultad Multidisciplinaria de Occidente 30

Page 32: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

(CA) en el servidor de Microsoft Active Directory. A continuación, tendrá que añadir el certificado SSL del servidor de Microsoft Active Directory a la lista de certificados aceptados utilizados por el JDK que se ejecuta el servidor de aplicaciones.

El certificado de Active Directory se genera automáticamente y se coloca en la raíz de la unidad C:\, coincide con un formato de archivo similar a la estructura de árbol de su servidor de Active Directory. Por ejemplo: c: \ ad2008.ad01.atlassian.com_ad01.crt.

También puede exportar el certificado mediante la ejecución de este comando en el servidor de Active Directory:

Abrimos una terminal cmd.exe y ejecutamos el comando

Paso 3. Importe el certificado del servidor

Para confiar en el certificado de su directorio, el certificado debe ser importado en su entorno de ejecución Java. El JDK para la confianza de certificados usa un archivo llamado almacén de claves. El archivo por defecto del almacén de claves se llama cacertsy se localiza en el directorio jre\ lib \ securitysub-directoriode la instalación de Java.

En los siguientes ejemplos, se utiliza el servidor certificate.crt para representar el archivo de certificado exportado por el servidor de directorios. Usted tendrá que modificarlas instrucciones a continuación para que coincida con el nombre que en realidad genera.

     Navegue hasta el directorio en el que se ha instalado Java. Es probablemente un nombre similar a C: \Archivos de programa\ Java \jdk1.6.0_12.     Ejecute el comando siguiente, donde certificate.crt es el nombre del archivo desde el servidor de directorio:

    

 keytoolle solicitará una contraseña. La contraseña por defecto del almacén de claves es changeit.

Facultad Multidisciplinaria de Occidente 31

Page 33: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Cuando se le solicite le preguntara Confiar en estecertificado?[no]: entrar Sí para confirmar la importación de claves

Ahora puede usarla opción "SSL Secure cuando se conecta a su aplicación en el servidor de directorio.

UNIX

1- Navegue hasta el directorio en el que se ha instalado Java. $JAVA_HOME

2- Ejecute el comando siguiente, donde servidor certificate.crt es el nombre del archivo desde el servidor de directorio:

3- Keytool le solicitará una contraseña. La contraseña por defecto del almacén de claves es changeit.Cuando se le solicite en Confiar en este certificado?[no]: entrar en Sí para confirmar la importación de claves:

4- Ahora podemos usarla opción "SSL Secure cuando se conecta a su aplicación en el servidor de directorio.

Facultad Multidisciplinaria de Occidente 32

Page 34: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

CONFIGURACIÓN DEL ARCHIVO LSC.PROPERTY

Sincronización de Active Directory hacia Openldap

1- Editamos el archivo lsc.property que se encuentra dentro de la carpeta del proyecto /sync-ad2openldap/etc/lsc.property

Conexión para origen de datos

src.java.naming.provider.url = ldaps://192.168.0.2:389/DC=sync-ldap,DC=comsrc.java.naming.tls = truesrc.java.naming.security.authentication = simplesrc.java.naming.security.principal = CN=Administrador,CN=Users,DC=sync-ldap,DC=comsrc.java.naming.security.credentials = *****src.java.naming.referral = ignoresrc.java.naming.ldap.derefAliases = neversrc.java.naming.ldap.pageSize = 1000src.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactorysrc.java.naming.ldap.version = 3

Conexión para destino de datos

dst.java.naming.provider.url = ldaps://localhost/dc=sync-ldap,dc=comdst.java.naming.security.authentication = simpledst.java.naming.tls = truedst.java.naming.security.principal = cn=admin,dc=sync-ldap,dc=comdst.java.naming.security.credentials = *******dst.java.naming.referral = ignoredst.java.naming.ldap.derefAliases = neverdst.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactorydst.java.naming.ldap.version = 3

2- Habilitamos y deshabilitamos las tareas que deseamos que se ejecutenlsc.tasks=user

lsc.tasks.user.condition.create = truelsc.tasks.user.condition.update = truelsc.tasks.user.condition.delete = falselsc.tasks.user.condition.modrdn = true

3- Filtros de busqueda tanto para el origen como para el destino de datoslsc.tasks.user.type=ldap2ldap

Facultad Multidisciplinaria de Occidente 33

Page 35: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

lsc.tasks.user.bean=org.lsc.beans.SimpleBeanlsc.tasks.user.dn = "uid=" + srcBean.getAttributeValueById("cn") + ",ou=usuarios"

# Sourcelsc.tasks.user.srcService=org.lsc.jndi.SimpleJndiSrcServicelsc.tasks.user.srcService.filterAll=(objectClass=user)lsc.tasks.user.srcService.baseDn=ou=usuarioslsc.tasks.user.srcService.attrs = cnsnsngivenName company sAMAccountName mail unicodePwdlsc.tasks.user.srcService.filterId=(&(objectClass=user)(|(sAMAccountName={uid})(sAMAccountName={samaccountname})))lsc.tasks.user.srcService.pivotAttrs = sAMAccountName# Destinationlsc.tasks.user.dstService=org.lsc.jndi.SimpleJndiDstServicelsc.tasks.user.dstService.filterAll=(objectClass=inetOrgPerson)lsc.tasks.user.dstService.baseDn=ou=usuarioslsc.tasks.user.dstService.attrs= uidcnsngivenName mail o objectClasshomeDirectory mailbox userPasswordlsc.tasks.user.dstService.filterId=(&(objectClass=inetOrgPerson)(|(uid={samaccountname})(uid={uid})))lsc.tasks.user.dstService.pivotAttrs = uid

4- Ajustamos los valores que deseamos sincronizar antes definido en el attrs :lsc.syncoptions.user = org.lsc.beans.syncoptions.PropertiesBasedSyncOptionslsc.syncoptions.user.default.action = F

lsc.syncoptions.user.objectClass.create_value = "inetOrgPerson";"organizationalPerson";"person";"top";"CourierMailAccount"lsc.syncoptions.user.o.force_value = srcBean.getAttributeValueById("company")lsc.syncoptions.user.cn.force_value = srcBean.getAttributeValueById("cn")lsc.syncoptions.user.sn.force_value = srcBean.getAttributeValueById("sn")lsc.syncoptions.user.homeDirectory.create_value = "/home/vmail/" + srcBean.getAttributeValueById("cn") + "/"lsc.syncoptions.user.mailbox.create_value = srcBean.getAttributeValueById("cn") + "/"lsc.syncoptions.user.uid.create_value = srcBean.getAttributeValueById("sAMAccountName") lsc.syncoptions.user.mail.force_value = srcBean.getAttributeValueById("mail") lsc.syncoptions.user.userPassword.force_value = srcBean.getAttributeValueById("unicodePwd")

Configuración del archivo lsc.property

Sincronización de OpenLDAP hacia Active Directory

1- Editamos el archivo lsc.property que se encuentra dentro de la carpeta del proyecto /sync-ad2openldap/etc/lsc.property

Facultad Multidisciplinaria de Occidente 34

Page 36: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Conexión para origen de datos

src.java.naming.provider.url = ldaps://localhost/dc=sync-ldap,dc=comsrc.java.naming.tls = truesrc.java.naming.security.authentication = simplesrc.java.naming.security.principal = cn=admin,dc=sync-ldap,dc=comsrc.java.naming.security.credentials = ********src.java.naming.referral = ignoresrc.java.naming.ldap.derefAliases = neversrc.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactorysrc.java.naming.ldap.version = 3

Conexión para destino de datos

dst.java.naming.provider.url = ldaps://192.168.0.2:389/DC=sync-ldap,DC=comdst.java.naming.tls = truedst.java.naming.security.authentication = simpledst.java.naming.security.principal = CN=Administrador,CN=Users,DC=sync-ldap,DC=comdst.java.naming.security.credentials = ********dst.java.naming.referral = ignoredst.java.naming.ldap.derefAliases = neverdst.java.naming.ldap.pageSize = 1000dst.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactorydst.java.naming.ldap.version = 3

2- Habilitamos y deshabilitamos las tareas que deseamos que se ejecutenlsc.tasks=user

lsc.tasks.user.condition.create = truelsc.tasks.user.condition.update = truelsc.tasks.user.condition.delete = falselsc.tasks.user.condition.modrdn = true

3- Filtros de búsqueda tanto para el origen como para el destino de datoslsc.tasks.user.type=ldap2ldaplsc.tasks.user.bean=org.lsc.beans.SimpleBeanlsc.tasks.user.dn = "cn=" + srcBean.getAttributeValueById("cn") + ",ou=usuarios"# Sourcelsc.tasks.user.srcService=org.lsc.jndi.SimpleJndiSrcServicelsc.tasks.user.srcService.filterAll=(objectClass=inetOrgPerson)lsc.tasks.user.srcService.baseDn=ou=usuarioslsc.tasks.user.srcService.attrs= uidcnsngivenName mail o userPasswordlsc.tasks.user.srcService.filterId=(&(objectClass=inetOrgPerson)(|(uid={samaccountname})(uid={uid})))lsc.tasks.user.srcService.pivotAttrs = uid# Destination

Facultad Multidisciplinaria de Occidente 35

Page 37: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

lsc.tasks.user.dstService=org.lsc.jndi.SimpleJndiDstServicelsc.tasks.user.dstService.filterAll=(objectClass=user)lsc.tasks.user.dstService.baseDn=ou=usuarioslsc.tasks.user.dstService.attrs = cnsngivenName mail company objectClasssAMAccountName name displayNameunicodePwdlsc.tasks.user.dstService.filterId=(&(objectClass=user)(|(sAMAccountName={uid})(sAMAccountName={samaccountname})))lsc.tasks.user.dstService.pivotAttrs = sAMAccountName

4- Ajustamos los valores que deseamos sincronizar, antes definido en el attrs :lsc.syncoptions.user = org.lsc.beans.syncoptions.PropertiesBasedSyncOptionslsc.syncoptions.user.default.action = F

lsc.syncoptions.user.company.force_value = srcBean.getAttributeValueById("o")lsc.syncoptions.user.cn.force_value = srcBean.getAttributeValueById("cn")lsc.syncoptions.user.name.force_value = srcBean.getAttributeValueById("cn")lsc.syncoptions.user.displayName.force_value = srcBean.getAttributeValueById("cn")lsc.syncoptions.user.objectClass.force_value = "top";"user";"person";"organizationalPerson"lsc.syncoptions.user.sAMAccountName.create_value = srcBean.getAttributeValueById("uid")lsc.syncoptions.user.userPrincipalName.create_value = srcBean.getAttributeValueById("uid") + "@sync-ldap.com"lsc.syncoptions.user.scriptPath.create_value = "demo.bat"lsc.syncoptions.user.unicodePwd.create_value = srcBean.getAttributeValueById("userPassword")

Para probar las configuraciones nos posicionamos en la carpeta del proyecto a través del comando cd, ya lo calizados en esta ejecutamos el siguiente comando:

Si no nos devuelve ningún error podemos proceder a instalar el conector de esta forma se ejecutara automáticamente cada hora:

Primero Instalamos el directorio de LSC-openldap2ad en /usr/local

Luego Instalamos cronjob y scripts logrotate

Si deseamos ejecutarlo manualmente ejecutamos el siguiente comando

Facultad Multidisciplinaria de Occidente 36

$ sudo cp /usr/local/lsc-openldap2ad/etc/cron.d/lsc-openldap2ad /etc/cron.d

$ sudo cp /usr/local/lsc-openldap2ad/etc/logrotate.d/lsc-openldap2ad

/etc/logrotate.d

#/usr/local/lsc-openldap2ad/bin/lsc –f etc -s all -c all

Page 38: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

PRUEBAS DE CUENTAS DE USUARIO Y CORREO A LOS DIRECTORIOS ACTIVE Y OPENLDAP

Si deseamos hacer pruebas a los servidores active y openldap antes de realizar algún tipo de configuración en otros equipos podemos usar una herramienta que nos permite realizar estos test

Procedemos a Instala el software que simula conexiones logeos hacia servidores ldap , servidores de correo, simulación de maquinas Windows agregadas al mismo dominio.

Aparecera el guía de la instalación y seguimos las instrucciones de la siguiente manera

Facultad Multidisciplinaria de Occidente 37

Page 39: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Facultad Multidisciplinaria de Occidente 38

Page 40: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Ya instalado corremos pGina y nos ubicamos en la pestaña de plugins selection y seleccionamos el plugin autenticación LDAP y configuramos de la siguiente manera

Aparece la siguiente pantalla y especificamos la IP del Servidor, el ppuerto por el cual nos comunicaremos en DN parten especificamos en donde tiene que ir a hacer la busqueda selecionamos serarch for DN y en serar Password especificamos el password del CN que hemos configurado con permisos de lectura y escritura en nuestro LDAP para nuestro caso es admin y password martinez

Facultad Multidisciplinaria de Occidente 39

Page 41: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Con PGnina podemos probar autenticación de correos electrónicos solo marcamos el Plugin que se muestra en la imagen y especificamos la IP del servidor de correo, el dominio, el puerto si queremos usar SSL podemos especificar que tipo de protocolo usaremos si IMAP o POP3

Luego podemos realizar las pruebas de autenticación, la ventaja de este software es que nos permite ir realizando testeos y la información que nos devuelve si hay errores la podemos usar para corregir alguna configuración, que tengamos mal en nuestros servidores entre otros.

Facultad Multidisciplinaria de Occidente 40

Page 42: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

CONFIGURACION DE USUARIOS WINDOWS

Ya configurado nuestro servidor de dominios de active pasamos a configurar los usuarios Windows, para agregar los equipos al dominio

Facultad Multidisciplinaria de Occidente 41

Page 43: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Primero necesitamos que nuestro equipo reciba el dns del servidor por ello colocamos en este las ip de nuestros servidor de dns active Directory y Openldap

Ahora colocamos el nombre de dominio a nuestro equipo, para ello nos vamos a Equipoclick derecho propiedades

Especificamos nuestro nombre de dominio y nos pedirá credenciales, estas deben ser de un usuario con privilegios de administrador que tenemos en nuestros directorios.

Facultad Multidisciplinaria de Occidente 42

Page 44: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Después solo reiniciamos y cuando deseemos iniciar sesión nos pedirá un nombre de usuario y contraseñas estas serán los que tengamos en nuestro directorio

CONFIGURACION DE CUENTAS DE CORREO EN UNIX

CONFIGURACION DE UN DNS UTILIZANDO BIND

Lo primero que tendremos que hacer es configurar nuestro dominio,instalamos el bind para poder crear nuestro dominio.

Una vez instalado procedemos a crear nuestro dominio para ello editaremos los siguientes archivos

Crearemos nuestra zona directa e inversa

Facultad Multidisciplinaria de Occidente 43

Page 45: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Luego procedemos a configurar nuestra zona directa

Luego nuestra Zona Inversa tal como se muestra en la imagen

Facultad Multidisciplinaria de Occidente 44

Page 46: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Ahora procedemos a Reiniciar nuestro servicio de la siguiente manera

Realizamos un test para comprobar si nuestro dominio esta configurado adecuadamente.

Acá comprobamos nuestro dominio

Comprobamos si esta respondiendo el dominio para nuestro servidor de correo el cual configuraremos mas adelante.

Facultad Multidisciplinaria de Occidente 45

Page 47: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Ahora comprobaremos nuestra zona inversa de la siguiente manera según el testeo todo esta en orden y nuestro dominio sea configurado correctamente

CONFIGURACION DEL SERVIDOR DE CORREOS

Instalamos el paquete postfix de la siguiente manera

Luego nos vamos a configurar los siguientes archivos

Ahora veremos la configuración del archivo main.cf

Facultad Multidisciplinaria de Occidente 46

Page 48: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

también tenemos que configurar el alias de la siguiente manera

Vamos a realizar un mapeo del archivo que hemos creado

Facultad Multidisciplinaria de Occidente 47

Page 49: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

y se nos genera un archivo como este

y luego configuramos el archivo vmaps-ldap.cfg este archivo sirve para que el servidor de correo se conecte al servido ldap y haga una búsqueda en la base si encuentra al usuario que esta intentando enviar un correo electrónico y este queda configurado de la siguiente manera

En este caso la conexión será local sin embargo en server_host se le indica la ip del servidor donde esta montado el servidor ldap.

bind_dn y bind_pw ahi ubicamos las credenciales con las que se tiene acceso a la lectura y escritura de los usuarios registrados en la base de datos.

Una vez hecho esto ya estamos listo para reiniciar el servicio

CONFIGURACION DE IMAP PARA SERVIR ACCESO A CORREOS

Instalamos el paquete dovecot-imapd

Facultad Multidisciplinaria de Occidente 48

Page 50: Sincronizacion de Bases de Credenciales

PROTOCOLOS DE COMUNICAION

Debemos configurar dos archivos el primero dovecot.conf

#nano /etc/dovecot/dovecot.conf

Modificaremos las siguientes líneas:

Dato a modificar

Descripción

Mail_uid 1005Mail_gid 1005

Passdb ldap { Descomentamos esta líneaArgs= Descomentamos esta línea

} Descomentamos esta líneaUserdb ldap { Descomentamos esta línea

Args Descomentamos esta línea} Descomentamos esta línea

Modificamos el archivo dovecot-ldap.conf

#nano /etc/dovecot/dovecot-ldap.con

Dato a modificar

Descripción

Hosts Hosts: 192.168.0.12Dn Dn=cn=cartero,dc=sync-ldap,dc=com

Dnpass Dnpass= *****Auth_bind Auth_bind=yes

Auth_bind_userdn Auth_bind_userdn=uid=%u,ou=usuarios,dc=sync-ldap,dc=comUser_attrs User_attrs=homeDirectory=home,mailbox,mail=maildir:/home/

vmail/%$User_filter (&(objectClass=CourierMailAccount)(uid=%u))Pass_filter (&(objectClass=CourierMailAccount)(uid=%u))

Facultad Multidisciplinaria de Occidente 49