19
Samba 4: Controlador Active Directory parte 1 de 3 Sin duda, Active Directory es la característica más atractiva a la hora de decidirnos por Windows Server como servidor de nuestra red local. El conjunto de servicios y utilidades que ofrece para la gestión de usuarios y equipos permite una gestión tremendamente productiva, especialmente si trabajamos con clientes Windows. Por otro lado Samba, la implementación para el mundo Linux del protocolo CFIS de Windows, permitía hasta la fecha implantar un servidor de dominio NT, que aunque permite la autenticación centralizada, quedaba muchos pasos atrás respecto las funcionalidades de cualquier Windows Server de 2003 hacia adelante. Pero, ahora la nueva versión de Samba, Samba 4, permite implementar un DC (Domain Controller) basado en Active Directory. En este primer post, vamos a documentar la instalación de Samba 4, en este caso sobre un Ubuntu Server 12.04 y vamos a agregar un cliente al dominio. En los posts siguientes, seguiremos con la configuración de nuestro directorio activo y con el despliegue de directivas de grupo. En primer lugar configuraremos la red de nuestro futuro servidor, editando el archivo/etc/network/interfaces (trabajaremos a lo largo del post con privilegios elevados, por tanto, iniciaremos sesión como root o haremos sudo su):

Samba 4 Ubuntu 12.04 - Active Directory

Embed Size (px)

Citation preview

Samba 4: Controlador Active Directory parte 1 de 3

Sin duda, Active Directory es la característica más atractiva a la hora de

decidirnos por Windows Server como servidor de nuestra red local. El

conjunto de servicios y utilidades que ofrece para la gestión de usuarios y

equipos permite una gestión tremendamente productiva, especialmente si

trabajamos con clientes Windows.

Por otro lado Samba, la implementación para el mundo Linux del protocolo

CFIS de Windows, permitía hasta la fecha implantar un servidor de dominio

NT, que aunque permite la autenticación centralizada, quedaba muchos

pasos atrás respecto las funcionalidades de cualquier Windows Server de

2003 hacia adelante. Pero, ahora la nueva versión de Samba, Samba 4,

permite implementar un DC (Domain Controller) basado en Active

Directory.

En este primer post, vamos a documentar la instalación de Samba 4, en

este caso sobre un Ubuntu Server 12.04 y vamos a agregar un cliente al

dominio. En los posts siguientes, seguiremos con la configuración de

nuestro directorio activo y con el despliegue de directivas de grupo.

En primer lugar configuraremos la  red de nuestro futuro servidor, editando

el archivo/etc/network/interfaces (trabajaremos a lo largo del post con

privilegios elevados, por tanto, iniciaremos sesión como root o

haremos sudo su):

Observamos como configuramos como primer servidor de nombres el

propio equipo, como secundario elegimos alguno que nos permita acceder

a Internet (el de nuestro ISP o el público de Google en este caso).

A continuación instalaremos el servicio NTP (Network Time Protocol) para

asegurar que nuestro equipo siempre tenga la hora correcta (el

funcionamiento de Kerberos exige que los equipos estén sincronizados en

cuanto la hora). Para instalar el servicio:

# apt-get install ntp

Una vez instalado, configuraremos el servicio para elegir el servidor horario

de nuestra preferencia, en nuestro caso, elegimos los servidores ubicados

en España. Así mismo, habilitamos el servicio para que nuestra red pueda

