universidad de la habana - DSpace@UCLV

Transcripción

universidad de la habana - DSpace@UCLV
Facultad de Ingeniería Eléctrica
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
Propuesta de Servicio de Directorio Activo en
GNU/Linux mediante Samba4
Autor: Carlos Miguel Bustillo Rodríguez
Tutor: Ing. Roberto Hiribarne Guedes
Santa Clara
2012
"Año 54 de la Revolución"
Facultad de Ingeniería Eléctrica
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
Propuesta de Servicio de Directorio Activo en
GNU/Linux mediante Samba4
Autor: Carlos Miguel Bustillo Rodríguez
Email: [email protected]
Tutor: Ing. Roberto Hiribarne Guedes
Profesor, Dpto. de Telecomunicaciones y Electrónica
Email: [email protected]
Santa Clara
2012
"Año 54 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central
“Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad
de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea
utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial
como total y que además no podrá ser presentado en eventos, ni publicados sin autorización
de la Universidad.
Firma del Autor
Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de
la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temática señalada.
Firma del Autor
Firma del Jefe de Departamento
de Ing. Telecomunicaciones y
Electrónica
Firma del Responsable de
Información Científico-Técnica
i
PENSAMIENTO
“El genio es un uno por ciento de inspiración, y un noventa y
nueve por ciento de transpiración.”
Thomas Alva Edison
Inventor estadounidense.
ii
AGRADECIMIENTOS
Mis agradecimientos a:
A Dios por inspirarme en los momentos oscuros.
A mi Madre, a Elizabeth y a Teresa por su ayuda en la revisión de este trabajo.
A mi antiguo Tutor y amigo Ramón Torres, que me enseñó a dar los primeros pasos
en el mundo de Linux y las Redes de Computadoras.
A mi tutor Roberto Hiribarne, por su constancia y dedicación.
A mis compañeros de trabajo en el DIC, por su apoyo incondicional.
A los trabajadores del Joven Club de Ranchuelo, gracias a ellos puse en práctica
muchos de mis “experimentos”.
A la dirección provincial de CADECA, en especial a Rodelsi, pues gracias a su
gestión fue posible aplicar el trabajo en un entorno real.
Al equipo de desarrollo de Samba (Samba Team) en especial a Andrew Bartlett y
Amitay Issacs ya que sin ellos no hubiera sido posible la realización de este trabajo.
Al Movimiento del Software Libre, por sus aportes en la sociedad.
A todos aquellos a los que de una forma u otra participaron en la realización de este
trabajo.
iii
DEDICATORIA
A Dios por ser el creador de todo.
A mis padres, por darme la vida.
A mi abuela, que siempre está al tanto de mí.
A mis hermanos por estar siempre a mi lado.
A mi querida y amada esposa,Elizabeth, por ser mi apoyo y guía.
A mi familia, por su apoyo y preocupación.
A mi tutor Roberto Hiribarne, por su esmero y dedicación.
A mi amigo Leopoldo Cruz, por ser mi tutor en Electrónica.
A mis amigos Luis Armando, Yasmany, Humberto, Reinier y Rafael.
A mis compañeros de clases, que siempre estuvieron cuando los necesité.
iv
TAREA TÉCNICA
1. La realización de un estudio de las principales variantes de controladores de
dominio basados en GNU/Linux.
2. El análisis de la infraestructura que posee la Universidad para aplicar la nueva
implementación.
3. La instalación, configuración y administración de los controladores de dominio
basados en Samba4.
4. La sincronización entre Samba4 y Microsoft Active Directory, y viceversa.
5. La configuración de los clientes contra Samba4.
6. La evaluación de la efectividad de la propuesta de la implementación de un dominio
basado en Samba4.
Firma del Autor
Firma del Tutor
v
RESUMEN
Debido a la política trazada en el país de migración hacia plataformas de Software Libre
surgió la necesidad de encontrar una propuesta que permita sustituir los actuales
controladores de dominio basados en Windows Server. Se procedió a un estudio de las
principales implementaciones existentes de servicios de directorios para entornos
empresariales destacándose por sus prestaciones y nivel de compatibilidad, Samba4. Para
facilitar el proceso de migración se propuso la metodología de instalación y administración
de un controlador de dominio basado en dicha implementación. Se montaron dos escenarios
de pruebas para comprobar su funcionamiento, la replicación de información entre
Windows y Samba4, y la unión al dominio de los clientes con el sistema operativo de
Microsoft o distribuciones GNU/Linux. A partir del primer escenario se comprobó la
estabilidad, seguridad y compatibilidad con cualquier tipo de sistema operativo cliente en
un dominio basado completamente en Samba4. El segundo escenario se dedicó al estudio
de la efectividad del proceso de replicación entre ambas tecnologías, con resultados
satisfactorios. La investigación demostró ser la alternativa libre al Directorio Activo de
Microsoft, entre otros aspectos, por no requerir licencias de uso, lo que significa un ahorro
en la economía del país.
vi
TABLA DE CONTENIDOS
PENSAMIENTO .....................................................................................................................i
AGRADECIMIENTOS ......................................................................................................... ii
DEDICATORIA ................................................................................................................... iii
TAREA TÉCNICA ................................................................................................................iv
RESUMEN ............................................................................................................................. v
INTRODUCCIÓN .................................................................................................................. 1
Organización del informe ................................................................................................... 4
CAPÍTULO 1.
SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL... 5
1.1
Servicio de Directorio .............................................................................................. 5
1.2
Implementaciones de Servicio de Directorio Empresarial ....................................... 6
1.3
Directorio Activo de Microsoft ................................................................................ 9
1.3.1
Estructura ........................................................................................................ 11
1.3.2
Funciones ........................................................................................................ 15
1.3.3
Tipos de Servidores ........................................................................................ 15
1.3.4
Funcionamiento .............................................................................................. 17
1.3.5
Principales protocolos ..................................................................................... 19
1.3.6
Características ................................................................................................. 22
1.4
Directorio Activo de Samba ................................................................................... 23
1.4.1
Estructura ........................................................................................................ 24
1.4.2
Funciones ........................................................................................................ 24
vii
1.4.3
Tipos de Servidores ........................................................................................ 24
1.4.4
Funcionamiento .............................................................................................. 24
1.4.5
Principales protocolos ..................................................................................... 26
1.4.6
Características ................................................................................................. 27
1.5
Conclusiones .......................................................................................................... 28
CAPÍTULO 2.
METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE
SAMBA4
29
2.1
Samba4 Active Directory ....................................................................................... 29
2.1.1
2.2
Requerimientos ............................................................................................... 31
Entorno de trabajo .................................................................................................. 31
2.2.1
Debian ............................................................................................................. 32
2.2.2
Ubuntu ............................................................................................................ 33
2.2.3
Elección de las distribuciones ......................................................................... 35
2.3
El proceso de migración ......................................................................................... 35
2.4
Instalación y configuración de Samba4 ................................................................. 38
2.5
Administración de los servidores ........................................................................... 42
2.5.1
Samba-tool ...................................................................................................... 42
2.5.2
Herramienta de administración remota de servidores (RSAT) ....................... 43
2.5.3
Consola de administración de Directivas de Grupo (GPMC)......................... 45
2.5.4
Administración del directorio LDAP .............................................................. 46
2.5.5
Apache Directory Studio ................................................................................ 46
2.6
Conclusiones .......................................................................................................... 47
CAPÍTULO 3.
ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
48
3.1
Instalación de un dominio basado en Samba4 ....................................................... 48
viii
3.2
Samba4 como controlador de dominio adicional ................................................... 52
3.3
Configuración de las estaciones de trabajo ............................................................ 57
3.3.1
Microsoft Windows ........................................................................................ 58
3.3.2
GNU/Linux ..................................................................................................... 59
3.4
Análisis económico ................................................................................................ 63
3.5
Conclusiones .......................................................................................................... 63
CONCLUSIONES ................................................................................................................ 65
RECOMENDACIONES ....................................................................................................... 66
REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 67
GLOSARIO .......................................................................................................................... 71
ANEXOS .............................................................................................................................. 75
Anexo I
Compilación del servidor DNS Bind9.8.1 .................................................. 75
Anexo II
Scritp de inicio (init script) para Samba4 .................................................... 76
Anexo III
Pasos para la instalación de Samba4 como DC de AD ............................... 78
Anexo IV
Pasos para unir Samba4 como DC adicional en dominio existente ............ 83
Anexo V
Aval ............................................................................................................. 86
INTRODUCCIÓN
1
INTRODUCCIÓN
Las empresas e instituciones modernas se encuentran ligadas a las redes de computadoras,
por lo que se maneja gran cantidad de información y se hace necesario tener control sobre
los usuarios y computadoras a través de un servicio que permita la centralización de los
recursos de software que componen la red. Es aquí donde los Servicios de Directorio
juegan un papel importante en el control y manejo de la información y equipos de red.
Las implementaciones de este tipo de tecnología son variadas y no todas poseen las mismas
funcionalidades. El gigante de la informática Microsoft Corporation, en el año 1999, con el
lanzamiento de Windows Server 2000, logró desplazar muchas de las soluciones existentes
con su producto insignia conocido como Active Directory (AD); éste significó un nuevo
concepto en los dominios de computadoras ya que permite manejar usuarios,
computadoras, aplicar directivas de seguridad, simplifica las tareas de administración,
implementa la autenticación centralizada, entre otras características. Entre las limitantes
que posee el sistema son el alto costo de las licencias y que es software privativo, por lo
que no se puede tener acceso al código del programa para chequear el uso de puertas
traseras y evitar el robo de información confidencial. En el caso de Cuba la mayoría de las
instituciones usan Active Directory sin pago de licencias, ya sea por cuestiones asociadas
con el bloqueo económico o financieras.
Desde el 2002, en el país se puso en marcha una estrategia para alcanzar la independencia
en el terreno del software, de esta forma se garantiza la seguridad informática y se
promueve el uso del Software Libre. Esta decisión se encuentra respaldada desde tres
enfoques diferentes:
Político:
 Representa la no utilización de productos informáticos que demanden la
autorización de sus propietarios (licencias) para su explotación. Es válido recordar
INTRODUCCIÓN
2
que, en el presente, Cuba se encuentra a merced de la empresa norteamericana
Microsoft, que tiene la capacidad legal de reclamarle que no utilice un sistema
operativo de su propiedad, basado en leyes de propiedad industrial por las cuales
también el país se rige, a pesar de que la empresa no desee venderle sus productos a
la isla.
 El Software Libre representa la alternativa para los países pobres, y es por
concepción, propiedad social, si se tiene en cuenta que una vez que comienza a
circular, rápidamente se encuentra disponible para todos los interesados sin costo
alguno o en su defecto a muy bajo costo.
 Es desarrollado de forma colectiva y cooperativa, tanto en su creación como en su
desarrollo cuantitativo y cualitativo, lo que muestra su carácter público y objetivo
de beneficiar a toda la comunidad.
Económico:
 Su utilización no implica gastos adicionales por concepto de cambio de plataforma
de software, por cuanto es operable en el mismo soporte de hardware con que
cuenta el país. La adquisición de cualquiera de sus distribuciones puede hacerse de
forma gratuita, descargándolas directamente de internet o en algunos casos a muy
bajos precios. Se garantiza su explotación con un mínimo de recursos, por cuanto no
hay que pagar absolutamente nada por su utilización (no requiere de licencia de uso,
las cuales son generalmente muy caras), distribución y/o modificación.
 El uso del Software Libre desarrollado con Estándares Abiertos, fortalece la
industria del software nacional, con un aumento y fortalecimiento de sus
capacidades. Facilita la reducción de la brecha social y tecnológica en el menor
tiempo y costo posibles. Su uso en la Institución Pública y en los servicios públicos,
permite la interoperabilidad de los sistemas de información del Estado, lo que
contribuye a dar respuestas rápidas y oportunas a los ciudadanos.
Tecnológico:
 Permite su adaptación a los contextos de aplicación, al contar con su código fuente,
lo cual garantiza un mayor por ciento de efectividad, además de la corrección de
errores de programación, la obtención de actualizaciones y nuevas versiones.
INTRODUCCIÓN
3
 Se fomenta la innovación tecnológica del país. Al disponer del código fuente de la
aplicación, se puede realizar el desarrollo de mejoras, en vez de encargarlas a
empresas de otros países que trabajan con sistemas de licencia propietaria. De este
modo, se contribuye a la formación de profesionales en nuevas tecnologías y al
desarrollo local bajo los planes estratégicos del país.
 Limita la introducción de código malicioso, espía o de control remoto; debido a que
el código es revisado por muchos usuarios que pueden detectar posibles puertas
traseras.
Entre las soluciones de Software Libre se encuentran los controladores de dominio basados
en Samba. Surgen como una alternativa al software privativo proporcionado por la
compañía Microsoft. En la actualidad existen dos proyectos: Samba3 y Samba4. El primero
actúa como Controlador Primario de Dominio (Primary Domain Controller, PDC) al estilo
de Microsoft Windows NT4, aceptable para instituciones medias. El segundo, se basa en
una implementación del Directorio Activo compatible con los protocolos de Microsoft
Windows 2000 Server y versiones superiores, permite además la sincronización entre
ambas plataformas. Este proyecto aún se encuentra en fase de desarrollo, aunque se ha
demostrado que esta última versión presenta un buen grado de madurez que ha permitido su
uso por parte de varias universidades, empresas e instituciones en el mundo. Los
desarrolladores de ambos proyectos de Samba llegaron al siguiente acuerdo: para tareas
relacionadas con AD, emplear Samba4 y para servicios de compartición de archivos e
impresión, utilizar Samba3, ya que posee la capacidad de unirse a un dominio como cliente.
La situación anterior da paso a la siguiente pregunta:
¿Cómo contribuir a la migración de los servicios de Microsoft a plataformas basadas en
GNU/Linux mediante Samba4 para las instituciones cubanas?
Por tanto es necesario tener en cuenta:
 ¿Cuáles son las soluciones actuales basadas en GNU/Linux para Directorios Activos?
 ¿Qué implementación es la que mejor se adapta a las necesidades de las instituciones
cubanas?
 ¿Es una solución económicamente viable y segura?
INTRODUCCIÓN
4
Por ello el objetivo general de este trabajo es: “Lograr la implementación eficiente de un
controlador de dominio basado en Samba4 para las redes de instituciones cubanas.”
Específicamente:
 Instalar, configurar y administrar un dominio basado en Samba4.
 Establecer la sincronización entre controladores de dominio de Windows y Samba4.
 Instalar y gestionar clientes en SO Windows y GNU/Linux en un dominio Samba4.
