estudio e implementación de nuevo sistema de · pdf filelos servicios de...

116
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA VALPARAÍSO CHILE ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE AUTENTICACIÓN PARA EL DEPARTAMENTO DE ELECTRÓNICA” BRAULIO JAVIER VÁSQUEZ CHEPILLOS MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE: INGENIERO CIVIL TELEMÁTICO PROFESOR GUÍA: AGUSTÍN GONZÁLEZ V. PROFESOR CORREFERENTE: NICOLÁS JARA CARVALLO JUNIO 2011

Upload: vokiet

Post on 05-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA

VALPARAÍSO – CHILE

“ESTUDIO E IMPLEMENTACIÓN DE NUEVOSISTEMA DE AUTENTICACIÓN PARA EL

DEPARTAMENTO DE ELECTRÓNICA”

BRAULIO JAVIER VÁSQUEZ CHEPILLOS

MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE:

INGENIERO CIVIL TELEMÁTICO

PROFESOR GUÍA: AGUSTÍN GONZÁLEZ V.

PROFESOR CORREFERENTE: NICOLÁS JARA CARVALLO

JUNIO 2011

Page 2: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

2

A mis padres, quienes por su entrega y amor

han hecho que parte de mi proyecto de vida se haya cumplido.

A mis amigos, que con su apoyo incondicional lograron

reducir gran parte de las adversidades surgidas en este periodo.

A los que hoy no están con nosotros, quienes gracias a su apoyo

terrenal y divino cada día protegen a este ser.

Page 3: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

3

Estudio e implementación de nuevo sistema de autenticación

para Departamento de Electrónica

Memoria para optar al título de Ingeniero Civil Telemático

Braulio Javier Vásquez Chepillos

Profesor Guía: Agustín González

Junio 2011

Resumen

El objetivo principal de este trabajo es realizar un estudio y análisis sobre aplicaciones

que den servicio de directorio, autenticación, y acceso remoto para los usuarios del

Departamento de Electrónica de Universidad Técnica Federico Santa María.

Los servicios de autenticación y directorio basados en el protocolo LDAP, son utilizados

en una gran cantidad de instituciones que entregan espacios de alojamiento de información y

cuentas de identificación. Con ellos es posible acceder a los sistemas disponibles mediante la

utilización de una cuenta única, permitiendo una mejor integración entre aplicaciones Web,

acceso a estaciones de trabajo y uso de las aplicaciones disponibles en servidores dedicados.

Otro de los aspectos a mejorar en el Departamento es la forma de cómo los usuarios

acceden a los servicios de manera remota. Esta posibilidad entrega un sin fin de beneficios para

quienes hacen uso de las herramientas computacionales constantemente, ya que es posible

obtener direcciones IP de la red remota, montar los discos virtuales asignados y utilizar

programas que se encuentran habilitados con este motivo, como por ejemplo, servidores de

licencias.

Para resolver los requerimientos anteriores, se hicieron estudios y análisis de las

aplicaciones disponibles en el mercado para cada uno de los servicios mencionados, es decir,

servicios de autenticación y de acceso remoto. Para el primero se estudió la posibilidad de

utilizar Active Directory u OpenLDAP, donde su diferencia principal radica en que la primera es

privativa, en cambio la última es código abierto. Además para éste caso se entrega un plan de

migración e implementación para la Red de Electrónica, utilizando la tecnología que mejor se

acomode. En cambio para los sistemas de acceso remoto se entregarán recomendaciones de qué

tecnología utilizar a futuro, analizando OpenVPN y sistemas de ventanas X.

Palabras Claves: Autenticación, acceso remoto, migración.

Page 4: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

4

Índice

Resumen ................................................................................................................................................. 3

1.Introducción ......................................................................................................................................... 6

1.1 Problemática y Objetivos ............................................................................................................... 7

2.Estado del Arte ................................................................................................................................... 10

2.1 Situación en Chile ........................................................................................................................ 10

2.2 Situación en el mundo .................................................................................................................. 11

2.3 Solución Propuesta ...................................................................................................................... 12

3.LDAP - Protocolo Ligero de Acceso a Directorio ............................................................................... 13

3.1 Servicio de Directorio .................................................................................................................. 13

3.2 Definición de LDAP .................................................................................................................... 14

3.3 Los Modelos de LDAP ................................................................................................................ 15

3.3.1 Modelo de Datos de LDAP ................................................................................................... 15

3.3.2 Modelo de Nombramiento ..................................................................................................... 18

3.3.3 Modelo Funcional ................................................................................................................. 19

3.3.4 Modelo de Seguridad ............................................................................................................ 20

4.Sistemas de Acceso Remoto ............................................................................................................... 22

4.1 Sistema de Ventanas X ................................................................................................................ 22

4.1.2 Diseño del Servidor X .................................................................................................... 23

4.1.3 Interfaces de Usuario ...................................................................................................... 25

4.2 VPN, Red Privada Virtual ...................................................................................................... 27

4.2.1 Elementos de una VPN ................................................................................................... 27

4.2.2 Topología VPN .............................................................................................................. 29

4.2.3 Ventajas de una VPN ...................................................................................................... 31

4.2.4 Desventajas de una VPN................................................................................................. 31

4.2.5 Medidas de seguridad ..................................................................................................... 32

5.Comparación de Tecnologías .............................................................................................................. 33

5.1 Análisis y Comparación de Servidores de Directorio .............................................................. 33

5.1.1 Tópicos de Evaluación .................................................................................................... 33

5.1.2 Productos a comparar ..................................................................................................... 35

5.1.3 OpenLDAP v/s Active Directory .................................................................................... 38

5.1.4 Cuadro Comparativo ...................................................................................................... 43

Page 5: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

5

5.2 Análisis y Comparación de Sistemas de Acceso Remoto ........................................................ 45

5.2.1 Tópicos de Evaluación .................................................................................................... 45

5.2.2 Productos a comparar. .................................................................................................... 46

5.2.3 Evaluación de los productos. .......................................................................................... 49

5.2.4 Cuadro Comparativo....................................................................................................... 52

6.Resultados .......................................................................................................................................... 54

6.1 Sistema de Autenticación ............................................................................................................. 54

6.1.1 Recursos de Hardware y Software ......................................................................................... 54

6.1.2 Proceso de Implementación ................................................................................................... 56

6.1.3 Casos de Prueba .................................................................................................................... 61

6.1.4 Migración de cuentas de usuario ............................................................................................ 76

7.Conclusiones y Trabajo Futuro ........................................................................................................... 79

Referencias............................................................................................................................................ 81

Anexo 1 Aspectos Avanzados del Protocolo LDAP ............................................................................... 83

Anexo 2 Instalación y Configuración de OpenLDAP 2.3 y Samba 3.4 sobre FreeBSD 7.2 ..................... 89

Anexo 3 Integración de SSH con OpenLDAP, mediante PAM ............................................................. 101

Anexo 4 Agregando máquinas al dominio LDAP/Samba ..................................................................... 104

Anexo 5 Instalación y Configuración del Servidor de Correo .............................................................. 107

Anexo 6 Códigos Fuentes de Sitios Web de Autenticación ................................................................... 112

Anexo 7 Códigos Fuentes para la Migración de Usuarios desde NIS+ a OpenLDAP ............................ 115

Page 6: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

6

Capítulo 1

Introducción

Hoy en día, las redes de computadores se encuentran en una constante evolución debido

al alto impacto que éstas generan en una estructura organizacional determinada. Tanto en

empresas, como en instituciones educacionales, se ha vuelto una necesidad el mantenerse al día

con respecto a nuevas aplicaciones que imponen un uso eficaz de los recursos existentes en estos

lugares.

En muchas ocasiones, es posible encontrarse con errores y problemas de seguridad dentro

de una red, más aún si está sujeta a procesos de escritura y lectura durante intervalos de tiempo

prolongado. Esto puede llevarla a ser vulnerable a posibles ataques informáticos, obteniendo

como consecuencia la adquisición de datos privados, como también el envío de información

maliciosa. Lo anterior, ocurre principalmente por el hecho de no contar con las herramientas

necesarias para poder prever los ataques mencionados. Uno de los errores comunes que cometen

estas entidades, es la desactualización que existe tanto en software como en hardware,

manteniendo una estructura de red conforme a los requerimientos de los usuarios, ya que se les

entregan todos los servicios que éstos puedan prescindir, pero limitando a un uso óptimo de los

recursos.

Un aspecto importante en una red del tipo institucional es la cantidad de servicios que

ésta pueda prestar a los usuarios involucrados en su uso cotidiano. Para ello, se listarán algunos

de los cuales resultan ser comunes, pero de vital importancia para un funcionamiento eficiente de

los sistemas implementados.

Autenticación de Usuarios: Servicio de vital importancia al momento de querer

administrar y monitorear a los usuarios de una red. Este tiene que ser altamente fiable,

soportar con éxito ataques maliciosos y ser aceptable para los usuarios. La mayor parte

de los sistemas de redes mantienen una relación de identidades personales (usuarios)

asociadas normalmente con un perfil de seguridad, roles y permisos. El proceso de

autenticación permite a estos sistemas asumir con una garantía razonable que quien se

está conectando es quien dice ser, para que luego las acciones que se ejecuten en el

sistema puedan ser referidas a esa identidad y aplicar los mecanismos de autorización.

Acceso Remoto a Cuenta: Al momento en que un usuario está fuera del dominio de la

red, es posible acceder remotamente desde una máquina local. Comúnmente, en

ambientes Unix/Linux, se utilizan protocolos de accesos tales como Secure Shell (SSH),

FTP (File Transfer Protocol), SFTP (Secure- File Transfer Protocol), pero la idea es

mantener total transparencia al momento de acceder a los datos ubicados en servidores

externos.

Proveer Servicio Web: Si los usuarios poseen capacidad de almacenamiento, éstos

deben poder crear sitios web para los fines que se estime conveniente. Es por eso que es

Page 7: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

7

necesaria la implementación de diversas tecnologías web, que permitan la creación de

sub-sistemas bajo el dominio en que se encuentran.

Existe una variedad de aplicaciones, que ayudan a satisfacer estos requerimientos, pero

que difieren en aspectos como el pertenecer al grupo de software open source, libre o privativo.

Entre ellos es posible mencionar algunos como:

Active Directory [1.1]: Implementación de Microsoft para ofrecer servicio de directorio en una

red distribuida de computadores. Utiliza una serie de protocolos tales como LDAP, DNS y

DHCP. Su estructura jerárquica permite mantener una serie de objetos relacionados con

componentes de red, como usuarios, grupos de usuarios, permisos y asignación de recursos y

políticas de acceso. Su funcionamiento es similar a otras estructuras de LDAP, ya que este

protocolo viene implementado como una base de datos, la cual almacena en forma centralizada

toda la información relativa a un dominio de autenticación. La ventaja que presenta esto es la

sincronización entre los distintos servidores de autenticación de todo el dominio.

OpenLDAP [1.2]: Es una implementación libre y de código abierto del protocolo LDAP

desarrollada por el proyecto OpenLDAP. Este protocolo se encuentra a nivel de aplicación y

permite el acceso a un servicio de directorio ordenado y distribuido para buscar información

diversa en un entorno de red. LDAP también es considerado una base de datos jerárquica a la que

pueden realizarse múltiples consultas.

Un directorio es un conjunto de objetos con atributos organizados en una manera lógica y

jerárquica. En cambio un árbol de directorio LDAP puede reflejar varios límites políticos,

geográficos u organizacionales, dependiendo del modelo elegido. Los despliegues de LDAP

tienden a usar nombres de Sistemas de Nombre de Dominio o DNS para estructurar los niveles

más altos de la jerarquía. Conforme se desciende en el directorio pueden aparecer entradas que

representan personas, unidades organizacionales, impresoras, documentos o cualquier cosa que

representa una entrada en el árbol.

1.1 Problemática y Objetivos

El departamento de Electrónica de la Universidad Técnica Santa María cuenta con un

sistema de administración de red el cual entrega una gran cantidad de servicios a sus profesores,

alumnos y funcionarios. Principalmente, la estructura está formada por un sistema de

autenticación bajo el software libre NIS+, el que permite mantener registro de todos los usuarios

participantes en la red mediante una arquitectura cliente/servidor. Esta tecnología se encuentra

instalada en “Lucas”, servidor que tiene como propósito permitir el correcto funcionamiento de

este servicio.

Tanto profesores como alumnos poseen servidores distintos, en los que están instaladas

aplicaciones que permiten un uso eficiente de la red. Por ejemplo, es posible la creación de base

de datos, el levantamiento de sitios web bajo el dominio del Departamento de Electrónica, acceso

remoto mediante el protocolo SSH, con exportación de ventanas X, entre otros. Además, hay una

amplia cantidad de asignaturas impartidas que exigen la utilización del servidor “Aragorn”, en

Page 8: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

8

donde se pueden realizar procesos de compilación y depuración en diversos lenguajes de

programación, tales como C/C++, Java, Perl, y otros. También es posible la utilización de

programas de simulación como Matlab. Todo esto, ha llevado a que los usuarios realicen la

mayoría de sus actividades académicas en base a los sistemas informáticos que el departamento

ofrece.

Dado los requerimientos existentes, es necesaria una actualización referente a los

servicios que el Departamento de Electrónica entrega a sus usuarios. Para ello, se presentan

diversas tecnologías que serán estudiadas, ya que son utilizadas para ofrecer servicios de redes

en entidades con objetivos similares. A continuación se mencionarán los requerimientos

principales que un sistema de red de alto rendimiento, como el utilizado en el Departamento de

Electrónica, debe ser capaz de satisfacer.

Acceso a Servidores y sus servicios: Como se ha planteado, existen múltiples servidores los

cuales tienen tareas específicas a cumplir. Entre ellos se encuentra “Lucas”, con el sistema

operativo Solaris 8, encargado de la autenticación de los usuarios de la red; el servidor “Vega”,

destinado al sitio web del departamento contiene todo el almacenamiento referente a este

servicio y los sitios web de cada una de las asignaturas; “Aragorn”, utilizado por los alumnos, se

encuentra bajo el sistema operativo Debian 2.4 y se comunica a través de un puente (switch)

hacia Lucas para así obtener los registros de las cuentas de cada uno de los alumnos según año

de ingreso a la carrera, pero todo el procesamiento de información que el estudiante realiza se

manipula en “Aragorn”. Para el caso de los profesores, es el servidor “Deneb” el que almacena

todas las cuentas.

El proceso común con que un usuario ingresa a cada una de las máquinas (sujeto a los

permisos adquiridos), es a través de SSH donde se obtiene acceso a un terminal para así poder

realizar procesos de lectura/escritura dependiendo de la situación. En el caso de los alumnos,

éstos pueden almacenar material académico en sus cuentas, y así mantenerlos en la red.

Uno de los requerimientos planteados al realizar este estudio, es la obtención de una

única cuenta de usuario para el uso de la mayoría de los servidores, dependiendo de los permisos

otorgados. En la actualidad, al momento que un alumno pasa a ser parte de las carreras de

Ingeniería Civil Electrónica/Telemática, se procede a la creación de una cuenta, para lo cual él

debe dirigirse a la administración de la red para su activación. Ésta es del tipo Unix, la que a

través de Samba puede ser utilizada en las estaciones con Windows que se encuentran bajo el

dominio ELONT. La idea es que a la vez permita usarse para todos los servicios presentes en el

Departamento de Electrónica.

Dualidad de Sistemas Operativos: Los laboratorios de la Red de Computadores de Electrónica

(RCE), en su mayoría, se encuentran con el sistema operativo Microsoft Windows XP. La idea

de este tópico es poder incentivar a los alumnos el uso de Linux, dado que el mercado laboral así

lo requiere. Para ello es necesaria la estadía de ambos sistemas permitiendo su ingreso a través

de la cuenta única anteriormente mencionada.

Como en la actualidad no se encuentra habilitada esta funcionalidad, se ha restringido al

alumnado solo al uso de Windows, excepto en una máquina disponible con Debian. Es por eso

Page 9: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

9

que es de vital importancia el cambio de NIS+ a alguna tecnología de acceso a directorios que sí

lo permita, dado que en estos momentos se están desaprovechando recursos existentes.

Integración de cuentas con sistemas Web: Al momento de desarrollar una aplicación Web que

será utilizada por los usuarios del Departamento de Electrónica, es necesario un sistema de

autenticación que unifique las cuentas ya existentes con dicha aplicación. En la actualidad el

SGP (Sistema de Gestión de Prácticas) y el Sistema de Solicitud de Memos, lo hacen mediante

consultas al servidor de correo. La idea es que las peticiones de autenticación no pasen por éste,

sino que vayan directamente al servidor de directorio o autenticación.

Sistema de Administración Webmin: Al momento de realizar los cambios a NIS +, será

necesaria la implementación de un sistema web de administración de cuentas. El propósito de

éste es que los encargados de la creación, modificación y eliminación de cuentas para alumnos y

profesores se enfrenten a un interfaz amigable de administración web.

En la actualidad se encuentra instalado el software Webmin [1.3], el cual es un sistema de

administración para Unix a través de la web. Usando cualquier explorador, es posible crear

cuentas de usuario, configuración de Apache, manejo de DNS y transferencia de archivos. La

aplicación anterior se transforma en una potente herramienta de trabajo, para quienes se encargan

de la tarea de creación y modificación de cuentas. Cabe mencionar que ésta tiene soporte para los

sistemas operativos RedHat, Debian, Solaris, entre otros.

Al analizar la situación actual de la Red del Departamento de Electrónica, es posible

visualizar las falencias que la red posee en general. El tema de la no actualización de los

sistemas, la falta de servicios para algunos tipos de usuarios, llevando eventualmente a una falla

en el cumplimiento de los objetivos básicos de esta red. Por esto el trabajo a realizar consiste, en

solucionar aquellos impedimentos y a hacer un estudio acabado de qué tecnologías pueden

satisfacer la demanda mencionada.

Page 10: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

10

Capítulo 2

Estado del Arte

2.1 Situación en Chile

Se ha estudiado la situación con respecto a las redes institucionales de tres universidades

del país. Estas poseen departamentos especializados en el tema, los cuales pretenden mantener

de forma eficiente el funcionamiento de la estructura de red. A continuación se detallará como

operan cada una de éstas.

Pontificia Universidad Católica de Chile (Facultad de Ingeniería) [2.1]: La entidad a cargo

de administrar los recursos computacionales es la Subdirección de Servicios Informáticos (SSI).

Esta agrupación es responsable de la operatividad y conectividad de los recursos usados por la

facultad para atender sus quehaceres de docencia, investigación y administración. Dentro de la

infraestructura que ésta posee, es posible destacar los servidores centrales, y sus laboratorios

docentes, donde se facilita el licenciamiento de software para todos sus usuarios.

Existen variados servicios que esta agrupación entrega a sus usuarios. Entre ellos es

posible encontrar la utilización de cuentas de correo electrónico, con cuotas de disco variable

dependiendo si es un alumno, profesor o funcionario quien la solicita. Además los usuarios

pueden conectarse remotamente a las cuentas que poseen dentro del dominio institucional. Para

ello, se fomenta la instalación y manejo del software WinSCP [2.2], el cual se comunica con los

servidores centrales mediante el protocolo SFTP, SCP y SSH. Con esto es posible acceder a

todos los archivos almacenados en las máquinas servidoras del SSI.

Universidad de Valparaíso [2.3]: El Departamento de Computación de esta universidad, tiene

como objetivo el manejo de todos los servicios relacionados a tecnologías de información de la

propia institución. Cabe mencionar que hoy en día ha existido una constante actualización de

éstos, en donde es posible destacar la futura implementación del sistema de autenticación LDAP.

De igual forma, se han agregado otro tipo de servicios como es el gestor de directorio

Relay [2.4], el cual se encarga de organizar todos los datos y archivos de un usuario, para que

éste pueda acceder de forma remota y con una interfaz adecuada.

Universidad de Chile [2.5]: La Dirección de Servicios de Tecnologías de Información (STI),

tiene como misión prestar servicios especializados en tecnologías de información y

comunicaciones, buscando permanentemente nuevas y mejores prácticas en donde éstas

propicien un cambio. El objetivo es apoyar a la Universidad de Chile en su gestión y realización

más eficiente de las labores y servicios que presta a la sociedad.

El “Pasaporte uchile”, es uno de los servicios más utilizados por la gente de la

universidad, ya que éste unifica la mayoría de las soluciones informáticas orientadas al ámbito

Page 11: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

11

académico con un nombre de usuario y contraseña único por cada individuo. Lo anterior es

posible gracias a instalación de servidores LDAP, los que mantienen registro de todas las

personas que poseen este pasaporte junto con los privilegios que éstos poseen dentro de la red.

Con respecto al acceso remoto, los usuarios pueden ingresar vía VPN [2.6] (Red Privada

Virtual) la cual permite una extensión de la red local sobre una red pública, con el fin de tener a

mano todos los servicios que esta última ofrece. Lo anterior, es una de soluciones más utilizadas

por este tipo de instituciones ya que permite una conexión transparente entre un usuario y la

información que posee.

2.2 Situación en el mundo

El manejo avanzado de redes computacionales ha llevado a que instituciones

educacionales de nivel mundial, implementen una amplia cantidad de servicios informáticos para

mantener los altos estándares de seguridad de la información de cada uno de los usuarios que

estas entidades poseen. Es el caso de la Universidad de Berkeley en California, que a nivel de

autenticación de usuario ofrece el servicio Calnet [2.7]. Este sistema subdivide el tipo de

autenticación según la funcionalidad por la que se va a optar, por lo que se encuentra destinada a

proporcionar a los departamentos del campus un medio centralizado por el cual es posible la

validación de usuarios que necesiten acceder a aplicaciones internas, como obtener información

autorizada del resto de los usuarios. Los servicios ofrecidos por Calnet son los siguientes:

Kerberos [2.8]: Es el sistema que posee todos los identificadores y contraseñas del tipo Calnet.

Esto permite utilizar una sola identificación para todos los servicios informáticos entregados por

la universidad de Berkeley. Lo anterior puede llevar a problemas de sincronismo dado a la alta

concurrencia de usuarios, por lo que se ha desarrollado un software de sincronismo para

solucionar cualquier contratiempo de este tipo.

Central Autenticación Service (CAS): Este sistema permite una vez autenticado correctamente

a través de Kerberos, el poder acceder a todas las aplicaciones web disponibles que necesiten

alguna identificación. Con esto se logra unificar las cuentas de usuarios dependiendo del tipo de

servicio ofrecido. La idea que todo desarrollador perteneciente a la universidad, y que quiera que

los usuarios utilicen su sistema, inscriban el sitio en CAS.

LDAP Directory Service: Su uso es comparable con un directorio telefónico, ya que la

institución lo utiliza con el fin de encontrar información personalizada de cada uno de los

usuarios pertenecientes al dominio, por ejemplo: el número de empleado, el identificador de

alumno, dirección de correo electrónico. El directorio contiene información sobre los

estudiantes, maestros, empleados, afiliados y otros campos designados. Los datos se almacenan

como atributos que pueden ser propiedad de los sistemas que proporcionan diferentes campos de

información. Existen atributos de carácter público, a los que se puede acceder usando un enlace

de carácter anónimo. Por ende no es necesario habilitar una cuenta especial, por lo que una

aplicación puede realizar búsquedas sobre los usuarios públicos y recuperar la información

requerida.

Page 12: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

12

Dado al análisis de otras instituciones, es posible discernir que en su mayoría los

servicios ofrecidos por sus de departamentos de tecnología de información son similares entre sí.

Cabe mencionar que en el extranjero se han desarrollado técnicas de autenticación mucho más

sofisticadas que en Chile. Por lo que es recomendable tomarlas en cuenta para futuros

desarrollos, ya que permitirían un mejor manejo de los servicios de redes que se pueden ofrecer.

2.3 Solución Propuesta

Al ver cada una de las soluciones que poseen las instituciones anteriores, se entrega una

propuesta de análisis y plan de acción al momento de actualizar los servicios de autenticación y

acceso remoto que tiene el Departamento de Electrónica. A continuación se listan las tareas

fundamentales a realizar para llevar a cabo este informe.

Estudiar y analizar dos tecnologías orientadas al servicio de directorio y autenticación

como son ActiveDirectory y OpenLDAP. Ambas trabajan bajo el protocolo LDAP, por lo

que se ahondará en el funcionamiento de éste.

Estudiar y analizar dos tecnologías de acceso remoto que permitan una mayor fluidez de

este servicio para los usuarios del Departamento de Electrónica. Entre ellas se investigará

sobre el uso de servidores X y servidores VPN.

Al momento de elegir una de las alternativas para cada caso, es decir, servidor de

directorios y acceso remoto, se propondrá un plan de acción para una implementación

futura por parte del Administrador de Red de turno, ya que ésta se encuentra sujeta a la

obtención de requerimientos adicionales como servidores, equipos de conectividad o

licencias de aplicaciones.

Finalmente se implementarán servidores de pruebas y máquinas virtuales que permitirán

corroborar el funcionamiento de las tecnologías escogidas y demostrar las mejoras con

respecto al sistema actual.

Page 13: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

13

Capítulo 3

LDAP - Protocolo Ligero de Acceso a Directorio