consultar la hora al servidor (podemos consultar los servidores disponibles

en la página de NTP project.

A continuación procederemos a instalar Samba 4. Aunque se puede

descargar como paquete ya construido mediante apt-get, la página de

Samba recomienda bajar las fuentes y compilarlas. De hecho, si se intenta

bajar el paquete del repositorio da un error a media instalación ( en algunos

blogs comentan cómo seguir la instalación a partir de ese punto).

En primer lugar, nos bajamos los archivos necesarios o prerequisitos:

# apt-get install build-essential libacl1-dev python-dev libldap2-dev pkg-

config gdb libgnutls-dev libreadline-dev libattr1-dev python-dnspython

libpopt-dev libbsd-dev attr docbook-xsl libcups2-dev git

Una vez finalizada la instalación, bajaremos la versión más reciente del

repositorio GIT:

# git clone git://git.samba.org/samba.git /usr/src/samba4/

Una vez finalizada la descarga procederemos a compilar:

# sudo ./configure –enable-debug

# make (gracias a luigdima por el aviso)

# make install

Y añadiremos el path de las carpeta bin y sbin de samba:

# export PATH=”/usr/local/samba/sbin:/usr/local/samba/bin:$PATH”

Ya tenemos el Samba instalado, ahora podemos proceder a la construcción

del dominio, para ello utilizaremos el comando samba-tool domain

provision y procederemos a rellenar los datos de nuestro dominio. En DNS

forwarder, pondremos la dirección IP del DNS que queremos que resuelva

las peticiones externas (reenviador).

En cuanto la password que nos solicita, deberá tener complejidad, caso

contrario nos pedirá una nueva contraseña, para las pruebas realizadas

hemos elegido P@ssw0rd (obviamente en producción debeis elegir una

contraseña más original   )

A continuación editaremos el archivo smb.conf (cuidado, que en lugar de

/etc/samba/, lo tenemos en /usr/local/samba/etc!!) y añadiremos la opción

que los clientes puedan actualizar su registro dns.

A continuación reiniciamos la máquina y cuando iniciamos sesión iniciamos

el servicio de samba: # /usr/local/samba/sbin/samba start

Ahora realizamos una prueba para comprobar que efectivamente funciona

el servicio de DNS:

Ahora probaremos el servicio Kerberos, para ello instalaremos la utilidad de

cliente:

# apt-get install krb5-user

Cuando nos pida el reino Kerberos, deberemos poner el que hemos

elegido, pero muy importante en mayúsculas! Una vez instalado

podemos testear por ejemplo la password de administrador:

Si todo funciona sin problemas, podemos seguir, pero si tenemos algún

problema deberemos reiniciar el proceso, para ello borraremos el archivo

smb.conf y procederemos a repetir el proceso de crear el dominio, pero

muy importante añadiendo el argumento –use-ntvfs al final y configurando

directamente con el comando los argumentos, por ejemplo:

# samba-tool domain provision –realm casa.local –domain CASA –

adminpass P@ssword –server-role=dc –use-ntvfs

Posteriormente en el archivo smb.conf añadiremos el dns forwarder y la

opción de update de los clientes.

Llegados a este punto, podemos probar a agregar un equipo al dominio, en

nuestro caso un Windows 7 Enterprise. Para ello, en la configuración de red

del cliente, pondremos como DNS la IP de nuestro servidor samba:

Ahora procederemos a agregar el equipo al dominio:

Comprobamos como el cliente se ha agregado correctamente al dominio:

Samba 4: Controlador Active Directory parte 2 de 3

En el post anterior vimos como crear un controlador de dominio de Active

Directory con Samba 4. En este segundo post, procederemos a administrar

dicho dominio y realizar algunas de las tareas básica ( creación de usuarios,

grupos, configuración de perfiles, etc.).

Aunque Samba 4 dispone de herramientas gráficas web como SWAT,

utilizaremos para administrar el dominio, el conjunto de herramientas

gratuitas que ofrece Microsoft, conocido como RSAT (Remote Server

Administration Tool). Dichas herramientas, disponibles tanto para Windows

7 como Windows 8, no permitirán gestionar nuestro controlador de dominio,

de forma idéntica a si estuviéramos delante de un Windows 2008R2 Server.

El primer paso será descargarnos de la página de Microsoft la versión RSAT

adecuada a nuestro equipo cliente. En nuestro caso, un Windows 7

Enterprise de 32 bits:

Una vez instalado el paquete de herramientas, procederemos a habilitar

aquellas que necesitemos, para ello deberemos ir a Panel de

Control, Programas y características,Activar características de Windows:

Aquí activaremos las herramientas de administración que sean necesarias,

en nuestro caso tendremos suficiente con la administración básica del AD y

la administración de políticas de grupo. Si posteriormente se necesitan

herramientas adicionales, siempre se pueden activar.

Una vez hemos activado las diferentes herramientas, vamos a comenzar a

administrar nuestro dominio. En primer lugar, abrimos Usuarios y Equipos

de Active Directory. En esta consola podemos crear OU, grupos, usuarios y

preaprovisionar máquinas al dominio. Aquí a modo de ejemplo, creamos

dos usuarios que llamaremos aduser1 yaduser2.

Vamos a crear ahora la carpeta en el servidor donde ubicaremos las

carpetas personales de los usuarios del dominio y a continuación

editaremos el archivo smb.conf (recordar que lo tenemos

en /usr/local/samba/etc para compartir dicho recurso. En el ejemplo que

estamos realizando voy a llamar a dicha carpeta Usuaris:

# mkdir /Usuaris

Una vez realizada esta acción, reiniciamos el servidor y volvemos a iniciar

el servicio de samba ( /usr/local/samba/sbin/samba start) para que los

cambios tengan efecto.

El siguiente paso es configurar los permisos de este nuevo recurso. Esto lo

haremos desde el cliente. Es muy importante recordar que debemos evitar

que un usuario tenga acceso a la carpeta personal de otro, para ello, es

necesario bloquear las herencias de los permisos de la carpeta Usuaris a las

carpetas hijas creadas en su interior. Para acceder desde el cliente a la

carpeta compartida utilizaremos el explorador de archivos.

Clicamos botón derecho sobre la carpeta, seleccionamos Seguridad y

elegimosOpciones Avanzadas. Eliminamos todos los permisos que aparecen

y procedemos ahora a crear los que necesitamos:

Administrator (administrador del dominio) tiene control total para esa

carpeta, subcarpetas y archivos.

Repetimos los mismos permisos para el grupo Domain Admins.

Elegimos idéntica configuración para SYSTEM.

A CREATOR OWNER (el usuario que crea un recurso) le damos control

total perosolo de subcarpetas y archivos.

Al grupo Domain Users les daremos permiso de Atravesar

carpeta/Ejecutar archivo, mostrar carpeta/leer datos, Crear

archivos/escribir datos y Cambiar permisos, perosolamente en esta

carpeta.

Toca ahora configurar el perfil de los usuarios definidos anteriormente para

que crear su carpeta personal. Para ello, desde la consol de Usuarios y

Equipos seleccionamos el usuario y en Propiedades -> Perfil escribimos la

ruta de su carpeta personal, utilizamos la variable de entorno %username%

que nos permitirá que usuarios nuevos creados a partir de copiar uno de los

anteriores, utilicen su nombre de usuario para crear la carpeta.

Si ahora iniciamos sesión en el cliente con uno de los usuarios, por

ejemplo aduser1comprobamos como nos aparece su carpeta personal.

Samba 4: Controlador Active Directory parte 3 de 3

En los post anteriores de esta serie, hemos visto cómo crear un DC

mediante Samba 4, realizando posteriormente el despliegue del dominio

utilizando las herramientas de RSAT de Microsof. En esta última

entrega,realizaremos la aplicación de directivas de grupo o GPO (Group

Object Policies).

La utilización de las GPO para administrar los diferentes objetos del dominio

es uno de los aspectos que hacen que los Active Directory sean apreciados

por los administradores de sistemas. El despliegue de dichas políticas desde

el controlador de dominio, facilitan de forma extrema la administración

tanto de los usuarios como de los equipos.

Una excelente y detallada explicación de las GPO la podeis encontrar en

este enlace, pero a mode de resumen rápido, sólo recordar que las GPO

tienen como ámbito (scope) de aplicación el dominio o una Unidad

Organizativa (OU), si bien es posible filtrar la aplicación de dicha política a

usuarios, equipos o grupos específicos.

A modo de ejemplo vamos a ver como mapear directamente a las carpetas

personales en red de los usuarios que se han creado en el servidor, la

carpeta de Mis Documentos que aparece en el perfil de cada usuario. De

esta manera, cuando un usuario guarde el archivo en Mis Documentos,

realmente lo está guardando en red y por tanto, verá ese documento

independientemente del equipo desde el cual inicie sesión.

Para aplicar las GPO en nuestro caso, desde el equipo cliente y validados

como administrador del dominio, abrimos la herramienta Administración de

directivas de grupo del conjunto RSAT que instalamos en el post anterior.

Creamos una nueva GPO y la vinculamos al dominio le ponemos un

nombre, por ejemplomapear, una vez creada clicamos con el botón

derecho y procedemos a editar:

Desplegamos el árbol de directivas hasta la opción deseada, configuración

de usuario -> Configuración de Windows -> Redirección de carpetas ->

Documentos y con el botón derecho seleccionamos Propiedades.

En Destino, marcamos la opción básica, la opción de crear una carpeta para

cada usuario en la ruta raíz y como ruta raíz, elegimos la ruta donde

tenemos las carpetas en red de los usuarios.

En Configuración marcamos la opción de Mover el contenido de

Documentos a la nueva ubicación.

Finalmente sobre la máquina cliente forzamos la actualización de las

directivasgpupdate/force y cerramos sesión.

Iniciamos sesión con un usuario del dominio y comprobamos como si vamos

a la ruta de red, aparece la carpeta Documentos creada en su carpeta

personal. A veces es necesario, reiniciar la sesión de usuario la primera vez

para que los cambios tengan efecto.

Comprobamos creando un archivo en la carpeta Documentos de

Bibliotecas, cómo este archivo realmente se crea en la carpeta en red y por

tanto estará disponible desde cualquier cliente del dominio.

 

A partir de aquí se puede aplicar cualquier tipo de directiva, tanto de equipo

como de usuario a los miembros del dominio.