Organización del informe
El informe está estructurado de la siguiente forma: introducción, capitulario, conclusiones,
recomendaciones, referencias bibliográficas, glosario de términos y anexos. A continuación
se resume brevemente el contenido de los capítulos.
Capítulo 1: Servicios de Directorio de aplicación empresarial.
Se dedica a la caracterización de las tecnologías existentes para la integración con el
servicio de Directorio Activo de Microsoft y al estudio comparativo de las soluciones para
la migración a sistemas basados en GNU/Linux que se usan en la actualidad.
Capítulo 2: Metodología de instalación y administración de Samba4
Aborda el diseño y la metodología propuesta de integración y migración de los
controladores de dominio de Microsoft Windows a Samba4. Además se tratan las
herramientas de administración disponibles que existen para Samba4.
Capítulo 3: Escenarios prácticos de implementación de Samba4
Recoge los escenarios implementados y expresa los resultados de la validación mediante la
comparación con el servicio de Directorio Activo de Microsoft de la efectividad del mismo
y calidad.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
CAPÍTULO 1.
5
SERVICIOS DE DIRECTORIO DE APLICACIÓN
EMPRESARIAL
Muchos usuarios y aplicaciones comparten los recursos en grandes redes. Para permitir a
los usuarios y aplicaciones obtener acceso a estos recursos y a la información acerca de
ellos, se necesita una forma coherente de asignar nombres, describir, localizar, obtener
acceso, administrar y proteger la información de estos recursos. Un servicio de directorio se
encarga de realizar esta función.
El presente capítulo abordará qué es el Servicio de Directorio; las diferentes
implementaciones ofrecidas por Oracle, Apache Foundation Software, Novell, Microsoft,
Samba, entre otros. Se explicará de forma abreviada en qué se basa Microsoft Active
Directory; también se tratará su estructura, componentes, funcionamiento, principales
protocolos y características. Análogamente se detallará Samba4 Active Directory, ya que
pretende lograr una completa compatibilidad con la solución anterior, por lo que es la
idónea para llevar el proceso de migración. Finalmente se explica, de forma muy general,
cuál es la solución que se recomienda aplicar en los entornos empresariales cubanos.
1.1
Servicio de Directorio
Es una aplicación o un conjunto de aplicaciones, que almacena y organiza la información
sobre los usuarios de una red de ordenadores, recursos de red, y permite a los
administradores gestionar el acceso a los recursos sobre dicha red. Además, los servicios de
directorio actúan como una capa de abstracción entre los usuarios y los recursos
compartidos. (Carter, 2003)
Como base de datos, un servicio del directorio está altamente optimizado para lecturas y
proporciona alternativas avanzadas de búsqueda en los diferentes atributos que se puedan
asociar a los objetos de un directorio. Los datos que se almacenan en el directorio son
definidos por un esquema extensible y modificable. Los servicios de directorio utilizan un
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
6
modelo distribuido para almacenar su información y esa información generalmente está
replicada entre los servidores que forman el directorio.
Figura 1.1.1. Estructura de un Directorio.
La réplica y la distribución tienen significados muy distintos en el diseño y la gestión de un
servicio del directorio. La primera se utiliza para indicar que el mismo espacio de nombres
de un directorio (los mismos objetos) está copiado en otro servidor de directorio por
razones de redundancia y de rendimiento de procesamiento. El espacio de nombres
replicado es gobernado por la misma autoridad. La distribución indica los servidores de
directorios múltiples, es decir, considerar diversos espacios de nombre interconectados para
formar parte de un servicio de directorio distribuido. Cada espacio de nombres distintos
puede gobernarse por diversas autoridades.
1.2
Implementaciones de Servicio de Directorio Empresarial
Varias son las aplicaciones destinadas para estas funcionalidades, la gran mayoría se basan
en el estándar X.500, la base de LDAP (Lightweight Directory Access Protocol) y emplean
la capa TCP/IP. Entre las más comunes se encuentran:
Comerciales:
eDirectory: desarrollado por Novell, es un servicio de directorio que soporta múltiples
arquitecturas: Windows, NetWare, Linux y algunas distribuciones de Unix. Se ha utilizado
durante mucho tiempo para la administración de usuarios, gestión de configuraciones y
software. eDirectory se ha desarrollado como componente central en una gama más amplia
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
7
de productos para la gestión de identidad. Antes se conocía como Servicio de Directorio de
Novell (Novell Directory Service, NDS). (Novell, 2011)
Red Hat Directory Server: Red Hat lanzó un servicio del directorio, que adquirió de
Netscape Security Solutions de AOL, el cual funcionaba como producto comercial bajo Red
Hat Enterprise Linux. Es un servidor compatible con LDAP que centraliza la configuración
de la aplicación, los perfiles de usuarios, la información de grupos, las directivas y la
información para el control de acceso en un registro con base en la red. Simplifica la
gestión de usuarios al eliminar la redundancia de datos y automatizar su mantenimiento.
También mejora la seguridad, permitiendo a los administradores almacenar directivas e
información para el control de acceso en el directorio y así contar con una única fuente de
autenticación en toda la empresa o aplicaciones de extranet. (RedHat, 2012)
Microsoft Active Directory: desarrollado por Microsoft Corporation, se incluye en los
sistemas operativos Windows 2000 Server y versiones superiores. Su estructura jerárquica
permite mantener una serie de objetos relacionados con componentes de una red, como
usuarios, grupos de usuarios, permisos, asignación de recursos y directivas de acceso.
Permite a los administradores establecer directivas a nivel de empresa, desplegar programas
en muchos ordenadores y aplicar actualizaciones críticas a una organización entera. Un
Active Directory almacena información de una organización en una base de datos central,
organizada y accesible. (Microsoft, 2012a)
Open Directory: se incluye en las versiones de servidor de MAC OS X de Apple, integra
muchos protocolos estándares abiertos como LDAP y Kerberos así como soluciones
propietarias de directorio como Active Directory y eDirectory. Permite almacenar
información sobre las computadoras de los usuarios en la red, así como de los recursos de
red. (Apple, 2012)
Oracle Directory Server Enterprise Edition (ODSEE): conocido anteriormente como SUN
Directory Server Enterprise Edition. ODSEE ofrece un servicio de directorio central con
base de datos integrada, proxy de directorios, sincronización de Active Directory y una
consola de administración web. Puede sincronizarse con otros servidores de directorios por
medio de Oracle Directory Integration Platform. (Oracle, 2010)
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
8
No Comerciales (Free):
Apache Directory Server: es un proyecto de código abierto de Apache Software Fundation.
Está escrito completamente en Java; se encuentra disponible bajo la licencia Apache
Software License .Compatible con LDAPv3, también soporta otros protocolos como NTP y
Kerberos, pero básicamente es un servidor LDAP. Se puede ejecutar en MAC OS X, Linux
y Windows. Posee una herramienta de administración de directorio: Apache Directory
Studio; que puede ser utilizada para administrar el directorio LDAP de otras tecnologías.
(Apache, 2012)
389 Directory Server: conocido anteriormente como Fedora Directory Server es un
servidor LDAP desarrollado por Red Hat, como parte de la comunidad que mantiene el
Proyecto Fedora (Fedora Project). Es idéntico a Red Hat Directory Server, sólo que
renombrado. Es distribuido libremente bajo los términos de la GNU General Public
Licensing (GPL). Soporta la replicación Multimaster y la sincronización de los usuarios y
grupos de AD. No se encuentra disponible para los siguientes países: Cuba, Irán, Iraq,
Corea del Norte, Sudán y Siria. (Port389, 2012)
OpenDS: La nueva generación de servicio de directorio abierto, escrito totalmente en Java.
Está basado en los estándares LDAPv3 y DSMLv2 (Directory Service Markup Language).
En sus inicios fue un proyecto de Sun Microsystem, luego con la compra de Oracle de Sun
pasó a ser un proyecto de código abierto desarrollado por la comunidad. Está preparado
para trabajar con grandes cargas de información, para ser extensible, fácil de administrar y
monitorear. (Java.net, 2011)
OpenLDAP: es una implementación libre y de código abierto del protocolo Lightweight
Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada
bajo su propia licencia OpenLDAP Public License. LDAP es un protocolo de comunicación
independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software
OpenLDAP para el soporte LDAP. Este software también corre en plataformas BSD, AIX,
HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP,
Vista, Seven), y z/OS. (OpenLDAP, 2011)
Samba: es una implementación libre del protocolo de archivos compartidos de Microsoft
Windows (SMB/CIFS) para sistemas de tipo UNIX. Puede actuar como servidor o como
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
9
cliente en redes de Windows. A partir de la versión 3 permite validar usuarios mediante el
rol de Controlador Principal de Dominio y como miembro de dominio. En la versión 4
puede actuar como controlador de dominio de Active Directory. También es capaz de servir
colas de impresión, directorios compartidos y autentificar con su propio archivo de
usuarios. (Samba.org, 2012f)
1.3
Directorio Activo de Microsoft
Conocido como Active Directory o MS AD, es el servicio de directorio de la familia de
productos Microsoft Windows Server 2000 y versiones superiores; excepto las versiones
Web Edition que no soportan este rol. Se encarga de almacenar información sobre los
objetos que hay en la red y hace que esa información sea fácil de usar y acceder por los
administradores y usuarios. (Di'Lello, 2006, Honeycutt, 2003)
Figura 1.3.1. Directorio Activo.
Fue implementado por primera vez en 1999 con Microsoft Windows Server 2000, a medida
que se han liberado nuevas versiones de servidores, incorpora mayores funcionalidades.
Los servidores que ejecutan AD son denominados controladores de dominio (domain
controllers, DC). El resto de los equipos de la red pueden convertirse entonces en los
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
10
clientes de dicho servicio de directorio, por lo que reciben toda la información almacenada
en los controladores de dominio. Esta información incluye no sólo las cuentas de usuario,
grupo, equipo, etc., sino también los perfiles de usuario y equipo, directivas de seguridad,
servicios de red. El Directorio Activo se convierte así en la herramienta fundamental de
administración de toda la organización. (García and Barrena, 2007)
AD depende del correcto funcionamiento del sistema de nombres de dominios (Domain
Name System, DNS). A diferencia de los dominios de Windows NT que poseen una
estructura plana, los dominios están organizados en una estructura jerárquica. A través de
DNS, una jerarquía de dominio de AD (Figura 1.3.2) puede ser definida a lo largo de
internet o puede ser independiente y privada. (Stanek, 2003)
Figura 1.3.2. Jerarquía de dominio en Active Directory.
El Directorio Activo utiliza el servicio de DNS, para tres funciones principales (García and
Barrena, 2007): 1) Resolución de nombres: el DNS permite realizar la resolución de
nombres al convertir los nombres de host a direcciones IP; 2) Definición del espacio de
nombres: AD utiliza las convenciones de nomenclatura de DNS para asignar nombre a los
dominios y 3) Búsqueda de los componentes físicos de AD: para iniciar una sesión de red
y realizar consultas en el Directorio Activo, un equipo con Windows Server debe encontrar
primero un controlador de dominio o servidor de catálogo global para procesar la
autenticación de inicio de sesión o la consulta. La base de datos DNS almacena
información acerca de qué equipos realizan estas funciones para que se pueda atender la
solicitud adecuadamente. En concreto, esto se lleva a cabo mediante registros de recursos
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
11
SRV que especifican el servidor (o servidores) del dominio que proporcionan los servicios
de directorio correspondientes.
Active Directory es la solución óptima para cualquier empresa por el nivel de prestaciones y
funcionalidades que posee, así como la facilidad de administración. Tiene como limitantes
los altos costos de las licencias anuales y requiere de un servidor con mayores recursos de
hardware (Tabla 1.3.1).
Tabla 1.3.1. Requerimientos de Hardware para Windows Server 2008 R2. (Microsoft, 2010).
Procesador (64 bits)
Mínimo: 1.4 GHZ (Si se usa un sistema basado en
Itanium se necesita un procesador Intel Intanium 2)
Memoria RAM
Mínimo: 512 MB
Máximo: 32 GB (Windows Server 2008 R2
Standard)
Espacio en disco
Mínimo: 32 GB ó 2 TB (para las versiones
Enterprise, Datacenter y sistemas basados en
Itanium.)
1.3.1 Estructura
En AD la estructura lógica es independiente de la física; la primera permite organizar y
administrar usuarios, grupos y recursos de red. La segunda se emplea para optimizar el
tráfico de red; define cuándo y dónde se produce el tráfico de inicio de sesión (logon) y de
replicación.
Ello permite, por una parte, independizar la estructuración de dominios de la organización
de la topología de la(s) red(es) que interconectan los sistemas; y, por otra parte, permite
administrar la estructura física explícitamente cuando es necesario, de forma independiente
de la administración de los dominios. (García and Barrena, 2007)
Estructura Lógica
Active Directory ofrece un almacenamiento seguro para la información acerca de sus
objetos en su estructura lógica jerárquica (Figura 1.3.3), que consta de:
 Objetos: son los componentes básicos de la estructura lógica, representan a
usuarios, equipos e impresoras. Las clases de objetos son esquemas (schemas) o
plantillas (templates) de los tipos de objetos que se pueden crear en AD. Cada
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
12
objeto se define de forma única mediante la combinación de los valores de sus
atributos (definen los valores posibles que se pueden asociar a un objeto). Las clases
y los atributos de objetos se conocen en conjunto como el esquema de Active
Directory. Los objetos se definen de forma única mediante los valores asignados a
los atributos que contiene la clase de objeto. Puesto que se almacena la información
acerca de los objetos como valores de atributos, los usuarios y las aplicaciones
pueden encontrar fácilmente los objetos asociados con valores de atributos
específicos.
 Unidades Organizativas (OU): son objetos contenedores que se utilizan para
organizar otros objetos de modo que satisfagan los propósitos de administración. De
este modo se facilita la organización y administración de los objetos. También se
puede delegar autoridad para administrar una OU o anidarlas entre sí para
simplificar aún más los objetos. Las OU organizan los objetos dentro de un único
dominio.
 Dominios: constituyen las unidades básicas funcionales de la estructura de Active
Directory. Estos desempeñan tres funciones: 1) actúan como límite administrativo
para los objetos, 2) ayudan a administrar la seguridad de los recursos compartidos y
3) actúan como unidad de replicación de los objetos. Un dominio es una colección
de objetos definidos administrativamente que comparten: una base de datos de
directorio común, directivas de seguridad y relaciones de confianza (Trust) con
otros dominios. Es habitual ubicar objetos en un mismo dominio si se desea que
compartan una directiva de seguridad común o sean administrados por el mismo
administrador de sistemas. Los dominios se pueden emplear para administrar la
seguridad en recursos compartidos; las directivas de seguridad se crean en los
dominios y proporcionan una seguridad coherente en los recursos del dominio. Los
objetos de cada dominio se almacenan en la partición del dominio de la base de
datos de AD. Los equipos que se denominan DC contienen copias o replicados de la
partición del dominio, estos se actualizan automáticamente entre sí cuando efectúan
cambios, de modo que la información de replicado de cada partición del dominio
sea coherente.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
13
 Árboles de dominios (tree): son estructuras jerárquicas de dominios. Cuando un
segundo dominio se agrega a un árbol, se convierte en dominio secundario del
dominio raíz del árbol. El dominio al que se adjunta otro secundario se conoce
como dominio primario. Un dominio secundario puede a su vez tener su propio
subdominio. El nombre de un dominio secundario se combina con el de su primario
para conformar su propio nombre único DNS; de esta forma un árbol tiene un
espacio de nombres contiguos. En la mayor parte de las organizaciones es suficiente
utilizar un árbol simple, es aquel en el que cada dominio es secundario de un único
dominio raíz.
 Bosques (forest): están formados por uno o varios árboles. El primer dominio del
árbol se conoce como dominio raíz del bosque, el nombre de dicho dominio se usa
para hacer referencia al bosque. Un bosque contiene una instancia directa de Active
Directory, de forma predeterminada la información sólo se intercambia dentro de un
bosque; de esta forma el bosque es un límite secundario para toda la información.
Figura 1.3.3. Estructura Lógica de Active Directory.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
14
Estructura Física:
Sus elementos son los sitios y los controladores de dominio. Los DC se encargan de
realizar las funciones de replicación y almacenamiento. El elemento lógico de un dominio
es una unidad de replicación, el DC físico contiene la información que se va a replicar. Un
DC físico sólo se aplica a un dominio. Para garantizar la disponibilidad continua de Active
Directory, cada dominio debe tener más de un controlador de dominio.
Figura 1.3.4. Estructura Física de Active Directory.
Cada DC contiene varias particiones de Active Directory:
 Partición de Dominio: contiene replicados de todos los objetos de ese dominio. Se
replica únicamente en el resto de los DC del mismo dominio.
 Partición de Configuración: contiene la topología del bosque; es un registro de
todos los controladores de dominios y conexiones entre ellos en un bosque.
 Partición del Esquema: contiene el esquema de cada bosque; cada uno tiene un
esquema de modo que la definición de cada clase de objeto sea coherente. Se replica
en cada DC del bosque al igual que la Partición de Configuración.
 Partición de Aplicación Opcional: contiene objetos no relacionados con la
seguridad que son utilizados por una o varias aplicaciones. Se replica en
controladores de dominios específicos.
Un Sitio es un grupo de equipos con una conexión adecuada. Una vez establecidos los DC
se comunican con frecuencia; esta comunicación reduce la latencia (tiempo necesario para
que un cambio efectuado en un DC se replique en otros) dentro del sitio. Los sitios se crean
para optimizar el uso de ancho de banda entre controladores de dominios separados
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
15
físicamente y para controlar cuándo y dónde se produce el tráfico de inicio de sesión y de
replicación.
1.3.2 Funciones
Active Directory proporciona las siguientes funciones (Simmons, 2001):
 Centralizar el control de los recursos de red. Al centralizar el control de recursos
como servidores, archivos compartidos e impresoras, sólo los usuarios autorizados
pueden obtener acceso.
 Centralizar y descentralizar la administración de recursos. Los administradores
pueden administrar equipos clientes distribuidos, servicios de red y aplicaciones
desde una ubicación central mediante una interfaz de administración coherente o
pueden distribuir tareas administrativas mediante la delegación del control de los
recursos a otros administradores.
 Almacenar objetos de forma segura en una estructura lógica. AD almacena todos
los recursos como objetos en una estructura lógica, jerárquica y segura.
 Optimizar el tráfico de red. La estructura física de Active Directory permite utilizar
el ancho de banda de red de forma más efectiva. Por ejemplo, garantiza que, cuando
un usuario inicie una sesión en la red, la autoridad de autenticación más cercana a él
lo autentique, lo que reduce la cantidad de tráfico de red.
1.3.3 Tipos de Servidores
Los servidores se pueden clasificar como: 1) servidor miembro, 2) controlador de dominio
y 3) servidor independiente (standalone server). Este último no es parte del dominio y
posee su propia base de datos de usuarios, esto se debe a que los servidores standalone
resuelven sus propias peticiones de inicio de sesión. (Stanek, 2003)
Microsoft Corporation en su web oficial de soporte técnico TechNet (Microsoft, 2012d)
define:
Un servidor miembro, como un equipo que:
1. Ejecuta un sistema operativo de la familia Windows 2000 Server y versiones
superiores.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
16
2. Pertenece a un dominio.
3. No es un controlador de dominio.
Un servidor miembro no procesa inicios de sesión de cuentas, no participa en la replicación
de Active Directory ni almacena información de directivas de seguridad de dominio. Los
servidores miembros operan normalmente como uno de los siguientes tipos de servidores:
servidores de archivos, servidores de aplicaciones, servidores de bases de datos, servidores
Web, servidores de certificados, servidores de seguridad y servidores de acceso remoto.
Las siguientes características relacionadas con la seguridad son comunes a todos los
servidores miembros:
 Adoptan la configuración de Directiva de grupo definida para el sitio, dominio o
unidad organizativa.
 Control de acceso para los recursos disponibles en un servidor miembro.
 Los usuarios de servidores miembros tienen derechos de usuario asignados.
 Contienen una base de datos local de cuentas de seguridad, el Administrador de