Este capítulo tiene como objetivo entregar un mejor entendimiento del protocolo LDAP,

utilizado en los servidores de directorio y autenticación que se analizarán. Para ello se explicará

su arquitectura, su funcionamiento y cómo es relacionado con los sistemas de bases de datos.

Comúnmente, se hace la analogía entre LDAP y una guía telefónica, ya que ambos almacenan

información detallada sobre ciertos usuarios, pertenecientes a un grupo determinado. En el caso

de LDAP, puede contener nombres, direcciones, contraseñas, ubicación de directorio de datos,

entre otros aspectos, haciendo fácil la integración de ésta información con los sistemas de

autenticación. Los aspectos avanzados sobre el protocolo LDAP, se encuentran descritos en el

Anexo A1.

3.1 Servicio de Directorio

En términos informáticos, un directorio es una base de datos especializada, también

llamada repositorio de datos, el cual almacena información clasificada y ordenada acerca de los

objetos manipulados. Por ejemplo, un directorio particular podría listar información acerca de las

impresoras en forma específica, indicando su ubicación, rapidez en páginas por minuto y el flujo

de datos de impresión soportados.

Los directorios permiten tanto a usuarios como a las aplicaciones, encontrar recursos que

tienen características necesarias para una tarea en particular. Una muestra de ello es cuando un

listado de usuarios puede usarse para buscar las direcciones de correo electrónico de personas en

un cliente de correo, como también puede ser utilizado para aplicaciones de comercio electrónico

y determinar en qué servidor se encuentra la información de facturación de un determinado

cliente.

Usualmente son asociados con una base de datos, pero en realidad corresponde a una del

tipo especializada, con características que lo diferencian de las bases de datos relacionales de

propósito general. Una particularidad de los directorios es que pueden ser accedidos con alta

frecuencia para lecturas o búsquedas, en vez de actualizaciones o modificaciones de datos. Por

ello, es que los servidores de directorio están optimizados para accesos de lectura. Con lo

anterior se justifica el hecho de que estén diseñados para almacenar información relativamente

estática, por lo que no debiesen ser usados para modificaciones varias.

Cabe mencionar que los directorios no tienen la capacidad de soportar transacciones. Una

transacción es una serie de operaciones, que deben ser completadas en su totalidad o anuladas,

como es el caso de los movimientos bancarios. La descripción anterior complicaría la

implementación de un directorio, desviando el esfuerzo de lo esencial del producto, que sea

prioritariamente de lectura y rápido acceso, más aun en ciertas ocasiones es aceptable cierta

inconsistencia temporal, ya que el directorio no debe contar con un alto número de

Page 14: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

14

actualizaciones. Por lo anterior, es que no es recomendable remplazar una base de datos de

propósito general por un directorio, si es que la consistencia de los datos, debido a numerosas

transacciones, es un aspecto crítico para el correcto funcionamiento del sistema computacional

en cuestión.

Otra diferencia entre un directorio y una base de datos relacional, es el tipo de datos que

se almacena en cada una de estos sistemas. En los administradores de base de datos relacionales,

existen una gran variedad de tipos que incluso varían según el proveedor, como también del uso

que se le vaya a dar. En un directorio en cambio, los tipos de datos son limitados (aunque pueden

extenderse), pero la información es abierta para cualquier aplicación que lo requiera. De este

modo, si bien se puede hacer que la información almacenada sea específica para adecuarse a una

aplicación o sistema, puede llegar a ser escalable al momento de entregar servicios a otras

aplicaciones que lo requieran.

En cuanto al lenguaje de acceso en las bases de datos, éste depende del proveedor de ésta,

haciendo cada uno su propia versión del lenguaje SQL (Structured Query Lenguage). Las

sentencias pueden llegar a ser muy complejas para realizar tareas específicas, involucrando

anidamiento, actualizaciones, entre otras características. Lo anterior conlleva a un alto

procesamiento y/o verificaciones de consistencia sobre los datos, aumentando la complejidad del

código del servidor de base de datos. En cambio un directorio, desde su inicio fue pensado para

ser liviano, y para responder consultas relativamente sencillas y unitarias, aunque puede permitir

complejas sentencias de filtros que son poco frecuente. El lenguaje utilizado es un protocolo

estandarizado, por lo que cualquier servidor debería responder de la misma manera ante una

consulta de un cliente estándar, optimizando a ambos al mismo tiempo.

3.2 Definición de LDAP

LDAP es un protocolo de la capa aplicación el cual permite el acceso a un servicio de

directorio ordenado y distribuido para buscar diversa información en un entorno de red. Como

anteriormente se mencionó también es considerado como una base de datos, aunque su sistema

de almacenamiento puede ser diferente.

Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u

organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a

usar nombres de Sistema de Nombres de Dominio para estructurar los niveles más altos de la

jerarquía. Conforme se desciende en el directorio pueden aparecer entradas que representan

personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier

cosa que representa una entrada dada en el árbol.

Habitualmente, almacena la información de autenticación y es utilizado para aquella

acción aunque es posible almacenar otra información, como datos de contacto del usuario,

ubicación de diversos recursos de red, permisos y certificados.

Page 15: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

15

3.3 Los Modelos de LDAP

LDAP define cuatro modelos básicos que marcan su operación, la información que puede ser almacenada en directorios LDAP, y lo que se puede hacer con esa información. A continuación se presentan cada uno de ellos.

3.3.1 Modelo de Datos de LDAP

Los directorios en LDAP utilizan un modelo de datos que representa la información como una jerarquía de objetos. Esto no implica que el protocolo sea una base de datos orientada a objetos. Como se ha señalado anteriormente, LDAP es un protocolo que permite el acceso a un servicio LDAP habilitado que no define como se almacenan los datos, pero las primitivas operacionales como lectura, escritura y modificación, operan sobre un modelo de datos que tiene características orientadas a objetos.

Estructura de Árbol de Objetos

En un directorio LDAP los objetos son representados de forma jerárquica, donde cada uno de ellos es conocido como una entrada. El resultado de la estructura de árbol de objetos es llamado Árbol de Información de Datos (Data Information Tree – DIT). La punta de este árbol es comúnmente llamada raíz, base, o sufijo. Cada entrada en el árbol tiene una entrada padre y una o más entradas hijos, las cuales interactúan como objetos. A la vez cada entrada hijo es posible que posea más entradas hermanas. Además cada una de ellas está compuesta de (o es una instancia de) uno o más objectClasses. Los objectClasses contienen cero o más atributos, los que poseen nombre (y a veces abreviaciones o alias) y típicamente contienen datos. Las características de los objectClasses y sus atributos son descritas por las definiciones ASN.1 [3.1]. A continuación la Figura 1.1 muestra las relaciones entre los tópicos descritos anteriormente.

Figura 1.1: DIT – Data Information Tree

Page 16: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

16

Atributos

Como se dijo anteriormente cada atributo posee un nombre y a la vez es capaz de

almacenar información. Éstos son siempre asociados con uno o más ObjectClasses. Es posible

mencionar algunas de las características de los atributos.

Todos los atributos son miembros de una o más objectClasses.

Cada atributo define un tipo de datos que éste puede contener.

Pueden ser opcionales (optional) o del tipo obligatorio (mandatory) como es descrito en

las definiciones ASN.1 para los objectClasses del cual ello son miembros. Un atributo

puede ser opcional en un objectClass y obligatorio en otro, ya que el este último

determina su propiedad.

Los atributos pueden tener uno o múltiples valores. Los del tipo simple significan, que

solo un valor de dato puede estar presentado en el atributo. En cambio los del tipo

múltiple pueden tener uno o más valores para el atributo.

También tienen nombres y a veces alias o abreviaciones. Por ejemplo commonName es

un miembro del objectClass llamado persona (y muchos otros) y tiene un nombre

abreviado cn. Ambos pueden ser usados para referenciar este atributo.

Cada nivel en la jerarquía de datos contenido en un atributo único debe ser capaz de

identificar a la entrada. Puede ser uno o una combinación de atributos para cada entrada.

Como ejemplo es posible notar un directorio de páginas amarillas que contienen

nombres, numero de teléfonos, direcciones y correos electrónicos, entre otros. Para solo

identificar una entrada se puede escoger el nombre de la persona (el atributo commoname

o cn). Si el nombre no es el único en el directorio LDAP, el sistema retornará todas las

entradas con el nombre en cuestión. Para funciones de búsqueda y lectura lo anterior

puede ser aceptable o incluso deseable, en cambio para escritura y actualización no lo es.

Por tanto es necesario seleccionar otro atributo que es absolutamente único llamado

nombre relativo único (Relative Distinguished Name - RDN). Es perfectamente

permisible usar más de un atributo para acceder a los datos dependiendo del contexto.

Page 17: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

17

La Tabla 1.1, muestra algunos atributos utilizados en el protocolo LDAP, con sus

respectivos objectClasses:

Abreviación Nombre ObjectClass Descripción

c countryName country Definido en ISO

3166

cn commonName person

organizationalPerson

organizationalRole

groupOfNames

applicationProcess

applicationEntity

posixAccount

device

Nombre común en el

DIT. Revisar tamaño

font

dc domainComponent dcObject Cualquier parte del

nombre de dominio.

Por ejemplo

elo.utfsm.cl

gn givenName inetOrgPerson Primer nombre o

apellido.

o organizationName Organization Nombre de la

organización.

ou organisationalUnitName organizationUnit Usualmente un

departamento o

cualquier sub

entidad

perteneciente a una

mayos.

sn Surname person Apellido de una

persona.

userPassword - organization

organizationalUnit

person

dmd

simpleSecurityObject

domain

posixAccount

Password para

algunos controles de

acceso.

uid userid account

inetOrgPerson

posixAccount

Valor único de un

usuario.

Tabla 1.1: Atributos más utilizados.

Page 18: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

18

ObjectClasses

Son esencialmente paquetes de atributos. Hay un número determinados de objectclasses

pre definido. Es posible destacar dos características.

Definen donde un miembro atributo debe (mandatory) o puede (optional) estar presente.

Pueden ser parte de jerarquía, donde hereda todas las características de sus objectclasses

parientes.

Posee un nombre global único.

Generalmente se considera un contenedor de atributos, pero a la vez es visto como uno de

ellos al momento de realizar una búsqueda.

Uno o más objectClass debe estar presente en una entrada LDAP.

3.3.2 Modelo de Nombramiento

Como ya se ha mencionado, un directorio se encuentra organizado de forma jerárquica,

formando lo que se conoció como el Árbol de Información del Directorio (DIT), en el cual cada

una de sus entradas está identificada por sus atributos destacando el Nombre Distintivo

(Distinguished Name – DN). El anterior está compuesto por la concatenación del Nombre

Distintivo Relativo (Relative Distinguished Name – RDN) con los de sus superiores, hasta llegar

a la raíz del árbol. El RDN tiene como partes un nombre del atributo, un signo igual y su valor;

por ejemplo, “cn= Braulio Vásquez”.

Cabe mencionar que el RDN debe ser único dentro de las entradas que comparten el

mismo padre, lo cual asegura que cada una de ellas tenga un DN único en el directorio. Lo

mencionado no siempre ocurre, ya que algunas aplicaciones no lo soportan. Un ejemplo de ellos

es cuando éstas esperan que los RDN sean de la forma “uid= Braulio Vásquez”, no pudiendo

distinguir en que rama del árbol se encuentran.

La forma que tiene el DIT es conocida como espacio de nombres (namespace), que puede

estar formado de muchas formas. En sus inicios el estándar X.500 seguía un esquema de

nombramiento basado en países, regiones, y otras características geográficas. Más tarde se

delegó un nuevo sistema de nombramiento basado en DNS, que es lo que se ocupa hasta estos

días; por ejemplo, “dc=elo, dc=utfsm, dc=cl”.

Page 19: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

19

3.3.3 Modelo Funcional

Este tipo de modelo describe la forma de navegar en el directorio para así obtener la

información necesaria. Básicamente son tres grupos de operaciones que se diferencian según su

funcionalidad. Por ejemplo, la operación de interrogación busca y obtiene información del

directorio. En cambio la operación de actualización realiza cambios en los datos almacenados

previamente. Por último la operación de autenticación maneja la parte de control de acceso por

parte de los usuarios como también características de la sesión. En la versión posterior de LDAP

(Versión 3), se agrega el concepto de operación extendida.

A continuación se detalla las características de cada una de estas operaciones y la

influencia en el correcto funcionamiento del protocolo.

Operación de Interrogación

La palabra clave de esta operación es la búsqueda que desea realizar un usuario en el

DIT. Aquella acción es manejada por los siguientes parámetros:

baseDN: Representa el punto del DIT o nodo de donde se comenzará la búsqueda de

información.

Filter: Como lo dice su nombre, es un filtro para realizar la búsqueda. Por ejemplo,

podría ser como un atributo dentro del DIT como “uid=bvasquez”, o también utilizando

búsquedas lógicas.

Scope: Aquí es posible abarcar tres sub-niveles, los cuales son: base, one-level o subtree.

Si fuese base solo busca lo que se destacó en baseDN. En cambio, para one-level, se

abarcan los hijos de baseDN. Finalmente para subtree, se buscará en todas las entradas en

el árbol que se forma bajo baseDN.

También es posible la utilización de otros parámetros de interrogación como los atributos

a retornar de una entrada, límites de tiempo y tamaño, entre otros.

Operación de Modificación

Este tipo de operación abarca la parte de escritura sobre el directorio. Para ello existen

cuatro parámetros utilizados. La operación add y delete, ambas se usan para agregar y eliminar

entradas respectivamente. Por otro lado, modifyDN permite renombrar y/o mover una entrada en

el árbol. Finalmente la operación modify, hace cambios sobre una entrada ya creada con

anterioridad, permitiendo agregar o quitar atributos.

Un aspecto importante a recalcar, es que recordando que los directorios no poseen

mecanismos avanzados de transacciones como las bases de datos generales, los cambios que se

hacen en las entradas son atómicos, esto quiere decir que se hacen completamente.

Page 20: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

20

3.3.4 Modelo de Seguridad

Este modelo tiene una gran importancia en la utilización del protocolo en sí, ya que es

necesario dar aspectos de seguridad al momento de obtener información de un directorio que

involucra a un grupo de usuarios con diversos privilegios, dentro de una misma unidad

organizacional. Es sabido que LDAP es orientado a la conexión, es decir que los usuarios abren

una conexión al servidor, y realizan todas las manipulaciones dentro de esa misma. Con ello el

cliente debe autenticarse antes de iniciar la sesión, para así obtener mayores o menores

privilegios según sus características como usuario, los cuales durarán hasta que termine aquella

instancia.

Por parte del usuario, la autenticación es el proceso por el cual se le dice al servidor que

él es una entidad en particular. En cambio, desde el punto de vista del servidor, la parte de

autenticación involucra la aceptación de la identidad y las credenciales dadas por el cliente y la

verificación de que éste es quién dice ser.

Para profundizar en este modelo, se mencionan los diversos métodos de autenticación que

soporta el protocolo LDAP, los cuales poseen diversas cualidades según el uso o grado de

importancia que posea la unidad organizacional.

Anónimo

Este perfil es utilizado generalmente, cuando el tipo de información que se desea

encontrar es de carácter público, por lo que no es necesario que el usuario se autentique en el

servidor. Lo anterior, puede llevar a una sobrecarga de éste debido a que no es necesaria la

creación de perfiles para cada uno de los clientes que ingresan al sistema, pero aporta con una

solución más simple a las necesidades de éstos. Cabe mencionar que el estado es conocido como

anonymous, el cual el usuario siempre posee al momento antes de generar la conexión,

independiente si hay autenticación o no.

Contraseña de Texto Plano

La mayor desventaja de las contraseñas de este tipo, es que son fáciles de captar por los

usuarios maliciosos. Cualquier persona que esté entre el cliente y el servidor, verá entre otras

cosas la contraseña, incluso realizar modificaciones sobre ella, como también en las entradas

guardadas. El procedimiento típico de negociación entre el usuario y el servidor, usando este tipo

de contraseña es el siguiente:

1) El servidor solicita al usuario su nombre de usuario y contraseña.

2) El cliente responde a lo solicitado.

3) El servidor compara la contraseña con el valor almacenado para el usuario específico.

Page 21: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

21

Contraseña sobre SSL

Esta es una forma más segura del uso de contraseñas para la autenticación en un servidor

LDAP. Ya que acá se involucra el uso de Secure Socket Layer (o su sucesor Transport Layer

Security – TLS) para proteger la conexión sobre la que se transmitirá la contraseña en texto

plano. Esto permite que la simplicidad de usar contraseñas pueda ser almacenada en ambientes

de alta seguridad, sin riesgos de intercepción de información de alto valor.

Todos estos aspectos de seguridad, tienen un costo relacionado a la sobrecarga de

servidores y usuarios. Es necesario un certificado para el servidor (no para los clientes) y

renovarlo cada vez que sea necesario. Además, se debe tener en cuenta que muchos usuarios sin

certificados se deseen conectar.

Autenticación con certificado, sobre SSL

Esto proporciona sin duda mayor seguridad, pero incorpora mayor sobrecarga en las

máquinas como complejidad al sistema. Se debe crear un sistema PKI (Public Key

Infrastructure), donde se almacenarán los certificados. Es complejo, puesto que además de tener

un servidor de directorio, donde se podrían guardar los certificados, hay que implementar alguna

entidad certificadora que maneje y administre los certificados durante su ciclo de vida.

Una vez ya decidido como el usuario ingresará es necesario abarcar las métricas de

protección de la información en el DIT. Esta es proporcionada por lo que se conoce como

controles de acceso, permitiendo a entidades específicas el ingreso a cierto tipo de información.

Cada implementación tiene su propia manera de realizar el control de acceso. La idea es

que sea jerárquico en el directorio, es decir, que sea hereditario. Por ejemplo, si una entrada

permite solo lectura y búsqueda a accesos anónimos, este control de acceso debe aplicarse

también a todo el sub- árbol formado por esta entrada. En general, independiente del modelo, las

instrucciones de control de acceso debiesen estar constituidas por:

Uno o más recursos del directorio, es decir, a los objetos que se les controlará el acceso.

Uno o más clientes accediendo a los recursos.

Uno o más derechos de acceso, que corresponden a las acciones que las entidades pueden

hacer sobre el objeto controlado.

Page 22: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

22

Capítulo 4

Sistemas de Acceso Remoto

Hoy en día el Departamento de Electrónica cuenta con variadas formas de acceso remoto

para sus usuarios. Entre ellas es posible mencionar vía SSH o por X-Ming el cual permite la

utilización de aplicaciones con entorno gráfico mediante la conexión al servidor “Aragorn”. Esta

última opción se encuentra sujeta a una serie de inconvenientes, debido a las restricciones de

acceso que tienen los alumnos, con el fin de no saturar el ancho de banda asignado al

departamento. Por esto nace la inquietud de encontrar una solución que permita entregar mayor

cantidad de servicios remotos para los usuarios, permitiendo un uso eficiente de la red.

Con esta opción tanto alumnos como profesores, podrían dar un mejor uso de las

herramientas tecnológicas existentes, para así integrarlas con los planes de los cursos impartidos

por el Departamento de Electrónica. Cabe mencionar que hoy en día un alto porcentaje de

usuarios tiene a su disposición equipos personalizados (laptops, equipos de escritorio, etc.)

siendo un argumento sustancial para la implementación de este tipo de tecnología. Este capítulo

abarca el estudio de dos de las herramientas de acceso remoto, el servidor de ventanas X y la red

VPN. Con esto se dará un enfoque de la mejor opción posible para una implementación futura en

el Departamento de Electrónica.

4.1 Sistema de Ventanas X

El sistema de ventanas X es un software desarrollado por el MIT para dotar de una

interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un

usuario y una o más computadoras haciendo que la red sea transparente para éste. Generalmente

se refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el

encargado de mostrar la información gráfica de forma totalmente independiente del sistema

operativo.

X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente

usaba simultáneamente la capacidad de procesamiento de un mismo computador trabajando en

tiempo compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para

dibujar la pantalla y aceptar la entrada del usuario. Debido a la ubicuidad del soporte para el

software X en Unix, éste es usado en computadores personales incluso cuando no hay necesidad

del tiempo compartido.

El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando

enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón,

mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el

usuario. De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden

ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia

Page 23: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

23

de red. Debido a éste esquema cliente-servidor, se puede decir que X se comporta como un

terminal gráfico virtual.

El hecho que exista un estándar definido para X permite que se desarrollen servidores X

para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por

ejemplo, permite tener clientes X ejecutándose en un potente servidor Unix mientras los

resultados son visualizados en una computadora de escritorio con cualquier otro sistema

operativo funcionando. La comunicación entre el cliente X y el servidor se realiza por medio de

un protocolo conocido como Xprotocol [4.1], que consiste en una serie de bytes interpretados

como comando básicos para generar ventanas, posicionarlas, o controlar eventos. Los clientes X

acceden a este protocolo mediante el uso de una biblioteca llamada Xlib [4.2], que evita al

programador de clientes tener que lidiar con el código binario de Xprotocol. Sin embargo, los

aspectos de decoración y manejo de ventanas no están definidos en esta biblioteca.

Es importante destacar que X no es un gestor de ventanas, ya que necesita del usuario

para controlar el manejo de éstas. Lo anterior, conlleva a la ventaja que X pase a ser

estrictamente un sistema gráfico, de tal modo que un cliente podría estar enviando un gráfico a

una pantalla, a una impresora o a cualquier otro hardware sin darse cuenta, flexibilizando la

salida gráfica. Por otro lado, la desventaja es que no posee un único entorno de uso, por lo que

los programadores deben definir con anterioridad cual elegir, llevando a ciertas restricciones de

uso para los usuarios que deben poseer las bibliotecas específicas.

4.1.2 Diseño del Servidor X

Como ya se dijo con anterioridad, el sistema de ventanas X utiliza el modelo cliente-

servidor. Un programa servidor X se ejecuta en un computador con una interfaz gráfica y se

comunica con varios programas clientes. El servidor acepta pedidos para salidas gráficas y envía

señales de entrada del usuario. El servidor se ejecuta en computador del usuario, mientras que los

clientes pueden ejecutarse en computadores distintos. Esto es exactamente al revés de la

configuración usual de los sistemas cliente-servidor. Esta inversión resulta confusa para nuevos

usuarios de X. La terminología de X Window toma el punto de vista del programa, en lugar del

punto de vista del usuario o el hardware: los programas remotos se conectan a la interfaz gráfica

del servidor X que se ejecuta en el computador local, y por lo tanto actúan como clientes; la

interfaz gráfica X local acepta el tráfico de ingreso, y por lo tanto trabaja como un servidor.

Page 24: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

24

Figura 4.1: Ejemplo del Servidor X

En la Figura 4.1 es posible notar que el servidor X recibe la entrada de un teclado y de un ratón de forma local exhibiendo el resultado en la pantalla. Un navegador web y un emulador de terminal se ejecutan en la estación de trabajo del usuario y una aplicación de actualización de software se realiza en un computador remoto, pero es controlado y monitoreado desde la misma máquina del usuario.

El protocolo de comunicaciones entre el servidor y el cliente opera transparente a la ubicación del cliente, ya que ambos pueden ejecutarse en la misma o diferentes máquinas, posiblemente con diferentes arquitecturas y sistemas operativos. También pueden comunicarse con seguridad sobre Internet haciendo una conexión túnel sobre una sesión cifrada de la red. La comunicación entre ellos se hace mediante intercambio de paquetes sobre un canal. La conexión se establece por el cliente. Éste también envía el primer paquete, que contiene el orden del byte a ser utilizado y la información sobre la versión del protocolo y el tipo de autenticación que el cliente espera que el servidor use. La respuesta de este último mediante un paquete de vuelta indica la aceptación o el rechazo de la conexión, o con una solicitud de una autenticación adicional. Si la conexión es aceptada, el paquete de aceptación contiene los datos que el cliente debe usar en la interacción posterior con el servidor.

Después que se establece la conexión, cuatro tipos de paquetes son intercambiados entre las máquinas sobre el canal de comunicación:

Petición: El cliente pide información al servidor o solicita que éste realice una acción. Respuesta: El servidor responde a una petición. No todas las peticiones generan

respuestas.

Page 25: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

25

Evento: El servidor informa al cliente de un acontecimiento, tal como la entrada del teclado o del ratón, que una ventana está siendo movida, redimensionada, expuesta, etc.

Error: El servidor envía un paquete de error si una petición es inválida. Puesto que las respuestas están en cola, estos paquetes generados pueden no enviarse inmediatamente.

Figura 4.2: Conexión cliente-servidor X

Los paquetes de la petición y de la respuesta tienen una longitud diversa, mientras que los paquetes de eventos y de error tienen una longitud fija de 32 bytes. Los paquetes de petición son numerados secuencialmente por el servidor tan pronto como los recibe: la primera petición de un cliente se numera 1, la segunda 2 y así sucesivamente. Los 16 bits menos significativos del número secuencial de una petición se incluyen en los paquetes de la respuesta y del error. También son incluidos en los paquetes de eventos, para indicar el número secuencial de la petición que el servidor está actualmente procesando o acaba de terminar de procesar.

4.1.3 Interfaces de Usuario

El servidor de ventanas X es primariamente una definición de primitivas de protocolo y gráficas, y deliberadamente no contiene especificaciones de diseño de interfaz de usuario, como estilos de botón, menú, barra de título para las ventanas. En vez de eso, un software de aplicación, tal como los manejadores de ventana, definen y proporcionan tales detalles. Como resultado, no hay interfaz X típica y varios ambientes de escritorio han sido populares entre los usuarios.

Un manejador de ventana controla la colocación y la apariencia de las ventanas de aplicación. Esto puede resultar en interfaces semejantes a las de Microsoft Windows o Macintosh o tener controles radicalmente diferentes. Estos abarcan en sofisticación y complejidad desde los más simples hasta los ambientes de escritorio más completos.

Page 26: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

26

Muchos usuarios usan X con un ambiente de escritorio, que incluyen varias aplicaciones

usando una interfaz de usuario consistente. GNOME y KDE y Xfce [4.3] son los ambientes de

escritorio más populares. El ambiente estándar de Unix es Common Desktop Environment [4.4]

Puesto que el X es responsable de la interacción entre el teclado y el ratón con el

escritorio gráfico, ciertas combinaciones de teclas han llegado a estar asociadas con X. Control-

Alt-Backspace típicamente termina la sesión actualmente corriendo en X, mientras que el

Control-Alt conjuntamente con una tecla de función cambia a la consola virtual asociada. Sin

embargo, esto es un detalle dejado al diseño de una implementación de servidor X y no es

universal; por ejemplo, las implementaciones de servidor X para Windows y Macintosh

típicamente no proporcionan estos atajos de teclado.

Implementaciones

La implementación de X.Org es la implementación canónica de X. Debido al tipo

de licencia libre, han aparecido un número de variaciones, tanto libres como propietarias. Los

vendedores comerciales de UNIX han tendido a tomar la implementación de fuente abierta y a

adaptarla para su hardware, usualmente personalizándola y añadiendo extensiones propietarias.

Microsoft Windows no es comercializado con soporte para X, pero existen muchas

implementaciones de terceros de qué, tanto de software libre tales como Cygwin/X,

Xming y WeirdX; como de productos propietarios tales como Xmanager, Exceed, MKS

X/Server, Reflection X, y X-Win32.

Cuando un sistema operativo con un sistema de ventana nativo es anfitrión de X,

adicionalmente, el sistema X puede usar o no su propio escritorio en una ventana anfitriona

separada o puede ejecutarse de forma interna, significando que el escritorio X está oculto y el

ambiente anfitrión de ventana maneja la geometría y apariencia de las ventanas hospedadas en la

pantalla del anfitrión.

Page 27: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

27

4.2 VPN, Red Privada Virtual

VPN corresponde a la sigla de Virtual Private Network, que significa Red Privada

Virtual, una VPN no es más que un servicio que permite conectar dos extremos remotos lejanos,

ya sean redes o hosts de una manera segura y confiable a través de la encriptación de los

mensajes y la autenticación de los extremos, logrando así una sola “red”; que se caracteriza por

ser “privada”, ya que solo los extremos remotos tienen acceso y permiso a ella y es “virtual”

porque no importa la ubicación física ni la forma de conexión a Internet de los extremos remotos

para ser una sola red. También se define como una red en que la conectividad entre varios sitios

lejanos se distribuye en una infraestructura compartida, con las mismas normas de acceso,

seguridad y administración que en una red privada. Es una emulación de una red privada sobre

una estructura compartida que abarca o cubre elementos ubicados en cualquier parte donde haya

conectividad a Internet usando cualquier tecnología de acceso. En la actualidad existen tres tipos

de VPN, las cuales son:

VPN de Internet: Son todas aquellas VPN que enlazan la sede o sucursal actual de una

empresa u organización, las oficinas remotas y las sucursales a una red interna sobre una

infraestructura compartida. La diferencia sustancial que posee con las VPN de extranet es

que el acceso es sólo para los empleados de la empresa cliente.

VPN de extranet: Son todas aquellas VPN que enlazan los clientes exteriores,

proveedores, socios o comunidades de interés a una red interna de una empresa cliente

sobre una infraestructura compartida. Las VPN de extranet se diferencian de las VPN de

Internet en que permiten el acceso a usuarios que no son de la empresa.

VPN de Acceso: Son todas aquellas VPN que proporcionan acceso remoto a Internet y

extranet de una empresa cliente sobre una infraestructura compartida. Las VPN de acceso

utilizan tecnologías analógicas, de acceso telefónico, RDSI, líneas de suscriptor digital

ADSL, IP móvil y de cable para conectar de forma segura usuarios móviles,

teletrabajadores y sucursales.

4.2.1 Elementos de una VPN

Una VPN está constituida por una serie de elementos generales, entre ellos:

Túnel Cifrado: Corresponde a una conexión lógica entre dos extremos que se desean

comunicar, sin importar el lugar en que se encuentren, ni la distancia ni la topología

existente entre ellos, dándole la impresión a los extremos de la comunicación que están

conectados directamente, o sea, se canalizan directamente los datos de un lugar a otro. La

idea del túnel, como muestra la Figura 4.3 no es solamente la de enviar los datos en

ambas direcciones de forma transparente, sino también agregarle a esa comunicación

seguridad y privacidad para que nadie en el trayecto pueda interceptarla. Para esto el

túnel es cifrado a través de una variedad de algoritmos simétricos y asimétricos de cifrado

y encriptación en el extremos transmisor.

Page 28: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

28

Figura 4.3: Representación de túnel cifrado.

Extremos autenticados: Corresponde a las partes de la comunicación VPN, un host o bien una red que en el proceso transmisión debe autenticar el envío de los mensajes para asegurar que procedan de usuarios válidos. A estos se les garantiza el acceso, en cambio a los no válidos se les deniega. Es importante usar la autenticación de extremos ya que con esta se asegura que el usuario o red remota es quien dice ser.

Transporte Subyacente: Corresponde a la red o redes ya establecidas que se encuentran entre los extremos de comunicación VPN en donde se realiza la conexión y creación del enlace. En otras palabras es la ruta a tomar en una serie de caminos ya creados y operativos.

Hardware VPN: Son una serie de dispositivos electrónicos tales como módems, enrutadores VPN, puentes VPN, firewalls, scanner CS, sistema de detección de intrusos (CSIDS), servidores VPN y clientes VPN que permiten o se ven involucrados en el proceso de inicialización, mantención, encriptación, control y finalización de una conexión VPN entre un punto y otro.

Software VPN: Corresponden a una serie de aplicaciones tales como Cisco Works 2000 Cisco Secure Policy Mnager, herramientas de encriptación, llaves, generadores de claves y certificados, scripts de configuración y tantas otras que permiten o se ven involucradas en el proceso de inicialización, mantención, encriptación, control y finalización de una conexión VPN entre un extremo y otro.

Cliente VPN: Son los hosts o la misma red remota que inicia el proceso de creación de la VPN o aquel extremo que desea comunicarse con otro.

Servidor VPN: Corresponde al host o red remota que recibe la petición de comunicación desde otro host o red remota.

Page 29: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

29

4.2.2 Topología VPN

Son conocidas como las diferentes formas de conexiones lógicas o físicas de las VPN que pueden existir. Se consideran tres tipos básicos de topologías VPN, dependiendo de qué tipo son los extremos, es decir, de host a host, host a red, o red a red.

Host – Host: Es una de las arquitecturas más sencillas entre todas las existentes, cada host de un extremo está inserto en una red. Entre ellos puede haber hubs, puentes, enrutadores, redes LAN, redes WAN, pero cada usuario de los terminales finales ve el sistema como si estuviera conectado directamente con el otro.

Conexión Lógica entre hosts

Router de

Acceso A

Router de

Acceso B

HOST A HOST B

RED A RED B

Internet

Figura 4.4: VPN “host - host”.

Host – Red: Esta arquitectura es un método fácil y óptimo para teletrabajadores o trabajadores viajeros que necesitan estar considerado como si estuvieran dentro de la red interna, cuando en realidad están en lugares remotos. Cada host se conecta en forma independiente con una puerta de enlace VPN, luego se autentican y los túneles VPN se inician para cada uno de ellos.

Page 30: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

30

Puerta de

Enlace

Host Remoto

RED

Internet

Figura 4.5: VPN “host - red”.

Red – Red: Esta topología es una de las más complejas, es ideal para empresas con muchos POP (Puntos de presencia de empresas en regiones). La idea es conectar los POP con la oficina central o red corporativa a través de VPN utilizando Internet, para así ahorrarse la utilización de una línea dedicada. Este tipo de arquitecturas necesita operar con un alto grado de seguridad entre los extremos, con los mejores algoritmos de autenticación, codificación y uso de claves en la transmisión de datos. Opera para cualquier tipo de red, solo basta que sea escalable para el usuario en la red, ya que el enlace lo ve de forma transparente.

Puerta de

Enlace

RED B

Puerta de

Enlace

RED A

Internet

Figura 4.6: VPN “red - red”.

Page 31: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

31

4.2.3 Ventajas de una VPN

Como toda tecnología nueva, es importante considerar las variadas ventajas que permiten

al administrador de red el implementar una red VPN como una solución conveniente por sobre

las demás. Entre ellas se describen:

Factor Económico: Utilizar una VPN para conectar POP‟s remotos distantes

geográficamente o para incorporar equipos remotos a la red, utilizando un servicio ya

contratado por la empresa como lo es Internet, permite a las empresas ahorrarse dinero al

contratar una línea dedicada y/o incorporar un sistema RAS [4.5]. Si se utiliza una VPN,

sólo se tiene costos en la inversión inicial ya que el servicio de Internet se seguiría

cancelando se tenga o no VPN, en comparación con otras soluciones del mercado que son

mucho más costosas.

Transparencia: Una de las mayores características de las VPN, es que el usuario final

que utiliza un host no ve la real conexión de los otros hosts o redes a la cual se está

asociando, sino que son enlaces transparentes, por lo que el usuario siempre creerá que

está conectado directamente. Con este tipo de implementación se ahorra tiempo y dinero

en capacitación de personal en el área de redes y en la no variación, actualización y

reemplazo de las aplicaciones utilizadas.

Seguridad de Tráfico única: Las VPN también sobresalen debido a su capacidad de

asegurar flujos de comunicación utilizando un solo mecanismo, como es el cifrado y

autenticación de la comunicación. Además es posible la factibilidad de tráfico Web,

correo electrónico, transferencia de archivos, videoconferencia, voz sobre IP, telefonía IP

y cualquier conexión que utilice el protocolo TCP/IP.

Seguridad mejorada: Las VPN ofrecen múltiples elementos de seguridad para mejorar

las redes, ya que mitigan los riesgos externos como el falseamiento de IP, el sniffing

pasivo, la pérdida de confidencialidad, la inyección de paquetes y protección de virus que

se propagan a través de hosts accesibles desde Internet.

Facilidad en la administración: Para los ingenieros a cargo de la implementación de

VPN y de la configuración de ésta, no la verán como algo imposible. La configuración es

bastante sencilla y no variaría de la típica configuración de routing y switching ya

existentes en la red.

4.2.4 Desventajas de una VPN

Como toda nueva tecnología, el uso de las VPN también tiene sus defectos. Es importante

considerar cada uno de los factores que en la administración de redes permiten no considerara la

utilización de una VPN como una solución conveniente sobre las demás, entre ellas:

Page 32: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

32

Poca seguridad interna: Las VPN no se consideran como un método completamente

seguro, la mayor desventaja en cuanto a seguridad de una VPN, es que no se protege a los

hosts internos de ataques provenientes desde el interior de Internet, ya que por la

infección de alguno de ellos existiría una propagación inminente.

Larga Implementación: Las implementaciones de VPN pueden ser difíciles y consumir

demasiado tiempo si son realizadas por administradores de poca experiencia o bien en

redes de variadas topologías y tecnologías, lo que lleva a que la planificación de la

configuración, la administración de las claves y la redistribución de direcciones IP,

pueden convertirse en una tarea muy difícil.

Dificultad al solucionar problemas: Como en los enlaces VPN existe autenticación de

los extremos y codificación del tráfico, la falta de sincronización de las claves, los

paquetes eliminados y la sobrecarga de la puerta de enlace, son problemas que bajan el

rendimiento de la VPN, los cuales pueden ser muy difícil de detectar.

4.2.5 Medidas de seguridad

Dentro de las muchas opciones que caracterizan a las VPN con respecto a medida de

seguridad, es importante tener en cuenta una serie de factores necesarios para darle completa

seguridad a la red VPN, para eso lo primero que se debe considerar es la utilización de firewalls

bien configurados, por lo que ellos deben aportar la protección suficiente ante filtraciones no

deseadas.

Similar a los firewall se pueden utilizar routers VPN, switch VPN y HUBS VPN, con los

que se pueden obtener los mismos resultados de seguridad que utilizando un firewall.

Otra gran medida de seguridad a tener en cuenta en la implementación de una VPN, es la

tenencia de un algoritmo de cifrado adecuado y muy seguro, que sea invulnerable y lo más

complejo posible para evitar que terceros puedan acceder los datos reales transmitidos. El

software de generación de claves públicas y privadas dentro de la VPN debe ser creado con la

característica de tener suficiente entropía al generar los números aleatorios de las claves.

Finalmente, hay que tener un control excesivo con los usuarios remotos portátiles, ya que

éstos pueden ser generalmente atacados para tener acceso a la Intranet de una empresa.

Generalmente cuando un usuario se encuentra en una red ajena se conecta a través de una VPN

para acceder a su red, entonces es ahí donde es más vulnerable el portátil.

Page 33: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

33

Capítulo 5

Comparación de Tecnologías

5.1 Análisis y Comparación de Servidores de Directorio

En la actualidad existen variadas alternativas en lo que respecta a servidores de directorio

y sistemas de autenticación para redes del tipo institucional. Ya que a medida van aumentando

los usuarios resalta la necesidad de un control más exhaustivo de ellos. Son cada vez más las

aplicaciones y sistemas que se integran con directorio, puesto que es relativamente simple y

abierto, independiente del proveedor. Obviamente debido a las necesidades del mercado, existen

diferencias en los estándares que utilizan cada una de ellas, entregando ciertas ventajas y

desventajas que se acomodarán según la necesidad de la empresa o institución que lo requiera. Es

posible identificar que la base de utilización de los diversos programas es la misma, como las

entradas de LDAP mencionadas en el capítulo 3. Pero gracias a los avances y a las solicitudes de

usuarios expertos en el tema, los propietarios han permitido la integración de estos servicios cosa

de satisfacer al máximo las necesidades del usuario.

Con lo mencionado se hace una tarea menos complicada el elegir qué tipo de tecnología a

utilizar, pero de igual forma influyen ciertos factores que hacen discernir entre una y otra. Por

tanto importante analizar cuáles son estos factores y que aplicación los satisface de mejor forma,

cosa que la solución implementada no pase a ser un problema más. Cabe mencionar que el tema

de mantención de la información y migración puede ser traumática debido quizás a

particularidades de los sistemas propietarios.

Por otro lado, se debe tener en cuenta que a medida que pasa el tiempo las organizaciones

crecen, y los sistemas junto con ellas. Por ello, se debe tener en cuenta los límites de este

crecimiento. Si se piensa en una solución que involucre un servidor de directorio, este no debe

convertirse en ningún caso en el cuello de botella de la red.

Para este capítulo se abarcarán los diversos tópicos a evaluar, el por qué son necesarios

para satisfacer la problemática para la red del Departamento de Electrónica, y cómo influyen y

solucionan la disyuntiva las alternativas consideras.

5.1.1 Tópicos de Evaluación

Un servidor de directorio puede ser usado para muchos fines, y dependiendo de éstos, son

las características que a un administrador de redes le gustaría potenciar. Para una correcta

elección del producto que se adapte a sus necesidades, se deben identificar cuáles son las tareas

críticas que se realizarán. Generalmente un servidor de directorio es utilizado con un mismo fin:

el centralizar la información de los usuarios; pero éste a la vez puede ser usado para satisfacer

Page 34: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

34

otros requerimientos como el ser parte de un sistema de integración para la autenticación de

usuarios.

Estándares

Para abarcar este punto es necesario formularse las siguientes inquietudes: ¿qué pasa si en

el futuro se desea cambiar el servidor de directorio por uno de otro fabricante?, ¿o la empresa

llegase a cambiar de plataforma?, entre otras preguntas. Las anteriores parecen muy obvias, pero

la mayoría de las veces no se hacen causando serios problemas en el proceso migratorio de los

sistemas, como ocurre en esto días en el departamento de electrónica. Por esto es muy importante

que la aplicación elegida se apegue lo más posible a los estándares, de ese modo se puede contar

con una mayor probabilidad de interoperabilidad. Por tanto la idea es seleccionar un servidor de

directorio que se apegue lo más posible a las necesidades propias, y tenga alto grado de facilidad

al instante de realizar una migración.

Grados de seguridad

Como en la actualidad uno de los aspectos más mencionados y tratados en el área de

administración de redes es la seguridad, cabe inminente considerarla como tópico de análisis. En

el caso de un servidor de directorio, el requerimiento principal de seguridad viene dado por la

calificación estratégica de la información que almacena. Ésta, en algunos casos, no debería ser

publicada por ningún motivo, o sólo ser modificada por un grupo de usuarios seleccionados. Tal

es el caso de un ISP, al cual le gustaría delegar la actualización de algún dominio en particular a

entidades de ése dominio. Por ejemplo, si se integra DNS dentro de un servidor de directorio y se

usa una interfaz que se comunique externamente mediante este protocolo, no se debiese necesitar

herramientas adicionales para mantener la seguridad.

Existe la alternativa de mantener una determinada red bajo altos estándares de seguridad,

es decir con cortafuegos debidamente configurado de acuerdo a las listas de accesos

predeterminadas para los usuarios. Lo anterior conlleva que éste tipo de solución se considera

muy amplia, ya que además abarca otras necesidades de seguridad de la red, por lo que no

garantiza que la información esté asegurada.

Finalmente uno de los puntos que se está tocando en la mayoría de las aplicaciones de

éste tipo es la seguridad interna del servidor, es decir mediante el modelo de autenticación y

modelo de control de acceso, utilizando protocolos como SSL.

Facilidad de administración

Éste aspecto también se considera como parte del análisis, ya que la idea es implementar

una aplicación estándar para una correcta administración cosa de reducir los tiempos de

mantención y así el sistema sea mantenga en pie gran parte del tiempo. Lo anterior se toma en

cuenta dado que en el departamento de electrónica existen alumnos ayudantes lo cuales realizan

tareas relacionadas a la administración de cuentas, y por motivos de facilitar su trabajo junto con

reducir los tiempos de espera para los usuarios es necesario tomar en cuenta éste punto.

Page 35: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

35

En este tópico también se encuentra incluida la facilidad de detectar problemas y poder

resolverlos. Para ello el producto debería contar con las herramientas necesarias para proveer al

administrador de la información que pudiera ser relevante para tales efectos.

Costos y soporte

Aunque la decisión no debiese partir por éste punto, el tema de costos es muy importante

al momento de tener en manos dos productos con características similares y que cumplas las

funcionalidades requeridas por la institución. Para ello es necesario un análisis exhaustivo de las

aplicaciones, y no quedarse con una descripción general acerca de lo que hace o no. El cambio

posterior de un sistema de directorio a otro puede resultar dramático si no se consideran estos

aspectos.

El tema del soporte que pueden proveer los desarrolladores de las aplicaciones es

generalmente oculto y poco específico. Esto incluye la realización de continuas actualizaciones y

no solo de abrir casos por problemas específicos e inmediatos. También incluye información

para los administradores, en temas diversos en torno al producto, que pudiesen dar nuevas ideas,

o alertar sobre posibles problemas.

Integración con otros productos

La integración de la aplicación seleccionada con otros productos, es demasiado

importante ya que influirá el uso de todas las aplicaciones que se involucran en la red. El uso de

sistemas de directorio, generalmente se evoca a la unificación de cuentas de usuarios para

diversas plataformas disponibles en la red. Entre ellas es posible mencionar sistemas web, acceso

a redes inalámbricas, autenticación en máquinas disponibles en la red, dualidad de sistemas

operativos. El administrador de red debe tener la suficiente abstracción para determinar que

sistemas podrían verse beneficiados al integrarse con un servidor de directorio.

Se expondrán los principales sistemas que a menudo se integran con un servidor de

directorio y la dificultad con la que se podría encontrar al integrarse con alguno de los sistemas

de directorios evaluados.

5.1.2 Productos a comparar

Dentro de los objetivos del presente trabajo es realizar una comparación de las

tecnologías existentes en el mercado que puedan satisfacer la problemática de autenticación e

integración de sistemas para el departamento de electrónica. Durante el proceso de investigación

se realizaron diversas búsquedas, incluyendo software privativo como de código abierto, y de

acuerdo a la obtención de resultados se tomaría la decisión de cuál es el indicado para su

posterior instalación.

Entre las variadas soluciones encontradas se tomó la decisión de basarse en dos de ellas,

las cuales representan con creces la utilización del protocolo LDAP, que ha sido estudiado como

sistema base para el servicio de directorio. Finalmente se procede a realizar un cuadro

Page 36: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

36

comparativo de estos programas, de acuerdo a las necesidades o tópicos que se consideraron en

la sección anterior, además de otros aspectos técnicos de acuerdo a la investigación de cada una

de las aplicaciones.

A continuación se hace una breve descripción de las características de cada una de ellas,

mencionando su funcionamiento y su arquitectura principal.

OpenLDAP

OpenLDAP es una implementación de código abierto que utiliza las definiciones de

LDAP mencionadas en el capítulo 3. Esta aplicación posee una arquitectura principal dividida en

cuatro partes específicamente:

Un servidor LDAP stand-alone (demonio slpad).

Un servidor de replicación LDAP stand-alone (demonio slurpd).

Un kit de desarrollo (SDK).

Utilidades y herramientas relacionadas con LDAP.

Originalmente el desarrollo de éste proyecto comenzó en la Universidad de Michigan la

cual realizó la primera implementación del protocolo antes mencionado. La primera versión fue

escrita para proveer un acceso básico a los directorios X.500 vía TCP/IP, publicado en 1992. La

segunda versión, también conocida como SLAPD (standalone LDAP daemon), fue publicada en

1995 como parte del proyecto U-M-LDAP 3.2. La diferencia con la versión anterior fue el que el

estándar de directorio X.500 no fue requerido. El proyecto U-M LDAP fue finalizado en 1996, y

desde ahí el nuevo proyecto OpenLDAP continuó hasta donde había quedado el anterior.

OpenLDAP está licenciado bajo la Licencia Pública OpenLDAP, el cual es un software

libre perteneciente a la familia BSD. Esto implica que el código fuente puede ser modificado,

también que estas versiones modificadas pueden ser distribuidas y los binarios resultantes

pueden ser distribuidos sin el código fuente.

Históricamente la arquitectura del servidor OpenLDAP (slapd, Standalone LDAP

Daemon) fue dividida entre una sección 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 tecnologías, no sólo bases de datos

tradicionales.

En versiones antiguas (1.x), los términos "backend" y "database (base de datos)" podían

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.

Page 37: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

37

Active Directory

Active Directory está basado en una serie de estándares X.500. Los dominios y

subdominios se identifican utilizando la misma notación de las zonas DNS, razón por la cual

Active Directory requiere uno o más servidores DNS que permitan el direccionamiento de los

elementos pertenecientes a la red, como por ejemplo el listado de equipos conectados; y los

componentes lógicos de la red, como el listado de usuarios.

Un ejemplo de la estructura descendente, es que si un usuario pertenece a un dominio,

será reconocido en todo el árbol generado a partir de ese dominio, sin necesidad de pertenecer a

cada uno de los subdominios.

A su vez, los árboles pueden integrarse en un espacio común denominado bosque, que

por lo tanto no comparten el mismo nombre de zona DNS entre ellos, y establecer una relación

de «trust» o confianza entre los participantes. De este modo los usuarios y recursos de los

distintos árboles serán visibles.

El servicio de directorio Active Directory (A.D.) provee un sin número de servicios

relacionados almacenaje organizado de los recursos de red. Los siguientes puntos destacan

algunas de las características de ésta potente aplicación.

Enfoque organizado: A.D. facilita el orden en una red determinada ya que organiza de forma

eficiente los recursos de red, tales como las cuentas de usuario, cuentas de grupo, carpetas

compartidas, impresoras, entre otros. Con A.D. los usuarios pueden encontrar fácilmente la

información que necesitan.

Remueve las Topologías para los Usuarios: Gracias a esta aplicación los usuarios no saben qué

tipo de topologías se encuentran. Ya que ellos no tienen por qué saber que servidor sostiene los

servicios o donde se encuentran los recursos en la red, solamente encontrar lo necesario para

ellos.

Reducción de dominios de red: Una de las mayores metas de A.D. es hacer que las redes más

grandes sean mejor manejables, por ende reducir de forma lógica los dominios pertenecientes a

esta. Como A.D no tiene límites en la creación de cuentas de usuario, las topologías de red solo

necesitarán el dominio de Windows.

Control de Redes: A.D ofrece un buen nivel de administración de red, en términos de