cuentas de seguridad (SAM, Security Account Manager).
Un controlador de dominio, como un equipo que:
1. Ejecuta un sistema operativo de la familia Windows 2000 Server y versiones
superiores.
2. Utiliza Active Directory para almacenar una copia de lectura y escritura de la base
de datos del dominio, participa en la replicación Multimaster y autentica usuarios.
Los controladores de dominio almacenan datos del directorio y administran la
comunicación entre los usuarios y los dominios, como los procesos de inicio de sesión de
usuarios, la autenticación y las búsquedas de directorio. Además sincronizan los datos del
directorio utilizando replicación Multimaster, lo que garantiza la coherencia de la
información en el tiempo.
Active Directory admite la replicación Multimaster (Multimaster Replication) de los datos
del directorio entre todos los controladores del dominio en un dominio; no obstante, dicha
replicación no es adecuada para algunas replicaciones de datos del directorio; por lo que se
emplea Single Master Replication para evitar errores o conflictos durante la réplica, con
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
17
este método, solamente un DC determinado es el que puede realizar los cambios en el
Active Directory, por lo que no se realizan múltiples cambios simultáneos. En este caso, un
controlador de dominio, denominado Maestro de Operaciones (Master Operations),
procesará los datos. En un bosque de AD, hay al menos cinco funciones diferentes de
maestro de operaciones que se asignan a uno o varios controladores de dominio.
1.3.4 Funcionamiento
Los controladores de dominio de Windows 200x Server funcionan como iguales, o sea que
no hay un controlador de dominio primario. Debido a que se puede emplear cualquier DC
para realizar cambios en el Directorio Activo y la tolerancia a fallos es automáticamente
incorporada, lo que representa una excelente característica de gestión. Si un DC falla, no es
problema, ya que los demás y la red se mantienen operables. En las redes Windows NT, el
PDC se encarga de realizar los cambios en la base de datos y una vez realizado, los replica
hacia los Controladores de Dominio de Respaldo (Backup Domain Controller, BDC). En
las redes Windows 200x todos los controladores de dominio contiene una copia escribible
de la base de datos. A pasar que los DCs Windows 200x funcionan como iguales, algunos
poseen ciertos roles especializados asignados, debido que no todos pueden operar
correctamente en todos los DCs. (Simmons, 2001). Los siguientes puntos detallan estos
roles especializados:
 Servidor de Catálogo Global (Global Catalog Server): algunos controladores de
dominio poseen este rol por defecto (el primero que se instala), en dependencia de
la configuración de la red se pueden tener varios o cambiar ese rol hacia otro
servidor para equilibrar el tráfico de autenticación de inicio de sesión y consultas.
Estos contienen una réplica completa de todos los objetos del Directorio Activo en
su dominio y una réplica parcial de todos los objetos del AD de otros dominios que
están en el bosque. Se encargan de realizar las siguientes funciones: 1) permite que
un usuario busque información de directorio en todo el bosque, independiente de la
ubicación de los datos y 2) permite que un usuario inicie una sesión en la red
mediante el suministro de la información de pertenencia a Grupos Universales
(Universal Group) a un controlador de dominio cuando inicia un proceso de sesión.
(García and Barrena, 2007, Simmons, 2001)
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
18
 Operations Master Roles: (Flexible Single Master Operation Roles, FSMO) son
roles específicos del bosque (o del dominio) que son utilizados en las operaciones
del Single Master Replication. Sólo el DC que tiene asignado el rol es quien puede
realizar los cambios en el directorio. Cada DC responsable de un rol específico es
denominado Operation Master Rol, y este es almacenado en el Active Directory.
Los Operations Master Roles existen a nivel bosque o nivel dominio. Cada dominio
en el bosque tiene su propio PDC Emulator, RID Master e Infraestructure Master
(Di'Lello, 2006). Los controladores de dominio a los que se les asignan estas
funciones realizan operaciones que no pueden ocurrir simultáneamente en otros
controladores de dominio de la red. La propiedad de estas operaciones de maestro
único puede ser transferida a otros DC.
Todos los bosques de Active Directory deben tener controladores de dominio que cumplan
dos de las cinco funciones de operaciones de maestro único (Figura 1.3.5). Las funciones
(roles FSMO) para todo el bosque se encuentran resumidas en la Tabla 1.3.2.
Figura 1.3.5. Distribución de los roles FSMO.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
19
Tabla 1.3.2. Roles Flexible Single Master Operations (FSMO). (Simmons, 2001).
Rol FSMO
Función
Schema Master
Se encarga de las actualizaciones del esquema.
(Maestro de Esquema)
Domian Naming Master
(Maestro de Nombres de Dominio)
Relative Identifier Master (RID)
(Maestro de RID)
PDC Emulator
(Emulador PDC)
Infrastructure Master
(Maestro de Infraestructuras)
Controla las altas o las bajas de dominios en el
bosque. Sólo puede agregar dominios al bosque el
DC que posee este rol.
Vincula el RID a los objetos creados. Cuando un DC
genera un SID para una nueva cuenta de usuario,
grupo o computadora, los indicadores SID y RID son
usados. Cada dominio en el bosque tiene un RID
master.
Actúa como un PDC Windows NT para dar soporte a
los BDCs, los cuales se ejecutan en dominios NT, en
modo mixto.
Es el encargado de actualizar las referencias de cada
objeto dentro del dominio cuando sufre alguna
modificación.
1.3.5 Principales protocolos
A diferencia de su antecesor Windows NT 4.0, AD proporciona compatibilidad con un buen
número de protocolos; algunos son estándares de internet y otros son propietarios, ofrece
interfaces de programación de aplicaciones que facilitan la comunicación con otros
servicios de directorio. La base está creada por el Protocolo de Internet (Internet Protocol,
IP), así como por el Protocolo de Control de la Transmisión (Transmission Control
Protocol, TCP). Entre ellos se destacan:
SMB/CIFS
Common Internet File System (anteriormente conocido por Server Message Block, SMB) es
uno de los protocolos más importantes en las redes Windows, desarrollado por Microsoft
Corporation, ya que domina las conexiones hechas entre casi todos los clientes y
servidores. Este protocolo opera en la capa de aplicación del modelo de red. Es usado
principalmente para permitir el acceso a archivos compartidos, impresoras, puertos seriales
y diferentes conexiones entre nodos en la red. Emplea los puertos TCP 137, 139 y 445, y
los puertos UDP 137 y 138. (Microsoft, 2009)
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
20
LDAP
Lightweight Directory Access Protocol (RFC2251) se ha convertido en un estándar de
internet para el acceso a la información estructurada, en particular la información en el
formato de árbol de X.500. Es un protocolo a nivel de aplicación. LDAP también es
considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente)
a la que pueden realizarse consultas. Habitualmente, almacena la información de
autenticación (usuario y contraseña) y es utilizado para autenticarse aunque es posible
almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos
de la red, permisos, certificados, etc). A manera de síntesis, LDAP es un protocolo de
acceso unificado a un conjunto de información sobre una red. Está basado sobre TCP y
emplea el puerto TCP 389. (OpenLDAP, 2011)
CLDAP
Connectioneless LDAP es una variante de LDAP no orientada a la conexión. Está basada en
UDP y no emplea ningún tipo de autenticación, por lo que sólo soporta consultas.
Originalmente era un estándar de internet desarrollado para permitir las consultas sobre
UDP de LDAPv2. Microsoft implementó CLDAP pero no siguió las propuestas del
estándar, en cambio, crearon una versión de CLDAP basada en LDAPv3. La respuesta
CLDAP incluye información sobre los sitios, y los clientes que pueden utilizarlo, así como
información del paquete de temporización, para determinar cuál DC utilizar. (Bartlett,
2005)
DCE/RPC
Distributed Computing Environment / Remote Procedure Call es un protocolo para la
transmisión de funciones invocadas en una computadora distante. Es publicado libre de
cargo por Open Group. Sin embargo la complejidad de DCE/RPC no está en los
mecanismos de transporte o en las operaciones básicas, pero sí en los mecanismos de
seguridad propietarios y en la definición de las interfaces (Interface Definition Language,
IDL). Active Directory emplea su propia versión del estándar DCE/RPC conocido como
MSRPC, así como su IDL: midl. DCE/RPC utiliza como protocolo de transporte los puertos
TCP y UDP 135; también puede emplear SMB y SMB2. (Metzmacher, 2007)
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
21
Los dominios en Active Directory están basados en las siguientes interfaces RPC:
 SAMR: este protocolo provee funciones de administración para usuarios y grupos.
El nombre proviene de Security Account Manager (SAM), utilizado para garantizar
la compatibilidad con Windows NT4. (Microsoft, 2012i)
 NETLOGON: ofrece las funciones para la autenticación de usuarios y
computadoras dentro del dominio. Estas funciones son usadas además por otros
para la autenticación NTLMSSP. Esta interfaz permite descubrir y administrar las
relaciones de dominio entre los miembros de un dominio y los DCs. (Microsoft,
2012h)
 DRSUAPI: Directory Replication Service Update API provee funciones que son
usadas para la replicación de Active Directory. (Microsoft, 2012g)
KERBEROS
Es un protocolo de autenticación de red desarrollado por el Instituto Tecnológico de
Massachusetts (Massachusetts Institute of Technology, MIT) y estandarizado por la Internet
Engineering Task Force (IETF). El protocolo fue adoptado y extendido por Microsoft,
actualmente la versión que se emplea es Kerberos V (RFC4120). Es utilizado para la
autenticación de usuarios y máquinas en AD. Esta versión ha sido introducida a los
servicios de Windows mediante la capa SSPI. (Baptiste Marchand, 2004)
DNS
Domain Name System, (RFC1034, RFC1035) es un sistema de nomenclatura jerárquica
para computadoras, servicios o cualquier recurso conectado a internet o a una red privada.
Este sistema asocia información variada con nombres de dominios asignados a cada uno de
los participantes. Su función más importante es traducir (resolver) nombres inteligibles para
los humanos en identificadores binarios asociados con los equipos conectados a la red, con
el propósito de poder localizar y direccionarlos mundialmente. Active Directory suministra
y usa una gran cantidad de información DNS, particularmente basada en las entradas SRV.
Bajo el subdominio _msdcs Microsoft almacena información sobre cada DC en la red y ha
ideado su propio esquema para actualizaciones seguras de DNS basado en Kerberos; esto
permite a las computadoras actualizar sus propias entradas en el servidor DNS. Es un
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
22
protocolo de la capa de aplicación del modelo de red; emplea los puertos TCP y UDP 53.
(Microsoft, 2012c)
SNTP
Simple Network Time Protocol (RFC1361) es una versión simplificada del Network Time
Protocol (RFC5905). Es usado en AD para mantener la exactitud del tiempo. Cada DC
posee su propio servidor de tiempo que puede sincronizarse con otro de mayor exactitud
(menor estrato). Microsoft firma las respuestas de tiempo mediante el esquema de
seguridad schannel. Esto permite una corrección (sincronización) del tiempo necesario para
el correcto funcionamiento de Kerberos en los clientes. SNTP es un protocolo de la capa de
aplicación del modelo de red; utiliza el puerto TCP 123. (Microsoft, 2012f)
1.3.6 Características
A continuación se exponen algunas características que hacen de Active Directory una
solución viable y robusta:
Actualizaciones Dinámicas de DNS (DNS Dynamic Updates). El protocolo de
Actualizaciones Dinámicas (RFC2136) permite a los servidores DNS actualizar
dinámicamente sus entradas cuando una dirección DNS o IP cambia (es el caso de la
asignación de direcciones IP mediante DHCP). Esta característica no es obligatoria para el
funcionamiento de Active Directory pero hace más cómodo el proceso de administración.
Mejoras en la replicación. La replicación de valores vinculados posibilita replicar
distintos miembros del grupo en la red, en lugar de tratar todos los miembros del grupo
como una sola unidad de replicación.
Particiones de directorio de aplicaciones. El ámbito de replicación se puede configurar
con datos específicos de aplicaciones entre controladores de dominio. Por ejemplo, puede
controlar el ámbito de replicación de los datos de la zona del sistema de nombres de
dominio almacenados en Active Directory, para que sólo determinados controladores de
dominio del bosque participen en la replicación de zonas DNS.
Función de arrastrar y colocar. Permite mover los objetos de Active Directory de
contenedor en contenedor, mediante la función de arrastrar y colocar en la ubicación
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
23
deseada de la jerarquía de dominios. También puede agregar objetos a las listas de
pertenencia a grupos con la función de arrastrar uno o más objetos, incluidos otros objetos
de grupo, al grupo de destino.
Servicios Integrados. No se necesitan aplicaciones de terceros, los servicios necesarios
para el funcionamiento del rol Active Directory, así como el servidor DNS y el de tiempo
vienen incorporados en el sistema. Aunque se puede usar otro servidor DNS, por ejemplo
Bind9.
1.4
Directorio Activo de Samba
Samba es una suite de software de código abierto de servicios compatibles con sistemas
UNIX y derivados que permite a Microsoft Windows y otros clientes de escritorio acceder a
los sistemas de archivos e impresoras a través del protocolo SMB/CIFS de Microsoft.
Desde su creación en 1992, Samba ha crecido sin parar, se le han incorporado más
funcionalidades, y en numerosas ocasiones se ha comparado con el propio software de
Microsoft, en cuanto a seguridad y rendimiento. Las últimas versiones de Samba ofrecen
gran parte de la funcionalidad proporcionada por el sistema de dominio de Windows NT.
Originalmente utilizado principalmente dentro de las instituciones académicas y de
investigación, Samba ha crecido en popularidad y en la actualidad, cuenta con gran
cantidad de programadores voluntarios, posee una conferencia anual: “Samba eXPerience”
(Samba.org, 2012e), y el apoyo de grandes corporaciones como IBM, Novell o Silicon
Graphics. Samba está disponible, incluyendo el código fuente, para la mayoría de las
plataformas GNU/Linux y UNIX bajo los acuerdos de la GPL. (DeRoest, 2000, Chico,
2011)
El proyecto Samba4 comenzó como un esfuerzo por reescribir Samba de forma tal que
permita mayores funcionalidades, esto también incluía una reescritura de la librería
DCE/RPC. Entre las funcionalidades se encuentra la posibilidad de actuar como
controlador de dominio de Active Directory y unirse a un dominio existente como DC
adicional. La primera característica superior a Samba3.6.x es que soporta los protocolos de
inicio de sesión de AD usado por Windows 2000 y versiones superiores.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
24
1.4.1 Estructura
Posee la estructura mencionada en el apartado 1.3.1, puesto que se basa en un servicio de
Directorio Activo y emula lo mayor posible la tecnología de Microsoft.
1.4.2 Funciones
Samba4 pretende ser una réplica de Microsoft Active Directory, por lo que realiza las
funciones mencionadas en el apartado 1.3.2.
1.4.3 Tipos de Servidores
Hasta la fecha de realización de este trabajo Samba4 soporta los siguientes tipos de
servidores:
1) Controlador de Dominio (DC), rol predeterminado.
2) Servidor Miembro, permite también unirse como Read Only Domain Controller
(RODC) a un controlador de dominio de Windows, aunque esta funcionalidad se
encuentra en desarrollo se puede implementar.
3) Miembro de un dominio, se recomienda utilizar Samba3, ya que el servicio winbind
en esta versión presta mayores funcionalidades que el de la versión 4, actualmente
en desarrollo; no obstante se le ha incorporado mejoras y nuevas funcionalidades.
4) Servidor Standalone.
Las funciones de estos servidores son idénticas a las del AD de Microsoft, las cuales se
explican con detalles en el apartado 1.3.3
Los desarrolladores de Samba recomiendan utilizar la versión 3 como servidor de archivos
y la versión 4 como DC de AD. Muchas de las funcionalidades disponibles en la primera no
están en Samba4, ya que se encuentra en fase de desarrollo.
1.4.4 Funcionamiento
Sigue la misma filosofía que se definió en el apartado 1.3.4. A continuación se describe de
forma abreviada cómo fue que se realizó la elección de la infraestructura de Samba4.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
25
En el desarrollo de la infraestructura de Samba4, se decidió implementar las llamadas de la
forma que lo hace Microsoft Windows 2003 Server y superiores. La decisión está basada en
la siguiente política: emular las últimas versiones de los productos de Microsoft siempre
que sea posible; debido a que otros vendedores de software prueban los últimos
lanzamientos de los productos de Microsoft y estos lanzamientos son los únicos que se
pueden referenciar, por lo que se deben emular detenidamente. (Bartlett, 2005)
Para reducir la carga tecnológica que representa emplear OpenLDAP como servidor LDAP,
se creó el servidor de directorio LDB que es incorporado con un servicio interno en
Samba4. LDB se define como LDAP like Database e incluye una capa de abstracción que
permite ser un backend sobre LDAP o sobre archivos de base de datos, en formato TDB.
LDB está disponible como una librería compartida y está licenciada bajo la LGPL. (Sorce,
2006)
Como servidor de autenticación de red se empleó la implementación de Kerberos: Heimdal,
realizada fuera de los Estados Unidos de América y desarrollada independientemente de la
distribución creada por el MIT. Su código fuente ha sido bien probado y es bastante fácil de
modificar. La presencia de un backend HDB (no presente la distribución del MIT) ha sido
uno de los puntos por lo que se eligió Heimdal, además los desarrolladores de Samba le han
agregado mejoras. Es incorporado como un servicio interno en Samba4. (Bartlett and
Davis, 2009)
Se creó el servicio cldap para manejar el protocolo CLDAP, escrito en parte por IBM.
Microsoft posee su propia Interfaz de Definición de Lenguaje (midl) que es propietaria por
lo que los desarrolladores de Samba4 crearon una basada en Perl conocida como PIDL ya
que es un compilador de Perl de la IDL.
El servidor DNS que se usa por el momento es Bind9, ya que soporta actualizaciones
dinámicas (se recomienda emplear la versión 9.8.x ó 9.9.x), y mediante un complemento
conocido como DLZ (Dynamically Loadable Zones) se puede utilizar como backend DNS
el servidor LDAP (opción predeterminada actualmente en la compilación de Samba4), esto
posibilita realizar la replicación de las entradas DNS de un DC a otro y consume menos
memoria que los tradicionales archivos de configuración (flat files) del Bind. Se encuentra
en desarrollo un servidor DNS para incorporarlo con Samba4 como es el caso de LDB y
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
26
Heimdal, pero falta desarrollar las actualizaciones dinámicas y realizar pruebas de
rendimiento.
Para la sincronización de tiempo entre los clientes y el servidor, fundamental para el
funcionamiento del protocolo de autenticación Heimdal Kerberos, se debe emplear el
servicio (ntpd) que provee el paquete ntp. El servicio actúa como servidor de tiempo en el
controlador de dominio Samba4, permite la sincronización con otros servidores y se puede
configurar para que utilice el propio reloj de la computadora, en caso de que falle la
conexión con otros servidores.
1.4.5 Principales protocolos
Emplea los mismos protocolos de Active Directory, que en caso de ser propietarios sufren
algunas modificaciones, pero aseguran la compatibilidad para la replicación con los DC de
Windows, como se muestra en la figura:
Figura 1.4.1. Protocolos de red implicados en la replicación. (Metzmacher, 2007).
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
27
1.4.6 Características
Soporte del protocolo DCE/RPC sobre TCP. El soporte para el protocolo CIFS es un
elemento característico en Samba, en la versión 4 es ampliado: Samba4 se mueve más allá
de CIFS para exponer DCE/RPC sobre transportes que no usan CIFS, por ejemplo
directamente en TCP/IP. (Bartlett, 2005)
A continuación se detallan algunas características (Samba.org, 2012b) incorporadas en
versiones recientes:
 Samba4 beta soporta el entorno de inicio de sesión de Active Directory usado en