administración de servidores y equipos de escritorio. Además es posible controlar los recursos

de forma segura e incluso delegar tareas administrativas a otras personas mediante la Delegación

de Control.

Replicación: Una vez que se instala A.D correctamente, éste maneja su propia topología de

replicación. También incluye mayores servicios internos que ayudan a manejar y controlar sus

propios procesos, incluyendo la replicación. Esta característica mantiene a los administradores

fuera de los detalles engorrosos y habilita el software para realizar tareas de replicación cuando

sea necesario.

Page 38: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

38

5.1.3 OpenLDAP v/s Active Directory

La idea principal de esta sección es lograr un análisis de los tópicos de evaluación

mencionados en la sección 5.1.2 de éste capítulo para cada una de las tecnologías mencionadas.

El lector se preguntará por qué solamente se eligieron dos aplicaciones, siendo que en el mercado

existen muchas más alternativas que pueden satisfacer las necesidades de la Red del

Departamento de Electrónica. La razón es muy simple; ambas son las más utilizadas en estos

días por las instituciones que poseen redes con alta cantidad de usuarios, y además permiten la

integración de sistemas computacionales externos de forma fácil y segura. A continuación se

procederá a la evaluación de cada una de ellas, para finalizar con un cuadro comparativo y así

lograr identificar de forma más sencilla las diferencias entre estas.

Evaluación en OpenLDAP

Estándares

Una vez instalado el servidor no existe un usuario administrador por lo que se comienza

con un árbol de información DIT vacío, cosa que al agregar la primera entrada ésta pasaría a ser

root del directorio. Lo anterior se transforma en una característica diferenciadora con respecto a

otros productos, incluso en una desventaja en el ámbito de seguridad.

En el archivo de configuración slapd.conf, hay que ser muy cuidadoso al momento de

definir los esquemas de entrada, ya que deben ser puestas en orden ya que no hay que hacer

definiciones de clases de objetos (objectClasses) antes de integrar los atributos que la componen.

En comparación a otros productos, OpenLDAP es bastante estricto en la definición de

atributos. Por ejemplo, al incorporar un atributo seeAlso en una entrada, su valor debe ser una

referencia del tipo DN a otra entrada. Lo anterior genera mayor consistencia, pero es de esperar

que la aplicación haga verificaciones de existencia en la entrada referida, ya que puede ser

engorroso al momento de ingresar en desorden.

Grados de Seguridad

El tema de la seguridad en OpenLDAP es abarcado por dos aspectos de vital importancia.

Uno de ellos es la forma en que acceden los usuarios a un servidor de directorios, y la otra se

refiere a la manipulación de datos que éste posee. Para el primero, como se mencionó en el

capítulo 3, es posible realizar el ingreso a partir de tres métodos: encriptación de contraseñas

mediante texto plano, encriptación mediante SSL o TLS, y certificación sobre SSL.

En cambio al momento de manipular la información del servidor de directorio, existe lo

que se conoce como Control de Acceso. Capacidad que tiene OpenLDAP para discriminar entre

los usuarios según los privilegios que a estos se les han asignado, mediante el archivo de

configuración slapd.conf. La política de control de acceso por omisión permite privilegios de

lectura a todos los clientes. Dependiendo de qué política se encuentre definida el usuario rootdn

tiene todos los privilegios sobre el sistema (autenticación, búsqueda, comparación, lectura y

escritura).

Page 39: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

39

Facilidad de Administración

Como OpenLDAP es una aplicación de código abierto, se encuentra orientado para

sistemas operativos UNIX/LINUX, donde prima el uso de línea de comandos. Lo anterior

permite amplias capacidades de administración ya que el proyecto OpenLDAP entrega la

documentación necesaria para todos sus archivos de configuración, como también los que

permiten poblar la base de datos. Con esto para un administrador de redes que tiene a cargo una

red basada en sistemas UNIX/LINUX, le facilita el trabajo de forma ya que mantiene su estilo de

operar.

Cabe mencionar que en la actualidad existen herramientas que permiten manejar el

servidor LDAP, como poder mantenerlo, realizar cambios en las entradas del DIT, y todo de

forma gráfica, como se si estuviese aplicando en Windows. Es el caso de Apache Directory

Studio, un programa desarrollado en Java el cual muestra el contenido del servidor LDAP

pudiendo ingresar de forma remota a la máquina. Otra de ellas es el servidor Webmin, el cual se

instala como proceso aparte de OpenLDAP y permite administrar de forma paralela variados

protocolos de administración de redes, entre ellos LDAP. Con este último se pueden realizar

cambios de contraseñas, manejo de información sobre las sub-arboles que se encuentran en la

red, entre otras operaciones.

Costos y Soporte

Con respecto al tema de costos, al momento de implementar la aplicación en una red

institucional no es necesario recurrir a gastos por licencia de OpenLDAP. Esto se debe a que es

un software de código libre bajo el licenciamiento OpenLDAP Public License, lo cual permite

realizar modificaciones según sea necesario. Con lo anterior se tiene una gran ventaja dado los

requerimientos del Departamento, además de alivianar valores monetarios que pudiesen ser

utilizados en la adquisición de equipamiento como máquinas servidoras y estaciones de trabajo,

llevando a una utilización eficiente del sistema. Es importante resaltar que ésta ventaja no

debiese ser determinante al momento de elegir una tecnología.

La documentación que entrega el proyecto OpenLDAP, como la proyección de

actualización que éste tiene para su producto de servidor de directorio es altamente beneficiosa al

momento de querer utilizarla. Esto se debe a que en la actualidad hay una comunidad avanzada

que tiene como sistema de autenticación OpenLDAP. Además la portabilidad de sistemas

operativos es excelente para redes basadas en sistemas UNIX/LINUX.

Integración de tecnologías

OpenLDAP ofrece un excelente soporte para la integración con otras tecnologías. Entre

ellas se encuentra Samba [5.1] aplicación que permite la dualidad de sistemas operativos para la

integración de cuentas de usuarios bajo un mismo nombre de dominio. A la vez como la idea de

LDAP es unificar la autenticación para los usuarios bajo una cuenta única, esto es aplicable para

aplicaciones web, como sistemas educacionales o académicos, portales de práctica, servicios de

Page 40: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

40

correo electrónico, entre otros. Lo anterior es posible gracias a técnicas de programación que

permiten embeber un lenguaje como PHP, PERL, o protocolos como IMAP un sistema web a un

servidor diseñado en OpenLDAP.

Dada la investigación realizada también es posible mencionar que hoy en día es factible

la integración de OpenLDAP junto a Active Directory, para el caso en que una empresa por

ejemplo necesitara tener ambas tecnologías funcionando de forma paralela. Por motivos de

complejidad, en éste estudio no se ha considerado aquel escenario.

Otro aspecto a considerar es la migración del sistema presente como servidor de

directorio que es NIS+. El cual se encuentra instalado bajo un entorno Solaris y con conexión a

clientes en Debian. Al momento de tratar de migrar el sistema es una complicación dada la

antigüedad que posee NIS+ en el Departamento de Electrónica. Por lo que se consideraron

técnicas y procedimientos de migración los cuales serán descritos en el capítulo 6.

Evaluación en Active Directory

Estándares

El bloque de construcción básico de Active Directory es el objeto, un conjunto de

atributos diferenciado y con nombre que representa un recurso de la red. Los atributos del objeto

son características de objetos del directorio. Los objetos se pueden organizar en clases, que a la

vez son agrupaciones lógicas de los del mismo tipo. Los usuarios, grupos y equipos son ejemplos

de clases de objeto diferentes.

Existe el concepto de hoja el cual representa una entidad individual en la red, como

también el de contenedor el cual puede almacenar a múltiples hojas. Ambos, sólo pueden existir

dentro de un dominio. Los dominios se usan para agrupar objetos relacionados con el fin de

reflejar la red de una organización. Cada dominio que se crea almacena información acerca de

los objetos que contiene, únicamente. Actualmente, el límite admitido para el número de objetos

que puede mantener en un dominio es de un millón.

Cuando agrupa dominios relacionados para permitir el uso compartido de los recursos

globales, está creando un árbol. Aunque un árbol se puede componer de un único dominio, se

pueden combinar varios dentro del mismo espacio de nombres en una estructura jerárquica. Los

dominios del árbol se conectan de forma transparente a través de relaciones de confianza de dos

sentidos con seguridad basada en Kerberos. Estas confianzas son permanentes, y no se pueden

eliminar, y transitivas. En otras palabras, si el dominio A confía en el dominio B y el dominio B

confía en el dominio C, entonces el dominio A confía en el dominio C.

Muchos de los atributos que están estandarizados como multi-valuados acá se presentan

como mono-valuados. Esto involucra a atributos importantes como cn, givenName,

telephoneNumber y mail. El hecho es que estos atributos frecuentemente tienen múltiples

valores. Por último cabe mencionar que acá no se incluye la clase de objeto inetOrgPerson por

omisión.

Page 41: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

41

Grados de Seguridad

En esta tecnología cada dominio representa un límite de seguridad. El acceso a los

objetos dentro de cada dominio se controla mediante entradas de control de acceso (ACE, Access

Control Entries) contenidas en listas de control de acceso (ACL, Access Control Lists). Estas

opciones de seguridad no cruzan los límites de los dominios. La seguridad basada en Kerberos

proporciona las relaciones de confianza entre los árboles.

El esquema de seguridad usado en Active Directory es el de los más personalizados en el

mercado. Posee una gran cantidad de permisos y combinaciones, permitiéndole al administrador

adecuarse a todos los requerimientos. Ahora bien, la documentación sobre la seguridad no es

muy amplia, ni tampoco sobre la migración a otros productos dado que ésta es una aplicación

privativa.

Facilidad de Administración

Como ésta es una herramienta desarrollada por Microsoft la administración está basada

completamente de forma gráfica. Es decir el uso de ventanas y herramientas visuales le entregan

al administrador de red todo lo que necesita. Desde el punto de vista de la información de lo que

está haciendo el servidor, no es muy buena. Esto porque sus mensajes de error llegan a ser muy

limitados y no proporcionan la cantidad suficiente de información como para determinar el tipo

de problema que está ocurriendo.

Por otro lado Active Directory, tiene la ventaja de que es posible desarrollar módulos

propios para realizar las tareas que el administrador desee sobre el servidor. Estos pueden ser

hechos en C++ o Visual Basic. La replicación también se hace mediante el uso de consolas, lo

cual provee mayor manejo del servidor de directorio.

Costos y Soporte

Nuevamente dadas las características de su fabricante el software es del tipo privativo,

donde el licenciamiento puede ser del tipo usuario o servidor. Más detalles se resaltarán en el

cuadro final comparativo.

La documentación de la aplicación es correcta por parte de los desarrolladores. Cabe

mencionar que esta es permitida solo para ambientes donde se trabaje con Windows, lo cual pasa

a ser una desventaja ante la situación en la Red del Departamento de Electrónica, donde la

mayoría de los sistemas se basan en Linux. La proyección de actualización de Active Directory

es amplia por lo que si se desease realizar algún cambio total sería una excelente alternativa dada

la facilidad de administración permitiendo solucionar problemas con un mejor uso del tiempo.

Page 42: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

42

Integración de tecnologías

Como Active Directory es un PDC (Primary Domain Controller) no necesita integración

alguna, menos aún ya que las demás tecnologías en su mayoría están basadas en ambientes

UNIX/LINUX. También permite una integración con DNS, ya que presta aquel servicio

facilitando el llenado de las bases de datos para el caso de las unidades organizacionales. En la

actualidad se han hecho pruebas experimentales donde se ha logrado integrar OpenLDAP junto

con Active Directory.

Para el caso de la migración posterior, resulta difícil ya que ésta es una aplicación

desarrollada por Microsoft, lo cual limita al administrador de red a mantener aquel servidor de

directorio o adquirir comercialmente el próximo que aparezca en el mercado.

Page 43: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

43

5.1.4 Cuadro Comparativo

En esta sección se realizará un cuadro comparativo el cual remarca los aspectos más

importantes de cada una de las tecnologías elegidas. Lo anterior llevará a elegir cual aplicación

implementar, de acuerdo a las necesidades que el Departamento de Electrónica tiene hoy en día.

Característica Active Directory OpenLDAP

Fabricante Microsoft Grupo OpenLDAP

Tipo de Licencia Por usuario o Servidor Uso público

Estándares LDAP v3, DNS LDAP, DNS

Plataformas Soportadas Windows Linux, Unix, Windows (Requiere

Samba)

Grados de Seguridad Kerberos Kerberos, SSL, TLS, Certificado

sobre SSL

Autenticación Soportada SSL/TLS Texto Plano, SSHA, SSL/TLS

Administración Externa Software Propietario de Windows. Webmin, Apache Directory Studio.

Migración Sistemas

Similares

No soporta Soporte NIS, NIS+, Novell

Netware.

Integración DNS Sí soporta Sí soporta

Soporte de protocolos y

lenguajes de integración

IMAP, PHP, PERL, JAVA PHP, IMAP, PERL, JAVA, C++

Tabla 5.1: Comparación de servidores de directorio según tópicos de evaluación.

Page 44: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

44

Al interpretar la Tabla 5.1, es posible notar algunas diferencias sustanciales entre ambas

aplicaciones. Uno de estas son los estándares soportados por cada uno de éstos. En el caso de

Active Directory (A.D.) en su versión más reciente trabaja con el protocolo LDAP v3, en cambio

para OpenLDAP maneja todas las versiones anteriores a ésta. Por tanto entrega un mayor grado

de flexibilidad para al administrador de red. Lo mismo ocurre con las plataformas soportadas, ya

que A.D por ser propietario de Microsoft solo soporta el uso de sistemas operativos Windows, en

cambio OpenLDAP además de éste con integración Samba, se puede instalar sobre Linux y

Unix. Para el Departamento de Electrónica es una gran ventaja, debido a que la mayoría de los

sistemas, como servidores, aplicaciones web, entre otras, se encuentran bajo licencia pública.

Sólo es posible mencionar las estaciones de trabajo en el los laboratorio que mayoritariamente se

encuentran bajo Windows XP.

Así sucesivamente se pueden observar mayores ventajas en la implementación de

OpenLDAP con respecto a Active Directory, dado que en algunos puntos de evaluación

compatibilizan entre ellas, pero en aspectos de bajo nivel, como la seguridad, el tema de la

autenticación soportada, encriptación de contraseñas difieren con notoriedad. Como ya se había

dicho con anterioridad una diferencia que es importante pero no determinante al momento de

elegir qué implementar, es el costo que tiene para el Departamento el uso de una de ellas. Para

A.D al ser desarrollado por Microsoft y poseer licencia pagada de acuerdo al uso del programa

requiere incurrir en un valor determinado por cada una de las licencias utilizadas. En cambio

OpenLDAP en cualquiera de sus versiones a utilizar no es necesario.

Tal vez el lector se preguntará el por qué no se hicieron pruebas de rendimiento en cada

una de las aplicaciones; esto es porque la idea del trabajo era cumplir la mayoría de los

requerimientos de la Red del Departamento de Electrónica, que consistían en su generalidad

realizar una actualización de los sistemas actuales y realizar una migración satisfactoria y

transparente para los usuarios. Dada la capacidad de equipos en Electrónica y los servicios que

están disponibles para el público, no se considera inminente realizar un análisis de tiempos de

lectura/escritura por ejemplo ya que la aplicación será utilizada por un grupo de personas no muy

alto, no influyendo en sobrecargas de la red.

Con estas aseveraciones quien presenta este trabajo recomienda la implementación de

código abierto OpenLDAP en su versión 2.4, fundamentándose en la evaluación previa, además

de la facilidad al integrar con las tecnologías existentes en el departamento como son el sitio de

práctica, la autenticación en los equipos de red, el sitio de solicitud de memos, y la escalabilidad

que entrega el software para futuros desarrollos.

Page 45: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

45

5.2 Análisis y Comparación de Sistemas de Acceso Remoto

Como en la sección de análisis de servidores de directorios para la autenticación se

plantearon los puntos a evaluar, en ésta parte del trabajo se realizará la misma acción. Esto, ya

que se cree necesario imponer los requerimientos principales al momento de decidir que

aplicación instalar. A continuación se hará una breve descripción de cada uno de ellos, para

luego aplicarlos a los softwares seleccionados.

5.2.1 Tópicos de Evaluación

Sobrecarga de la red

Uno de los puntos más importantes al momento de dar permisos de acceso remoto a un

usuario es la sobrecarga de la red a la cual se conecta. Esto se debe a que el flujo de información

que corre puede ser demasiado lo cual provocaría una saturación del sistema en general, incluso

provocando la caída total. Muchas de las aplicaciones analizadas consideran éste tópico, pero de

igual forma se ven afectadas por agentes externos como la conexión fuera de la institución, el

proveedor de internet ISP, o la misma red interna que no se encuentra operando correctamente.

Por tanto es de vital relevancia la asignación de permisos a cierto tipo de usuarios, con

respecto a la manipulación de datos, o a la utilización de aplicaciones interactivas que necesitan

demasiado ancho de banda, que a veces se pueden ver sobrepuesto por el ya asignado.

Seguridad Informática

Básicamente trata de abarcar el tema de seguridad al momento que se realiza una

conexión fuera de la red local, ya que existen muchas formas para poder interrumpir el flujo de

información y así realizar captación de contraseñas o datos, que por vulnerabilidad de software

no se encuentran cifrados. Es por esto que de acuerdo al tipo de red en la que se está trabajando y

la información que se maneja en ella, es posible determinar qué aplicación instalar.

También es necesario recalcar que al hablar de seguridad en la red, es necesario hacer una

vista globalizada sobre qué está pasando en la red en general. Esto, porque no es suficiente

implementar altos estándares de seguridad a la aplicación de acceso remoto, sino que ver que

pasa dentro de la red, dado que siempre pueden existir usuarios maliciosos.

Page 46: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

46

Acceso y manipulación de cuentas

Como ya se ha dicho anteriormente es siempre beneficioso para un sistema de este tipo,

que los privilegios de usuario estén claramente asignados. Lo anterior se ve reflejado que al

momento de querer acceder remotamente se pueden realizar manipulaciones de cuentas ajenas al

usuario que ha ingresado, pudiendo causar perdida de información relevante, cambios indeseados

de contraseñas, entre otros inconvenientes.

Es tarea del administrador de red el lograr una correcta asignación de permisos y siempre

regirse bajo las normas de la red sobre la cual se está trabajando. Se hace hincapié a esto ya que

no sería correcto dejar a personas ajenas a la red local realizar cambios o actualizaciones de

forma remota bajo un sistema de acceso remoto.

Requerimientos externos

Finalmente y no menos importante, es imperante analizar la necesidad de requerimientos

ajenos a la aplicación. Entre ellos considerar la instalación de servidores con alta capacidad de

procesamientos, asignación de mayor ancho de banda, instalación y configuración de equipos de

conectividad como firewalls y routers que limiten el acceso a usuarios que impartan técnicas

maliciosas y poco beneficiosas para la red.

Se entregará recomendación de que tipo de dispositivos se instalarán de acuerdo a lo

requerido por la aplicación mencionada, como también cambios en la topología de red actual si

fuese necesario.

5.2.2 Productos a comparar

Como se estudió en el capítulo 4, en la sección de sistemas de acceso remoto, existen

variadas alternativas que pueden satisfacer las necesidades para los usuarios para el

Departamento de Electrónica. Es por ello que se tomará en cada uno de los tipos planteados con

anterioridad, es decir una aplicación que cumpla con ser del tipo escritorio remoto, otra que sea

VNC, y finalmente una que permita implementar una VPN.

Al haber planteado los tópicos de evaluación anteriormente, y no haber mencionado el

tema de costos de la aplicación, se optará por elegir programas que sean de código abierto o

gratuitos, y evocarse directamente en los aspectos de relevancia que puedan determinar la

instalación de una aplicación en vez de otra.

Los programas elegidos para el estudio como sistemas de acceso remoto son los

siguientes:

Page 47: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

47

XMing

Xming es una implementación portátil del sistema de ventanas X para sistemas

operativos Microsoft Windows XP, 2003, Vista y Seven. El servidor X Xming está basado en el

servidor X.Org, cruzado en Linux con el compilador MinGW y Pthreads-Win32. Está disponible

con soporte Mesa 3D, soporta una gran variedad de lenguajes y al contrario que Cygwin/X, no

requiere de bibliotecas Cygwin. Para realizar conexiones con servidores remotos utiliza el

protocolo Secure Shell (SSH) para asegurar sesiones X11. Soporta PuTTY y ssh.exe, y tiene una

versión de PuTTY's plink.exe.

Cabe destacar que esta herramienta es capaz de trabajar completamente independiente del

registro de Windows cuando se utiliza la aplicación Xming-portablePuTTY.

6 Instaladores en Windows.

La instalación de éste programa es muy simple al ser realizada por un usuario novato, ya

que es totalmente interactiva, y realizable a través de unos pocos clics. También posee la opción

de instalación y desinstalación vía línea de comandos. A continuación se muestran algunas

imágenes del asistente de instalación.

Figura 5.1: Screenshots del asistente de instalación

Existen tres tipos de instaladores para el programa. Entre ellos es posible encontrar a

Xming, el cual incluye el asistente XLaunch y de forma opcional direcciones hacia clientes SSH

compatibles con Xming. Para lo que es la reproducción 3D utiliza las aplicaciones Mesa,

Microsoft WGL y OpenGL. También provee de Xming-fonts y Xming-portablePutty.

7 Usando Xming.

A continuación se procede a listar una serie de usos de ésta herramienta para lograr el

acceso a sistemas remotos.

Desarrollar un proyecto GUI con servidor de ventanas X en un ambiente Microsoft, por

lo que ésta máquina sería un cliente ligero de un sistema Unix/Linux.

Realizar una ampliación de fuentes como las TrueType en una máquina Windows,

añadiéndose al servidor X.

Page 48: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

48

Utilizar Xming como un servidor X portable, copiándolo a una memoria USB, sin

necesidad de instalarlo en el equipo que se esté trabajando.

Usarlo como KVM sustituto, ya que no necesita un hardware de alto costo.

Se puede usar el servidor X Xming, de forma local junto con otras aplicaciones del

mismo tipo como coLinux, Cywin, SFU o UWIN.

También es posible utilizar la aplicación en cuantas pantallas se desee.

Y una de las características más poderosas es poder realizar actualizaciones del kernel

sobre una máquina remota con „make xconfig‟

La figura 15 muestra el funcionamiento de Xming en Windows, con una pantalla única y

con ambos monitores.

Figura 5.2: Funcionamiento de Xming

OpenVPN

Es considerada una de las mejores soluciones VPN en la actualidad, superando con creces

a sus similares como FreeSWAN, cIPe, Tinc y VTun. OpenVPN pretende ser la solución

universal de VPN, tanto a nivel de OpenSource como de soluciones VPNC, por eso es soportado

por muchos sistemas operativos, tales como Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac

OS, Windows 2000/XP, y plataformas de 64 bits como FreeBSD y Alpha Linux.

Una de las mejores características de OpenVPN en comparación a otras soluciones, es su

simplicidad de configuración y de instalación, su alto grado de flexibilidad para cubrir diferentes

escenarios de VPN, su robustez como solución cubriendo necesidades que ninguna otra

herramienta Linux abarca, su alto grado de seguridad y su demostrada y comprobada eficiencia y

estabilidad que dan cada vez más el respaldo a que OpenVPN será una de las soluciones más

eficientes como sistemas de acceso remoto.

OpenVPN fue diseñado para trabajar con el módulo TUN/TAP ídem, que permite crear

interfaces virtuales, existente en casi todos los sistemas operativos, logrando con esto crear

tarjetas o interfaces virtuales para tener con una sola interfaz (real) diferentes tipos de conexiones

a la vez, es decir con una sola interfaz de red y usando aquel módulo se puede tener habilitadas al

mismo tiempo diferentes conexiones de red usando diferentes direcciones IP.

Una de las grandes ventajas que tiene OpenVPN, es que entrega soluciones efectivas para

instalaciones en donde se use DHCP, NAT y Proxy. Esto es una de las características

Page 49: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

49

fundamentales que llevaron a la aplicación a ser una de las mejores soluciones, ya que ninguna

solución antecesora lo había logrado. Además hay que considerar que es la solución que menos

problema da en cuanto a los routers que hay entre las conexiones, ya que solo debe estar abierto

el puerto que se ocupa y no depender de que el hardware soporte la tecnología como en el caso

de PPTP o IPSEC. Otra de las utilidades que posee es dar seguridad a las comunicaciones

inalámbricas en redes poco seguras, ya que se usa como puente Ethernet, como comunicación

segura para la autenticación y encriptación entre extremos de una misma red, o de redes

diferentes.

Finalmente OpenVPN no necesita ni depende de tantas librerías o programas como otras

aplicaciones, tan sólo requiere del modulo TUN/TAP antes mencionado. Para administrar

seguridad es posible utilizar la librería “OpenSSL” y para la compresión de información, la

librería “Izo”.

5.2.3 Evaluación de los productos.

Para realizar la evaluación y poder llegar a la decisión final de qué producto implementar

se tomará en cuenta los tópicos mencionados en las secciones anteriores.