Windows 2000 y versiones superiores, por lo que se puede montar un dominio
completo y realizar las operaciones de inicio de sesión de esos clientes; además de
unirse a un dominio existente como un DC adicional.
 La implementación del controlador de dominio incluye su propio servidor LDAP y
Centro de Distribución de Llaves (Key Distribution Center, KDC) de Kerberos; así
como los servicios de inicio de sesión sobre CIFS que provee Samba3.
 Samba4 beta contiene dos servidores de archivos diferentes: 1) NTVFS usado en las
versiones alpha anteriores de Samba4, y se ajusta para que coincida con los
requisitos de un controlador de dominio de AD, y 2) S3FS que emplea el servicio
smbd usado en Samba3.
 Para proporcionar marcas de tiempo precisas a los clientes de Windows, se integra
con el proyecto de NTP, con lo que se logra ofrecer respuestas seguras de paquetes
de tiempo.
 La administración se puede realizar por consola a través de las herramientas sambatool basadas en Python o mediante las herramientas remotas de administración de
Windows (Windows Remote Server Administration Tools, RAST).
 Soporta la gestión de Directivas de Grupos, lo que hace el proceso de
administración más fácil.
CAPÍTULO 1. SERVICIOS DE DIRECTORIO DE APLICACIÓN EMPRESARIAL
1.5
28
Conclusiones
El servicio de directorio hoy en día desempeña un papel fundamental en las empresas por el
nivel de información y recursos que se puede manejar a través de él. Microsoft Active
Directory, líder en este ámbito se destaca por las facilidades de instalación y administración
que brinda; donde la única limitante para algunos son los altos costos de las licencias.
Como alternativas surgen diferentes aplicaciones de código abierto, siendo Samba4 la
mejor elección para la migración en las instituciones cubanas.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
CAPÍTULO 2.
29
METODOLOGÍA DE INSTALACIÓN Y
ADMINISTRACIÓN DE SAMBA4
Todo proceso de migración requiere del análisis de los elementos implicados y de una
metodología que sea capaz de responder a los requerimientos de la institución en que se va
aplicar. Se debe elegir cuidadosamente los programas libres que remplazarán a los
privativos sin afectar el funcionamiento de los servicios de red, además debe ser
transparente para los usuarios.
En el presente capítulo se realiza un recuento sobre la versión 4 de Samba, así como los
requerimientos para la instalación. Se aborda también el entorno de trabajo en el que se
desarrolla la implementación y los pasos a seguir en la migración de plataformas Windows
a GNU/Linux. Además se expone la metodología a seguir en la instalación de Samba4 y los
tres posibles escenarios de desarrollo. Finalmente se presentan las herramientas más
comunes para la administración de los controladores de dominio basados en esta nueva
versión.
2.1
Samba4 Active Directory
Samba es un producto que se distribuye gratuitamente para sistemas de tipo UNIX, de
acuerdo con los términos de la General Public License de GNU, básicamente permite a
estos sistemas interactuar con Windows a través de la red de forma nativa. Samba ha ido
evolucionando activamente desde su creación, actualmente la versión 3 es estable y la
versión 4 se encuentra en desarrollo; las pruebas de rendimiento que se han aplicado, a la
nueva versión, demuestran que posee gran estabilidad. Entre las metas de Samba4 está
implementar un controlador de dominio que sea compatible con Microsoft Active
Directory, esto se ha logrado en buena parte gracias al apoyo de éste último mediante la
facilitación de documentación sobre el funcionamiento de su tecnología de Directorio
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
30
Activo y a la designación de un equipo de ingenieros para realizar intercambios con los
desarrolladores de Samba4.
Según la wiki oficial de Samba4 (Samba.org, 2012c) entre las características que más se
destacan se encuentran:
 Soporta los protocolos de inicio de sesión y de administración de Microsoft Active
Directory; además de clientes basados en Windows XP, Seven y OS X.
 Soporta las definiciones de Directivas de Grupo (Group Policies)
 Compatibilidad completa con el sistema de archivos NTFS para la compartición de
archivos.
 Servidor interno LDAP con semántica de AD.
 Servidor interno de Kerberos con compatibilidad PAC.
 Integración con Bind9 para el soporte DNS de AD (con DLZ).
 Internos completamente asíncronos.
 Modelos de procesos flexibles.
 Nueva infraestructura RPC (PIDL).
 Base de datos con arquitectura flexible (LDB).
 Soporte para Python: usado extensiblemente en las herramientas de administración.
 Subsistema genérico de seguridad (GENSEC).
Samba es usado frecuentemente en combinación con sistemas operativos libres GNU/Linux,
esto posibilita a los ingenieros y programadores ver y ampliar el código fuente según sus
necesidades. En muchos casos el alto costo de licencias que presenta MS AD es un punto
decisivo para elegir Samba. Por otra parte, Linux y Samba se pueden comparar muy bien
con los servidores de Windows en áreas de estabilidad, rendimiento y seguridad. Samba4 se
presenta como la solución que más se adecua a las empresas cubanas, ya que el servicio de
directorio que poseen es Active Directory y en caso de poseer Samba3 se puede migrar la
base de datos a la versión 4; además es de código abierto y totalmente gratis; cuenta con
una comunidad activa de desarrolladores y su código fuente se encuentra en constante
perfeccionamiento. Samba4 se destaca por ser la alternativa libre a AD con mayor grado de
compatibilidad.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
2.1.1
31
Requerimientos
Se puede emplear como sistema operativo cualquier distribución GNU/Linux. Actualmente
posee soporte para Debian, Ubuntu, FreeBSD, Red Hat Enterprise Linux, CentOS,
OpenSUSE y Gentoo.
Se recomienda Ext4 como sistema de archivos, pues permite utilizar los atributos
extendidos de este sistema (característica avanzada de Samba4), sin tener que recompilar el
kernel.
Todo controlador de dominio requiere de un servidor DNS para su funcionamiento. Como
servidor DNS se debe utilizar Bind9.8.x o Bind9.9.x, dado que ambas versiones permiten
las actualizaciones dinámicas de direcciones DNS y son compatibles con el plugin DLZ, el
cual emplea como backend DNS el directorio LDAP del AD, al igual que Windows Server.
La sincronización del tiempo entre las estaciones de trabajo y los controladores de dominio
es esencial para el funcionamiento del protocolo Kerberos. Los clientes basados en
Windows Seven requieren que los paquetes de tiempos se encuentren firmados; a partir de la
versión 2.4.6 el servidor de tiempo ntp permite esta característica.
Para compilar e instalar Samba4 correctamente es necesario tener las siguientes librerías de
desarrollo instaladas:
 python (paquete python-dev)
 acl y xattr (paquetes libacl1-dev y libattr1-dev)
 blkid (paquete libblkid-dev)
 gnutls (paquete libgnutls-dev)
 readline (paquete libreadline-dev)
2.2
Entorno de trabajo
En el mundo Linux, existe gran cantidad de distribuciones orientadas según el espacio de
aplicación: usuarios domésticos, servidores, juegos, empresas, uso general, etc. A partir de
criterios establecidos por varias fuentes (Tecnologíapyme, 2010, Ezequiel, 2010) se
elaboraron los siguientes puntos para determinar qué distribución elegir:
1. Una distribución estable.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
32
2. Gratis.
3. Fácil de obtener en Cuba.
4. Que posea amplia documentación y soporte.
5. Las aplicaciones existentes en los repositorios deben cubrir las necesidades de la
institución.
6. En el caso de los clientes, que la distribución sea lo más amigable posible.
7. Funcionamiento factible en el equipamiento disponible.
Según lo expuesto anteriormente, entre las distribuciones que más se han empleado en el
país y de fácil alcance se encuentran Debian GNU/Linux y Ubuntu. En los siguientes
acápites se exponen las principales características de estas distribuciones, finalmente se
explica cuál utilizar en servidores y en estaciones de trabajo.
2.2.1 Debian
Debian o Proyecto Debian (Debian Project) es una comunidad conformada por
desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software
libre. El sistema se encuentra precompilado, empaquetado y en un formato deb para
múltiples arquitecturas y núcleos de computadoras.
Nació como una apuesta por separar en sus versiones el software libre del software no libre.
El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales,
siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias
empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone
a disposición de todos en internet, aunque sí permite a personas o empresas distribuirlo
comercialmente mientras se respete su licencia.
La comunidad de desarrolladores del proyecto cuenta con la representación de Software in
the Public Interest, una organización sin ánimo de lucro que da cobertura legal a varios
proyectos de software libre.
La primera adaptación del sistema Debian, siendo también la más desarrollada, es Debian
GNU/Linux (Figura 2.2.1), basada en el núcleo Linux, y emplea herramientas de GNU.
Existen también otras adaptaciones con diversos núcleos: Hurd (Debian GNU/Hurd);
NetBSD (Debian GNU/NetBSD) y FreeBSD (Debian GNU/kFreeBSD).
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
33
Figura 2.2.1.Entorno de escritorio de Debian Squeeze (versión 6, estable).
2.2.2 Ubuntu
Es un sistema operativo mantenido por Canonical y la comunidad de desarrolladores.
Utiliza un núcleo Linux, y su origen está basado en Debian. Ubuntu está orientado al
usuario novel y promedio, con un fuerte enfoque en la facilidad de uso y mejorar la
experiencia de usuario. Está compuesto de múltiple software normalmente distribuido bajo
una licencia libre o de código abierto. Estadísticas web sugieren que el porcentaje de
mercado de Ubuntu dentro de distribuciones Linux es de aproximadamente 49% y con una
tendencia a subir como servidor web. (builtwith.com, 2012)
Su patrocinador Canonical, es una compañía británica propiedad del empresario
sudafricano Mark Shuttleworth ofrece el sistema de manera gratuita; se financia por medio
de servicios vinculados al sistema operativo y vendiendo soporte técnico. Además, al
mantenerlo libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de la
comunidad para mejorar los componentes de su sistema operativo. Extraoficialmente la
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
34
comunidad de desarrolladores proporciona soporte para derivaciones de Ubuntu con otros
entornos: Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio, Mythbuntu y Lubuntu.
Figura 2.2.2. Entorno de escritorio de Ubuntu 12.04 LTS.
Entre sus versiones se destacan:
 Ubuntu: Orientado al usuario promedio, con miles de aplicaciones y controladores
para todo tipo de computadoras como laptops y de escritorio. Utiliza la interfaz
Unity (Figura 2.2.2) y aplicaciones diseñadas por diferentes desarrolladores.
 Ubuntu Server: Orientado exclusivamente a servidores. Permite instalar Ubuntu en
una computadora usada como servidor. No instala una interfaz gráfica de usuario
por defecto.
 Ubuntu Business Desktop Remix: Orientada al sector empresarial con varias
herramientas instaladas por defecto, tales como: Adobe Flash Plugin, VMware
View, OpenJDK 6 Java, Canonical Landscape. Aplicaciones sociales y de juegos se
han eliminados de esta versión. Además ofrece soporte para Windows RDP 7.1 y
Microsoft Visio en LibreOffice Draw.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
35
 Ubuntu TV: Orientado exclusivamente a televisores; provee una interfaz simple e
intuitiva para organizar contenidos y servicios de TV. Como tema de escritorio
posee Unity por defecto.
 Ubuntu for Android: Orientada a smartphones Android, y permite ejecutar el
escritorio de Ubuntu con interfaz Unity directo desde un smartphone Android al
conectarse en un monitor por medio de una base. Características como la
sincronización de contactos, sincronización de redes sociales, y vista de
aplicaciones Android son posibles.
Cada seis meses se publica una nueva versión de Ubuntu, la cual recibe soporte por parte de
Canonical, durante dieciocho meses, por medio de actualizaciones de seguridad, parches
para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term
Support), que se liberan cada dos años (cada cuatro versiones), reciben soporte durante
cinco años en los sistemas de escritorio y de servidor.
2.2.3 Elección de las distribuciones
Según las características mencionadas anteriormente se proponen para uso en servidores
Debian o Ubuntu Server; ya que ambas se instalan en modo consola (en la primera se debe
seleccionar la opción) con el objetivo de optimizar los recursos de hardware. En las
estaciones de trabajo puede utilizar Microsoft Windows (XP y/o Seven) según las
necesidades de la empresa y las distribuciones Debian y Ubuntu, ésta última tiende a ser
más fácil y agradable al usuario novel debido a que los programas instalados por defecto
permiten comenzar a trabajar sin hacer cambios adicionales (no así en Debian); además se
recomienda para la transición de Windows a GNU/Linux.
2.3
El proceso de migración
Según la “Guía cubana para la migración al software libre” (Samón et al., 2009) la
metodología para la migración a Software Libre contempla 4 Etapas o Fases y 6 Flujos de
Trabajo (Figura 2.3.1). Se describe como flujo de trabajo a la secuencia de acciones,
actividades o tareas utilizadas para la ejecución de un proceso, incluyendo el seguimiento
del estado de cada una de sus etapas y la aportación de las herramientas necesarias para
gestionarlo.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
36
Figura 2.3.1. Etapas de migración a Software Libre.
Etapas:
 Preparación: se realizan las tareas de recopilación de datos y se lanza una primera
versión de la guía de migración.
 Migración Parcial: se efectúan las pruebas y se valida la propuesta a pequeña
escala. Es una etapa con actividad de trabajo.
 Migración Total: cada vez que se ejecute una iteración de esta fase la cantidad de
FLOSS (Free Libre Open Source Software) va en aumento, es la etapa que marca el
fin del software privativo.
 Consolidación: constituye el soporte al proceso de migración, es el apoyo e indica
los niveles de éxito o fracaso de la migración a Software Libre.
Flujos de Trabajo:
 Evaluación: hacer una evaluación de todos los procesos, tecnología y personal,
luego adaptarlas al entorno actual.
 Diseño: diseñar un plan de migración conforme a las necesidades, a partir del
resultado anterior.
 Pilotos: poner en marcha el plan en un ambiente real de pruebas.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
37
 Formación: formación del personal y certificación del mismo por niveles de
usuarios.
 Implementación: instalación y migración definitiva de servicios y estaciones de
trabajo a Software Libre.
 Asistencia y soporte técnico: brinda atención y soporte a las infraestructuras,
servicios instalados y al personal.
En la determinación de las alternativas de migración de los sistemas de información a
software libre, será necesario analizar una serie de elementos, entre los que se encuentran:
 La disponibilidad presupuestal con la que cuenta la institución para la ejecución del
proyecto de migración.
 La factibilidad total o parcial de migración de los sistemas de información
existentes en la institución.
 El hardware que contiene a los sistemas de información.
 La cantidad y calidad de los recursos humanos disponibles.