Evaluación en Xming

Sobrecarga de la red.

Dado que ésta aplicación permite el acceso de forma remota a un servidor determinado, la

influencia que tiene en lo que respecta a congestión en la red debido al alto tráfico de

información es determinante al momento de elegir la tecnología. Cabe mencionar que ya es

posible utilizar esta aplicación para realizar conexiones con ventanas X al servidor Aragorn del

Departamento de Electrónica. Con esto se pueden acceder a aplicaciones como Matlab para el

uso vía externa por parte de los alumnos. Dado las pruebas realizadas mediante un enlace de 6

MB de velocidad de internet, con VTR como proveedor de servicio, la velocidad con que se

puede utilizar la aplicación es nefasta. La investigación indica que es debido a dos factores

predominantes. Uno de ellos es el tipo de servidor al cual se está conectando y qué sistema

operativo se encuentra instalado en él. En el caso de Aragorn se tienen las siguientes

características:

Intel (R) Xeon (TM) CPU 2.8 GHz

4 Gb en Ram

Debian 3.1

Los datos anteriores demuestran que el servidor Aragorn posee buenas capacidades de

hardware, pero es imperante la actualización del sistema operativo, ya que podría ser una de las

causas de latencias al momento de utilizar Xming. El otro factor corresponde a la topología de

red en la que se encuentra el servidor al que se accede. Como se sabe la topología en la red es de

tipo bus, donde en cada una de las ramas de ésta se encuentran firewalls debidamente

configurados, además cabe tener en cuenta que la asignación de ancho de banda por parte de

Page 50: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

50

DCSC (Dirección Central de Servicios Computacionales –UTFSM) es restringida para no sobre

cargar la red institucional. Lo anterior es un aspecto a analizar al momento de implementar un

sistema de acceso remoto.

Seguridad Informática.

Este aspecto se encuentra directamente relacionado con el anterior, ya que pueden existir

usuarios maliciosos quienes realicen operaciones no deseadas para el resto de los usuarios,

produciendo problemas como borrado de cuentas, bloques de autenticación, captación de

contraseñas, saturación total de la red. Para no caer en este error es necesaria una infraestructura

acorde a prevenir los ataques anteriores. Para ello una buena configuración de firewall, con sus

debidas listas de acceso y zonas desmilitarizadas bien configuradas deberían soportar el accionar

negativo de algunos usuarios.

Acceso y manipulación de cuentas.

Como Xming es un entorno de escritorio remoto, es totalmente transparente el tema de

privilegios que cada uno de los usuarios posee. Ya que de ello se encarga el sistema Unix, o el

mismo servidor NFS que ya se encuentra instalado, en conjunto con el sistema de autenticación

que se procederá a actualizar.

Requerimientos externos.

Como requerimientos externos es válido evaluar la compra de servidores más avanzados

para poder implementar el servicio de acceso remoto como corresponde, como así también la

actualización del sistema operativo al cual se pretende dejar como máquina servidora. Además

de esto, es conveniente en llegar a un consenso con el DCSC, para realizar un cambio en las

políticas de asignación de ancho de banda, y así beneficiar y facilitar la implementación de estos

sistemas en el Departamento de Electrónica.

Evaluación en OpenVPN

Sobrecarga de la red.

Para esta herramienta la sobrecarga de la red, es el punto más sensible al momento de

querer implementarla. Esto se debe a que el protocolo VPN da la capacidad de unificar dos redes

distintas que se encuentren en cualquier parte geográfica, lidiando con definiciones de control de

tráfico, routers y firewalls externos (ISP), entre otros aspectos, lo cual genera un amplio uso del

ancho de banda al momento de realizar una conexión. Para el caso del cliente no hay problema,

ya que es decisión de él o no el conectarse a través de VPN, en cambio para la topología que

contiene al servidor, ella puede estar sujeta a otros procesos que dependen de un ancho de banda

ya asignado.

Page 51: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

51

Seguridad Informática.

Como OpenVPN trabaja con los protocolos de seguridad SSL/TLS es altamente

recomendable al momento de realizar una implementación de este tipo. Con esto es posible

evitar captación de información o autenticación por usuarios intermedios que son los que

realizan acciones maliciosas en contra de la red institucional. Las técnicas de mensaje cifrado

que utiliza el protocolo VPN son una herramienta potente si se desea privilegiar la seguridad en

la red y así mantener el uso eficiente de ésta.

La gran ventaja que tiene OpenVPN es que si al realizar una correcta instalación y

configuración del sistema, asegura que toda la información que se transmite a través de las redes

involucradas viajará de forma seguro y con baja probabilidad de vulnerabilidad.

Acceso y manipulación de cuentas.

Antes de poder ingresar como usuario a una red determinada, se requiere una previa

autenticación la que depende del sistema Unix en cuestión, del sistema de red de archivos, o el

servidor de directorio que permite autenticar, con cierto tipo de encriptación estipulada. Con ello

de acuerdo a los privilegios de cada uno de los usuarios en el servidor al que se quiere acceder, el

protocolo VPN permitirá manejar la información contenida en su directorio como si estuviese en

la misma red. Para ello es totalmente beneficioso, ya que la universidad provee ciertos servicios

institucionales como la lectura de investigaciones de la IEEE, a los cuales no se pueden acceder

fuera de la universidad. En cambio VPN podría solucionar este problema, ya que asigna a la

interfaz virtual de red en el cliente una dirección IP de la red que posee el servidor VPN.

Requerimientos externos.

Como requerimientos externos hay que hacer hincapié en la correcta configuración de

equipos de conectividad de red, cosa de que esta se encuentre operativa al máximo porcentaje

posible. Además de ser cuidadoso con los servicios adicionales como servicios web,

autenticación, manejo de cuentas de usuario, etc, ya que se si encuentran administrados

incorrectamente conllevarán a una conexión lenta para los que deseen conectarse de forma

remota a través de esta vía.

Page 52: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

52

5.2.4 Cuadro Comparativo.

La tabla 3 muestra una vista más específica para tomar la decisión sobre que herramienta

elegir. Esta elección será de acuerdo los requerimientos planteados con anterioridad que son los

que influyen directamente en el departamento de electrónica.

Características Xming OpenVPN

Fabricante

X.Org Fundation OpenVPN Project.

Tipo de Licencia

GPL v2 GPL

Plataformas

Soportadas

Windows Unix/Linux, Windows

Grados de

Seguridad

No especifica protocolos SSL/TLS, certificado

SSL, mensajes cifrados.

Sobrecarga de Red

Alta Alta

Manejo de Cuentas

Permite abrir

aplicaciones

gráficamente

App gráficas, montaje de

disco, asignación de IP

local.

Protocolos de

Comunicación

TCP/IP, SSH TUN/TAP

Requerimientos

Adicionales

Servidor de alto nivel,

equipos de conectividad.

Equipos de conectividad

Tabla 5.2: Comparación Sistemas de Acceso Remoto.

Page 53: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

53

Al analizar el cuadro anterior es posible identificar varios factores que influyen en la

implementación de un sistema de acceso remoto para el Departamento de Electrónica. Uno de

los más importantes es la seguridad que hay que mantener al momento de que usuarios externos

ingresen a la red, es por ello que OpenVPN cumple con las expectativas, ya que es la única

aplicación que entrega en detalle qué protocolos de seguridad maneja, en comparación a las

otras.

Una de las características de OpenVPN que se sobrepone ante las demás analizadas, es

que al momento de realizar una conexión de éste tipo, el usuario que se encuentra remotamente,

pasa a tener una dirección IP local, lo cual le permite acceder a variados servicios sólo utilizables

para el departamento de electrónica. Cabe mencionar, que hoy en día existen técnicas a través del

protocolo SSH, realizando túneles con puertos de escucha, pudiendo así hacer lo que se

mencionaba con anterioridad, pero no es considerado un método transparente para los usuarios.

Como hoy es posible acceder a través de Xming al servidor de alumnos “Aragorn”, la

conexión remota no es totalmente suficiente debido a que la asignación de ancho de banda no

acompaña a que ésta aplicación funcione correctamente. Es por esto que se recomienda el uso de

esta aplicación sólo de forma local. En cambio dadas las características que tiene OpenVPN, el

uso masificado en grandes redes institucionales, quien presenta este trabajo recomienda el uso de

esta tecnología. En el año 2001 se realizó el trabajo de título “Implementación de una VPN sobre

Linux para la red de computadores del Departamento de Electrónica” [5.2] donde se analiza la

implementación de una red VPN en el Departamento de Electrónica. Por ende, se propone el

estudio y aplicación de esta tecnología, a través de un futuro trabajo de título utilizando

distribuciones de Linux actuales y así poder hacer uso de sus recursos eficazmente.

Page 54: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

54

Capítulo 6

Resultados

El presente capítulo abarca variados aspectos sobre la implementación final que se

realizará en el departamento de electrónica junto con el plan de acción a seguir por el

administrador de red de turno al momento de realizar la migración del sistema de autenticación

actual (NIS+) por OpenLDAP. Además entrega información sobre lo que podría ser

implementado como sistema de acceso remoto para los usuarios, es decir alumnos, profesores y

funcionarios.

Cabe mencionar que los resultados presentados no han sido puestos en marcha en la red

de electrónica por diversos motivos. Entre ellos, la necesidad de adquirir nuevo hardware, como

también realizar el cambio una vez que haya un menor uso de la red, y así evitar caídas que

puedan comprometer a los usuarios. Lo anterior se tomó en cuenta, al momento de realizar el

plan de acción para la implementación y migración final.

6.1 Sistema de Autenticación

Esta sección describe principalmente las aplicaciones y el hardware necesario para la

migración del sistema NIS+, que hoy en día se encuentra obsoleto, ya que dificulta la realización

de las actualizaciones que influyen en el desarrollo de los cursos impartidos por el

Departamento. Además se destacan lo scripts realizados por quien presenta éste trabajo, ya que

con ellos será posible la migración del sistema. Lo anterior es de mucha importancia, ya que en

la actualidad no existen aplicaciones que permitan realizar un cambio desde NIS+ (bajo Solaris

8) a OpenLDAP + Samba (bajo FreeBSD 7.2).

6.1.1 Recursos de Hardware y Software

Al momento de realizar la implementación de prueba, que es de la que se tratará esta

sección, se utilizaron diversos recursos. A continuación se procederá a especificar cada uno de

ellos, para así interiorizar al lector al momento de realizar la instalación final.

Dell Inspiron 1464: Esta herramienta permitió la implementación de diversas máquinas

virtuales, que sirvieron como servidor/clientes de pruebas para la instalación del sistema

pensado. Sus características son:

Procesador Intel Core i5 2.4 Ghz.

4 GB de Memoria Ram.

Sistema Operativo Base Windows 7 Home Edition.

Disco duro 500 GB.

Page 55: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

55

PC Lab Kleinrock: El equipo mencionado permitió implementar un servidor, bajo una

dirección Ip pública dentro de la universidad, al cual se puede acceder dentro de la intranet. Su

propósito es la conexión con el servidor IMAP actual, para tener acceso a las cuentas de usuarios

de Electrónica. Sus características son:

Procesador Intel Core 2 Duo 2.0 Ghz.

1 GB de Memoria Ram.

Sistema Operativo FreeBSD 7.2

Disco Duro de 120 GB.

Sistemas Operativos: Los S.O utilizados fueron los siguientes:

FreeBSD 7.2 – para la instalación del servidor de directorio y autenticación central.

Ubuntu 10.10 – como cliente de acceso bajo el licenciamiento Linux.

Windows XP – como cliente de acceso bajo el licenciamiento Windows.

Windows 7 – S.O base al momento de virtualizar las máquinas.

Perl 5.8: Lenguaje de programación en el cual se basa la mayor parte de la aplicación smbldap-

tools, ya que sus scripts se encuentran desarrollados en él. Cabe mencionar que además los

programas realizados para la migración del sistema se hicieron en Perl.

OpenLDAP 2.3: Aplicación de servidor de directorio y autenticación utilizada como sistema

final para la migración y actualización de las cuentas de los usuarios del Departamento. Como se

mencionó en el capítulo 4, posee licenciamiento de uso público, además cumple con altos

estándares de seguridad, tanto en el ámbito de conexiones como de encriptación de contraseñas.

Para el primero cabe mencionar, que hace uso de SSL o TLS, en cambio para el segundo, utiliza

protocolos como MD5 y SHA.

Samba 3.4: Aplicación que permite la compartición de archivos y cuentas de usuario dentro de

redes Windows/Linux. Lo anterior fue un factor determinante al momento de elegir la aplicación

a instalar, ya que uno de los requerimientos base de este trabajo es que se permita dualidad de

sistemas operativos en las máquinas clientes de la red de Electrónica.

Smbldap Tools: Esta herramienta fue muy necesaria, ya que cuando se deseen hacer manejo de

los usuarios de la red, es decir, agregarlos, borrarlos, cambiar sus permisos, cambiar sus

contraseñas, estas opciones se vean reflejadas de forma inmediata tanto en el servidor LDAP

como en el servidor Samba, evitando tener dos procesos distintos y dando transparencia para los

usuarios involucrados.

Módulo PAM: Este modulo es el que permite la migración de las cuentas Unix a las de LDAP y

Samba, ya que para que se haga efectivo el uso de éstos servicios la adquisición de nombres de

usuarios, contraseñas y el acceso vía SSH es posible gracias a la utilización de éste modulo en el

servidor principal.

Page 56: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

56

Postfix: Servidor de correo electrónico, utilizado en este caso para integrar los sistemas web del departamento correspondientes al sitio de prácticas y al de solicitud de memos. Para ello se instaló en el servidor de prueba y así lograr acceso a las cuentas creadas en el servidor LDAP.

Apache Directory Studio: Es una aplicación desarrollada en Java, la cual permite visualizar conexiones a diversos servidores LDAP. Ésta muestra el árbol de información de directorio (DIT), de cada uno de ellos, incluyendo información de los usuarios y grupos pertenecientes a la red, junto a sus atributos.

6.1.2 Proceso de Implementación

El proceso de implementación de prueba, permitirá sentar las bases para la instalación del sistema final, abarcando todos los detalles necesarios para tal tarea. Entre estos es posible mencionar las aplicaciones necesarias junto a sus versiones específicas, los permisos que se deben otorgar a cada una de ellas, entre otros aspectos que se mencionarán más adelante. La Figura 6.1 representa los procedimientos realizados para lograr una correcta actualización del sistema.

Figura 6.1: Procedimiento de implementación servidor LDAP + Samba.

El esquema anterior fue subdividido en varias fases las que se proceden a explicar.

Fase de Planificación: En esta instancia se planificó junto con el administrador de la red, cómo sería el árbol de información de directorio (DIT) para el servidor LDAP. Esta etapa es muy importante ya que permitió tener una visión general de la estructura del servidor de directorio, y así poder asignar los permisos de usuario de acuerdo a las necesidades de cada uno de ellos.

Fase de instalación I: Consiste en la instalación de todos los servidores para hacer factible el sistema de integración de cuentas. Esta se diferencia con la siguiente etapa, ya que en caso de cualquier falla de la instalación, por ejemplo, en el servidor OpenLDAP es necesaria la reinstalación del sistema operativo base o realizar un análisis exhaustivo de las dependencias del

Definición

del DIT

Instalación Servidor

LDAP

Instalación Servidor Samba

Instalación Servidor Postfix

Agregando

Usuarios

Agregando Máquinas Clientes

Casos De

Prueba

Migración

Fase de planificación Fase de instalación I

Fase de instalación II Fase Final

Page 57: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

57

programa. Además al momento de instalar el módulo PAM, hay que ser extremadamente

cuidadoso ya que si no se hace de forma correcta no será posible acceder a la máquina servidora.

Fase de instalación II: Estando en ésta etapa, no es necesaria la reinstalación del sistema

operativo si es que se llega a cometer un error. Por ende se destaca que es acá donde se realice la

agregación de usuarios o casos de uso para el sistema.

Fase Final: Una vez probado todo el sistema instalado, y habiendo agregado algunos usuarios,

es posible realizar los casos de uso designados, para finalizar con la migración de los usuarios

actuales del departamento de electrónica.

En las siguientes secciones se procederá a detallar cada uno de los procesos realizados,

mostrando imágenes e indicaciones que permitan al Administrador de Red de turno realizar una

implementación exitosa.

Page 58: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

58

Definición del árbol de información de directorio (DIT)

El árbol de información de directorio, es capaz de mostrar una subdivisión de los usuarios presentes en una red del tipo institucional. La figura 6.2 representa la situación en el Departamento de Electrónica.

Figura 6.2: DIT diseñado para el departamento de electrónica.

La figura 6.2 es el DIT planificado para la implementación del servidor de directorio OpenLDAP en el Departamento de Electrónica. Con éste se hace una subdivisión principal de acuerdo a lo que representa cada usuario para la institución. Además esto se ve reflejado en los servicios a los cuales cada uno de ellos puede acceder. Por ejemplo, en la actualidad el servidor “Aragorn”, es accesible tanto por usuarios como por profesores, en cambio los últimos también poseen un servidor dedicado para uso académico exclusivo.

Dc=elo, dc=utfsm, dc=cl

Ou=People

Ou=Groups

Ou=Computers

Ou=Idmaps

root

Alumnos

ELO

Alumnos TEL

Profesores

Staff

Alumnos ELI

Otros Usuarios

Alm96 ….. ……

Alm2010

Tel2004 ….. ……

Tel2010

prof

staff

ramos

otros

Page 59: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

59

De acuerdo a como se plantea un DIT bajo el protocolo LDAP, en el apartado de

“personas”, se localizan todos los usuarios pertenecientes a la red, en cambio es en la sección

“grupos” donde se diferencian cada uno de ellos. Para la implementación de este proyecto se

realizó la siguiente asignación:

Prof: profesores del departamento de electrónica tanto de planta como de jornada parcial.

Alm96 – Alm2010: Alumnos de las carreras Ingeniería Civil Electrónica e Ingeniería en

Ejecución Electrónica desde los años 1996 al 2010. En Alm2003 se incluyen a los

alumnos de Ingeniería Civil Telemática con ingreso en el año 2003.

Tel2004 – Tel2010: Alumnos de Ingeniería Civil Telemática desde los años 2004 al

2010.

Staff: Incluye a las secretarias del departamento de electrónica, gente de taller y pañol.

Eli: Incluye a los alumnos de la carrera Ingeniería Civil Eléctrica.

Otros: Incluye a alumnos de otras carreras que cursan ramos del departamento de

electrónica.

Ramos: Cuentas designada para ciertos ramos del Departamento de Electrónica, las

cuales son comunitarias para los alumnos que cursan las respectivas asignaturas.

Cabe mencionar, que la estructura anteriormente ilustrada representa en gran parte como

hoy están organizados los usuarios en el departamento de electrónica mediante NIS+. No se

realizaron muchas modificaciones, para facilitar la migración y la asignación de directorios para

cada uno de ellos.

Servidor OpenLDAP

OpenLDAP 2.3 es la aplicación seleccionada para la implementación del servidor de

directorio y sistema de integración de cuentas. Como se ha mencionado en capítulos anteriores

ésta es de licencia pública por lo que es totalmente modificable de acuerdo a las necesidades del

Administrador de Red. Uno de sus archivos principales es “slapd.conf”, el cual contiene todas las

configuraciones pertinentes para su correcto funcionamiento. Dentro de sus varias opciones es

posible mencionar la asignación de un usuarios administrador del servidor LDAP, el cual posee

todos los privilegios de creación, eliminación y modificación de cuentas de usuarios. Como

OpenLDAP maneja variados tipos de encriptación de contraseñas, es posible incluir la del este

usuario privilegiado de forma cifrada por efectos de seguridad.

Dentro de los otros parámetros que se agregan en “slapd.conf” se puede nombrar los tipos

de índices que el servidor manejará. Esto quiere decir, los atributos que se le asignarán a cada

uno de los usuarios o máquinas que se agregarán a la red. Finalmente una de las características

más importantes de éste archivo, que es acá en donde se indican la ubicación de las librerías que

hacen posible la integración con programas externos a LDAP, como por ejemplo el módulo de

autenticación PAM y el módulo Samba que permitirá la integración entre ambos. En la figura 6.3

se muestra un segmento del archivo mencionado.

## Librerías externas a LDAP.

include /usr/local/etc/openldap/schema/core.schema

Page 60: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

60

include /usr/local/etc/openldap/schema/cosine.schema

include /usr/local/etc/openldap/schema/inetorgperson.schema

include /usr/local/etc/openldap/schema/misc.schema

include /usr/local/etc/openldap/schema/nis.schema

include /usr/local/etc/openldap/schema/openldap.schema

include /usr/local/etc/openldap/schema/samba.schema

## Nombre de dominio Base.

suffix "dc=elo,dc=utfsm,dc=cl"

## Usuario administrador de LDAP

rootdn "cn=Manager,dc=elo,dc=utfsm,dc=cl"

rootpw {SSHA}2pCGrVMhMh3cC+LakUXApebb9jwICf5e

## Indices y atributos en LDAP

index objectClass eq

index cn pres,sub,eq

index sn pres,sub,eq

index uid pres,sub,eq

index displayName pres,sub,eq

index uidNumber eq

index gidNumber eq

index memberUID eq

index sambaSID eq

index sambaPrimaryGroupSID eq

index sambaDomainName eq

index default sub

Figura 6.3: Extracto de archivo de configuración slapd.conf

Otra aplicación necesaria al momento de instalar un servidor OpenLDAP es la aplicación

“nss-ldap” descrita en el RFC2307, la cual permite traducir información como nombres de

usuarios, contraseñas, directorios de usuarios, almacenadas en un sistema Unix al lenguaje

manejado por el protocolo LDAP. Es acá donde se indican las unidades organizacionales bases

del servidor, que luego han sido subdivididas de acuerdo al DIT descrito en la sección anterior.

La figura 6.4 muestra una parte del archivo “nss_ldap.conf”.

## Unidades organizacionales bases de LDAP-ELO.

nss_base_group ou=Groups,dc=elo,dc=utfsm,dc=cl?one

nss_base_passwd ou=People, dc=elo,dc=utfsm,dc=cl?one

nss_base_passwd ou=Computers, dc=elo,dc=utfsm,dc=cl?one

nss_base_shadow ou=People, dc=elo,dc=utfsm,dc=cl?one

Figura 6.4: Extracto del archivo nss_ldap.conf

Es necesario mencionar que en el Anexo A2 se indica el procedimiento exacto de

instalación del servidor OpenLDAP, detallando cada uno de los pasos para así evitar conflictos

en la Fase de Instalación I.

Page 61: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

61

Servidor Samba

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft

Windows para sistemas de tipo UNIX. De esta forma, es posible que ordenadores

con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes

en redes de Windows. Además permite validar usuarios haciendo de controlador principal de

dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para

redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios

compartidos y autentificar con su propio archivo de usuarios. Entre los sistemas tipo Unix en los

que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes

variantes BSD que es el caso de este proyecto.

Esta aplicación, al igual que el servidor OpenLDAP, existen archivos de configuración

determinantes al momento de querer levantar el servicio Samba. Uno de ellos es “smb.conf”, el

cual se especifica información como el dominio Windows/Linux, rango de direcciones IP

aceptables por el servidor, los scripts respectivos para la agregación, eliminación y modificación

de cuentas de usuario “ldap-samba”. Para este último es necesario instalar el módulo “smbldap-

tools”, el cual permite integrar finalmente los servidores LDAP y Samba. En el Anexo A2 se

presentan las configuraciones específicas.

6.1.3 Casos de Prueba

Para los casos de pruebas realizados se definieron ciertos parámetros que son comunes

para cada uno de ellos. Estos son los siguientes:

Máquina Nombre Dirección IP Dominio

OpenLDAP

Dominio

Samba

Directorio

Usuarios

Servidor

OpenLDAP

Smb-server01 192.168.220.143/24 elo.utfsm.cl /usr/home

Servidor

Samba

Smb-server01 192.168.220.143/24 ELONT /usr/home

Cliente

Windows

XP

clienteXP Automática por

DHCP

elo.utfsm.cl ELONT Disco

virtual H:

Cliente

Linux

clienteUbuntu Automática por

DHCP

elo.utfsm.cl /home/

Tabla 6.1: Descripción de máquinas involucradas

A continuación se procede a describir cada uno de los casos de pruebas realizados una

vez que el servidor de autenticación LDAP y Samba estuvo funcionando.

Page 62: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

62

1) Ingreso a cliente Windows XP

Para que un usuario pueda ingresar a una máquina con Windows XP, mediante

autenticación LDAP, es necesaria la implementación de Samba. Este programa permite integrar

redes de sistemas Unix/Linux con los de Microsoft. Para ello se instala la herramienta “smbldap-

tools”, aplicación para FreeBSD que permite crear usuarios para el servidor LDAP y Samba

simultáneamente. La Figura 6.5 grafica el recuadro de autenticación para un usuario que desea

ingresar a su cuenta.

Figura 6.5: Autenticación de usuario en Windows.

En la figura anterior es posible apreciar el dominio al cual se conecta el usuario, el cual

en este caso es ELONT. Una vez autenticado, ingresa a una sesión de Windows XP donde es