Una vez que se ha tenido en cuenta lo anterior, se presentan dos vías para lograr la
migración de los servidores de Microsoft Active Directory hacia Samba4:
1) Crear una infraestructura paralela de servidores basados en GNU/Linux con Samba4
y unirlos al dominio de Windows; esto da lugar a la replicación de los objetos del
Directorio Activo entre ambas plataformas, el proceso puede tomar algo de tiempo
según la cantidad de información que contenga. Finalmente se procede a sacar del
dominio a los servidores basados en Windows e instalarles el S.O seleccionado para
los servidores. El proceso es rápido y asegura ser completamente transparente para
el usuario ya que aprovecha la replicación para mantener la integridad de la
información del AD.
2) Al no contar con presupuesto para comprar al menos un servidor nuevo, se puede
tomar una computadora cliente e instalarle el S.O GNU/Linux elegido para los
servidores y proceder con la variante anterior. Luego el antiguo servidor con
Windows (ahora con GNU/Linux) debe unirlo al dominio Samba4; esperar que la
replicación finalice y darle baja del dominio a la computadora cliente que funge
como servidor. Otra solución consiste en salvar la información (páginas web, bases
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
38
de datos, etc) del servidor con Windows, instalar el S.O GNU/Linux elegido e
instalar Samba4, finalmente crear las cuentas de usuarios, directivas de seguridad y
unir las computadoras clientes al nuevo dominio. Esta vía es más trabajosa y en
algunos casos significa montar los servicios de red desde el inicio.
2.4
Instalación y configuración de Samba4
En la actualidad Samba4 se encuentra en fase de desarrollo, específicamente beta1, por lo
que no existe como programa compilado en todos los repositorios de las distribuciones
GNU/Linux, en cambio en Ubuntu y en el repositorio inestable de Debian (sid) sí; pero en
estos no siempre está actualizado con la última versión. En cambio el repositorio git de
Samba (git://git.samba.org/samba.git o http://gitweb.samba.org/samba.git) disponible en
internet contiene las últimas actualizaciones de seguridad y mejoras. Para la instalación es
necesario clonar dicho repositorio o descargar el archivo comprimido (tarball)
(http://ftp.samba.org/pub/samba/samba4) de la última versión liberada.
Antes de ejecutar los pasos que se explican a continuación debe tener instalado el servidor
DNS Bind v9.8.1 o superior (Anexo I) e instalar el servicio NTP:
# apt-get install ntp
La metodología expuesta a continuación se basa en los pasos propuestos en el HOWTO
oficial de Samba4 (Samba.org, 2012d). Cuando se emplean los archivos fuentes es
necesario compilarlos para crear los programas (archivos binarios) y proceder con la
instalación. Una vez que se tienen los archivos fuentes de Samba4; acceder al directorio
donde se descargaron o descomprimieron (si es el tarball) y ejecutar mediante el usuario
root los siguientes pasos:
# ./configure.developer
# make
# make install
El primer comando es un script que se encarga de configurar todas las dependencias de
Samba4 y lo prepara para ser instalado en /usr/local/samba de forma predeterminada. El
script contiene un conjunto de opciones definidas por defecto, para ver o modificar las
opciones puede consultar la ayuda del mismo mediante:
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
39
# ./configure.developer --help
Existe otro script llamado configure que realiza la misma operación descrita anteriormente,
pero no incluye información extra de depuración, que puede ser necesaria en entornos de
prueba.
El segundo comando crea, a partir del código fuente, los programas necesarios y el tercer
comando realiza el proceso de instalación de Samba4.
Hasta este punto se ha instalado Samba4, pero no se ha definido si va a actuar como
controlador de dominio en un nuevo dominio o si se va a unir como DC adicional en un
dominio existente tanto de Samba4 como de Windows. Es necesario para el correcto
funcionamiento de las herramientas de consola de Samba, agregar a la variable PATH del
usuario root del sistema la ruta donde se encuentran los servicios que corre Samba4 y las
herramientas de administración:
$PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin/
Samba4 como como controlador de dominio de AD se define mediante el script provision,
a través de él se especifican varias opciones como: la función del servidor (DC), el nombre
del dominio (realm) y la contraseña del administrador del dominio, la cual debe ser un
strong password. Además se crea la base de datos (backend LDAP) con la información del
Directorio Activo. A continuación se muestra un ejemplo donde se crea un dominio
denominado uclv3.cu:
# provision --realm=uclv3.cu --domain=UCLV3 --adminpass=S0m3*S7r0ngPa$$
--server-role=dc
El proceso anterior devuelve en pantalla todo el procedimiento realizado durante la corrida
del provision y culmina con el contenido de la Figura 2.4.1 que no es más que un resumen
de la configuración seleccionada.
Figura 2.4.1. Resultado final del provison.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
40
El provision soporta otras opciones que se pueden obtener mediante:
# provision --help
El script provision genera el archivo de configuración de Samba4, en el mismo se definen
las características del servicio y los recursos a compartir. El archivo se encuentra en
/usr/local/samba/etc/smb.conf
El protocolo de autenticación de red Kerberos requiere que exista sincronización de tiempo
entre los controladores de dominio y las estaciones de trabajo que estén unidos al dominio,
por lo que es necesario configurar el DC como servidor de tiempo mediante el paquete ntp.
A continuación se muestran los cambios que se deben de realizar en el archivo de
configuración localizado en /etc/ntp.conf:
# Using the hardware clock
server 127.127.1.1
fudge 127.127.1.1
stratum 12
# Enable signed ntp packets
ntpsigndsocket /usr/local/samba/var/run/ntp_signd/
restrict default mssntp
Para facilitar el proceso de administración y lograr la replicación de las entradas DNS, es
necesario configurar el servidor DNS Bind para que utilice el Directorio Activo de Samba4
para almacenar la información de las zonas y las entradas DNS, mediante el complemento
DLZ; el provision crea un archivo con la configuración necesaria que activa el plugin DLZ.
Para habilitar está opción se debe agregar en el archivo de configuración específica del
servidor Bind ubicado en /etc/bind/named.conf.local la siguiente línea:
include "/usr/local/samba/private/named.conf";
Otra característica que se debe habilitar es el soporte para actualizaciones dinámicas de
DNS mediante la inserción del archivo que contiene la llave para GSSAPI en el archivo de
opciones genéricas del servidor Bind localizado en /etc/bind/named.conf.options:
options {
[...]
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
[...]
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
41
};
A partir de aquí sólo resta ejecutar el servicio samba según la finalidad que se persigue:
1) En un servidor de producción, es necesario crear un script de inicio (Anexo II) y
habilitarlo en los niveles de corrida al inicio del sistema operativo.
2) Para analizar el funcionamiento detalladamente ejecutar:
# samba –I –M single –d2
Donde “–d2” es el nivel de depuración, mientras mayor sea el número, más
información se mostrará por pantalla. Para finalizar la corrida del servicio, presione
“Ctrol + C”. Este método es útil cuando se quiere comprobar el funcionamiento de
la replicación y las actualizaciones dinámicas de DNS, así como quiénes son los
usuarios que están intentando iniciar sesión en el dominio, de manera general el
comportamiento de Samba4.
El Anexo III detalla paso a paso el procedimiento a seguir en la instalación y configuración
de Samba4 como AD, incluye además la configuración del Bind9.x y del servidor de
tiempo ntp.
Unir Samba4 a un dominio existente
Esta versión de Samba posee la habilidad de unirse a un dominio, ya sea de Windows o
Samba4, como controlador de dominio adicional (Samba.org, 2011). La metodología a
seguir es la misma, pero no se aplica el paso referido al provision, sino que se emplea una
herramienta equivalente al programa dcpromo.exe en Windows llamada samba-tool domain
join. Esta es la variante a aplicar en el proceso de migración hacia Software Libre ya que se
aprovechan las ventajas que brinda la replicación de la información; una guía detallada con
los pasos a ejecutar en este proceso se encuentra en el Anexo IV.
Migración de Samba3 a Samba4
En algunos casos puede existir la necesidad de migrar de la versión 3 a la 4 de Samba,
debido a que la primera ofrece un dominio al estilo de Windows NT 4.0 y la segunda es una
solución de AD, un concepto mayor en el ámbito de los dominios de computadoras. La
herramienta a emplear llamada samba-tool domain samba3upgrade, al igual que la anterior
remplaza el provision. En esta variante se presentan dos casos de migración: correr los
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
42
servicios de Samba4 en el mismo servidor donde está instalado Samba3 o en un nuevo
servidor. (Samba.org, 2012a)
2.5
Administración de los servidores
La administración es un aspecto fundamental en los dominios de computadoras, ya que
permite controlar y gestionar la información así como las directivas de seguridad. En
Samba4 se realiza a través de la línea de comandos con la herramienta samba-tool o de las
herramientas remotas de administración de servidores (RAST) y la consola de
administración de directivas de grupos (GPMC), ambas disponibles para el sistema
operativo Windows. El backend LDAP puede ser administrado a través de herramientas
web, como phpLDAPadmin, LDAP Account Manager (LAM) o Apache Directory Studio.
2.5.1 Samba-tool
Esta herramienta está compuesta por un conjunto de comandos y subcomandos que
permiten la administración del controlador de dominio mediante la consola de GNU/Linux.
La sintaxis general es:
# samba-tool comando subcomando opciones
Para obtener la lista completa de los comandos disponibles:
# samba-tool --help
La ayuda de un comando en específico se obtiene de forma similar, por ejemplo:
# samba-tool dns --help
En la siguiente tabla se definen los comandos más usados y la función que desempeñan.
Tabla 2.5.1. Comandos soportados por la herramienta de administración samba-tool.
Comando
Función
dbcheck
Chequea en busca de errores la base de datos local
del AD
delegation
Administrar Delegación
dns
Administrar el DNS
domain
Administrar dominio
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
43
drs
Administrar Servicios de Replicación de Directorio
(DRS)
dsacl
Administrar las Listas de Control de Acceso (ACL)
del Servicio de Directorio (DS)
fsmo
Administrar los roles FSMO
gpo
Administrar las Directivas de Grupo (GPO)
ntacl
Manipulación de ACLs para NT
user
Administrar usuarios
2.5.2 Herramienta de administración remota de servidores (RSAT)
Permite administrar funciones y características instaladas en equipos con Windows Server
2003 y superiores, incluido Samba4 desde un equipo remoto con Windows XP Professional
SP2, Windows Vista y Windows Seven. Se encuentran disponibles de forma gratuita en el
centro de descargas de Microsoft según la versión del sistema operativo:
 Microsoft Windows Seven SP1: Remote Server Administration Tools with Service
Pack 1. (Microsoft, 2012j)
 Windows XP Professional SP2: Windows Server 2003 Administrative Tools.
(Microsoft, 2012l)
Estos programas están compuestos por utilitarios que permiten la administración remota del
servidor, por ejemplo a través de Active Directory Users and Computers (dsa.msc) se
controlan los usuarios y computadoras que pertenecen al dominio, así como los
controladores de dominio disponibles (Figura 2.5.1). Las zonas y entradas de servicio de
DNS son gestionadas mediante dnsmgmt (Figura 2.5.2). Las herramientas de
administración son accesibles desde el menú Inicio/Administrative Tools.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
Figura 2.5.1. Administración de usuarios y computadoras del AD.
Figura 2.5.2. Administración de zonas y entradas DNS.
44
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
45
En Windows XP se puede instalar las herramientas de soporte (Windows Support Tools)
para solucionar y diagnosticar problemas; el paquete se encuentra disponible en el centro de
descargas de Microsoft de forma gratuita. (Microsoft, 2012k)
2.5.3 Consola de administración de Directivas de Grupo (GPMC)
Simplifica la administración de las Directivas de Grupo, haciéndolas más fácil de entender,
desplegar y administrar gracias a su interfaz gráfica (Figura 2.5.3). Esta herramienta se
encuentra disponible en el centro de descargas de Microsoft (Microsoft, 2012e); entre los
requerimientos está tener instalado Microsoft .NET Framework v1.1 y sólo corre sobre
sistemas operativos Windows de 32 bits.
Existen dos tipos de configuraciones de Directivas de Grupos: usuarios y computadoras. La
primera tiene efecto cuando se cierra la sesión y se vuelve abrir; la segunda al reiniciar la
computadora.
Figura 2.5.3. Consola de administración para las Directivas de Grupo.
Las directivas se pueden administrar también mediante la herramienta Active Directory
Users and Computers; si selecciona una unidad organizativa y elige Properties
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
46
(Propiedades), luego se presiona clic en la ficha Group Policy; con esta acción es posible
aplicar directivas de grupo a todos los elementos que se encuentran dentro de la OU
seleccionada.
2.5.4 Administración del directorio LDAP
En los entornos GNU/Linux existe varias herramientas que permiten manejar las entradas
del directorio LDAP, entre las más conocidas se encuentran:
phpLDAPadmin:
También conocido como PLA, es una herramienta para la administración de servidores
LDAP escrito en PHP, basada en una interfaz web (Figura 2.5.4). Es multiplataforma y se
encuentra disponible bajo licencia GPL.
Figura 2.5.4. Panel de administración de phpLDAPadmin.
Posee una vista jerárquica en forma de árbol que facilita la navegación por toda la
estructura del directorio. Permite ver los esquemas LDAP, realizar búsquedas, crear, borrar,
copiar y editar entradas LDAP, incluso copiar entradas entre servidores LDAP.
2.5.5 Apache Directory Studio
Es una completa plataforma de herramientas destinada a ser utilizado con cualquier
servidor LDAP, sin embargo, está particularmente diseñado para su uso con ApacheDS. Se
trata de una aplicación Eclipse RCP, compuesto de varios plugins Eclipse (OSGi), que
pueden ser fácilmente actualizados.
CAPÍTULO 2. METODOLOGÍA DE INSTALACIÓN Y ADMINISTRACIÓN DE SAMBA4
47
Figura 2.5.5. Administración del directorio LDAP con Apache Directory Studio.
2.6
Conclusiones
Actualmente Samba4 se presenta como la alternativa libre ante la implementación de
Microsoft de Active Directory; tiene la capacidad de actuar como DC en un dominio
Windows, lo que facilita el proceso de migración hacia GNU/Linux. Además posee su
propio conjunto de herramientas de administración (mediante comandos) y es compatible
con soluciones de terceros como las ofrecidas por Microsoft en las versiones de servidores;
lo que facilita el trabajo del administrador que está familiarizado con Windows. Por el
momento Samba4 no posee interfaz gráfica de administración, pero se encuentran en
desarrollo dos proyectos: Samba-GTK y SWAT2.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
48
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN
DE SAMBA4
En el capítulo se hace un estudio de los resultados alcanzados en los dos primeros
escenarios expuestos en el capítulo 2. Se mencionan los diferentes métodos que existen
para unir clientes GNU/Linux al Directorio Activo. Finalmente se realiza el análisis
económico de la implementación propuesta.
3.1
Instalación de un dominio basado en Samba4
Se montó un primer escenario de pruebas (Figura 3.1.1) con máquinas virtuales con el
objetivo de comprobar el funcionamiento de un dominio basado completamente en
Samba4, con las siguientes características:
 Nombre del dominio: uclv3.cu
 Servidor: sistema operativo Debian Squeeze con Samba4.0.0beta1.
 Clientes: estaciones de trabajo con Windows XP, 7 y Ubuntu Lucid Lynx LTS.
Figura 3.3.1. Composición del Escenario #1 de pruebas.
Primeramente se unieron las computadoras clientes al dominio uclv3.cu de forma exitosa,
según muestran las Figuras 3.1.2 y 3.1.3.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
Figura 3.1.2. Windows XP se une al dominio correctamente.
Figura 3.1.3. Ubuntu 10.04 se une al dominio correctamente.
49
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
50
En Ubuntu además se comprobó que la computadora se unió al dominio correctamente
mediante:
# domainjoin-cli query
Name = ubuntu-client1
Domain = UCVL3.CU
Distinguished Name = CN=UBUNTU-CLIENT1,CN=Computers,CN=uclv3,CN=cu
El resultado obtenido indica que el proceso se completó correctamente.
A través de la herramienta Active Directory Users and Computers (Figura 3.1.4) se
comprueba que las computadoras se encuentran en el dominio.
Figura 3.1.4. Computadoras del dominio uclv3.cu.
Con el comando visudo en Ubuntu se permitió a los usuarios del grupo Domains Admins
ser administradores (root) locales, para ello hubo que agregar la siguiente línea en el
archivo de configuración de sudo:
%UCLV3\\domain^admins ALL=(ALL) ALL
Para comprobar el funcionamiento de las Directivas de Grupo, se creó una Unidad
Organizacional llamada Test, en ella se guardaron varias cuentas de usuarios que fueron
creadas desde la consola y a través de la herramienta de administración Active Directory
Users and Computers. Entre las directivas aplicadas se encuentran: denegar el acceso al
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
51
Panel de Control y forzar el tema de escritorio a Windows estilo clásico (Figura 3.1.5).
Estas sólo afectan a los usuarios que se encuentran dentro de la OU mencionada
anteriormente, ya que son directivas aplicables sólo a usuarios (User Configuration).
Figura 3.1.5. Definición de las Directivas de Grupo para los usuarios dentro de la OU Test.
Una vez que el usuario inicia sesión se aplican las directivas establecidas:
Figura 3.1.6. Inicio de sesión con ambiente de escritorio Windows estilo clásico y sin acceso al Panel de Control.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
52
En la siguiente figura se observa que el usuario inició su sesión correctamente en Ubuntu y
accedió a un recurso compartido sin escribir su clave nuevamente, ya que se encuentra
autenticado dentro del dominio.
Figura 3.1.7. Inicio de sesión y acceso a recursos compartidos en Ubuntu bajo un dominio Samba4.
Una vez que todas las pruebas fueron convincentes, se procedió a la instalación de un
dominio basado en Samba4 en la dirección provincial de CADECA, a solicitud del
departamento de Informática de ese centro. El Anexo V ilustra la aplicación y validez del
trabajo desarrollado en dicha institución.
3.2
Samba4 como controlador de dominio adicional
Este escenario tiene como objetivo analizar la replicación de los elementos que componen
el Directorio Activo, como los usuarios, esquemas, la partición DNS, etc. El mismo se basa
en la capacidad que posee Samba4 de unirse como controlador de dominio adicional a un
dominio existente, lo que facilita el proceso de migración.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
53
El escenario (Figura 3.2.1) está compuesto por las siguientes máquinas virtuales:
 msad2k3.uclv4.cu: Microsoft Windows Server 2003 R2. Controlador de dominio.
 samba1.uclv4.cu: Debian Squeeze y Samba4.0.0beta1. Controlador de dominio.
 fileserver.uclv4.cu: Debian Squeeze y Samba3+Winbind. Servidor de archivos