posible acceder a su disco virtual, que en realidad es un espacio en el servidor

OpenLDAP/Samba y no uno en la máquina a la cual está accediendo. La Figura 6.6 muestra

como se crea la unidad mencionada.

Page 63: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

63

Figura 6.6: Disco virtual en cliente Windows XP

Hasta acá si el usuario ha realizado la autenticación como corresponde, puede realizar

todas sus tareas en cualquiera de las máquinas pertenecientes al dominio ELONT, almacenando

toda la información en el servidor principal.

2) Ingreso a cliente Linux

Como uno de los requerimientos era la dualidad de sistemas operativos en las estaciones

de trabajo de la Red del Departamento de Electrónica, el servidor de directorio debe soportar

autenticación a clientes con Linux. Para este caso se usó Ubuntu Desktop 10.10, además para su

funcionamiento es necesario instalar en cada uno de los clientes la librería “nss-ldap” que

permite realizar conexión con el servidor principal. Además para el proceso de autenticación se

requiere implementar el módulo PAM (Pluggable Authentication Module) mencionado en las

secciones anteriores. La Figura 6.7 muestra el recuadro de autenticación para ingresar a un

cliente Linux.

Page 64: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

64

Figura 6.7: Autenticación de usuario en Linux

Con lo anterior el usuario puede ingresar a una máquina con sistema operativo Ubuntu

10.10, en cual puede realizar todas sus tareas y almacenando la información de forma local y

replicándose al servidor de directorio.

3) Ingreso por SSH

Para hacer posible el ingreso de los usuarios al servidor OpenLDAP vía SSH, es

necesaria la instalación y configuración del módulo PAM descrito en el Anexo A3. La

configuración que se realiza es muy rigurosa, ya que si se hace de forma incorrecta, es posible no

volver a tener acceso al servidor llevando a la tarea de reinstalar el sistema operativo. La Figura

6.8 presenta el método de prueba para el acceso SSH. Para ello se utilizó el programa SSH

Security Shell, que permite conectarse a un servidor de forma remota a través del protocolo SSH.

Page 65: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

65

Figura 6.8: Autenticación en servidor OpenLDAP vía SSH

Una vez que el usuario ingresa a su cuenta en el servidor, tiene acceso a las aplicaciones

basadas en Unix, de acuerdo a los privilegios asignados. Con esto es posible realizar tareas de

compilación códigos fuentes, exportación de ventanas X dependiendo de la aplicación que se

quiera hacer correr, entre otras funcionalidades.

Figura 6.9: Consola Unix que dispone el usuario

La Figura 6.9 grafica la consola que dispondrá el usuario, junto a la ruta que le pertenece

para almacenar sus datos. De acuerdo a los permisos asignados por el administrador, un usuario

Page 66: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

66

del tipo alumno, profesor o administrativo sólo podrá acceder a su carpeta personal, sin poder

alterar la de los demás.

4) Integración de Sistemas Web

Este tópico se refiere a la posibilidad de unificación de cuentas de usuarios, para la

realización de variadas tareas dentro de la red. Una de ellas es poder integrar las cuentas en el

servidor OpenLDAP con los sistemas web existentes en el Departamento y entregar una pauta

para futuros desarrollos. En la actualidad existen dos aplicaciones Web en Electrónica que

utilizan las cuentas de usuarios en el servidor NIS+ para lograr autenticación. Para ello se

conectan al servidor de correos IMAP el cual pasa a ser un puente entre el sistema Web y el

servidor NIS+.

Uno de los objetivos de este trabajo es facilitar el desarrollo de este tipo de aplicaciones

con respecto a la autenticación, por lo que el sistema propuesto, es decir OpenLDAP, permitirá

que los programadores se conecten directamente a él. A continuación se presentarán tres casos de

pruebas realizados para corroborar la unificación de cuentas, los cuales se pueden tomar como

recomendaciones de desarrollos futuros.

Sitio de prueba – conexión PHP/LDAP

Para este caso se utilizó un servidor Ubuntu 10.10 con el software LAMP instalado, el

cual incluye PHP5, MySQL y Apache2, además se necesitó instalar la librería “ldap-utils” la que

convierte al servidor web en un cliente LDAP, y así poder utilizar todos los comandos de éste

último. También se instaló la librería “PHP5-LDAP”, la cual entrega soporte de PHP para

LDAP, y así realizar todas las sentencias de conexión y manipulación en el código fuente.

La Figura 6.10 muestra la página principal donde el usuario puede autentificarse, de

acuerdo a los datos almacenados en el servidor OpenLDAP.

Page 67: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

67

Figura 6.10: Vista de autenticación contra OpenLDAP

Una vez que el usuario ingresa sus datos, éste puede haberlo hecho de forma incorrecta

por lo que el sitio de prueba se lo avisará. La Figura 6.11 muestra el caso en que el usuario haya

ingresado los datos incorrectamente o no exista.

Finalmente existe el caso en que el usuario logra autenticarse contra OpenLDAP, en

donde se pueden obtener todos los datos de él que se encuentran almacenados en el servidor de

directorio, lo que puede ser útil en caso de realizar un sistema Web relacionado a los ramos que

imparte el departamento, donde cada uno de los alumnos inscritos tiene que estar autenticado. La

Figura 6.12 muestra el caso en que el usuario se realizó una autenticación exitosa.

Page 68: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

68

Figura 6.11: Autenticación incorrecta contra OpenLDAP

Figura 6.12: Autenticación correcta contra OpenLDAP

Cabe mencionar que como este trabajo no tiene como objetivo el desarrollo de un sistema

web, el sitio de prueba que se desarrolló fue bien simple, con el fin de dar a entender que es

exitosa la autenticación contra OpenLDAP. A continuación se muestra un segmento del archivo

“slapd.log” correspondiente a las acciones que realiza el servidor OpenLDAP.

Figura 6.13: Log de conexión contra OpenLDAP

La Figura 6.13 muestra información del servidor OpenLDAP al momento que el usuario

“bvasquez” se conecta a éste, mostrando a que sección del DIT pertenece. En ningún muestra la

contraseña que utilizó para identificarse.

Page 69: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

69

Figura 6.14: Código fuente PHP para conexión LDAP

Finalmente la Figura 6.14 grafica el código fuente utilizado para la conexión de un cliente

o servidor Web contra el servidor OpenLDAP que se encuentra en este caso bajo la dirección Ip

192.168.220.143 con el puerto 389 abierto para este tipo de conexión. Cabe mencionar que el

puerto 389 es el de omisión para la conexión LDAP.

Page 70: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

70

Sitio de prueba – conexión IMAP/LDAP

Como se mencionó anteriormente tanto el Sitio de Prácticas como el de Solicitud de

Memos realizan la autenticación en contra del servidor IMAP, quien luego se autentica contra

NIS+, por ende para no realizar cambios en la programación de estos sistemas, es necesario que

con OpenLDAP pueda realizar lo mismo. Es decir, primero el usuario se autentica contra IMAP

para después hacerlo contra OpenLDAP.

Para que lo anterior fuese posible, en el servidor OpenLDAP de prueba se instaló

Dovecot, con Postfix. La explicación de cada uno de los pasos se encuentra en el Anexo A5. De

igual forma que para el caso de prueba anterior se desarrolló un sitio de autenticación hecho en

PHP, pero la conexión se realiza contra el servidor IMAP quien a contiene en sus registros los

datos del servidor OpenLDAP. La Figura 6.15 muestra la página en la que el usuario se

autenticará.

Figura 6.15: Vista de autenticación contra IMAP

Las vistas de autenticación correcta e incorrecta son iguales que en la Figura 12 y

Figura11 respectivamente.

Finalmente para dar un mejor entendimiento al lector de cómo es posible mediante PHP,

conectarse a un servidor IMAP, se entrega un segmento de código fuente el cual hace posible

esta acción. La Figura 6.17 representa el código de conexión de IMAP donde la dirección IP

192.168.220.135 corresponde a la dirección del servidor OpenLDAP + IMAP, en el cual se hizo

la prueba.

Page 71: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

71

Figura

6.17: Código fuente PHP para conexión IMAP

Al lograr interpretar el código anterior, es posible darse cuenta que en ningún momento

se interactúa con conexiones directas hacia el servidor OpenLDAP, sino que solamente hacia

IMAP. Para que esto sea posible, IMAP tiene que estar configurado de manera tal que se integre

con el servidor OpenLDAP, lo cual está descrito claramente en el Anexo A5

Page 72: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

72

Sitio de Solicitud de Memos – conexión IMAP/LDAP

Para probar la autenticación de usuarios bajo OpenLDAP en el sitio de solicitud de

memos, se implementó un servidor de prueba con la dirección IP 200.1.17.47/128 el cual se

encuentra dentro de la red de Electrónica. Para ello se realizó un cambio en el código Perl que

permite la autenticación contra IMAP en la actualidad. La Figura 6.18 corresponde a la vista de

usuario para realizar la autenticación y así solicitar memo para el uso de la sala B-351.

Figura 6.18: Vista de autenticación Sitio de Solicitud de Memos

Al observar la Figura 6.18, en el indicador de “password” se indica introducir la

contraseña Unix. Esto debido a que en la actualidad la contraseña de Unix y Samba

eventualmente pueden ser distintas, cosa que con la implementación de OpenLDAP y Samba se

integran de forma automática.

Para entregar una referencia de la modificación que se hizo en el sitio de Solicitud de

Memos, la Figura 6.20 muestra un segmento del código modificado. Este cambio refiere sólo a la

dirección IP del donde se encuentra el servidor IMAP junto con OpenLDAP.

Page 73: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

73

Figura 6.20: Código fuente Perl para conexión IMAP

Para el caso anterior se crea una variable llamada $imap, la cual llama a la librería

“Imap::Client”, para poder hacer conexión con el servidor dada una dirección IP o un nombre.

Luego procede a la autenticación mediante las variables $user y $pass, las cuales son pasadas

desde el HTML mostrado en la Figura 6.18.

Todos los scripts de prueba desarrollados para la utilización de OpenLDAP con sitios

web, se encuentran en el Anexo A6.

Page 74: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

74

Sistema de Gestión de Prácticas – conexión IMAP/LDAP

Para realizar las pruebas pertinentes en el Sistema de Gestión de Prácticas (SGP) del

Departamento, se utilizó la aplicación de respaldo, es decir, el SGP2, la cual tiene como objetivo

realizar pruebas de desarrollo para su mejoramiento. De igual forma que con el sitio de Solicitud

de Memos, los cambios a realizar son muy pequeños, y radican directamente en la dirección IP

del servidor IMAP + OpenLDAP, que para este caso sigue siendo 200.1.17.57. La Figura 6.21

corresponde a la vista de autenticación de usuario al momento de ingresar al sitio.

Figura 6.21: Vista de autenticación SGP 2

Finalmente se entrega un extracto del código fuente el cual permite la conexión con el

servidor de correo. La Figura 6.23 muestra la modificación en la variable $MAILSERVER,

donde se asigna la dirección IP 200.1.17.57, en el puerto 143 utilizado por el servidor de correo.

Page 75: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

75

Figura 6.23: Código fuente PHP para conexión IMAP

Además se puede destacar las funciones “imap_open”, donde se pasan los parámetros

necesarios para establecer conexión y autenticarse contra el servidor.

Page 76: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

76

6.1.4 Migración de cuentas de usuario

Esta sección explica el procedimiento para realizar la migración de las cuentas de los usuarios del Departamento de Electrónica, desde el servidor con NIS+ al nuevo servidor que almacenará la aplicación OpenLDAP. Uno de los principales desafíos es que este proceso sea, en su mayor parte, transparente para los usuarios involucrados, y así evitar las incomodidades que conlleva un proceso de actualización del sistema. Cabe mencionar que los scripts involucrados en el proceso se encuentran en el Anexo A7 junto al modo de utilización de éstos y los programas necesarios para que funcionen correctamente.

Se utilizaron tres archivos que se encuentran en el Anexo A7. A continuación se describe la funcionalidad de cada uno de ellos:

Cuentas.txt: Archivo que contiene todas las cuentas de usuario Unix, desde el año 1996 al 2010. Facilitado por el Administrador de Red del Departamento de Electrónica.

Usuarioldif.pl: Script desarrollado en Perl, el cual capta el archivo cuentas.txt, hace separación de los parámetros de acuerdo al patrón “:”, agrega las sentencias necesarias de la aplicación “smbldap-tools”, y los agrega para cada uno de los usuarios

almacenándolos en el archivo migración.sh. Migracion.sh: Script desarrollado en Bash, el cual contiene las sentencias de smbldap-

tools para cada uno de los usuarios, que al ejecutarse se cargan en el DIT diseñado previamente.

La Figura 6.24 presenta el proceso de desarrollo de los scripts de migración que harán posible la actualización del sistema de autenticación.

Figura 6.24: Proceso de Migración de Usuarios

Archivo Cuentas.txt

Archivo Usuarioldif.pl

Archivo Migración.sh

Mediante la función Split() perteneciente a Perl, se

almacenan en un arreglo los parámetros del archivo cuentas.txt, que están

separados por el patrón “:”

El script usuarioldif.pl escribe en el archivo migración.sh

todos las sentencias de smbldap-tools para la

creación de usuarios y así los carga en el DIT

Page 77: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

77

Una vez creado el script migración.sh con las sentencias de smbldap-tools para cada uno de los usuarios del Departamento, se realizan tres procesos para cada usuario que son descritos en la Figura 6.25.

Figura 6.25: Proceso de carga de usuario en DIT

Los programas “smbldap_useradd”, “smbldap_passwd” y “smbldap_groupmod”,

pertenecen a la herramienta “smbldap-tools”. El modo de utilización y las opciones disponibles

se encuentran explicados en el Anexo A7.

Otro de los aspectos considerados al momento de realizar la migración, es que las contraseñas originalmente guardadas en el archivo cuentas.txt, se encuentran encriptados bajo MD5, el cual es compatible con OpenLDAP, pero al realizar las pruebas pertinentes existían ciertas inconsistencias, lo cual se debe al UID con que fue creado el usuario en la máquina con NIS+, que es distinto al que se le asigna por omisión en la máquina con OpenLDAP. La solución que se planificó a éste problema, fue la creación de un portal Web, que se encontrará en el sitio http://rce.elo.utfsm.cl, y que por efectos de seguridad solo se podrá acceder dentro del Departamento de Electrónica.

Para hacer factible la solución propuesta, todos los usuarios ingresarán al sitio a través de su cuenta Unix actual (la de NIS+), donde luego se procederá a cargar la contraseña que el usuario desee en el servidor OpenLDAP. La Figura 6.26 corresponde a la vista de autenticación.

Figura 6.26: Vista de login para migración de cuentas

Agregar Usuario Smbldap_useradd

Crear contraseña Smbldap_passwd

Agregar Grupo Smbldap_groupmod

Page 78: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

78

Luego si el usuario se ha autenticado correctamente ingresará a la página mostrada en la Figura 6.27, en donde se le pide ingresar la nueva contraseña dos veces por efecto de seguridad, y así evitar que las actualice de forma errónea. Por temas de seguridad el código sólo se entregará al Administrador de Red de turno.

Figura 6.27: Vista de de usuario correctamente autenticado

El proceso lógico que tiene la aplicación que cargará las nuevas contraseñas en el servidor OpenLDAP será el siguiente:

Figura 6.28: Proceso de Actualización de Contraseñas

Los cuadros rellenos en azul, corresponden al accionar del usuario al enfrentarse al sitio web de actualización de cuentas, en cambio los que se encuentran en verde son parte del procesamiento interno de la aplicación, que no será descrito en detalles por efectos de seguridad del resto de los usuarios del Departamento de Electrónica. Para mayor información sobre el proceso de implementación del sistema de autenticación y la migración desde NIS+ a OpenLDAP, revisar los anexos propuestos.

Autenticación IMAP

Datos cargados en OpenLDAP

Ingreso de Usuario

Usuario actualiza cuenta

Page 79: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

79

Capítulo 7

Conclusiones y Trabajo Futuro

El presente trabajo entrega una representación del proceso preliminar de migración de

cuentas de usuarios del Departamento de Electrónica. Para ello se incluyen propuestas de

implementación en servidores de pruebas, que cumplen en su mayoría con los requerimientos

actuales de Electrónica. Se abarcaron dos tópicos principales, el estudio de un nuevo sistema de

autenticación/directorio, y el de acceso remoto. Para el primero se logró una implementación que

corresponde al uso de la herramienta OpenLDAP integrado con el servidor Samba. Con esto es

posible cumplir requerimientos como la dualidad de sistemas operativos en las estaciones de

trabajo de los laboratorios, la integración de los sistemas Web existentes y los próximos a

desarrollarse en el Departamento, la utilización de protocolos como SSH utilizando las cuentas

creadas en OpenLDAP. Con lo mencionado se entrega una propuesta de migración de las cuentas

de usuario en NIS+ (sistema de autenticación actual) a las de OpenLDAP. Para ello se

desarrollaron scripts que permiten realizar las modificaciones pertinentes, y un pequeño sistema

Web para la actualización de las contraseñas de los usuarios de Electrónica.

En el caso del sistema de acceso remoto, se estudió la posibilidad de seguir utilizando

sistemas de ventanas X, lo cual producía un alto consumo de la red, por lo que se optó por

recomendar la implementación de una red VPN, bajo la aplicación de código abierto OpenVPN.

Para este caso se utilizaron las recomendaciones dadas en la memoria “Implementación de una

VPN sobre Linux para la red de computadores del Departamento de Electrónica”, dejando la

opción como trabajo futuro.

Con todo lo realizado es necesario mencionar la importancia de la actualización de los

sistemas informáticos de Electrónica, dado que a medida que pasa el tiempo muchos de los

requerimientos de los usuarios como también de las asignaturas impartidas en el Departamento

se han visto limitadas a los recursos actuales. Es el caso del servidor de alumnos “Aragorn”,

donde no es posible utilizar gran parte de las herramientas actuales para el área de redes de

computadores y sistemas operativos, debiéndose a lo obsoleto de su distribución y sus

características de hardware.

Con respecto a los trabajos futuros relacionados al tema estudiado, es posible mencionar

la implementación final del nuevo sistema de autenticación. Este proceso se recomienda

realizarlo en periodo de vacaciones de alumnos y funcionarios, ya que se podría incurrir en

problemas de acceso para ellos. Además se pretende comprar servidores nuevos, que sean

compatibles con el sistema operativo FreeBSD 7.2, distribución utilizada para la implementación

de prueba. Lo anterior se desataca, debido a que el sistema base de autenticación NIS+ se

encuentra en Solaris 8. Con respecto a la migración de las cuentas es necesario dar un periodo de

actualización d contraseñas, cosa que los usuarios puedan ingresar sin ningún problema después

que el servicio OpenLDAP esté funcionando.

Page 80: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

80

Se recomienda que el trabajo de implementar un servidor OpenVPN para el

Departamento de Electrónica sea realizado como un trabajo de título complementario al que ya

existe, realizado el año 2001. Esto, debido a que en la actualidad existen sistemas operativos más

sofisticados y con muchas mejoras con respecto a Debian 3.1, distribución utilizada en el

proyecto “Implementación de una VPN sobre Linux para la red de computadores del

Departamento de Electrónica”. Cabe destacar que el concepto de una red VPN es el mismo, con

ciertas variaciones en aspectos de seguridad, pero de igual forma permite un uso eficiente de los

recursos de red del Departamento accediendo de forma remota.

Page 81: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

81

Referencias

[1.1] Soporte Microsoft. Introducción a Active Directory [en línea] <

http://support.microsoft.com/kb/196464/es>

[1.2] Wikipedia. OpenLDAP [en línea] < http://es.wikipedia.org/wiki/OpenLDAP>

[1.3] Webmin Home Page. ¿Qué es Webmin? [en línea] < http://www.webmin.com/>

[2.1] Escuela de Ingeniería Pontificia Universidad Católica. Obtención de disco remoto. [en

línea] < http://www.ing.puc.cl/esp/infgeneral/ssi/enlaces/disco_remoto.html>

[2.2] Sitio Oficial de WinSCP [en línea] < http://winscp.net/eng/docs/lang:es>

[2.3] Departamento de Computación, Universidad de Valparaíso. < http://redes.decom-

uv.cl/index.php?name=servicios>

[2.4] Departamento de Computación, Universidad de Valparaíso. < http://redes.decom-

uv.cl/index.php?name=servicios>

[2.5] Dirección de Servicios de Tecnología de Información STI, Universidad de Chile <

http://www.sti.uchile.cl/>

[2.6]Wikipedia. VPN (Virtual Private Network) <

http://en.wikipedia.org/wiki/Virtual_private_network>

[2.7] University of California, Berkeley. Calnet - Identity and Access Management <

https://wikihub.berkeley.edu/display/calnet/CalNet+Identity+and+Access+Management>

[2.8] MIT. Kerberos: The Network Authentication Protocol. < http://web.mit.edu/kerberos/>

[3.1] Wikipedia. ASN.1 < http://es.wikipedia.org/wiki/ASN.1>

[4.1] Scheifler, Robert W. Massachusetts Institute of Technology. X Windows System Protocol

< http://www.alleystoughton.us/eXene/X-protocol.pdf>

[4.2] Gettys, James. Cambridge Research Laboratory. Xlib – C Language X Interface <

http://www.xfree86.org/current/xlib.pdf>

[4.3] XFCE Home Page. XFCE Desktop Environment. < http://www.xfce.org/>

[4.4] Oracle, Common Desktop Environmente (CDE).

<http://www.sun.com/software/solaris/cde/>

Page 82: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

82

[4.5] Wikipedia. Remote Access Service – RAS.

<http://en.wikipedia.org/wiki/Remote_Access_Service>

[5.1] Vernooij, Jelmer R., The Official Samba 3.4 Reference Guide.

<http://www.samba.org/samba/docs/Samba3-HOWTO.pdf>

[5.2] Landeros Cartes, Carlos Antonio. Implementación de una VPN sobre Linux para la red de

computadores del Departamento de Electrónica. Memoria para optar al título de Ingeniero Civil

Electrónico. Universidad Técnica Federico Santa María. Año 2005.

Page 83: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

83

Anexo A1

Aspectos Avanzados del Protocolo LDAP

A1.1 Un poco de historia

En el año 1989, a un grupo de estudiantes de la Universidad de Michigan que trabajaba

en tecnologías emergentes de internet, se le dio la tarea de crear un servicio de directorio para la

universidad. Se volcaron hacia el protocolo X.500, el cual organiza las entradas del directorio en

un espacio de nombres jerárquico, capaz de soportar grandes cantidades de información y definir

poderosas capacidades de búsqueda para hacer más fácil la obtención de ésta. En aquellos

tiempos, ya existía una implementación de disponibilidad pública, llamada Quipu (en honor al

sistema de mensajería utilizado por los Incas). Los trabajos se enfocaron en hacer de éste más

escalable y adecuado para ser usado en una organización tan amplia como una Universidad.

Tiempo después se dieron cuenta que existían limitaciones fundamentales en el protocolo

mismo, las que tenían que ver con que X.500 fue pensado para trabajar sobre una infraestructura

OSI, lo que dejaba fuera a muchas máquinas pequeñas en la cuales no podían ser implementada.

En este punto, se comenzó a concebir LDAP, pero sólo como front-end de X.500.

A mediado de los 90‟s, Tim Howes de la Universidad de Michigan comenzó a trabajar en

el precursor de LDAP, DIXIE (Directory Interface to X.500 Implemented Eficiently). Esta

implementación ayudó a mucha gente que lidiaba con X.500, ya que no poseía clientes para

poder utilizarlo. Al mismo tiempo creó la base para implementar clientes con un acceso más

simplificado vía TCP/IP, y a menor costo. DIXIE comenzó a ser ampliamente usado, y dado

esto, sus desarrolladores siguieron con el proceso de estandarización en IETF (Internet

Engineering Task Force). En 1991 se publicó el RFC 1249, que habla acerca de DIXIE.

Por otro lado Steve Kille trabajaba en un grupo de la IETF, con Open Systems

Interconnection Directory Services (OSI-DS), tratando de darle mejor funcionalidad a X.500

sobre internet. Steve se unió Tim Howes, y junto a Wengyik Yeong trabajaron en desarrollar la

especificación original de LDAP, apareciendo esta a principios de 1992. Se agregó

posteriormente al grupo Colin Robbins, puesto que para la definición de la sintaxis de LDAP se

basó mucho en lo que él había hecho con Quipu. En la Universidad de Michigan en tanto, se

siguió trabajando, obteniéndose a fines de ese año la implementación de un servidor LDAP, y

bibliotecas para clientes, liberándose finalmente de forma pública.

En 1993 apareció el primer documento RFC sobre LDAP versión 2 [RFC1487]

[RFC1488]. La versión 1 nunca se convirtió en un RFC, y sólo quedó como un Internet Draft.

Este RFC fue el X.500 Lightweight Access Protocol [RFC 1487], el cual fue posteriormente

reemplazado por Lightweight Directory Access Protocol [RFC 1777].

El RFC 1777 define el protocolo LDAP, junto con los siguientes:

The String Representation of Standard Attribute Syntaxes [RFC 1778]

Page 84: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

84

A String Representation of Distinguished Names [RFC 1779]