unido al dominio.
El controlador de dominio con Windows Server 2003 R2, se configuró con el dominio
uclv4.cu, se agregaron usuarios y computadoras con los sistemas operativos Windows XP,
Seven y Ubuntu Lucid Lynx, para comprobar la replicación de información entre ambos
DC.
Figura 3.2.1. Composición del Escenario #2 de pruebas.
Luego se procedió a unir el nuevo DC con Samba4 al dominio mediante:
# samba-tool domain join uclv4 DC -Uadministrator --realm=uclv4.cu
Finding a writeable DC for domain 'uclv4.cu'
Found DC msad2k3.uclv4.cu
Password for [WORKGROUP\emergenciasr]:
workgroup is UCLV4
realm is uclv4.cu
checking sAMAccountName
Adding CN=SAMBA1,OU=Domain Controllers,DC=uclv4,DC=cu
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
54
AddingCN=SAMBA1,CN=Servers,CN=Default-First-SiteName,CN=Sites,CN=Configuration,DC=uclv4,DC=cu
Adding CN=NTDS Settings,CN=SAMBA1,CN=Servers,CN=Default-First-SiteName,CN=Sites,CN=Configuration,DC=uclv4,DC=cu
Adding SPNs to CN=SAMBA1,OU=Domain Controllers,DC=uclv4,DC=cu
Setting account password for SAMBA1$
Enabling account
Calling bare provision
No IPv6 address will be assigned
Provision OK for domain DN DC=uclv4,DC=cu
Starting replication
Schema-DN[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] objects[402] linked_values[0]
Schema-DN[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] objects[804] linked_values[0]
Schema-DN[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] objects[1206] linked_values[0]
Schema-DN[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] objects[1266] linked_values[0]
Analyze and apply schema objects
Partition[CN=Configuration,DC=uclv4,DC=cu] objects[236] linked_values[0]
Replicating critical objects from the base DN of the domain
Partition[DC=uclv4,DC=cu] objects[93] linked_values[0]
Partition[DC=uclv4,DC=cu] objects[463] linked_values[0]
Partition[DC=uclv4,DC=cu] objects[716] linked_values[0]
Partition[DC=uclv4,DC=cu] objects[942] linked_values[0]
Partition[DC=uclv4,DC=cu] objects[1052] linked_values[0]
Committing SAM database
Sending DsReplicateUpdateRefs for all the partitions
Setting isSynchronized and dsServiceName
Setting up secrets database
Joined domain uclv4 (SID S-1-5-21-2377495241-1895591954-3228824017) as a DC
Los resultados de la acción anterior indican que el proceso se completó correctamente.
Mediante la herramienta Active Directory Users and Computers se comprueba la existencia
de dos controladores de dominio: el de Windows y el de Samba4, según se muestra en la
siguiente figura.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
55
Figura 3.2.2. Comprobación de los DC existentes en el dominio.
Cuando se inicia el servicio Samba4 (por primera vez) en el modo de depuración se observa
cómo comienza el proceso de replicación entre ambos controladores:
# samba -i -M single -d2
lpcfg_load: refreshing parameters from /usr/local/samba/etc/smb.conf
samba version 4.0.0beta1 started.
Copyright Andrew Tridgell and the Samba Team 1992-2012
samba: using 'single' process model
Attempting to autogenerate TLS self-signed keys for https for hostname 'SAMBA1.uclv4.cu'
TLS self-signed keys generated OK
dreplsrv_partition[CN=Configuration,DC=uclv4,DC=cu] loaded
dreplsrv_partition[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] loaded
dreplsrv_partition[DC=uclv4,DC=cu] loaded
dreplsrv_partition[DC=DomainDnsZones,DC=uclv4,DC=cu] loaded
dreplsrv_partition[DC=ForestDnsZones,DC=uclv4,DC=cu] loaded
kccsrv_partition[CN=Schema,CN=Configuration,DC=uclv4,DC=cu] loaded
kccsrv_partition[CN=Configuration,DC=uclv4,DC=cu] loaded
kccsrv_partition[DC=uclv4,DC=cu] loaded
kccsrv_partition[DC=DomainDnsZones,DC=uclv4,DC=cu] loaded
kccsrv_partition[DC=ForestDnsZones,DC=uclv4,DC=cu] loaded
Loading new DNS update grant rules
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
56
Started file server smbd with config /usr/local/samba/private/smbd.tmp/fileserver.conf
/usr/local/samba/sbin/smbd: smbd version 4.0.0beta1 started.
/usr/local/samba/sbin/smbd: Copyright Andrew Tridgell and the Samba Team 1992-2012
/usr/local/samba/sbin/smbd: standard input is not a socket, assuming -D option
../source4/dsdb/repl/drepl_ridalloc.c:230: Requesting more RIDs from RID Manager
added nTDSConnection object 'CN=41084c39-34e6-48de-b85a-65e2f77a7373,CN=NTDS
Settings,CN=SAMBA1,CN=Servers,CN=Default-First-SiteName,CN=Sites,CN=Configuration,DC=uclv4,DC=cu'
Replicated 1 objects (0 linked attributes) for DC=uclv4,DC=cu
Replicated 1 objects (0 linked attributes) for CN=Schema,CN=Configuration,DC=uclv4,DC=cu
Replicated 0 objects (0 linked attributes) for CN=Configuration,DC=uclv4,DC=cu
Replicated 3 objects (0 linked attributes) for CN=RID Manager$,CN=System,DC=uclv4,DC=cu
Replicated 3 objects (0 linked attributes) for DC=uclv4,DC=cu
Replicated 18 objects (0 linked attributes) for DC=ForestDnsZones,DC=uclv4,DC=cu
Replicated 45 objects (0 linked attributes) for DC=DomainDnsZones,DC=uclv4,DC=cu
Replicated 0 objects (0 linked attributes) for DC=uclv4,DC=cu
Replicated 1 objects (0 linked attributes) for CN=Schema,CN=Configuration,DC=uclv4,DC=cu
[...]
La información sobre el estado de la replicación se obtiene a través del siguiente comando:
# samba tool rps showrepl
DSA Options: 0x00000001
DSA object GUID: 5f83c3c6-1504-4bdc-986a-2847d85c2261
DSA invocationId: 5b0c7250-8287-4232-9dde-54499244afa5
==== INBOUND NEIGHBORS ====
DC=ForestDnsZones,DC=uclv4,DC=cu
Default-First-Site-Name\WIN2K3 via RPC
DSA object GUID: 469a3ad5-bf32-406b-9fe6-4946f4737a9b
Last attempt @ Fri Jun
8 14:11:12 2012 CDT was successful
0 consecutive failure(s).
Last success @ Fri Jun
8 14:11:12 2012 CDT
[...]
CN=Schema,CN=Configuration,DC=uclv4,DC=cu
Default-First-Site-Name\WIN2K3 via RPC
DSA object GUID: 469a3ad5-bf32-406b-9fe6-4946f4737a9b
Last attempt @ Fri Jun
8 14:11:13 2012 CDT was successful
0 consecutive failure(s).
Last success @ Fri Jun
==== OUTBOUND NEIGHBORS ====
DC=uclv4,DC=cu
8 14:11:13 2012 CDT
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
57
Default-First-Site-Name\WIN2K3 via RPC
DSA object GUID: 469a3ad5-bf32-406b-9fe6-4946f4737a9b
Last attempt @ Fri Jun
8 14:07:52 2012 CDT was successful
0 consecutive failure(s).
Last success @ Fri Jun
8 14:07:52 2012 CDT
CN=Schema,CN=Configuration,DC=uclv4,DC=cu
Default-First-Site-Name\WIN2K3 via RPC
DSA object GUID: 469a3ad5-bf32-406b-9fe6-4946f4737a9b
Last attempt @ Fri Jun
8 14:07:52 2012 CDT was successful
0 consecutive failure(s).
Last success @ Fri Jun
8 14:07:52 2012 CDT
[...]
==== KCC CONNECTION OBJECTS ====
Connection -Connection name: 41084c39-34e6-48de-b85a-65e2f77a7373
Enabled
: TRUE
Server DNS name : SAMBA1.uclv4.cu
Los resultados anteriores muestran que la replicación entre los controladores de dominio se
realizó de forma exitosa. En caso de que la replicación falle (específicamente la de la
partición DNS de Active Directory, que es la que puede presentar problemas); es necesario
ejecutar el proceso de forma manual. Este es un problema conocido por parte de los
desarrolladores y se espera que en versiones posteriores se solucione el problema.
El servidor de archivos se unió al dominio mediante Samba3 y Winbind, ya que se
encuentra en modo consola, aunque es posible emplear LikewiseOpen o Centrify Direct
Control desde la línea de comandos. Esto permitió realizar la autenticación centralizada
cuando se accede a los recursos del servidor que posee como servidor de archivos Samba3.
Se montó otro escenario similar al anterior sólo que el controlador de dominio primario usa
Windows Server 2008 R2; obteniéndose resultados favorables, aunque fue necesario
replicar manualmente la partición DNS al igual que el caso anterior.
3.3
Configuración de las estaciones de trabajo
Los sistemas operativos empleados en las estaciones de trabajo están en función de los
requerimientos y necesidades de la institución. A continuación se exponen las
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
58
configuraciones que se deben de llevar a cabo para unir una computadora a un dominio
Windows o Samba4.
3.3.1 Microsoft Windows
Los clientes basados en Windows se unen al dominio de Samba4 de forma tradicional. Es
necesario que las computadoras clientes tengan configurado como servidor DNS la
dirección IP del controlador de dominio, según muestra la siguiente figura.
Figura 3.3.1. Configuración del servidor DNS en Windows XP.
Tanto las computadoras clientes como el servidor deben poseer la misma zona horaria
(Figura 3.3.2), para que la sincronización del tiempo sea satisfactoria y no se afecte el inicio
de sesión en los clientes.
Una vez que la computadora cliente se une al dominio la ficha “Internet Time” desaparece,
esto indica que el sistema operativo se sincroniza con el controlador de dominio, por tanto,
se debe tener instalado ntp como servidor de tiempo en el DC de Samba4.
Para unir las estaciones de trabajo al dominio se puede realizar mediante el Panel de
Control a través del menú System (Sistema). Luego seleccionar la ficha Change Name
(Cambiar Nombre) y dar clic en el botón Change (Cambiar).
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
59
Figura 3.2.2. Definición de la zona horaria.
3.3.2 GNU/Linux
El Directorio Activo ha tenido un gran auge en los entornos empresariales debido al
sistema de autenticación centralizada que brinda, para que sea efectivo los clientes deben
tener la habilidad de unirse al dominio. Los sistemas operativos Linux no se han quedado
atrás en el tema, existen varias herramientas para este fin; alguna de ellas son:
LikewiseOpen
Provee un sistema de autenticación completo que logra integrarse en entornos de Active
Directory. Se encuentra disponible en el repositorio principal (main) de Ubuntu. El acceso
a la interfaz gráfica (Figura 3.3.3) permite unir o sacar la computadora del dominio de
forma similar a Windows.
Los paquetes para ejecutarlo son: likewise-open y likewise-open-gui. El primero instala
herramientas extras que permiten obtener información sobre AD o realizar configuraciones
como:
 lw-update-dns: permite a los usuarios actualizar sus entradas DNS en el controlador
de dominio.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
60
 lw-get-status: muestra información relativa del estado de la computadora unida al
dominio.
Mientras que el segundo en la interfaz gráfica en sí, es opcional, pero facilita el trabajo a
aquellos que no están acostumbrados a la consola.
Figura 3.3.3. Interfaz gráfica de LikewiseOpen.
A través del menú System/Administration/Active Directory membership (en GNOME) se
accede a la interfaz gráfica de LikewiseOpen. Con el siguiente comando se logra unir una
computadora al dominio:
# domainjoin-cli join uclv3.cu administrator
Donde uclv3.cu es el dominio a unirse y administrator puede ser cualquier usuario
perteneciente al grupo Domains Admins.
Centrify Direct Control
Puede unir rápida y fácilmente un cliente Linux al AD; además de soportar la autenticación
de usuarios de AD o SSO mediante Kerberos. En las distribuciones de Ubuntu se encuentra
en el repositorio partner, su nombre es centrifydc; es posible descargarlo desde la web
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
61
oficial y la configuración sólo se realiza mediante comandos, se asemeja más a los entornos
Unix. (Centrify, 2012)
Para unir la computadora al dominio:
# adjoin -u [email protected] -w uclv2.cu
Por administrator se puede utilizar cualquier usuario miembro del grupo Domains Admins.
Una vez que ha finalizado el proceso correctamente, se debe reiniciar la computadora o
reiniciar los servicios pertinentes para aplicar los cambios.
En la Figura 3.3.4 se muestra el resultado del comando adinfo, el mismo devuelve
información sobre la computadora que se unió al dominio y el DC que está en uso; el
comando sirve además para comprobar si el proceso fue exitoso.
Figura 3.3.4. Comprobación del proceso de unión al dominio con la herramienta adinfo.
Samba3+Winbind
Samba3 posee la capacidad de unirse a un dominio de AD, para ello se apoya en el
componente winbind, perteneciente a la suite de programas de Samba. Winbind se encarga
de resolver la autenticación unificada y utiliza la implementación Unix de MSRPC,
Pluggable Authentication Modules (PAMs) y el Servicio de Conmutación de Nombres
(Names Service Switch, NSS) para permitir a un usuario de un dominio que parezca y
pueda operar como un usuario Unix en una computadora con dicho sistema operativo.
El proceso de configuración, comparado con las soluciones anteriores, es más complejo y
consta de los siguientes pasos (Battista, 2009):
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
62
1. Sincronizar el tiempo entre el DC y el servidor Samba. Para ello puede emplear el
servicio ntpd.
2. Configurar el entorno de Kerberos (/etc/krb5.conf), para que la adquisición del
ticket sea exitosa.
3. Activar el modo Active Directory Services (secure = ADS) en el archivo de
configuración de Samba3 (/etc/samba/smb.conf).
4. Configurar la autenticación (/etc/nsswitch.conf).
5. Unir al dominio la computadora cliente:
# kinit
# net ads join -U [email protected]
6. Configurar PAMs.
7. Iniciar los servicios: nmbd, smbd, windbind
Para comprobar si la computadora se unió correctamente al dominio:
# wbinfo –u
# wbinfo –g
El primer comando lista todos los usuarios del dominio y el segundo los grupos.
Winbind-SADMS
Es un método automatizado con interfaz gráfica (Figura 3.3.5) de la variante anterior.
Figura 3.3.5. Interfaz gráfica de programa sadms, sin servicios configurados.
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
63
A través de la ventana se configuran los pasos requeridos para implementar
Samba3+Winbind; también se pueden controlar los servicios implicados. Este programa se
encuentra en los repositorios de Ubuntu (paquete sadms) y es posible descargar el código
fuente de la web oficial para instalarlo en otra distribución. (Bou, 2012)
3.4
Análisis económico
Las versiones para servidores de Microsoft poseen altos costos de licencias (Tabla 3.4.1)
respecto a las soluciones de código abierto, y algunos casos son gratis como Samba.
Además Windows requiere de servidores con mayores prestaciones de hardware, para lograr
eficiencia óptima; no así en las distribuciones GNU/Linux donde una computadora con
pocos recursos se puede emplear como servidor.
Tabla 3.4.1. Listado de precios para Microsoft Windows Server 2008 R2 (Microsoft, 2012b).
Producto
Precio (USD)
Windows Server 2008 R2 Standard
$ 1,029 (con 5 CAL)
Windows Server 2008 R2 Standard
$ 1,209 (con 5 CAL)
Windows Server 2008 R2 Enterprise
$ 3,919 (con 25 CAL)
Windows Server 2008 R2 Datacenter
$ 2,999
Windows Server 2008 R2 para sistemas basados en Itanium
$ 2,999 (por procesador)
Windows Web Server 2008 R2
$ 469
Implementar una solución de Directorio Activo mediante Samba4 en las empresas cubanas
significa un ahorro cuantitativo según muestra la tabla anterior, aunque actualmente no se
pagan estas licencias; la dirección del país determinó que es necesario migrar hacia
plataformas de Software Libre para evitar en un futuro demandas por parte de grandes
compañías como Microsoft Corporation.
3.5
Conclusiones
A través de los escenarios propuestos se demostró el funcionamiento de Samba4 como
controlador de dominio en entornos reales. El proceso de unir Samba4 a un dominio
existente facilita la migración en las grandes instituciones, ya que aprovecha las ventajas
CAPÍTULO 3. ESCENARIOS PRÁCTICOS DE IMPLEMENTACIÓN DE SAMBA4
64
brindadas por la replicación de información, es posible que se presenten algunos
inconvenientes en esta implementación sobre todo en la partición DNS, por lo que se
aconseja montar escenarios de pruebas antes de comenzar la migración. Los clientes
basados en Windows se unen de forma exitosa al dominio Samba4 y en el caso de
GNU/Linux existen varias herramientas que proveen los mecanismos de autenticación para
unirse al AD.
CONCLUSIONES
65
CONCLUSIONES
1. Se montaron tres escenarios de pruebas en los que se instaló y configuró Samba4
para ser usado como controlador de dominio, ya sea primario o unido a un dominio
de Windows existente.
2. La administración del dominio basado en Samba4 se logró de forma eficiente,
mediante las herramientas de consola que ofrece la misma y a través de las
herramientas de administración remota de servidores de Windows.
3. La replicación de información entre controladores de Windows y Samba4 fue
exitosa, lo que facilitó el proceso de migración y la transparencia al usuario.
También se utilizaron otras aplicaciones como phpLDAPadmin y Apache Directory
Studio para administrar la base de datos del Directorio Activo.
4. En algunos casos la replicación de la partición DNS del Directorio Activo no se
efectuó automáticamente; para solucionarlo hubo que realizar el proceso de forma
manual.
5. Las estaciones de trabajo se unieron correctamente al dominio, tanto las que
emplean Microsoft Windows o Ubuntu.
6. Como servidor de archivos se utilizó la versión 3 de Samba, que permite unirse a un
dominio y utilizar el sistema de autenticación única que brinda Active Directory, en
este caso Samba4.
RECOMENDACIONES
66
RECOMENDACIONES
Debido al impacto económico que puede tener este trabajo y la necesidad existente en el
país de migrar hacia plataformas de Software Libre se recomienda:
 Utilizar Samba4 en aquellas instituciones que no cuentan con un dominio a fin de
explotar las facilidades que brinda el Directorio Activo.
 Montar escenarios de pruebas si se va a migrar de Microsoft Active Directory a
Samba4, antes de proceder con la migración total, ya que pueden presentarse
problemas en la replicación.
 Dar seguimiento al estudio de este trabajo, dado que Samba4 actualmente está en
desarrollo y se espera alcanzar versiones RC a finales de agosto o septiembre, las
cuales serían los primeros pasos para la versión estable.
 Analizar la replicación entre un controlador de dominio de Windows y Samba4 para
conocer en detalle los posibles problemas que puedan presentarse y contribuir con
los desarrolladores de Samba4.
 Capacitar a los administradores de red en la implementación de controladores de
dominio que propone este trabajo.
 Crear en la UCLV un repositorio con los paquetes .deb de Samba4 a partir del
código fuente para las distribuciones GNU/Linux Debian y Ubuntu en aras de
facilitar el proceso de instalación.
 Realizar una salva de la información del servidor antiguo para evitar pérdidas en
caso de que falle el proceso de migración de la versión 3 a la 4 de Samba.
REFERENCIAS BIBLIOGRÁFICAS
67
REFERENCIAS BIBLIOGRÁFICAS
APACHE. 2012. Apache Directory Server [En línea].
http://directory.apache.org/ [Accedido en febrero 2012].
Disponible
en:
APPLE. 2012. Mac OS X Server v10.5 Leopard [En línea]. Disponible en:
http://www.apple.com/support/macosxleopardserver/opendirectory/ [Accedido en
marzo 2012].
BAPTISTE MARCHAND, J. 2004. Active Directory network protocols and traffic.
Disponible
en:
http://www.hsc.fr/ressources/presentations/ad_proto_traffic/ad_proto_traffic_en.pdf
[Accedido en marzo 2012].
BARTLETT, A. 2005. Samba 4 - Active Directory. Samba.org.
BARTLETT, A. & DAVIS, D. T. 2009. Notes on how Samba4 uses kerberos, and some of
it's
requirements.
Disponible
en:
http://samba.org/ftp/unpacked/samba_4_0_test/source/auth/kerberos/kerberosnotes.txt.
BATTISTA, M. 2009. Using Winbind to resolve Active Directory accounts in Debian.
Disponible en: http://www.ccs.neu.edu/home/battista/articles/winbind/winbind.pdf
[Accedido en marzo 2012].
BOU, B. 2012. Samba as Active Directory Member server and station [En línea].
sourceforge.net. Disponible en: http://sadms.sourceforge.net/ [Accedido en febrero
2012].
BUILTWITH.COM. 2012. Ubuntu Usage Statics [En línea]. Disponible
http://trends.builtwith.com/Server/Ubuntu [Accedido en marzo 2012].
en:
CARTER, G. 2003. LDAP System Administration. O'Reilly.
CENTRIFY. 2012. Free Active Directory Integration Solution [En línea]. Disponible en:
http://www.centrify.com/express/free-active-directory-integration-solutions.asp
[Accedido en enero 2012].
CHICO, J. G. 2011. Estudio de viabilidad de Directorio Activo en Linux. Escuela
Politécnica Superior Universidad Carlos III de Madrid.
DEROEST, J. 2000. Samba: Unix and NT Networking. McGraw-Hill Companies.
DI'LELLO, R. 2006. FSMO de Active Directory. NEX IT SPECIALIST. Nexweb.com.ar.
REFERENCIAS BIBLIOGRÁFICAS
68
EZEQUIEL. 2010. ¿Cómo elegir la mejor distribución Linux? [En línea]. Disponible en:
http://www.puntogeek.com/2010/09/02/tip-%c2%bfcomo-elegir-la-mejordistribucion-linux/#comments [Accedido en marzo 2012].
GARCÍA, F. F. & BARRENA, A. T. 2007. Curso de Integración de Sistemas
Linux/Windows. Universidad Politécnica de Valencia.
HONEYCUTT, J. 2003. Introducing Microsoft Windows Server 2003. Microsoft Press.
JAVA.NET.
2011.
The
OpenDS
Project
[En
línea].
Disponible
http://java.net/projects/opends/pages/2_4_About [Accedido en marzo 2012].
en:
METZMACHER, S. 2007. Active Directory Replication. Institut für Nachrichtentechnik.
MICROSOFT. 2009. Microsoft SMB Protocol and CIFS Protocol Overview [En línea].
Microsoft
Corporation.
Disponible
en:
http://msdn.microsoft.com/enus/library/aa365233%28VS.85%29.aspx [Accedido en marzo 2012].
MICROSOFT. 2010. Instalar Windows Server 2008 R2 [En línea]. Microsoft Corporation.
Disponible
en:
http://technet.microsoft.com/eses/library/dd379511%28v=ws.10%29.aspx [Accedido en febrero 2012].
MICROSOFT. 2012a. Active Directory Architecture [En línea]. Microsoft Corporation.
Disponible
en:
http://technet.microsoft.com/enus/library/bb727030(d=lightweight,l=en-us,v=technet.10).aspx
[Accedido
en
febrero 2012].
MICROSOFT. 2012b. Comprehensive Resource for Licensing and Pricing. Windows
Server, System Center, and Forefront Licensing Guide [En línea]. Disponible en:
http://download.microsoft.com/download/0/D/9/0D9DDF52-A855-487B-9B745A09A9389551/Windows%20Server%20System%20Center%20and%20Forefront
%20Pricing%20and%20Licensing%20Guide.pdf [Accedido en febrero 2012].
MICROSOFT. 2012c. Domain Name System [En línea]. Microsoft Corporation. Disponible
en: http://technet.microsoft.com/es-es/library/cc779380%28v=ws.10%29 [Accedido
en marzo 2012].
MICROSOFT. 2012d. Funciones de servidor de Active Directory [En línea]. Microsoft
Corporation.
Disponible
en:
http://technet.microsoft.com/eses/library/cc737933%28v=ws.10%29.aspx [Accedido en marzo 2012].
MICROSOFT. 2012e. Group Policy Management Console with Service Pack [En línea].
Microsoft
Corporation.
Disponible
en:
http://www.microsoft.com/downloads/details.aspx?FamilyId=0A6D4C24-8CBD4B35-9272-DD3CBFC81887&displaylang=en [Accedido en enero 2012].
MICROSOFT. 2012f. How the Windows Time Service Works [En línea]. Microsoft
Corporation.
Disponible
en:
http://technet.microsoft.com/enus/library/cc773013%28v=ws.10%29 [Accedido en marzo 2012].
MICROSOFT. 2012g. MS-DRSR: Directory Replication Service (DRS) Remote Protocol
Specification
[En
línea].
Microsoft
Corporation.
Disponible
en:
http://msdn.microsoft.com/en-us/library/cc228086%28PROT.13%29.aspx
[Accedido en marzo 2012].
REFERENCIAS BIBLIOGRÁFICAS
69
MICROSOFT. 2012h. [MS-NRPC]: Netlogon Remote Protocol Specification [En línea].
Microsoft
Corporation.
Disponible
en:
http://msdn.microsoft.com/enus/library/cc237008%28v=prot.13%29.aspx [Accedido en marzo 2012].
MICROSOFT. 2012i. [MS-SAMR]: Security Account Manager (SAM) Remote Protocol
Specification
[En
línea].
Microsoft
Corporation.
Disponible
en:
http://msdn.microsoft.com/en-us/library/cc245476%28v=prot.10%29.aspx
[Accedido en marzo 2012].
MICROSOFT. 2012j. Remote Server Administration Tools for Windows 7 with Service
Pack 1 (SP1) [En línea]. Microsoft Corporation. Disponible en:
http://www.microsoft.com/en-us/download/details.aspx?id=7887 [Accedido en
enero 2012].
MICROSOFT. 2012k. Windows Server 2003 Service Pack 1 32-bit Support Tools [En
línea]. Microsoft Corporation. Disponible en: http://www.microsoft.com/enus/download/details.aspx?id=7911 [Accedido en enero 2012].
MICROSOFT. 2012l. Windows Server 2003 Service Pack 2 Administration Tools Pack for
x86
editions
[En
línea].
Microsoft
Corporation.
Disponible
en:
http://www.microsoft.com/en-us/download/details.aspx?id=6315 [Accedido en
enero 2012].
NOVELL. 2011. Novel eDirectory Product Page [En línea]. Disponible en:
http://www.novell.com/products/edirectory/ [Accedido en marzo 2012].
OPENLDAP 2011. OpenLDAP Software 2.4 Administrator's Guide. The OpenLDAP
Foundation.
ORACLE. 2010. Oracle Directory Server Enterprise Edition Overview [En línea].
Disponible
en:
http://www.oracle.com/technetwork/middleware/idmgmt/overview/index-085178.html [Accedido en febrero 2012].
PORT389.
2012.
389
Directory
Server
[En
línea].
http://port389.org/wiki/Main_Page [Accedido en marzo 2012].
Disponible
en:
REDHAT. 2012. Red Hat Directory Server [En línea]. Disponible en:
http://www.redhat.com/products/identity-management/directoryserver/ [Accedido
en marzo 2012].
RFC1034.
Domain
Names.
Concepts
and
Facilities.
http://www.ietf.org/rfc/rfc1034.txt [Accedido en marzo 2012].
Disponible
en:
RFC1035. 1987. Domain Names. Implementation and Specification. Disponible en:
http://www.ietf.org/rfc/rfc1035.txt [Accedido en marzo 2012].
RFC1361.
1992.
Simple
Network
Time
Protocol.
http://www.ietf.org/rfc/rfc1361.txt [Accedido en marzo 2012].
Disponible
en:
RFC2136. 1997. Dynamic Updates in the Domain Name System. Disponible en:
http://www.ietf.org/rfc/rfc2136.txt [Accedido en marzo 2012].
RFC2251. 1997. Lightweight Directory Access Protocol (v3).
http://www.ietf.org/rfc/rfc2251.txt [Accedido en marzo 2012].
Disponible en:
REFERENCIAS BIBLIOGRÁFICAS
70
RFC4120. 2005. The Kerberos Network Authentication Service (V5). Disponible en:
http://tools.ietf.org/rfc/rfc4120.txt [Accedido en marzo 2012].
RFC5905. 2010. Network Time Protocol Version 4: Protocol and Algorithms Specification.
Disponible en: http://tools.ietf.org/rfc/rfc5905.txt [Accedido en marzo 2012].
SAMBA.ORG. 2011. Samba4/HOWTO/Join a domain as a DC [En línea]. Samba.org.
Disponible
en:
http://wiki.samba.org/index.php/Samba4/HOWTO/Join_a_domain_as_a_DC
[Accedido en enero 2012].
SAMBA.ORG. 2012a. Migrating an Existing Samba3 Domain to Samba4 [En línea].
Samba.org.
Disponible
en:
https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO [Accedido en
febrero 2012].
SAMBA.ORG. 2012b. Release Notes about Samba4 [En línea]. Samba.org. Disponible en:
http://wiki.samba.org/index.php/Samba4/Releases/4.0.0beta1 [Accedido en junio
2012].
SAMBA.ORG.
2012c.
Samba4
[En
línea].
Samba.org.
Disponible
http://wiki.samba.org/index.php/Samba4 [Accedido en marzo 2012].
en:
SAMBA.ORG. 2012d. Samba4 HOWTO [En línea]. Samba.org. Disponible en:
http://wiki.samba.org/index.php/Samba4/HOWTO [Accedido en enero 2012].
SAMBA.ORG. 2012e. Samba eXPerience [En línea]. Samba.org. Disponible en:
http://sambaxp.org/ [Accedido en mayo 2012].
SAMBA.ORG. 2012f. Sitio Web Oficial de Samba [En línea]. Disponible en:
http://www.samba.org/ [Accedido en febrero 2012].
SAMÓN, R. P., VILLAZÓN, Y. P. & ABAD, A. M. 2009. Guía cubana para la migración
a SWL. Disponible en: http://es.scribd.com/doc/17779155/Guia-Cubana-Migraciona-Software-Libre [Accedido en marzo 2012].
SIMMONS, C. 2001. Active Directory Bible. IDG Books Worlwide, Inc.
SORCE, S. 2006. LDB and LDAP server in Samba4. Disponible
http://sambaxp.org/fileadmin/user_upload/media/07_-_simo_sorce__samba_team_-_ldb_and_the_ldap_in_samba4.pdf [Accedido en abril 2012].
en:
STANEK, W. R. 2003. Microsoft Windows Server 2003 Administrator's Pocket
Consultant. Microsoft Press.
TECNOLOGÍAPYME. 2010. Cómo elegir una distribución linux para nuestra empresa
entre
las
basadas
en
Debian
[En
línea].
Disponible
en:
http://www.tecnologiapyme.com/software/como-elegir-una-distribucion-linux-paranuestra-empresa-entre-las-basadas-en-debian [Accedido en marzo 2012].
GLOSARIO
71
GLOSARIO
Eclipse RCP Es una plataforma para construir y desplegar aplicaciones de cliente
enriquecido. Incluye Equinox, un marco de componentes basado en el
estándar OSGi.
DEB
Es la extensión del formato de paquetes de software de Debian y derivadas
(ejemplo Ubuntu). Los paquetes deb son archivos ar estándar de Unix que
incluyen dos archivos tar en formato gzip, bzip2 o lzma: uno de los cuales
alberga la información de control y el otro los datos.
DLZ
Dynamically Loadable Zones es un parche para la versión 9 del servidor
DNS Bind, que simplifica la administración, reduce el uso de memoria y el
tiempo de arranque. DLZ permite almacenar la zona DNS en una base de
datos, por ejemplo OpenLDAP y LDB, al igual que Microsoft Active.
GIT
Es un software de control de versiones diseñado por Linus Torvalds,
pensando en la eficiencia y la confiabilidad del mantenimiento de versiones
de aplicaciones cuando estas tienen un gran número de archivos de código
fuente.
GENSEC
Creado para replicar SSPI sobre Windows en usos generalizados. Permite a
Samba4 usar la misma implementación de los protocolos de autenticación de
los desarrolladores de Samba.
GNOME
Es un entorno de escritorio e infraestructura de desarrollo para sistemas
operativos Unix y derivados como GNU/Linux, BSD o Solaris; compuesto
enteramente por software libre.
GPL
GNU General Public License, en español Licencia Pública General de GNU.
Es una licencia creada por la Free Software Foundation en 1989 (la primera
versión, escrita por Richard Stallman), y está orientada principalmente a
GLOSARIO
72
proteger la libre distribución, modificación y uso de software. Su propósito
es declarar que el software cubierto por esta licencia es software libre y
protegerlo de intentos de apropiación que restrinjan esas libertades a los
usuarios.
GSSAPI
Generic Security Services Application Program Interface, también conocido
como GSS-API, es una interfaz de programación de aplicación (API) para
usar sistemas de seguridad de forma genérica. GSSAPI es un estándar de la
IETF que aborda el problema que implica la existencia en la actualidad de
muchos sistemas de seguridad similares pero incompatibles. El sistema de
seguridad más común que se utiliza mediante GSSAPI es Kerberos.
HDB
Se emplea como backend. Dentro de Heimdal, hay una capa de abstracción
que separa la contraseña del resto de la implementación de Kerberos. En el
código sin modificar, esto permite a los administradores elegir entre un
backend LDAP o una simple base de datos.
LGPL
GNU Lesser General Public License, en español Licencia Pública General
Reducida de GNU. Es una licencia de software creada por la Free Software
Foundation que pretende garantizar la libertad de compartir y modificar el
software cubierto por ella, asegurando que es libre para todos sus usuarios.
La principal diferencia entre la GPL y la LGPL es que la última puede
enlazarse a (en el caso de una biblioteca, “ser utilizada por”) un programa
no-GPL, que puede ser software libre o software no libre.
MIT
Massachusetts Institute of Technology, en español Instituto Tecnológico de
Massachusetts, es una institución de educación superior privada situada en
Cambridge, Massachusetts (Estados Unidos).
NSS
Name Service Switch provee una interfaz para configurar y acceder a
diferentes bases de datos de cuentas de usuarios y claves.
NTFS
New Technology File System es un sistema de archivos de Windows NT
incluido en las versiones de Windows 2000, Windows XP, Windows Server
2003, Windows Server 2008, Windows Vista y Windows 7. Está basado en el
sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativo
GLOSARIO
73
OS/2, y también tiene ciertas influencias del formato de archivos HFS
diseñado por Apple.
NTLMSSP
NT LAN Manager Security Support Provider es una envoltura genérica del
protocolo de autenticación NTLM, abarcando opciones de negociación y un
motor de encriptación. Es un protocolo de mensajería usado por Microsoft
para facilitar el reto y respuesta de la autenticación NTLM.
PAC
Privilege Attribute Certificate, contiene varios tipos de datos de autorización
incluyendo los grupos de los usuarios, los derechos que tienen y que
políticas se aplican al usuario. Cuando un cliente recibe un ticket de
Kerberos, la información contenida en el PAC es usada para generar el
acceso del usuario al token.
PAM
Pluggable Authentication Module es un mecanismo de autenticación flexible
que permite abstraer las aplicaciones y otro software del proceso de
identificación.
PATH
Es una variable del Shell de GNU/Linux que se encarga de almacenar la ruta
de los directorios que contienen los ejecutables de los programas instalados
en el sistema tanto para los servicios (sbin) o de las herramientas para
usuarios (bin).
Python
Es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en
una sintaxis muy limpia y que favorezca un código legible. Se trata de un
lenguaje de programación multiparadigma ya que soporta orientación a
objetos, programación imperativa y, en menor medida, programación
funcional.
SRV
Service record, en español entrada de Servicio, es una especificación de
datos en el Sistema de Nombres de Dominio que define la localización por
ejemplo de una computadora y el número del puerto, de servidores para
servicios especificados.
SSO
Single Sign On es un procedimiento de autenticación que habilita al usuario
para acceder a varios sistemas con una sola instancia de identificación. Su
GLOSARIO
traducción
literal
sería
“sistema
74
centralizado
de
autenticación
y
autorización”.
SSPI
Security Support Provider Interface es una API usado por los sistemas de
Microsoft Windows para ejecutar una variedad de operaciones relacionadas
con la seguridad como la autenticación.
TDB
Trivial Database, es usada dentro de Samba, provee buena eficiencia en las
tablas hash, basado en memoria compartida para el almacenamiento de los
valores de los pares de claves. TDB soporta multitarea y transacciones.
ANEXOS
75
ANEXOS
Anexo I
Compilación del servidor DNS Bind9.8.1
Nota: en versiones recientes de Debian y Ubuntu puede que no sea necesario compilarlo.
1. Descargar el Bind desde la web oficial: http://www.isc.org/products/BIND/bind9.html
2. Descomprimir el tarball (archivo comprimido)
# tar -zxvf bind-9.8.1.tar.gz
# cd bind-9.8.1
3. Instalar las dependencias necesarias
# apt-get install openssl libkrb5-dev libssl-dev
4. Configuración de las opciones de compilación
# ./configure --sysconfdir=/etc/bind --with-gssapi=/usr/include/gssapi
--with-dlopen=yes --enable-threads
5. Instalación
# make
# make install
6. Configuración adicional
Consiste en crear el usuario y grupo bind, necesarios para el establecimiento de los
permisos; copiar los archivos de configuración hacia /etc/bind. También se genera el
archivo rndc.key para la replicación entre servidores DNS Bind y el script de inicio. Para
ello descomprimir el archivo install_bind9_config.tar.gz (creado por el autor de este
trabajo) que acompaña este Trabajo de Diploma:
# tar -zxvf install_bind9_config.tar.gz
# cd install_bind9_config
# ./install_bind9_config
ANEXOS
Anexo II
Scritp de inicio (init script) para Samba4
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Should-Start:
# Should-Stop:
# Short-Description:
### END INIT INFO
samba
$network $local_fs $remote_fs
$network $local_fs $remote_fs
2 3 4 5
0 1 6
slapd
slapd
start Samba daemon (samba)
PIDDIR=/usr/local/samba/var/run
SAMBADPID=$PIDDIR/samba.pid
# clear conflicting settings from the environment
unset TMPDIR
# See if the daemons are there
test -x /usr/local/samba/sbin/samba || exit 0
# Starting init-fuctions for Debian -shell script
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting Samba daemons"
# Make sure we have our PIDDIR, even if it's on a tmpfs
install -o root -g root -m 755 -d $PIDDIR
SAMBA_DISABLED=`testparm -s --parameter-name='disable netbios'
2>/dev/null`
if [ "$SAMBA_DISABLED" != 'Yes' ]; then
log_progress_msg "samba"
if ! start-stop-daemon --start --quiet --oknodo --exec
/usr/local/samba/sbin/samba -- -D
then
log_end_msg 1
exit 1
fi
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping Samba daemons"
log_progress_msg "samba"
start-stop-daemon --stop --quiet --pidfile $SAMBADPID
# Wait a little and remove stale PID file
sleep 1
76
ANEXOS
77
if [ -f $SAMBADPID ] && ! ps h `cat $SAMBADPID` > /dev/null
then
# Stale PID file (samba was succesfully stopped),
# remove it (should be removed by samba itself IMHO.)
rm -f $SAMBADPID
fi
log_end_msg 0
;;
reload)
log_daemon_msg "Reloading /usr/local/samba/etc/smb.conf "
start-stop-daemon --stop --signal HUP --pidfile $SAMBADPID
log_end_msg 0
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/samba4 {start|stop|reload|restart|forcereload}"
exit 1
;;
esac
exit 0
# End of Script
Para ejecutar el script al inicio del sistema:
1) Copie el contenido anterior en un archivo llamado samba4 y guárdelo en /etc/init.d/
2) Asígnele permisos de ejecución a dicho archivo:
# chmod
755 /etc/init.d/samba4
3) Actívelo para que inicie con el sistema:
# cd /etc/init.d/
# update-rc.d samba4 defaults
ANEXOS
Anexo III
78
Pasos para la instalación de Samba4 como DC de AD
1. Configuración del sistema de archivos
Para habilitar las características avanzadas de Samba4 es necesario que el sistema de
archivos soporte los atributos xattr “user” y “system”, y las ACLs para ello incluir en el
archivo /etc/fstab la opción “user_xattr,acl”, ejemplo:
/dev/sda1
/
ext4
errors=remount-ro,user_xattr,acl 1
1
Luego reinicie el servidor para aplicar los cambios o mediante root ejecute:
# sudo mount -a
2. Descargar Samba4
Mediante el repositorio git (disponible en la UCLV)
# git clone http://10.12.3.19/samba-master/samba.git samba-master
# cd samba-master
A través de los comandos anteriores se ha creado un repositorio local y luego se ha
accedido a él. Para actualizarlo frecuentemente:
# git pull
Es posible instalar Samba4 mediante el tarball disponible en:
http://ftp.samba.org/pub/samba/samba4
3. Compilación
En los sistemas operativos Debian GNU/Linux y Ubuntu Server se debe instalar:
# apt-get install build-essential libattr1-dev libblkid-dev libgnutls-dev
libreadline-dev python-dev autoconf python-dnspython gdb pkg-config bind9utils
libpopt-dev krb5-config krb5-user libacl1-dev acl dnsutils
Compilando:
Ir al directorio donde se clonó el repositorio o descompactó el tarball y ejecutar:
# ./configure.developer --with-syslog --with-logfilebase=/var/log/samba
--with-acl-support
# make
Se ha preparado Samba para que habilite el soporte de logs y ACLs.
ANEXOS
79
4. Instalación
# make install
El comando anterior instala Samba4 en /usr/local/samba opción por defecto del script
configure. Dado que esta versión se encuentra en desarrollo en necesario crear un script
para iniciar el servicio con el arranque del sistema. (Anexo II)
Para correr los servicios y las herramientas de Samba4 se debe modificar la variable PATH
del sistema y agregar la ubicación de dichos archivos:
1) Editar:
# nano /root/.bashrc
2) Agregar al final:
PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin
3) Aplicar los cambios:
# cd /root
# . .bashrc
5. Provison Samba
Antes de realizar el provision asegúrese que el archivo /etc/hosts contenga algo similar a
(recuerde sustituir con sus datos):
10.12.2.63 sambaAD3.uclv3.cu
sambaAD3
A continuación se configura el servidor para que actúe como controlador de dominio, el
nombre del dominio que se crea es uclv3.cu:
# provision --realm=uclv3.cu --domain=UCLV3 --adminpass=S0m3*S7r0ngPa$$
--server-role=dc
6. Configuración del DNS
En este punto se considera que usted tiene instalado el servidor DNS bind9.8.1 (puede
emplear también la versión 9.9.x).
En la configuración del DNS es necesario habilitar:
1) El backend DNS mediante el complemento DLZ:
Agregar en el archivo de configuración específica del servidor Bind ubicado en
/etc/bind/named.conf.local la siguiente línea:
ANEXOS
80
include "/usr/local/samba/private/named.conf";
2) Las actualizaciones dinámicas de DNS:
En el archivo de opciones genéricas /etc/bind/named.conf.options entre las “{ }”
inserte:
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
Finalmente reinicie el servicio:
# /etc/init.d/bind9 restart
Para ver los logs del sistema asociados con el bind9 teclee:
# tail –f /var/log/syslog
o
# tail –f /var/log/daemon.log
7. Configuración del cliente Kerberos
Sustituya el archivo de configuración de Kerberos por el que se encuentra en
/usr/local/samba/private:
# mv /etc/krb5.conf{,.orig}
# cp /usr/local/samba/private/krb5.conf /etc
Luego ábralo y remplace la palabra “${REALM}”, si aparece, por el nombre del dominio,
en este caso: UCLV3.CU
8. Configuración del servidor de tiempo
Edite el archivo de configuración localizado en /etc/ntp.conf y agregue:
# To talk with another NTP server, if no exist comment it
server 10.12.1.50
# Using the hardware clock
server 127.127.1.1
fudge 127.127.1.1
stratum 12
# For singned packets
ntpsigndsocket /usr/local/samba/var/run/ntp_signd/
restrict default mssntp
ANEXOS
81
Debe comentar las líneas que comiencen con “server”. Después de salvados los cambios,
reinicie el servicio:
# /etc/init.d/ntp restart
9. Iniciando Samba4
Para iniciar el servicio manualmente:
# /etc/init.d/samba4 start
Para pararlo o reiniciarlo sustituya start por stop o restart respectivamente.
En caso de que desee comprobar el funcionamiento de Samba4 ejecute:
# samba -i -M single -d2
o mediante gdb:
# gdb –args samba -i -M single -d2
10. Comprobación de los servicios
Samba shares
Para comprobar el acceso a los recursos compartidos del servidor, pueden listarse mediante:
# smbclient -L localhost
-U%
Para conectarse a un recurso en específico:
# smbclient //localhost/netlogon -Uadministrator
Los recursos compartidos se definen en el archivo /usr/local/samba/etc/smb.conf por
ejemplo:
[Documents]
path=/home/documents
read only = no
Finalmente hay que reiniciar los servicios:
# /etc/init.d/samba4 restart
DNS
Las entradas DNS asociadas con el controlador de dominio se pueden chequear mediante:
# host -t SRV _ldap._tcp.uclv3.cu.
ANEXOS
82
_ldap._tcp.uclv3.cu has SRV record 0 100 389 sambaad3.uclv3.cu.
# host -t SRV _kerberos._udp.uclv3.cu.
_kerberos._udp.uclv3.cu has SRV record 0 100 88 sambaad3.uclv3.cu.
# host -t A sambaAD3.uclv3.cu.
sambaAD3.uclv3.cu has address 10.12.2.62
En caso de presentarse problemas puede revisar los logs del sistema.
Kerberos
El método más sencillo consiste en obtener el ticket de Kerberos de un usuario y luego
listarlo:
# kinit [email protected]
# klist
Depuración de actualizaciones dinámicas
Las actualizaciones de DNS funcionan de forma automática a través del archivo
/usr/local/samba/private/dns_update_list; éste contiene una lista de entradas DNS que
Samba intenta actualizar dinámicamente en el inicio del servidor y cada 10 minutos
después. El proceso es realizado a través del script samba_dnsupdate que si instala junto
con Samba4, este script lee la información desde /usr/local/samba/private/dns_update_list.
Para depurar el proceso:
# samba_dnsupdate --verbose
ANEXOS
Anexo IV
83
Pasos para unir Samba4 como DC adicional en dominio existente
1. Sigua los pasos del 1 al 4 del Anexo III.
2. Configuración del cliente Kerberos
Sustituya el archivo de configuración de Kerberos por el siguiente contenido:
[libdefaults]
default_realm = UCLV4.CU
dns_lookup_realm = false
dns_lookup_kdc = true
Procedimiento:
# mv /etc/krb5.conf{,.orig}
# nano /etc/krb5.conf
Luego ábralo y sustituya la palabra “${REALM}”, si aparece, por el nombre del dominio,
en este caso: UCLV3.CU
3. Sincronización de tiempo con el DC primario
Para que el proceso de unión al dominio sea exitoso debe existir sincronización de tiempo
entre el DC de Windows y el nuevo que se va a unir (Samba4). Para sincronizar
instantáneamente se puede utilizar el paquete ntpdate y para sincronizaciones periódicas
ntp.
# apt-get install ntpdate
# ntpdate msad2k3.uclv4.cu
Configuración del servidor de tiempo:
Si va a utilizar ntp como servidor NTP, pude desinstalar ntpdate.
Edite el archivo de configuración localizado en /etc/ntp.conf y agregue:
# To talk with another NTP server, if no exist comment it
server msad2k3.uclv4.cu
# Using the hardware clock
server 127.127.1.1
fudge 127.127.1.1
stratum 12
ANEXOS
84
# For singned packets
ntpsigndsocket /usr/local/samba/var/run/ntp_signd/
restrict default mssntp
Debe comentar las líneas que comiencen con “server”. Después de salvados los cambios,
reinicie el servicio:
# /etc/init.d/ntp restart
4. Comprobación de la configuración de Kerberos
El método más sencillo consiste en obtener el ticket de Kerberos de un usuario y luego
listarlo:
# kinit [email protected]
# klist
5. Configuración de Samba4 como DC adicional en un dominio Windows
Antes de realizar el proceso asegúrese que el archivo /etc/hosts contenga algo similar a
(recuerde sustituir con sus datos):
10.12.2.69 samba1.uclv4.cu
samba1
Debe comprobar que la configuración DNS de los siguientes archivos del servidor Linux
apunte al DC de Windows:
/etc/resolv.conf:
search uclv4.cu
nameserver 10.12.2.68
# Windows DC IP address
nameserver 10.12.2.69
# This machine
/etc/network/interfaces:
dns-nameservers 10.12.2.68 10.12.2.69
dns-search uclv4.cu
Para unir Samba4 como DC adicional en un dominio existente teclear:
# samba-tool domain join uclv4.cu DC -Uadministrator --realm=uclv4.cu
Sólo resta iniciar Samba4 según lo explicado en el paso 9 del Anexo III. En caso de que se
muestre un mensaje parecido al siguiente en los logs de Samba:
ANEXOS
85
UpdateRefs failed with WERR_DS_DRA_BAD_NC/NT code 0xc00020f8 for 5344d0a6-78a14758be69-66d933f1123._msdcs.uclv2.cu CN=RID Manager$,CN=System,DC=uclv2,DC=cu
Para solucionarlo ejecute:
# samba-tool drs kcc -Uadministrator msad2k3.uclv4.cu
6. Comprobación de la replicación de información entre los controladores
Para comprobar si la replicación está funcionando correctamente puede emplear el
siguiente comando:
samba-tool drs showrepl
También puede crear usuarios tanto el controlador de dominio de Windows o Samba4 y
cambiar sus atributos para chequear si la replicación está funcionando.
7. Configuración del DNS
Es posible que en algunos casos la replicación de la partición DNS (DomainDnsZones y
ForestDnsZones) no funcione correctamente, por lo que es necesario replicarla
manualmente mediante:
# samba-tool drs replicate samba1.uclv4.cu msad2k3.uclv4.cu
DC=DomainDnsZones,DC=uclv4,DC=cu --local
# samba-tool drs replicate samba1.uclv4.cu msad2k3.uclv4.cu
DC=ForestDnsZones,DC=uclv4,DC=cu --local
Donde samba1.uclv4.cu y msad2k3.uclv4.cu son los DCs destino y fuente respectivamente;
uclv4.cu es el dominio en el que se va a replicar información y la opción --local guarda la
información replicada en la base de datos local del DC destino.
Es necesario esperar un breve tiempo y luego comprobar a través del comando mencionado
en el paso 6 si la replicación tuvo éxito. Luego ejecutar el siguiente comando para crear el
directorio de trabajo del servidor DNS Bind:
# samba_upgradedns
Finalmente seguir el paso 6 del Anexo III para configurar Bind9.8.1 con el complemento
DLZ y las actualizaciones dinámicas de DNS.
ANEXOS
Anexo V
Aval
86

Documentos relacionados