An LDAP URL Format [RFC 1959]

A String Representation of LDAP Search Filters [RFC 1960] define a LDAP Versión 2,

alcanzando el estado de estándar de la IETF.

Luego de eso vino la aparición de LDAP Versión 3. Éste fue definido por Lightweight

Directory Access Protocol (v3) [RFC 2251]. Los RFC‟s que fueron actualizados a la versión 3

son los siguientes:

Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions [RFC 2252]

Lightweight Directory Access Protocol (v3): UTF-8 Strign Representation of

Distinguished Names [RFC 2253]

The String Representation of LDAP Search Filters [RFC 2254]

The LDAP URL Format [RFC 2255]

A Summary of the X.500(96) User Schema for use with LDAP v3 [RFC 2256]

Cabe mencionar que LDAP Versión 3 extiende a su predecesor en las siguientes áreas:

Referencias: Un servidor que no almacene la información pedida, puede enviar al cliente

una referencia hacia otro servidor.

Seguridad: Autenticación extensiva usando el mecanismo de Simple Authentication and

Security Layer (SASL)[RFC 2222]

Internacionalización: Soporte de UTF-8 para caracteres internacionales.

Extensibilidad: Nuevos tipos de objetos y operaciones pueden ser definidos

dinámicamente, y el esquema publicado de una manera estándar.

A1.2 Distribución y Delegación en LDAP

Una de los aspectos más poderosos de LDAP es la inherente habilidad dentro del diseño

de delegar la responsabilidad para el mantenimiento de una parte del directorio sin dejar de verlo

como un todo coherente. Por lo tanto, una unidad organizacional puede crear una delegación de

responsabilidad a un departamento en particular de todo el DIT, esto se conoce como

referencias. Dado lo anterior, LDAP refleja con esto el concepto de delegación que provee DNS.

A diferencia del sistema DNS, no hay ninguna opción en las normas para decir al servidor

LDAP como debe realizar la referencia, ya que se deja que el cliente LDAP se contacte

directamente con el servidor usando la referencia dada. Del mismo modo, debido a que el

estándar no define la organización de datos en LDAP, esto no se contrapone a que un servidor

siga o resuelva un enlace, además algunas implementaciones realizan esta función

automáticamente usando un proceso que suele llamarse cadena.

Page 85: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

85

Otra funcionalidad conocida es la replicación la que permite a una o más copias de un directorio (DIT) ser esclavos de un maestro simple, lo cual creará una estructura más robusta para el sistema en general.

Nuevamente es importante recalcar la diferencia entre LDAP y una base de datos del tipo transaccional. Cuando una actualización es realizada en un servidor maestro LDAP habilitado, ésta puede tomar algún tiempo (en términos computacionales) para actualizar a todos los esclavos; lo anterior conlleva a que los maestros y esclavos pueden ser asíncronos durante un tiempo.

En el contexto de LDAP, una falta de sincronización del DIT es considerada poco importante. En el caso de una base de datos transaccional, en cambio, incluso una pequeña falta en la sincronización de datos entre maestros y esclavos se considera catastrófica, dado el tipo de información que éstas manejan. Esto recalca que entre LDAP y una base de datos transaccional, hay una gran diferencia en lo que respecta a la información almacenada. A1.2.1 Referencias en LDAP

Cuando este concepto es aplicado, el servidor consultado entrega al cliente un puntero referenciando a otro servidor para que la búsqueda continúe en caso de no ser exitosa en la primera iteración. El cliente debería seguir la cadena de referencias hasta llegar al servidor que administra la información que él requiere. Todas estas operaciones deberían ser transparentes para el usuario que maneja al cliente LDAP. La Figura A1.1, muestra el uso de referencias entre un cliente y varios servidores con diversos grupos y subgrupos.

Figura A1.1: Solicitud resuelta por servidor LDAP1

Page 86: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

86

El esquema anterior muestra una petición realizada por el cliente, la cual fue resuelta por el servidor LDAP 1, ya que éste tenía dentro de su DIT la información requerida. La solicitud fue la siguiente: “dn:cn=thingie,o=widgets,dc=example,dc=com”.

Figura A1.2: Solicitud que genera referencia a los servidores LDAP 2 y LDAP3

En cambio, para la Figura A1.2, la solicitud realizada por el cliente no fue totalmente satisfecha por LDAP1, por lo que tuvo que seguir la cadena de referencia hacia las siguientes máquinas, quienes respondieron a la petición inicial.

En términos generales, cuando se implementa bajo este sistema, todos los clientes comienzan su consulta con un directorio global, que en este caso está almacenado en el servidor LDAP1. Si esta máquina se encuentra configurada para realizar encadenamiento (seguir las referencias), luego una simple respuesta será entregada al cliente.

A1.2.2 Replicación en LDAP

Las características de replicación permiten a las actualizaciones realizadas en el DIT ser copiadas en uno o más sistemas LDAP por temas de respaldo y/o rendimiento. En este contexto vale la pena destacar que la replicación funciona a nivel del DIT, y no del servidor LDAP en sí. Ésta se produce periódicamente, y es conocida como tiempo de ciclo de replicación. En general, existen métodos que reducen este tiempo mediante configuración en el servidor, pero con la desventaja que produce una sobrecarga con impacto en rendimiento y uso de la red. Existen dos posibles configuraciones de replicación y múltiples variaciones en cada una de ellas.

Page 87: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

87

Maestro – Esclavo

En este tipo de configuración un árbol de información simple es capaz de ser actualizado,

y estas actualizaciones son replicadas o copiadas a uno o más servidores designados como DITs

esclavos. Estas máquinas son copias de solo lectura del DIT maestro. Esto quiere decir que solo

los usuarios con privilegios de solo lectura pueden acceder a estos DITs, sin realizar

modificaciones en las entradas. Esta configuración tiene dos obvios inconvenientes:

i) Si todos o la mayoría de los usuarios tienen la habilidad o necesidad de actualizar el

DIT, tendrán dos opciones. Una de ellas es acceder a un servidor esclavo para el

accedo normal de escritura, y luego realizar la escritura en el maestro; o

alternativamente podrán apuntar siempre al servidor que está corriendo al DIT

maestro. En este último caso la replicación proporciona una funcionalidad de copia de

seguridad.

ii) Dado que hay sólo un servidor que contiene un DIT maestro, representa un punto

único de fallo, causando un colapso total del sistema.

Maestros Múltiples.

Para este caso uno o más servidores están corriendo DITs maestros que pueden ser

actualizados, por lo que el resultado de esta acción es propagada entre todas las máquinas

maestras.

Una de las aplicaciones que utilizan el protocolo LDAP, conocido como OpenLDAP en

su versión 2.4, introduce la capacidad de maestros múltiples. En este contexto vale la pena

destacar dos variantes específicas del problema genérico de actualización de todas las

configuraciones de varios maestros identificados por OpenLDAP, y que caen en todos los

sistemas que usan el protocolo:

i) Value – contention: Si dos atributos son actualizados al mismo tiempo con

diferentes valores, luego, dependiendo del tipo de atributo (simple – múltiple) el

resultado de la entrada puede ser incorrecto o quedar en estado inutilizable.

ii) Delete – contention: Si un usuario agrega una entrada hijo el mismo tiempo que otro

usuario borra la entrada original, luego la entrada borrada reaparecerá produciendo

inconsistencia.

Page 88: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

88

Figura A1.3: Configuración de Replicación

La Figura A1.3, describe los posibles DIT dentro de un sistema de directorio, bajo la configuración de replicación. Nótese que se tienen uno o más esclavos para diversos servidores LDAP, de acuerdo a los requerimientos de la unidad organizacional, siempre considerando aspectos de rendimiento y sobrecarga de la red al momento de realizar operaciones de lectura/escritura. En el esquema aparecen las abreviaciones RO (read only – solo lectura) y RW (read/write – lectura/escritura), diferenciando el tipo de operaciones a realizar sobre el directorio, de acuerdo a los privilegios de usuario previamente establecidos.

Cabe mencionar la utilización de balanceos de carga entre servidores, los cuales vienen implícitos en las aplicaciones que acceden en el directorio, o mediante agentes externos. La primera tiene relación con algunos sistemas que ofrecen incluir varios servidores a los cuales se les puede consultar; si no se obtiene respuesta alguna del primero, sigue con los restantes. En cambio la última trata sobre balanceadores como switch de capa 4, o aplicaciones sobre la topología de red estipulada.

Page 89: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

89

Anexo A2

Instalación y Configuración de OpenLDAP 2.3 y Samba 3.4

sobre FreeBSD 7.2

A2.1 Descripción General

El presente anexo explica el proceso de instalación del servidor de autenticación

OpenLDAP 2.3 y el servicio de integración de sistemas Unix/Linux/Windows conocido como

Samba en su versión 3.4. Cabe mencionar que la puesta en marcha de éste servicio se realizó en

máquinas virtuales bajo la aplicación VMWare, corroborando su funcionamiento para una

implementación final en el Departamento de Electrónica. A continuación se detallarán cada uno

de los pasos a seguir por el Administrador de Red de turno.

A2.2 Datos del Servidor FreeBSD 7.2

Dirección IP : 192.168.220.143/24

Nombre Servidor : smb-server01

Dominio OpenLDAP : elo.utfsm.cl

Dominio Samba : ELONT

Password LDAP : very-secure-password

Password smbldap : braulio

Instalación Limpia : Crear usuario pero no dejarlo en ningún grupo, para uqe se cree

carpeta /usr/home

A2.3 Instalación de las Aplicaciones

Todos los archivos de configuración del proceso de instalación se encuentran en

vmfiles.tar guardado en http://alumnos.elo.utfsm.cl/~bvasquez/vmfiles.tar

Actualizar el árbol de ports:

#portsnap fetch

#portsnap extract

Realizar los cambios en /etc/hosts

::1 localhost localhost.smbdomain.local

127.0.0.1 localhost localhost.smbdomain.local

192.168.220.143 smb-server01.elo.utfsm.cl smb-server01

192.168.220.143 smb-server01.elo.utfsm.cl.

Page 90: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

90

Ports Necesarios

Perl 5.12 (Dejar opciones por omisión)

Desinstalar antes perl 5.8 (por make deinstall)

# cd /usr/ports/lang/perl5.12

# make install clean

OpenLDAP 23 (Dejar Opciones por omisión)

# cd /usr/ports/net/openldap23-server

# make install clean

Cups-base (Ser paciente con la instalación)

# cd /usr/ports/print/cups-base

# make install clean

Dato Extra:

- Cuando ghostscript pregunte por las opciones, no seleccionar las opciones de X Windows.

- Cuando arroje un error de paquete de png, ir /usr/ports/graphics/png, hacer make deinstall y

luego make reinstall para llevarlo al paquete mas nuevo.

- Asegurarse de que la instalación finalice correctamente.

Samba34

# cd /usr/ports/net/samba34

# make install clean

Dejar la siguiente configuración:

+--------------------------------------------------------------------+

| Options for samba34 3.4.9 |

| +----------------------------------------------------------------+ |

| | [X] LDAP With LDAP support | |

| | [X] ADS With Active Directory support | |

| | [X] CUPS With CUPS printing support | |

| | [X] WINBIND With WinBIND support | |

| | [ ] SWAT With SWAT WebGUI | |

| | [X] ACL_SUPPORT With ACL support | |

| | [X] AIO_SUPPORT With Asyncronous IO support | |

| | [ ] FAM_SUPPORT With File Alteration Monitor | |

| | [X] SYSLOG With Syslog support | |

| | [X] QUOTAS With Disk quota support | |

| | [X] UTMP With UTMP accounting support | |

| | [X] PAM_SMBPASS With PAM authentication vs passdb backends | |

| | [ ] DNSUPDATE With dynamic DNS update(require ADS) | |

| | [ ] AVAHI With Bonjour service discovery support | |

| | [ ] EXP_MODULES With experimental modules | |

| | [X] POPT With system-wide POPT library | |

| | [ ] MAX_DEBUG With maximum debugging | |

| | [ ] SMBTORTURE With smbtorture | |

|-+----------------------------------------------------------------+-|

| [ OK ] Cancel |

+--------------------------------------------------------------------+

Page 91: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

91

Dato Extra:

Es importante habilitar la opción PAM, ya que es el módulo que permitirá el acceso vía SSH.

Nss_ldap (dejar opciones por omisión)

# cd /usr/ports/net/nss_ldap/

# make install clean

SmbLdap_tools(dejar opciones por omisión)

# cd /usr/ports/net/smbldap-tools

# make install clean

A2.4 Configuración de OpenLDAP 2.3

Se creará el password para openldap:

# slappasswd -s very-secure-password

Copiar y pegar el output en el parámetro rootpw de /usr/local/etc/openldap/slapd.conf

# vi /usr/local/etc/openldap/slapd.conf

#

# See slapd.conf(5) for details on configuration options.

# This file should NOT be world readable.

#

include /usr/local/etc/openldap/schema/core.schema

include /usr/local/etc/openldap/schema/cosine.schema

include /usr/local/etc/openldap/schema/inetorgperson.schema

include /usr/local/etc/openldap/schema/misc.schema

include /usr/local/etc/openldap/schema/nis.schema

include /usr/local/etc/openldap/schema/openldap.schema

include /usr/local/etc/openldap/schema/samba.schema

loglevel 256

pidfile /var/run/openldap/slapd.pid

argsfile /var/run/openldap/slapd.args

# Load dynamic backend modules:

modulepath /usr/local/libexec/openldap

#moduleload back_bdb

#######################################################################

# BDB database definitions

#######################################################################

database bdb

Page 92: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

92

suffix "dc=elo,dc=utfsm,dc=cl"

rootdn "cn=Manager,dc=elo,dc=utfsm,dc=cl"

#rootpw = very-secure-password

rootpw {SSHA}2pCGrVMhMh3cC+LakUXApebb9jwICf5e

directory /usr/local/var/db/openldap-data

# Indices to maintain

index objectClass eq

index cn pres,sub,eq

index sn pres,sub,eq

index uid pres,sub,eq

index displayName pres,sub,eq

index uidNumber eq

index gidNumber eq

index memberUID eq

index sambaSID eq

index sambaPrimaryGroupSID eq

index sambaDomainName eq

index default sub

Se necesita copiar el siguiente link (samba.schema)

# cp /usr/local/share/examples/samba34/LDAP/samba.schema

/usr/local/etc/openldap/schema/

Se necesita la creación de algunos archivos como la creación del directorio donde se almacenará

la base de datos. /usr/local/var/db/openldap-data.

# mkdir -p /usr/local/var/db/openldap-data

# cp /usr/local/etc/openldap/DB_CONFIG.example /usr/local/var/db/openldap-

data/DB_CONFIG

# chown -R ldap:ldap /usr/local/var/db/openldap-data

# chown -R ldap:ldap /usr/local/etc/openldap/

# chmod -R 0700 /usr/local/var/db/openldap-data

# chmod 0400 /usr/local/etc/openldap/slapd.conf

Ahora se hará que syslog arroje notificaciones sobre slapd en /etc/syslog.conf

!slapd

*.* /var/log/slapd.log

Ahora creamos el archivo y reiniciamos en demonio syslogd

# touch /var/log/slapd.log

# /etc/rc.d/syslogd restart

Asegurarse que el archivo /usr/local/etc/nss_ldap.conf se vea de la siguiente forma:

uri ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap:// 192.168.220.143/ ldap://127.0.0.1/

base dc=elo,dc=utfsm,dc=cl

Page 93: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

93

bind_policy soft

bind_timelimit 10

host localhost

idle_timelimit 3600

ldap_version 3

nss_base_group ou=Groups,dc=elo,dc=utfsm,dc=cl?one

nss_base_passwd ou=People, dc=elo,dc=utfsm,dc=cl?one

nss_base_passwd ou=Computers, dc=elo,dc=utfsm,dc=cl?one

nss_base_shadow ou=People, dc=elo,dc=utfsm,dc=cl?one

nss_connect_policy persist

nss_paged_results yes

pagesize 1000

port 389

scope one

timelimit 30

Se hace un link simbólico desde

/usr/local/etc/nss_ldap.conf a /usr/local/etc/openldap/ldap.conf

# rm /usr/local/etc/openldap/ldap.conf

# ln -s /usr/local/etc/nss_ldap.conf /usr/local/etc/openldap/ldap.conf

# ln -s /usr/local/etc/nss_ldap.conf /usr/local/etc/ldap.conf

Modificar /etc/rc.conf para que el demonio slapd inicie al momento de encender el servidor:

#enable slapd

slapd_enable="YES"

slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://127.0.0.1/

ldap://192.168.220.143/"'

slapd_sockets="/var/run/openldap/ldapi"

Ahora se inicia slapd y se comprueba que el proceso esté corriendo:

# /usr/local/etc/rc.d/slapd start

Starting slapd.

# ps ax | grep slap

11383 ?? Ss 0:00,01 /usr/local/libexec/slapd -h ldapi://%2fvar

11385 p2 S+ 0:00,00 grep slap

Finalmente edite /etc/nsswitch.conf de la siguiente forma:

group: files ldap

group_compat: nis

hosts: files dns

networks: files

passwd: files ldap

passwd_compat: nis

Page 94: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

94

shells: files

services: compat

services_compat: nis

protocols: files

rpc: files

A2.4 Configuración de Samba 3.4

Todos los archivos relacionados a samba quedarán almacenados en el

directorio /usr/local/var/samba

# mkdir /usr/local/var/samba

También se creará el archivo user map, que contendrá el nombre de root:

# vi /usr/local/var/samba/usermap

root = administrator

Para crear el siguiente /usr/local/etc/smb.conf es necesario borrar el anterior. Por tanto

quedará de la siguiente forma:

# rm /usr/local/etc/smb.conf

# vi /usr/local/etc/smb.conf

# Global parameters

[global]

workgroup = ELONT

server string = Samba Server

netbios name = smb-server01

hosts allow = 192.168.220. 127.

interfaces = bge0, lo

bind interfaces only = Yes

# passwd backend

encrypt passwords = yes

passdb backend = ldapsam:ldap://smb-server01.elo.utfsm.cl/

enable privileges = yes

pam password change= Yes

passwd program = /usr/bin/passwd %u

passwd chat = *New*UNIX*password* %nn *ReType*new*UNIX*password* %nn *

passwd:*all*authentication*tokens*updated*successfully*

unix password sync = Yes

# Log options

log level = 1

log file = /var/log/samba34/%m

max log size = 50

syslog = 0

# Name resolution

name resolve order = wins bcast host

Page 95: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

95

# misc

timeserver = Yes

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

use sendfile = yes

veto files = /*.eml/*.nws/*.{*}/

veto oplock files = /*.doc/*.xls/*.mdb/

deadtime = 120

# Dos-Attribute

map hidden = No

map system = No

map archive = No

map read only = No

store dos attributes = Yes

# printers - configured to use CUPS and automatically load them

load printers = Yes

printcap name = CUPS

printing = cups

cups options = Raw

show add printer wizard = No

# scripts invoked by samba

add user script = /usr/local/sbin/smbldap-useradd -m %u

delete user script = /usr/local/sbin/smbldap-userdel %u

add group script = /usr/local/sbin/smbldap-groupadd -p %g

delete group script = /usr/local/sbin/smbldap-groupdel %g

add user to group script = /usr/local/sbin/smbldap-groupmod -m %u

%g

delete user from group script = /usr/local/sbin/smbldap-groupmod -x %u

%g

set primary group script = /usr/local/sbin/smbldap-usermod -g %g

%u

add machine script = /usr/local/sbin/smbldap-useradd -w %m

# LDAP-Configuration

ldap delete dn = Yes

ldap ssl = off

ldap passwd sync = Yes

ldap suffix = dc=elo,dc=utfsm,dc=cl

ldap machine suffix = ou=Computers

ldap user suffix = ou=People

ldap group suffix = ou=Groups

ldap idmap suffix = ou=Idmap

ldap admin dn = cn=Manager,dc=elo,dc=utfsm,dc=cl

idmap backend = ldap:ldap://smb-server01.elo.utfsm.cl

idmap uid = 10000-20000

idmap gid = 10000-20000

# logon options

logon script = logon.bat

logon path = \%L\profiles\%u

logon path =

Page 96: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

96

logon home = \%L\%U

logon drive = H:

# setting up as domain controller

username map = /usr/local/var/samba/usermap

preferred master = Yes

wins support = Yes

domain logons = Yes

domain master = Yes

local master = Yes

os level = 64

map acl inherit = Yes

unix charset = UTF8

#============================ Share Definitions

==============================

[netlogon]

comment = Network Logon Service

path = /usr/local/var/samba/netlogon

guest ok = yes

locking = no

[homes]

comment = Home Directories

valid users = %S

read only = No

browseable = No

[Profiles]

comment = Network Profiles Service

path = /usr/local/var/samba/profiles

read only = No

profile acls = yes

hide files = /desktop.ini/ntuser.ini/NTUSER.*/

profile acls = Yes

[printers]

comment = All Printers

path = /var/spool/samba

browseable = No

guest ok = Yes

printable = Yes

use client driver = Yes

default devmode = Yes

[print$]

comment = Printer Drivers

path = /usr/local/var/samba/printer-drivers

browseable = yes

guest ok = no

read only = yes

write list = root

[data]

Page 97: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

97

comment = Data Directory

path = /usr/local/var/samba/data

write list = @elont

read only = No

create mask = 0777

directory mask = 0777

Dato Extra: Los puntos en rojos son las opciones cambiables de acuerdo a los requerimientos de

la organización.

Se crearán los siguientes directorios: netlogon, profiles, printer-drivers and the share data.

# mkdir /usr/local/var/samba/netlogon

# mkdir /usr/local/var/samba/profiles

# mkdir /usr/local/var/samba/printer-drivers

# mkdir /usr/local/var/samba/data

# chmod 777 /usr/local/var/samba/profiles

Ahora se corroborará el correcto funcionamiento de smb.conf mediante:

# testparm /usr/local/etc/smb.conf

Si se obtiene lo siguiente:

Load smb config files from /usr/local/etc/smb.conf

max_open_files: sysctl_max (14745) below minimum Windows limit (16384)

rlimit_max: rlimit_max (14745) below minimum Windows limit (16384)

Crear el archivo /boot/loader.conf

# Samba 34

kern.maxfiles="20480"

Ahora se necesita guardar el password ldap, en el secret.tdb:

/usr/local/etc/rc.d/slapd stop

Stopping slapd.

Waiting for PIDS: 49851.

#

# smbpasswd -w very-secure-password

Setting stored password for "cn=Manager,dc=testdomain,dc=com" in secrets.tdb

Ahora Samba se configura en /etc/rc.conf e iniciamos el demonio:

#enable Samba

nmbd_enable="YES"

smbd_enable="YES"

winbindd_enable="YES"

cupsd_enable="YES"

Page 98: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

98

Se procede a iniciar Samba

# /usr/local/etc/rc.d/samba start

Removing stale Samba tdb files: ....... done

Starting nmbd.

Starting smbd.

Starting winbindd.

Probar que Samba inició

# ps -ax | grep mbd

1093 ?? Ss 0:00.03 /usr/local/sbin/nmbd -D -s /usr/local/etc/smb.conf

1095 ?? I 0:00.00 /usr/local/sbin/nmbd -D -s /usr/local/etc/smb.conf

1100 ?? Ss 0:00.01 /usr/local/sbin/smbd -D -s /usr/local/etc/smb.conf

Para asegurarse que Samba inicie después que el Servidor LDAP, es necesario modificar el script

de samba, ubicado en /usr/local/etc/rc.d/samba

# PROVIDE: nmbd smbd

# PROVIDE: winbindd

# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv

# REQUIRE: cupsd slapd

# BEFORE: LOGIN

# KEYWORD: shutdown

A2.5 Configuración de Smbldap-tools

Esta herramienta permite integrar las configuraciones del servidor OpenLDAP con el

servidor Samba, lo que permitirá que cada usuario tenga una cuenta única al momento de

autenticarse tanto en máquinas Windows, como Linux/Unix.

Se graba el SID del servidor:

net getlocalsid

SID for domain SMB-SERVER01 is: S-1-5-21-663278506-2669211824-1328585615

Ahora se modifica el archivo /usr/local/etc/smbldap-tools/smbldap.conf (copiar en el

directorio anterior el que se encuentra en vmfiles.tar)

Modificar el archivo /usr/local/etc/smbldap-tools/smbldap_bind.conf

############################

# Credential Configuration #

############################

# Notes: you can specify two differents configuration if you use a

# master ldap for writing access and a slave ldap server for reading access

# By default, we will use the same DN (so it will work for standard Samba

# release)

masterDN="cn=Manager,dc=testdomain,dc=com"

masterPw="very-secure-password"

Page 99: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

99

Se inicia nuevamente el demonio de slapd (ya que anteriormente se había terminado)

# /usr/local/etc/rc.d/slapd start

Ahora se poblará la base de datos a modo de prueba:

# smbldap-populate -u 10000 -g 10000 -r 10000

Populating LDAP directory for domain TESTDOMAIN (S-1-5-21-663278506-

2669211824-1328585615)

(using builtin directory structure)

adding new entry: dc=testdomain,dc=com

adding new entry: ou=People,dc=testdomain,dc=com

adding new entry: ou=Groups,dc=testdomain,dc=com

adding new entry: ou=Computers,dc=testdomain,dc=com

adding new entry: ou=Idmap,dc=testdomain,dc=com

adding new entry: uid=root,ou=People,dc=testdomain,dc=com

adding new entry: uid=nobody,ou=People,dc=testdomain,dc=com

adding new entry: cn=Domain Admins,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Domain Users,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Domain Guests,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Domain Computers,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Administrators,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Account Operators,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Print Operators,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Backup Operators,ou=Groups,dc=testdomain,dc=com

adding new entry: cn=Replicators,ou=Groups,dc=testdomain,dc=com

adding new entry: sambaDomainName=TESTDOMAIN,dc=testdomain,dc=com

Please provide a password for the domain root:

Changing UNIX and samba passwords for root

New password:

Retype new password:

Donde se preguntará la password de Samba que no necesariamente es la misma de openldap (en

este caso braulio).

A2.6 Configuración de Winbind

Antes de configurar, verificar si todos los demonios están corriendo como también agregar en

/etc/rc.conf hostname=”smb-server01”.

Y luego realizar:

# net rpc join -S smb-server01 –U root

Enter root's password:

Joined domain TESTDOMAIN.

Dato Extra: Este paso sólo funciona si lo anterior se ha hecho correctamente.

Page 100: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

100

A2.7 Agregando usuarios al DIT

Ahora se puede crear una cuenta de usuario Windows (opción -a), se le crea su carpeta personal

(opción -m), especificando que no tenga una ruta Profile (opción -F) y se le asigna una

contraseña. También se procede a agregar el usuario al grupo organizacional:

smbldap-useradd –a -m –d /usr/home/<unidadorg>/<usuario> –S “<Nombre

Usuario>” –P usuario

smbldap-groupmod –m <usuario> <unidadorg>

Page 101: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

101

Anexo A3

Integración de SSH con OpenLDAP, mediante PAM

A3.1 Descripción General

Este anexo explica cómo se integrará el módulo PAM, para que los usuarios puedan tener

acceso vía SSH al servidor OpenLDAP. Los pasos que se describirán a continuación tienen que

ser seguidos con mucha precaución, ya que cualquier error puede causar que no se pueda volver

acceder a éste.

A3.2 Instalación y Configuración

Instalar el modulo PAM

Realizar un link simbólico para que el .so se pueda usar automáticamente

Modificar el archivo /usr/local/etc/nss_ldap.conf ya que este se replicará para los links

simbólicos de ldap.conf

Agregar al DIT, el siguiente archivo computers_pam.ldif:

Luego se agrega con la siguiente sentencia:

#cd /usr/ports/security/pam_ldap/

binddn cn=pam_ldap,ou=Computers,dc=elo,dc=utfsm,dc=cl

bindpw secret

pam_password exop

# ln -s /usr/local/lib/pam_ldap.so /usr/lib

dn: cn=pam_ldap,ou=Computers,dc=testdomain,dc=com

cn: pam_ldap

objectClass: top

objectClass: inetOrgPerson

sn: PAM

userPassword: secret

ldapadd -H ldap://smb-server01 -x -D "cn=Manager,dc=testdomain,dc=com"

-f /archivos/archivos/computers_pam.ldif -w very-secure-password

Page 102: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

102

A continuación se modifica el archivo /etc/pam.d/sshd. Dato Extra: Sólo esto es posible

cuando usuarios reales pueden ingresar via SSH, es decir no se puede acceder via root.

A continuación se modifica el archivo /etc/pam.d/passwd

# auth

auth sufficient pam_opie.so no_warn

no_fake_prompts

auth requisite pam_opieaccess.so no_warn

allow_local

#auth sufficient pam_krb5.so no_warn

try_first_pass

#auth sufficient pam_ssh.so no_warn

try_first_pass

auth required pam_ldap.so

#auth required pam_unix.so no_warn

try_first_pass

# account

account required pam_nologin.so

#account required pam_krb5.so

account required pam_login_access.so

account required pam_ldap.so

#account required pam_unix.so

# session

#session optional pam_ssh.so

session sufficient pam_ldap.so

session required pam_permit.so

# password

#password sufficient pam_krb5.so no_warn

try_first_pass

password required pam_ldap.so

#password required pam_unix.so no_warn try_first_pass

# password

#password requisite pam_passwdqc.so enforce=users

###password required pam_unix.so no_warn try_first_pass nullok

password required pam_ldap.so

Page 103: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

103

También se modifica el archivo /etc/pam.d/system

Finalmente se reinicia el demonio slapd. # /usr/local/etc/rc.d/slapd restart

#

# System-wide defaults

#

# auth

auth sufficient pam_opie.so no_warn no_fake_prompts

auth requisite pam_opieaccess.so no_warn allow_local

#auth sufficient pam_krb5.so no_warn try_first_pass

#auth sufficient pam_ssh.so no_warn try_first_pass

auth sufficient pam_ldap.so

auth required pam_unix.so no_warn try_first_pass

nullok

# account

#account required pam_krb5.so

account required pam_login_access.so

account sufficient pam_ldap.so

account required pam_unix.so

# session

#session optional pam_ssh.so

session required pam_ldap.so

session required pam_lastlog.so no_fail

# password

#password sufficient pam_krb5.so no_warn try_first_pass

password required pam_unix.so no_warn try_first_pass

Page 104: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

104

Anexo A4

Agregando máquinas al dominio LDAP/Samba

A4.1 Descripción General

El siguiente anexo describe los pasos a seguir al momento de agregar máquinas o

estaciones de trabajos, con sistemas operativos Windows XP y Linux (Ubuntu 10.10). Para las

máquinas Linux, se puede utilizar cualquier distribución acorde.

A4.2 Agregando Máquinas Windows XP

Los pasos a seguir son los siguientes:

Clic derecho en el icono de «Mi PC».

Seleccionar «Propiedades»

Haga clic en la pestaña de «Identificación de red» o «Nombre del

sistema».

Clic en el botón de «Propiedades».

Clic en el botón «Miembro de dominio»

Ingrese el nombre del dominio (en este caso ELONT) y el nombre de la

máquina y haga clic en el botón de «Aceptar»

Aparecerá un diálogo que preguntará por una cuenta y clave de acceso con

privilegios de administración en el servidor. Especifique el

usuario: Administrator y la clave de acceso que se le asignó (en este caso

braulio).

Espere algunos segundos.

Deberá mostrarse un mensaje emergente de confirmación que dice

«Bienvenido a ELONT»

Reinicie el sistema

Acceda con un usuario que haya sido creado con smbldap-useradd en el

directorio LDAP, o una cuenta de usuario que pertenezca a la OU=Domain

Admins

A4.2 Agregando Máquinas Linux

Para agregar las máquinas bajo sistemas operativos Linux, se hace uso de un script el cual

instala las librerías necesarias para éste cliente, y así poder realizar todos los comandos

necesarios para su correcta utilización.

Page 105: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

105

#!/bin/bash

#Actualizar y instalar los paquetes necesarios

apt-get update

apt-get install libnss-ldap libpam-ldap nscd

#Reconfigurar la libreria.

dpkg-reconfigure libnss-ldap

clear

#Enviar las modificaciones a los diferentes ficheros en pam.d

echo “account required pam_unix.so” > /etc/pam.d/common-account

echo “account sufficient pam_ldap.so” >> /etc/pam.d/common-account

echo “auth sufficient pam_unix.so” > /etc/pam.d/common-auth

echo “auth sufficient pam_ldap.so try_first_pass” >> /etc/pam.d/common-auth

echo “auth required pam_unix_auth.so” >> /etc/pam.d/common-auth

echo “password required pam_unix.so nullok obscure min=4 max=8 md5″ > /etc/pam.d/common-

password

echo “password sufficient pam_unix.so use_authtok md5 shadow” >> /etc/pam.d/common-

password

echo “password sufficient pam_ldap.so use_authtok” >> /etc/pam.d/common-password

echo ” session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 ” >

/etc/pam.d/common-session

echo ” session required pam_unix.so ” >> /etc/pam.d/common-session

echo ” session optional pam_ldap.so ” >> /etc/pam.d/common-session

# Modificar el Nsswitch.

echo “passwd: compat ldap” > /etc/nsswitch.conf

echo “group: compat ldap” >> /etc/nsswitch.conf

echo “shadow: compat ldap” >> /etc/nsswitch.conf

echo “hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4″>> /etc/nsswitch.conf

echo “networks: files” >> /etc/nsswitch.conf

echo “protocols: db files” >> /etc/nsswitch.conf

echo “services: db files” >> /etc/nsswitch.conf

echo “ethers: db files” >> /etc/nsswitch.conf

echo “rpc: db files” >> /etc/nsswitch.conf

echo “netgroup: nis” >> /etc/nsswitch.conf

echo “Ahora puede iniciar con su sesion de Dominio”

echo “Disfrutelo: Grupo Administracion”

exec /etc/init.d/nscd restart

Page 106: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

106

Dato Extra: Antes de hacer correr el script es necesario respaldar los archivos que contiene el

directorio pam.d, con la siguiente sentencia #cp -va /etc/pam.d/ pam.d.FILES. Además mediante

algún cliente LDAP como Apache Directory Studio cambiar el loginShell de cada usuario a

/bin/sh

Page 107: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

107

Anexo A5

Instalación y Configuración del Servidor de Correo

A5.1 Descripción General

Se realizará la instalación del servidor de correo como método de prueba, para poder

comprobar la utilización de los sistemas Web existentes en el Departamento de Electrónica, estos

son, el SGP (Sistema de Gestión de Prácticas) y el Sistema de Solicitud de Memos. Como se

explicó en el capítulo 6, se desea implementar una solución que sea transparente a las

aplicaciones Web de Electrónica ya realizadas, por ende el servidor OpenLDAP debe

acomodarse a lo que ya está hecho.

A5.2 Instalación y Configuración Dovecot

Instalación de Dovecot mediante ports:

La configuración al momento de instalar es la siguiente:

El siguiente es el archivo de configuración de dovecot, ubicado en /usr/local/etc/dovecot.conf

ubicado en vmfiles.tar.

Se copia el archivo imap de vmfiles.tar, en /etc/pam.d/imap, donde se agrega el modulo de

pam_ldap.so

#/usr/ports/mail/dovecot

#make install clean

[X] KQUEUE

[X] SSL SSL support

[X] MANAGESIEVE ManageSieve support

[ ] GSSAPI GSSAPI support

[ ] VPOPMAIL VPopMail support

[ ] BDB BerkleyDB support

[X] LDAP OpenLDAP support

[ ] PGSQL PostgreSQL support

[X] MYSQL MySQL support

[ ] SQLITE SQLite support

Page 108: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

108

Como se está usando local7 para dovecot, se debe configurar el servicio y además crear el

archivo dovecot.log.

Se agrega a syslog.conf la siguiente línea:

Se configura Dovecot para que arranque desde el inicio en #/etc/rc.conf

Se inicia el servicio:

Se procede a verificar si los puertos están abiertos:

touch /var/log/dovecot.log

local7 /var/log/dovecot.log

dovecot_enable="YES"

/usr/local/etc/rc.d/dovecot start

#sockstat -4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS

dovecot imap-login 49041 4 tcp4 192.168.49.2:143 *:*

dovecot imap-login 49016 4 tcp4 192.168.49.2:143 *:*

dovecot imap-login 49015 4 tcp4 192.168.49.2:143 *:*

root dovecot-au 49013 5 tcp4 192.168.49.2:27813

192.168.49.2:389

root dovecot-au 49012 8 tcp4 192.168.49.2:11954

192.168.49.2:389

root dovecot 49011 7 tcp4 192.168.49.2:143 *:*

root smbd 88886 9 tcp4 192.168.49.2:34457

192.168.49.2:389

root smbd 88880 9 tcp4 192.168.49.2:34457

192.168.49.2:389

root nmbd 88873 9 udp4 192.168.49.2:137 *:*

root nmbd 88873 10 udp4 192.168.49.2:138 *:*

ldap slapd 88590 7 tcp4 192.168.49.2:389 *:*

ldap slapd 88590 11 tcp4 192.168.49.2:389

192.168.49.2:34457

ldap slapd 88590 16 tcp4 192.168.49.2:389

192.168.49.2:11954

ldap slapd 88590 19 tcp4 192.168.49.2:389

192.168.49.2:27813

ldap slapd 88590 24 tcp4 192.168.49.2:389

192.168.49.2:46517

Page 109: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

109

Se procederá a probar la autenticación de usuario. Ya teniéndolos creados mediante OpenLDAP,

Dovecot puede acceder al directorio de cada uno de ellos. Se verifica que los permisos estén

correctamente asignados.

Se procede a revisar el directorio del usuario donde se crea la carpeta Maildir.

telnet 192.168.220.143 143

Trying 192.168.220.143...

Connected to mail.elo.utfsm.cl.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID

ENABLE AUTH=PLAIN AUTH=LOGIN] OK.

*Se procede a autenticarse con un usuario existente*

a login alara alara //usuario:alara, password:****

a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID

ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND

UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1

CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH

LIST-STATUS] Logged in

b select inbox

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)

* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)]

Flags permitted.

* 0 EXISTS

* 0 RECENT

* OK [UIDVALIDITY 1272323541] UIDs valid

* OK [UIDNEXT 1] Predicted next UID

* OK [HIGHESTMODSEQ 1] Highest

b OK [READ-WRITE] Select completed.

Ctrl+]

smb-server01# cd /usr/home/alara

smb-server01# ll

total 2

drwx------ 5 test2 Domain Users 512 Apr 26 23:12 Maildir

smb-server01# cd Maildir/

smb-server01# ll

total 12

drwx------ 2 test2 Domain Users 512 Apr 26 23:12 cur

-rw------- 1 test2 Domain Users 17 Apr 26 23:12 dovecot-uidlist

-rw------- 1 test2 Domain Users 8 Apr 26 23:12 dovecot-uidvalidity

-rw------- 1 test2 Domain Users 0 Apr 26 23:12 dovecot-

uidvalidity.4bd61dd5

-rw------- 1 test2 Domain Users 156 Apr 26 23:12 dovecot.index.log

drwx------ 2 test2 Domain Users 512 Apr 26 23:12 new

drwx------ 2 test2 Domain Users 512 Apr 26 23:12 tmp

Page 110: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

110

A5.3 Instalación y Configuración Postfix

Instalación de Postfix mediante ports:

La configuración al momento de instalar es la siguiente:

Copiar el archivo de main.cf de vmfiles.tar en /etc/postfix/main.cf, con las configuraciones del

servidor, donde se cambiaran los nombres del servidor y la red en la que se está trabajando.

Crear el archivo en la ruta indicada:

Creación de base de datos tipo bdb:

Agregar a Postfix para arrancarlo al inicio (tiene que ser antes que Dovecot):

Se inicia la aplicación:

#/usr/ports/mail/postfix

#make install clean

[X] PCRE Perl Compatible Regular Expressions

[X] TLS Enable SSL and TLS support

[X] MYSQL MySQL maps (choose version with WITH_MYSQL_VER)

[X] NIS NIS maps lookups

[X] VDA VDA (Virtual Delivery Agent 32Bit)

[X] INST_BASE Install into /usr and /etc/postfix

touch /etc/aliases

#/usr/sbin/postmap hash:/etc/aliases

postfix_enable="YES"

/etc/rc.d/postfix start

Page 111: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

111

Finalmente se verifica si los puertos han quedado habilitados:

#sockstat -4

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS

dovecot imap-login 17451 4 tcp4 192.168.220.143:143 *:*

postfix qmgr 1870 8 tcp4 192.168.220.143:26455 192.168.220.143:389

postfix pickup 1869 8 tcp4 192.168.220.143:43595 192.168.220.143:389

root master 1858 12 tcp4 192.168.220.143:25 *:*

root sshd 56266 3 tcp4 192.168.220.143:4576 189.220.35.217:1938

root sshd 56266 4 tcp4 192.168.220.143:63718 192.168.220.143:389

dovecot imap-login 49554 4 tcp4 192.168.220.143:143 *:*

dovecot imap-login 49016 4 tcp4 192.168.220.143:143 *:*

root dovecot-au 49013 5 tcp4 192.168.220.143:56388 192.168.220.143:389

root dovecot-au 49012 8 tcp4 192.168.220.143:11954 192.168.220.143:389

root dovecot 49011 7 tcp4 192.168.220.143:143 *:*

root smbd 88886 9 tcp4 192.168.220.143:34457 192.168.220.143:389

root smbd 88880 9 tcp4 192.168.220.143:34457 192.168.220.143:389

root nmbd 88873 9 udp4 192.168.220.143:137 *:*

root nmbd 88873 10 udp4 192.168.220.143:138 *:*

ldap slapd 88590 7 tcp4 192.168.220.143:389 *:*

ldap slapd 88590 11 tcp4 192.168.220.143:389 192.168.220.143:34457

ldap slapd 88590 16 tcp4 192.168.220.143:389 192.168.220.143:11954

ldap slapd 88590 20 tcp4 192.168.220.143:389 192.168.220.143:63718

ldap slapd 88590 24 tcp4 192.168.220.143:389 192.168.220.143:43595

ldap slapd 88590 28 tcp4 192.168.220.143:389 192.168.220.143:26455

ldap slapd 88590 29 tcp4 192.168.220.143:389 192.168.220.143:56388

Page 112: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

112

Anexo A6

Códigos Fuentes de Sitios Web de Autenticación

A6.1 Descripción General

El presente anexo describe los códigos fuentes utilizados para las pruebas de integración

entre el servidor de autenticación OpenLDAP y un servidor Web determinado. Se mostrarán

cada uno de los casos de pruebas descritos en el capítulo 6. Antes de comenzar, el servidor Web,

que para este caso está en Ubuntu 10.10 debe tener los siguientes paquetes instalados:

LAMP : Incluye PHP5, MySQL, Apache2.

LDAP-utils : Cliente LDAP, que permite utilizar los comandos de conexión y utilización del

servidor OpenLDAP.

PHP5-LDAP : Soporte de LDAP para el desarrollo de aplicaciones en PHP, necesario para los

códigos fuentes que accedan al servidor OpenLDAP.

A6.2 Códigos Fuentes

El siguiente código muestra el sitio de autenticación en HTML, que representa la vista

que tendrá el usuario al momento de autenticarse.

<html>

<table>

<tr><td></td></tr>

</table>

<center><br><br><br><br>

<table cellspacing="0" cellpadding="0">

<tr><td colspan="2" align="center" class="texto_items">

<div>

Sitio de Autenticación LDAP

<div class="text_mat">por bvasquez</div>

</div>

</td>

<td width="10"></td>

<td width="1" bgcolor="#CCCCCC"></td>

<td width="10"></td>

<td>

<table>

<form action="verifica.php?accion=verificacion" method="POST">

<tr><td class="texto_items">Usuario</td><td><input class="texto_inputs"

type="text" name="usuario" size="20" class="imputbox"></td><tr>

<tr><td class="texto_items">Clave</td><td><input class="texto_inputs"

type="password" name="clave" size="20" class="imputbox"></td>

</tr>

Page 113: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

113

El siguiente cuadro muestra el código fuente en PHP utilizado para la autenticación en el

servidor OpenLDAP. Su nombre es verifica.php, al cual se le pasa por el método POST el

nombre de usuario y contraseña.

<tr><td colspan="2" align="center">

<div class="text_error"><?echo $error_LDAP;?></div>

<input name="submit" type="submit" value=" Entrar " class="botones">

</td>

</tr>

</table>

</td></tr>

</table>

<br>

<div class="text_mat"><font color=666666>OpenLDAP | Autenticacion en PHP

+ LDAP | Pruebas en Red ELO</font>

</div>

</html>

<?php

// variables de autenticacion y LDAP

$ldap['user'] = $_POST["usuario"];

$ldap['pass'] = $_POST["clave"];

$ldap['host'] = '192.168.220.143'; // nombre del host o

servidor

$ldap['port'] = 389; // puerto del LDAP en el servidor

$ldap['dn'] =

'uid='.$ldap['user'].',ou=People,dc=elo,dc=utfsm,dc=cl'; // modificar

respecto a los valores del LDAP

$ldap['base'] = ' ';

// conexion a ldap

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

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

// match de usuario y password

$ldap['bind'] = ldap_bind( $ldap['conn'], $ldap['dn'], $ldap['pass'] );

if ($ldap['bind']){

session_start();

session_cache_limiter('nocache,private');

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

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

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

$pag=$_SERVER['PHP_SELF'];

url=asegurada.php\"></head>";

echo "Estas autenticado como ";

echo $ldap['user'] ;

}else{

echo "Usuario o contraseña Incorrecta";

exit();

}

?>

Page 114: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

114

El código fuente presentado a continuación, representa una conexión a un servidor de

correos que utiliza el protocolo IMAP, y éste luego se autentica contra OpenLDAP como se

describió en el Anexo A5. La idea de éste es representar lo que ocurre en el Sistema de Gestión

de Prácticas, que se autentica contra IMAP, y luego con NIS+.

Por efectos de seguridad, no se entregarán los códigos fuentes modificados en los Sitios de

Autenticación de Prácticas ni el de Solicitud de Memos del Departamento de Electrónica.

<?php

$login=$_POST["usuario"];

$password=@make_safe($_POST["clave"]);

$MAILSERVER="192.168.220.143";

if($enlace=@imap_open($MAILSERVER,$login,$password)){

$sesion = @session_start();

$cache = @session_cache_limiter('nocache,private');

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

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

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

$pag=$_SERVER['PHP_SELF'];

//echo "<head><meta http-equiv=\"refresh\" content=\"0;

url=asegurada.php\"></head>";

echo "Estas autenticado como ";

echo $login ;

}else{

echo "Usuario o Password Incorrecto";

exit();

}

?>

Page 115: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

115

Anexo A7

Códigos Fuentes para la Migración de Usuarios desde NIS+

a OpenLDAP

A7.1 Descripción General

En el capítulo 6 se describió el proceso de migración recomendado, para llevar las

cuentas que se encuentran bajo la aplicación NIS+ al servidor de directorio y autenticación

OpenLDAP. En este anexo se hace referencia a los scripts diseñados para tal tarea. Para ello se

utilizó un archivo base llamado cuentas.txt. Este último fue otorgado por el Administrador de

Red del Departamento de Electrónica, y contiene todas las cuentas de usuario con la siguiente

nomenclatura:

Username Password UID GID Nombre Homedir Shell

Bvasquez ******** 2488 210 Braulio

Vásquez

/home/tel2004/bvasquez /usr/local/bin/bash

Cabe mencionar que en el archivo original cada uno de los parámetros se encuentra

separados por el signo “:”.

A7.2 Código Fuente de Migración

El siguiente cuadro muestra el código fuente desarrollado en Perl, que toma desde el

archivo cuentas.txt, los valores de cada uno de los usuarios, y los traspasa al formato necesario,

para ser agregado mediante la herramienta smbldap-tools. Básicamente el script hace separación

mediante “:” y “/” almacenando cada uno de los valores en un arreglo.

#!/usr/bin/perl

#Abro Archivos de Lectura/Escritura de Usuarios

open (LECTURA, "<cuentas.txt")|| print "Lo siento el archivo no se

puede abrir";

open (FILE,">migracion.sh");

while ($linea = <LECTURA>){

@arr_linea = split(":",$linea);

@directorio=split("/",$arr_linea[5]);

print FILE "smbldap-useradd -a -m -d

/usr/home/$directorio[2]/$arr_linea[0] -S ".'"'."$arr_linea[4]".'"'."

$arr_linea[0]\n";

print FILE "echo nuevapass | smbldap-passwd -p $arr_linea[0]\n";

print FILE "smbldap-groupmod -m $arr_linea[0] $directorio[2]\n";

print FILE "echo USUARIO $arr_linea[0] OK!!\n\n";

}

close LECTURA;

close FILE;

Page 116: ESTUDIO E IMPLEMENTACIÓN DE NUEVO SISTEMA DE · PDF fileLos servicios de autenticación y directorio basados en el protocolo LDAP, ... (Secure- File Transfer Protocol), ... de los

116

Finalmente se tiene el archivo migración.sh que hace uso de las siguientes herramientas

de smbldap-tools:

Smbldap-useradd : Agrega usuarios al dominio LDAP/SAMBA.

Smbldap-passwd : Agrega password al usuario creado anteriormente.

Smbldap-groupmod : Agrega al usuario a un grupo o unidad organizacional determinada.

El cuadro anterior presenta los comandos para un solo usuario. Las opciones usadas son

las siguientes:

Smbldap-useradd: -a Agrega al usuario a la cuenta Windows.

-m Crea el directorio home del usuario.

-d Establece la ruta del directorio home.

-S Establece el nombre del usuario.

Smbldap-passwd: -p Agrega la contraseña en background.

Smbldap-groupmod: -m Agrega al usuario en el grupo determinado.

#!/usr/local/bin/bash

smbldap-useradd -a -m -d /usr/home/alm97/klos -S "Yerko Alejandro

Jaramillo Vega" klos

echo nuevapass | smbldap-passwd -p klos

smbldap-groupmod -m klos alm97

echo USUARIO klos OK!!