ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT...

49
ÍNDICE 1. INTRODUCCIÓN A FREEIPA 2. VENTAJAS DE IMPLANTAR FREEIPA 2.1. VENTAJAS DE LA INTRODUCCIÓN DE KERBEROS 2.2. DESVENTAJAS DE LA INTRODUCCIÓN DE KERBEROS 3. COMPONENTES DEL SERVIDOR FREEIPA 3.1. 389 DIRECTORY SERVER (LDAP,back-end de datos) 3.2. MIT KERBEROS (núcleo de autenticación FreeIPA) a) ¿ COMO AUTENTICA KERBEROS? 3.3. NTP 3.4. DNS 3.5. DOGTAG (sistema de certificado) a) PKI b) CERTMONGER 4. PLANTEAMIENTO PARA LA MIGRACIÓN 4.1. CONSIDERACIONES Y REQUISITOS DE MIGRACIÓN 4.2. HERRAMIENTA DE MIGRACIÓN 5. RECOPILACIÓN DE DATOS MV 5.1. MV SERVIDOR FREEIPA 5.2. MV LDAP I.E.S FERNANDO AGUILAR QUIGNON 5.3. MV CLIENTE FREEIPA 5.4. MV SERVIDOR WEB 6. MIGRACIÓN DE LDAP A FREEIPA 6.1. ESTRUCTURA LDAP IMPLANTADA EN EL CENTRO 1 indice

Transcript of ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT...

Page 1: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

ÍNDICE

1.INTRODUCCIÓN A FREEIPA

2.VENTAJAS DE IMPLANTAR FREEIPA

2.1.VENTAJAS DE LA INTRODUCCIÓN DE KERBEROS

2.2.DESVENTAJAS DE LA INTRODUCCIÓN DE KERBEROS

3.COMPONENTES DEL SERVIDOR FREEIPA

3.1.389 DIRECTORY SERVER (LDAP,back-end de datos)

3.2.MIT KERBEROS (núcleo de autenticación FreeIPA)

a)¿ COMO AUTENTICA KERBEROS?

3.3.NTP

3.4.DNS

3.5.DOGTAG (sistema de certificado)

a)PKI

b)CERTMONGER

4.PLANTEAMIENTO PARA LA MIGRACIÓN

4.1.CONSIDERACIONES Y REQUISITOS DE MIGRACIÓN

4.2.HERRAMIENTA DE MIGRACIÓN

5.RECOPILACIÓN DE DATOS MV

5.1.MV SERVIDOR FREEIPA

5.2.MV LDAP I.E.S FERNANDO AGUILAR QUIGNON

5.3.MV CLIENTE FREEIPA

5.4.MV SERVIDOR WEB

6.MIGRACIÓN DE LDAP A FREEIPA

6.1.ESTRUCTURA LDAP IMPLANTADA EN EL CENTRO

1 indice

Page 2: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

6.2.AGREGACIÓN DE SCHEMAS A FREEIPA

6.3.ESTRUCTURA INTERNA DE FREEIPA

6.4.MIGRACIÓN

6.5.RESTRINGIR ACCESO WEB A USUARIOS

7.A CERCAR DE HOME DIRECTORIES

8.PERFIL USUARIOS , PROTOCOLO NFS KERBERIZADO

9.APLICACIÓN WEB

10.CONFIGURACIÓN DEL NAVEGADOR

10.1.CHROMIUM

10.2.FIREFOX

10.3.CHROME

ANEXO

¿QUE ES FREEIPA?

ADMINISTRACIÓN WEB UI Y CLI

INSTALACIÓN DEL SERVIDOR FREEIPA

INSTALACIÓN CLIENTE FREEIPA

KERBERIZAR APLICACIÓN WEB

KERBERIZAR NFS

REFERENCIAS

Realizado por : Juan Jurado Pérez

Ciclo Formativo : ASIR

2 indice

Page 3: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Centro : I.E.S Fernando Aguilar Quignon

1. INTRODUCCIÓN A FREEIPA

FreeIPA, es un proyecto de suite de software de código fuente libre mantenida por el Proyecto Fedora, patrocinada por RedHat, elnombre significa Identidad|Políticas|Auditoría Libre.

Está construido sobre componentes Open Source bien conocidos y basados en protocolos como 389 Directory Server, MIT Kerberos, NTP, DNS, Dogtag ,etc ,proporcionando un aspecto unificador.

Esta herramienta se utiliza para crear un controlador de dominio entre máquinas Linux y Unix ,por lo que no admite clientes Windows, pero si puede sincronizarse con un dominio de Active Directory para permitir la integración con servidores de Windows.

En FreeIPA se define el dominio y las máquinas del dominio, por loque se proporciona una estructura centralizada.Tiene por objetivo proveer un interfaz segura y sencilla para la administración de identidades y simplificar la sobrecarga administrativa.

Los usuarios, máquinas,servicios y políticas están configuradas enun solo lugar, con la misma herramienta, lo cual le permite al administrador gestionarlo en función de las necesidades que quieraadoptar.

El mayor acierto del proyecto es proveer una interfaz web de administración de identidades y la administración de los serviciosintegrados.

Realmente, FreeIPA no hace ninguna tarea que un administrador no pudiese realizar antes de su existencia, ya que lo único que hace es unir todas las herramientas y hacerlo mas fácil y cómodo.

3 indice

Page 4: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

2. VENTAJAS DE IMPLANTAR FREEIPA

➢ Integración de MIT Kerberos , el cual proporciona servicios de autenticación para todo el reino FreeIPA, para usuarios y otros componentes. El servidor Kerberos es una de las piedrasangulares de un servidor FreeIPA.

➢ Incorporación de SSSD ,este permite almacenar en caché los usuarios y credenciales, de modo que si el sistema local o elproveedor de identidades se desconectan, las credenciales delusuario siguen estando disponibles para que los servicios lasverifiquen , hasta la expiración de su boleto.

➢ Permite a todos los usuarios acceder a todas las máquinas conlas mismas credenciales y ajustes de seguridad.

➢ Uso de mecanismos avanzados de agrupación para restringir el acceso a servicios y ficheros sólo a usuarios específicos.

➢ Gestión centralizada de mecanismos de seguridad como contraseñas, claves SSH, reglas SUDO, Keytab o Reglas de Control de Acceso.

➢ Delegar tareas administrativas a otros usuarios mediante permisos .

2.1 VENTAJAS DE LA INTRODUCCIÓN DE KERBEROS

➢ Kerberos elimina la transmisión de información de autenticación a través de la red

➢ inicio de sesión único ( SSO )

➢ Involucra un terceros (kdc) , para la autenticacion.

2.1 DESVENTAJAS DE LA INTRODUCCIÓN DE KERBEROS

➢ Para que una aplicación use Kerberos, el código debe ser modificado para hacer las llamadas apropiadas a las libreríasde Kerberos. Las aplicaciones que son modificadas de esta forma son consideradas kerberizadas. Para algunas

4 indice

Page 5: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

aplicaciones, esto puede suponer un esfuerzo excesivo de programación, debido al tamaño de la aplicación o su diseño.

➢ Kerberos tiene requisitos de tiempo estrictos, lo que significa que los relojes de los hosts involucrados deben estar sincronizados dentro de los límites configurados.

➢ Complejidad al migrar las contraseñas.

➢ Cuando se habilita Kerberos, debe configurar los navegadores web para enviar sus credenciales de Kerberos al servicio cuando los usuarios inician sesión.

3. COMPONENTES DEL SERVIDOR FREEIPA

Freeipa destaca por poder gestionar todos los servicios en una simple interfaz Web. A continuación detallare los principales servicios que lo integran y sus funcionalidades .

3.1 389 DS

El directorio activo está constituido sobre un servidor LDAP, el cual se encarga de la gestión de identidades, autenticación basa en Kerberos, servicios de autorización y otras políticas.

Para hacer que la manipulación de las entradas sea más fácil, FreeIPA proporciona una interfaz CLI y Web para el usuario ,de forma que le resulte mas sencillo el manejo de las herramientas y la modificación de los datos.

Podemos destacar los siguientes aspecto:

•Protocolo ligero de acceso a directorios.

•base de datos optimizada de lectura jerárquica.

•consiste en objetos con atributos.

•Las consultas a LDAP se puede realizar usando el cliente ldapo usando kerberos .

5 indice

Page 6: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Uso del cliente LDAP

•Los enlaces anónimos están deshabilitados en la mayoría de los casos, por lo que debemos autenticarnos usando contraseña.

$ldapsearch \

-D uid=admin,cn=users,cn=accounts,dc=inf\ # Bind DN

-w admin123 \ #Password

-b dc=inf \ # Base DN

-h kerberos.inf \ # Host para enlazar

-ZZ \ # Usar y aplicar TLS

"(uid=juanjupe)" # Expresión de búsqueda

Usando kerberos

Para hacer una consulta a ldap mediante kerberos , como es obvio ,el servicio debe estar kerberizado , la consulta es la misma ,lo que destaca es que no debemos de ingresar contraseñas , ya anteriormente obtuvimos un ticket al realizar “Kinit <user>” ,tambien podríamos realizar las consultas con la herramienta administrativa “Apache Directory Studio” , ya que esta herramienta dispone del modulo GSSAPI.

$kinit admin@ INF

$ldapsearch -Y GSSAPI -b dc=inf -h kerberos.inf -ZZ "(uid= admin)"

6 indice

Page 7: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

una vez realizada la consulta podemos observar que obtenemos un ticket para el servicio ldap.

3.2 KERBEROS

Kerberos proporciona servicios de autenticación para todo el dominio de FreeIPA, para los usuarios, servicios y componentes.

Su función es permitir que en una red insegura ,poder demostrar las identidades de los clientes de forma segura. Para ello utilizaun sistema mediante tickets, los cuales se utilizan para demostrarla autenticidad de los usuarios.

El nombre de Kerberos proviene de la mitología griega , el perro guardián de tres cabezas de Hades . Es bastante apropiado, ya que se necesita un tercero (un Centro de distribución de claves) para autenticarse entre un cliente y un servicio o equipo host.

Básicamente, Kerberos se reduce a :

•un protocolo para autenticación.

•usa tickets para autenticarse.

•evita almacenar contraseñas localmente o enviarlas a través de Internet.

•involucra a un tercero de confianza (kdc).

•construido en la criptografía de clave simétrica.

7 indice

Page 8: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

•Sso es un procedimiento de autenticación que permite al usuario acceder a varios servicios con un solo inicio de sesión.

3.2.1 ¿COMO AUTENTICA KERBEROS?

El funcionamiento básico , consiste en:

➢ El cliente envía un mensaje al servidor (AS) que autentica los usuarios.

➢ Una vez autenticado, el servidor (TGS) le da un “ticket” al cliente válido por X tiempo , el cual incluye la información del cliente

➢ El cliente puede acceder a la red y a los recursos a los que su ticket le de acceso durante el tiempo que este sea válido.

8 indice

Page 9: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

3.3 NTP

Otro servicio que ofrece FreeIPA es NTP (Network Time Protocol)el cual es un protocolo de Internet para sincronizar los relojes de los sistemas que integran el dominio.

Es muy importante tener el reloj sincronizado en todas las máquinas integradas en el reino Kerberos, porque los tickets tienen marca de tiempo y una diferencia mínima de tiempo (máximo 5min ) puede generar graves problemas , tales como que no funcione el uso de tickects.

Si tiene problemas con kerberos, verifique que su reloj esté sincronizado con el reloj del servidor.

3.4 DNS

DNS son las iniciales de Domain Name System (sistema de nombres dedominio) y es una tecnología basada en una base de datos que sirvepara resolver nombres en las redes, es decir, para conocer la dirección IP de la máquina donde está alojado el dominio al que queremos acceder.

FreeIPA permite gestionar y servir registros DNS en el dominio utilizado la interfaz web o CLI.

La integración de DNS se basa en el proyecto bind9-dyndb-ldap, quemejora el servidor de nombres BIND para poder utilizar instancias LDAP.

Como era de esperar, su funcionamiento es a través de OpenSSL.

•Bind9 se usa como un servidor DNS

•usa el backend de LDAP para leer zonas y registros

•las zonas se pueden crear / actualizar a través de la web de FreeIPA, la API o mediante el uso de actualizaciones dinámicas

9 indice

Page 10: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

3.5 DOGTAG

El sistema de certificado de Dogtag es una autoridad de certificación de código abierta (CA) de clase empresarial , el cual integra dos servicios Pki y Certmonger .

3.5.a PKI

PKI firma y publica certificados para hosts y servicios de FreeIPA. La interfaz de gestión de FreeIPA proporciona una API para solicitar, mostrar y encontrar certificados.

Dado que los certificados utilizados por los hosts y servicios de los clientes de FreeIPA tienen una validez limitada, la infraestructura también necesita una renovación confiable de los certificados. Para tal fin, se ejecuta un daemon , Certmonger en todos los clientes y se encarga de la renovación de forma transparente para los servicios que lo utilizan.

3.5.b CERTMONGER

Es un demonio que supervisa los certificados y alerta de una inminente expiración.

4. PLANTEAMIENTO PARA LA MIGRACIÓN

En nuestro centro esta implantado un servidor LDAP para la autenticación de los usuarios y ahora deseamos migrar estos usuarios y grupos a Freeipa.

Para ello utilizaremos las herramientas de migración que nos suministra IdM para transferir cuentas de usuario, incluidas contraseñas y grupos, sin perdida de datos. Además, deseamos evitar costosas actualizaciones de configuración en los clientes.

10 indice

Page 11: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

La parte de la migración ,es decir ,el proceso de mover los datos de un servidor a otro no es muy complejo , solo tendremos que tener en cuenta algunos aspectos ,como schemas agregados ,estructura del DIT ,contraseñas ,etc .

Una consideración secundaria, pero significativa, es la planificación de cómo migrar las contraseñas. Identity Management requiere hashes de Kerberos para cada cuenta de usuario además de contraseñas.

Identity Management (de forma predeterminada) usa Kerberos para laautenticación y requiere que cada usuario tenga hashes de Kerberosalmacenados en Identity Management Directory Server además de las contraseñas de usuario estándar. Para generar estos valores hash, la contraseña del usuario debe estar disponible para el servidor IdM en texto sin cifrar.

Por lo tanto cuando el usuario se migra desde un directorio LDAP, la contraseña del usuario asociado ya está codificada, por lo que no se puede generar la clave Kerberos correspondiente.

Si un usuario no tiene un hash de Kerberos, ese usuario no puede iniciar sesión en el dominio de IdM, incluso si tiene una cuenta de usuario. Hay dos opciones para migrar contraseñas:

• Administrador resetee las contraseñas una a una.

• Usar la página web

Como es obvio , haremos que los usuarios accedan a la pagina web yrestauren su contraseña , este apartado lo trataremos en profundidad cuando realicemos la migración.

11 indice

Page 12: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

4.1 CONSIDERACIONES Y REQUISITOS DE MIGRACIÓN

Como estamos planificando una migración de un servidor LDAP a Identity Management,debemos de asegurarnos de que nuestro entorno LDAP pueda funcionar con el script de migración de Identity Management.

El proceso de migración desde un servidor LDAP a Identity Management usa un script especial,ipa migrate-ds para realizar la migración. Este script tiene ciertas expectativas sobre la estructura del directorio LDAP y las entradas LDAP para funcionar. La migración solo es compatible con los servicios de directorio compatibles con LDAPv3, los cuales son :

•Servidor de directorios Apache

•OpenLDAP

•Sun ONE Directory Server

4.2 HERRAMIENTA DE MIGRACIÓN

Identity Management utiliza un comando específico, ipa migrate-ds para conducir el proceso de migración, de manera que los datos deldirectorio LDAP estén formateados correctamente e importados limpiamente en el servidor IdM. Cuando se utiliza ipa migrate-ds, el usuario administrador del sistema remoto, especificado por la opción --bind-dn, debe tener acceso de lectura al atributo userPassword, de lo contrario las contraseñas no se migrarán.

El servidor de Identity Management debe estar configurado para ejecutarse en modo de migración y luego se puede usar el script demigración.

Para ello deberemos de activarlo mediante la WEB o mediante linea de comando , este apartado lo veremos más tarde.

12 indice

Page 13: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

5.RECOPILACIÓN DE DATOS MV

Para poner en practica toda la teoría anterior , vamos a utilizar para ello el software de virtualización Virtualbox , con el cual podremos simular la infraestructura implantada en el centro I.E.S FERNANDO AGUILAR QUIGNÓN .

Principalmente dispondremos de cuatro maquinas virtuales. Una dedica como servidor en la cual estará instalado FREEIPA, otra conLDAP de la cual haremos la migración a Freeipa , un cliente para poder realizar las pruebas y por ultimo y no menos importantes una dedicada como servidor web , la cual suministrara servicio a una aplicación WEB , a continuación detallare las característicasde cada maquina virtual.

5.1 MV SERVIDOR FREEIPA

Sistema: Ubuntu server 16.04.4 LTS

Memoria RAM: 1 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Adaptador Puente (DHCP)

Tarjeta de red 2 : Red Interna

5.2 MV LDAP IES FERNANDO AGUILAR QUIGNON

Sistema: Ubuntu server 16.04.4 LTS

Memoria RAM: 1 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Adaptador Puente (DHCP)

5.3 MV CLIENTE FREEIPA

Sistema: Ubuntu Desktop 16.04 LTS

Memoria RAM: 2 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Red Interna

13 indice

Page 14: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

5.4 MV SERVIDOR WEB

Sistema: Ubuntu Desktop 16.04 LTS

Memoria RAM: 2 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Adaptador Puente (DHCP)

Tarjeta de red 2 : Red Interna

6. MIGRACIÓN DE LDAP A FREEIPA

Migración es el proceso por el cual grandes volúmenes de datos sontrasladados desde sistemas existentes hacia sistemas nuevos.

6.1 ESTRUCTURA LDAP IMPLANTADA EN EL CENTRO

Para el desarrollo de este proyecto , lo primero que debemos de conocer es como esta organizado el árbol LDAP que se encuentra presente en el centro , para poder adaptarlo a Freeipa.

Una vez que conocemos su organización , la cual la mostraré a continuación , pasaremos a realizar la migración de dichos usuarios y grupos a Freeipa manteniendo todos sus atributos y clases.

El árbol se estructura siguiendo la siguiente secuencia.

14 indice

Page 15: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Partiendo desde la base , podemos observar que el dominio es INF ,el cual se ramificada en ;

Por un lado tenemos una unidad organizativa llamada “grupos” la cual integra los grupos de usuarios ,divididos en función del ciclo formativo al que pertenecen.

Es decir su DN (dirección absoluta) , seria siguiendo la siguientesecuencia :”cn=*,ou=grupos,dc=inf”

Por otro lado tenemos otra unidad organizativa llamada “people” ,la cual agrupa a los usuarios en función al ciclo formativo al quepertenecen,desde mi punto de vista lo ideal seria , que todos los usuarios estuviesen en una misma unidad organizativa , pero su administración podría ser un poco engorrosa , este problema lo solventaremos con Freeipa.

cuyo DN seria :”uid=*,ou=asir,ou=people,dc=inf”.

Bien , una vez que conocemos como se estructura el DIT, tenemos que plantear como migrar los usuarios a FREEIPA.

15 indice

Page 16: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Freeipa tiene una estructura interna diferente a la implantada en el centro, su estructura ha sido diseñada para facilitar la vida al administrador , de modo que tendremos que adaptarla a ella.

Hay que destacar que el DIT de nuestro centro, tiene atributos agregados , es decir nuestra compañera de años atrás , en su proyecto desarrollo dos schemas , los cuales fueron agregados al DIT y hay que tener esto en cuenta a la hora de migrar los usuarios y grupos , ya que si freeipa no dispone de estos atributos , fallará la migración.

Ahora pasaremos al despliegue de freeipa , comentare un poco por encima el comando para la instalación de Freeipa Server , pero encontrareis en el anexo su instalación completa , en este enlace podéis encontrar mas información sobre las dependencias que tiene este paquete que vamos a instalar LINK.

El comando para su instalación es simple :

$ipa-server-install

Este paquete incluye todas las dependencias necesarias para su funcionamiento.

Una vez instalado podemos observar , que hay 4 servicios ya creados por defecto los cuales están kerberizados y son

El servicio de DNS , se encuentra o no dependiendo si lo configuraste en su instalación.

16 indice

Page 17: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

podemos encontrar sus keytab para dichos servicios en los siguientes directorios.

Una vez ya desplegado el servidor lo primero que debemos hacer es agregar los schemas ,con ello conseguimos poder mapear correctamente los atributos de nuestro DIT LDAP a Freeipa.

Estos schemas sirven para agregar nuevos atributo a los usuarios, dichos schemas son uno para Quotas y otro para las Fechas.

6.2 AGREGACIÓN DE SCHEMAS A FREEIPA

Para comenzar debemos de conocer cual es la ubicación de los schemas en freeipa .

Estos se almacenan en el siguiente directorio “/usr/share/ipa” ,ahora debemos de copiar los schemas aquí ,es decir los ficheros ldif , comentar que los he tenido que adaptarlo a freeipa , los cuales podemos observar a continuación.

SCHEMA QUOTA

17 indice

Page 18: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

SCHEMA FECHA

El siguiente paso sera cargarlos en nuestro Directorio Activo , para ello Freeipa proporciona un comando para realizar esta tarea , el cual podemos encontrar en su manual.

Para poder cargarlos lo haremos con el usuario administrador de freeipa “admin” , basta con obtener las credenciales de kerberos mediante “Kinit <user>”

NOTA:

Para poder realizar tareas administrativas es necesario haber instalado el paquete “freeipa-admintools” , en el paquete de la instalación del servidor si lo integra , pero cuando instalamos elcliente no.

Una vez que obtenemos el tickect o boleto ya podremos hacer uso del comando “ipa” , solo podrá ser usada por usuarios con privilegios de administración.

A continuación ejecutaremos el siguiente comando en el cual debemos especificar la ubicación de nuestro fichero ldif, el cual agregamos anteriormente en el almacén de schemas.

$ipa-ldap-updater --schema-file /usr/share/ipa/quota.ldif

hacemos lo mismo con el de fecha de nacimiento

$ipa-ldap-updater --schema-file /usr/share/ipa/fnac.ldif

18 indice

Page 19: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Para comprobar que efectivamente disponemos de los nuevos atributos podemos acceder al DIT , mediante ,por ejemplo Apache Directory Studio con las credenciales de kerberos y agregar por ejemplo fnac aun usuario , que no disponga de este atributo.

Estas eran una de las prioridades que debíamos de cumplir , mantener los mismos atributos.

El siguiente paso que realizaremos es la migración de los usuarios. Para ello es necesario conocer como se estructura el DITde Freeeipa , el cual lo veremos a continuación.

6.3 ESTRUCTURA INTERNA DE FREEIPA

Freeipa almacena a los usuarios , grupos y host bajo “cn=accounts,dc=inf” , para facilitar su administración.

Algo que me parece interesante comentar es que observando el DIT y documentandome , podemos observar que una instancia de FreeIPA contiene dos backends principales: UserRoot e ipaca .

19 indice

Page 20: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Ipaca contiene la información de certificados.

userRoot DIT tiene varios contenedores: usuarios , grupos , hosts , computadoras , reglas desudo , reglas de hbac ... y un contenedor especial compat.

Todos los contenedores se almacenan en archivos LDAP DB en el disco, excepto compat que se almacena en las tablas de memoria (también conocido como mapas ).Bien ahora te preguntaras que es compat .

El contenedor compat contiene entradas similares a AD y cumple el esquema AD , este es el árbol de compatibilidad de esquema , el cual es usado por clientes que ejecutan versiones distintas a la del servidor Freeipa.

20 indice

Page 21: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Por lo tanto una entrada de un usuario se duplica y se transforma en una entrada de usuario debajo del contenedor compat . Es lo mismo para grupos y host .

De modo que si no queremos almacenar también los usuarios en compat , lo deberemos deshabilitar.

Una vez que conocemos la estructura interna que implementa freeipa, vamos a proceder a migrar los usuarios , para ello podemos usar el comando que nos proporciona freeipa para realizar dicha tarea ,el cual es “ipa migrate-ds” , que nos evita tener que realizar script y cometer posibles errores.

21 indice

Page 22: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

6.4 MIGRACIÓN

Una vez realizados los pasos anteriores , es decir , instalación del servidor IDM , agregación de schemas , vamos a realizar la migración de ldap a Freeipa.

Nota

Los esquemas personalizados de usuarios o grupos tienen soporte limitado en IdM. Pueden causar problemas durante la migración debido a definiciones de objetos incompatibles , por lo tanto deberemos de modificarlo , como mostré anteriormente.

Antes de empezar comentar que se debe de habilitar el modo migración mediante la interfaz Web o Cli .

Mediante la interfaz web , podemos encontrarla en la sección de configuración del servidor

o mediante el uso de Cli con el siguiente comando;

$ipa config-mod –enable-migration=TRUE

Deshabilitar el complemento de compat , si no queremos que se dupliques las entidades.

$ipa-compat-manage disable

En su forma más simple, el comando toma la URL LDAP del directoriopara migrar y exporta los datos según la configuración predeterminada común.

$ipa migrate-ds ldap: //ldap.example.com: 389

22 indice

Page 23: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

si solo lanzamos este comando sin ninguna opción asumirá la estructura por defecto de LDAP , en la cual los usuarios se encuentran en “ou=People,dc=<>” y los grupos en “ou=Groups,dc=<>”

Por lo tanto si nuestra estructura es diferente debemos de usar las opciones ;

--user-container

--group-container

para indicar su ubicación especifica .

En mi caso deberé usar estos parámetro ya que mi árbol no se estructura de ese modo :

En mi caso debemos de usar el comando agregándole algunas opciones.

$ipa migrate-ds --bind-dn=cn=admin,dc=inf --user-container=ou=smr,ou=people --user-objectclass=dates --group-container=ou=grupos --group-objectclass=posixGroup --with-compat ldap://192.168.1.112:389 --schema=RFC2307

Como podemos observar , los parámetros que debemos de indicar es el binDN , es decir , el usuario administrador del árbol.

23 indice

Page 24: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

,la ubicación donde se encuentran los usuarios “--user-container=ou=air,ou=people”, también podríamos especificar el DN completo , pero con lo hemos especificado en el binDn , pues no esnecesario.

A continuación especificamos la ubicación de los grupos de usuarios “--group-container=ou=grupos”

acto seguido especificamos el objectClas de los grupos , con esto conseguimos que solo se migren los grupos que tengan ese objectClass “--group-objectclass=posixGroup” ,si los grupos no disponen de ese objectClass serán descartados , del mismo modo podemos hacer con los usuarios , por ejemplo , como anteriormente vimos , los usuarios disponen del objectClas dates , el cual fue creado y agregado a Freeipa , de modo que si especificamos

“--user-objectclass=dates”, solo se migraran los usuarios que dispongan de ese objectclas .

También podemos observar en el comando “--with-compat” , como mencione anteriormente “compat” , si esta habilitado almacena los

24 indice

Page 25: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

mismo usuarios y grupos que nuestro DIT , este es usado , por si el cliente usa una versión distinta a la del servidor, para compatibilidad, si no quisiésemos mantener la compatibilidad , deberíamos deshabilitar “compat”.

De forma predeterminada, Identity Management usa el esquema RFC2307bis para definir usuarios, host, grupo de hosts y otras identidades de red , de modo que debemos de especificar el parámetro “--schema=RFC2307” , para indicar nuestro esquema.

Una vez ejecutado el comando ,el resultado seria el siguiente

Comentar que al estar los usuarios divididos por OU , debemos realizar este comando por tantos grupos de usuarios existentes , yagregando esta opcion “--group-overwrite-gid” , para que sobrescriba al grupo , ya que este comando , te obliga a especificar un grupo .

Para realizar la migración completa , esta es la sentencia de comando utilizada:

$ipa migrate-ds --bind-dn=cn=admin,dc=inf --user-container=ou=asir,ou=people --user-objectclass=dates --group-container=ou=grupos --group-objectclass=posixGroup --with-compat ldap://192.168.1.112:389 --schema=RFC2307

25 indice

Page 26: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

$ipa migrate-ds --bind-dn=cn=admin,dc=inf --user-container=ou=smr,ou=people --user-objectclass=dates --group-container=ou=grupos --group-objectclass=posixGroup --group-overwrite-gid --with-compat ldap://192.168.1.112:389 –schema=RFC2307

$ipa migrate-ds --bind-dn=cn=admin,dc=inf --user-container=ou=dam,ou=people --user-objectclass=dates --group-container=ou=grupos --group-objectclass=posixGroup --group-overwrite-gid --with-compat ldap://192.168.1.112:389 –schema=RFC2307

Bien una vez migrados los usuarios y grupos , como podemos obervaren la salida del comando ,

nos indica que debemos de ingresar en

“https://kerberos.inf/ipa/migration” para registrar su contraseña , ya que las contraseñas han sido migradas en formato pre-hashed e ipa es incapaz de generar claves kerberos a menos quese les pasen en texto plano.

Bien aquí surge un inconveniente y es que por defecto cuando el usuario ingresa en esa URL , puede ver su perfil y lo puede modificar , y esto no es aceptable.

Para ello mitigaremos este problema a continuación.

6.5 RESTRINGIR ACCESO WEB A USUARIOS

Un apartado en que debemos de tener en cuenta es que al migrar lascontraseñas de nuestro árbol de ldap a freeipa , deben de ser restablecidas ya que kerberos utiliza un hash diferente para encriptar las password , por lo tanto tras la migración debemos deobligar al usuario a que restaure su contraseña a través de la siguiente url :

26 indice

Page 27: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

en la cual el usuario debe introducir su nombre de usuario y contraseña , que tenían anteriormente

una vez introducidas , le pedirá que introduzca una nueva contraseña.

Una vez realizado este proceso ya podrá acceder a su cuenta de usuario , el problema que plantea esto , es que una vez que el usuario ingresa en esta web , puede modificar sus atributos y ver completamente su perfil.

27 indice

Page 28: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Bien para mitigar este problema , se puede solucionar creando un rol , pero es un poco engorroso y no es recomendable , ya que documentandome , nos comenta que no es muy recomendable el uso de roles , ya que si se actualiza a nueva versión , podrían haber conflictos .

Llegue a la conclusión de modificar la web de administración , pero encontré un plugin , el cual es perfecto para aplicar a los usuarios regulares,este lo podemos adaptar a nuestras necesidades modificando el código.

Para implantarlo , tenemos que seguir los siguiente pasos.

En el servidor nos situamos en el directorio “/usr/share/ipa/ui/js” ,a continuación creamos el directorio llamado “plugins” y dentro creamos otro directorio “simpleuser” .

Ahora mediante el comando wget descargamos el fichero js .

En el siguiente enlace dejare todos los plugins disponibles para freeipa (LINK).

Bien una vez solucionado este problema , ya podemos hacer que el usuario inicie sesión .

28 indice

Page 29: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Como podemos observar solo están permitidos modificar los campos relacionados con su persona , lo cual no estará mal dejarlos , porsi el usuario cambia de móvil , casa ,etc.

Este plugin como mencioné anteriormente , lo podemos modificar a nuestro gusto , solo basta con editar el fichero anteriormente descargado .

7.ACERCAR DE HOME DIRECTORIES

IdM no crea automáticamente directorios de inicio cuando los usuarios inician sesión. La creación automática de directorios de inicio requiere el modulo pam_oddjob_mkhomedir o el modulo pam_mkhomedir. Este módulo se puede configurar como parte de la instalación del cliente o después de la instalación,

Hay dos formas de habilitar el modulo pam_oddjob_mkhomedir o pam_mkhomedir:

• La opcion –mkhomedir se puede usar con elcomando ipa-client-install .

Esta opción es valida para los clientes y servidores durantesu instalación , esta opción no está disponible para los servidores cuando están configurados.

• El modulo pam_oddjob_mkhomedir se puede habilitar utilizando el comando authconfig del sistema. Por ejemplo:

$authconfig --enablemkhomedir

Esta opción se puede usar para máquinas servidor y cliente después de su instalación.

Es posible también utilizar un servidor de archivos NFS , el cual es el que utilizaremos ya que en nuestro centro es el que esta implantado , esto lo veremos en el siguiente apartado.

29 indice

Page 30: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

8. PERFIL USUARIOS , PROTOCOLO NFS SECURE

En nuestro centro es muy importante el automontaje de los perfilesde usuarios , ya que estos pueden cambiar de estación de trabajo yes necesario mantener la integridad de sus datos ,es decir, con esto conseguimos que sus datos no estén almacenados localmente.

Para esta labor se encarga el protocolo nfs .

Principalmente se usa NFS sin kerberos, lo que involucra que la seguridad de los datos en el recurso compartido NFS depende de laintegridad de todos los clientes y de la seguridad de las conexiones de red.

Si utilizamos kerberos, la seguridad no depende de las máquinas cliente ,porque el servidor da solo acceso a usuarios con un vale de kerberos válido . La seguridad no se delega por completo en lasmáquinas cliente (a diferencia de sin kerberos). Por lo tanto, necesita un principal en su reino kerberos para cada usuario que desee acceder al recurso compartido NFS.

En el anexo podréis encontrar un manual sobre su instalación.

9.APLICACIÓN WEB

Bueno una vez que ya hemos montado todo este chiringuito habrá quedemostrar la principal ventaja de implementar Freeipa .

A parte de disponer de esa grandiosa interfaz web para administrartodos los servicios ,entidades y politicas ,tenemos que destacar aKerberos que en realidad es la piedra angular de todo el proyecto,este nos permite hacer uso de los tickects para acceder a los servicios dentro de nuestro dominio , sin la necesidad de volver ainiciar sesión, mas bien conocido como SSO.

Para ello he kerberizado mi aplicación Web , desarrollada en django. El objetivo de kerberizar una aplicación web es que todos los usuarios que formen parte del dominio y tengan acceso a este servicio inicien automáticamente sesión al accerder a la web ,

30 indice

Page 31: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

todo esto se consigue por supuesto cuando iniciamos login en nuestra maquina , kerberos no dará un ticket y a partir de ese momento , con nuestro voleto , podremos acceder a cualquier servicio que este disponible.

Recalcar que una vez que conseguimos kerberizar la aplicación web , es necesario configurar el navegador para la autenticacion de kerberos.

Toda esta configuración la podéis encontrar en el anexo.

10. CONFIGURACIÓN DEL NAVEGADOR

Como mencione antes , cuando se kerberiza una aplicación web , se debe configurar los navegadores para enviar las credenciales de Kerberos al servicio cuando los usuarios inician sesión. Esto es uno de los mayore inconvenientes ya que existen multiples navegadores , y en funcion del que utilicemos se requiere una configuración diferente , a continuaran mostrare como configurar los navegadores mas utilizados.

10.1 CHROMIUM

Desde el cmd ejecutamos ;

$chromium-browser --auth-server-whitelist="www.example.com" --auth-negotiate-delegate-whitelist="www.example.com"

10.2 FIREFOX

En el cuadro de texto de la dirección URL del explorador Firefox, escriba about:config para acceder a la configuración avanzada.

En la barra de direcciones escribimos “negotiate” y establecemos a“true” ese valor.

31 indice

Page 32: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Un poco mas abajo en la sección

escribimos solo nuestro dominio , no el hostname , por si tenemos mas aplicaciones web funcionando.

10.3 CHROME

Desde el cmd ejecutamos ;

$google-chrome –auth-server-whitelist=".inf" –auth-negotiate-delegate-whitelist=".inf"

32 indice

Page 33: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

ANEXO

¿QUE ÉS FREEIPA?

IPA se basa en

• Identidad: máquina, usuario, máquinas virtuales, grupos, credenciales de autenticación

• Política - control de acceso basado en host

• Auditoría

• "Active Directory" para Unix y Linux

• Proporciona autenticación centralizada, autorización e información de cuentas.

• Construido sobre componentes y protocolos de código abierto

Una pequeña anotación:

Autenticación es el proceso de determinar que alguien realmente esquien dice ser.

La autorización se refiere a las reglas que determinan quién puedehacer qué.

ADMINISTRACION WEB UI Y CLI

Web UI es una aplicación web para la administración de FreeIPA. Tiene casi las mismas capacidades de utilidad que la línea de comando 'ipa' (CLI), por lo tanto, los administradores pueden elegir libremente entre ellos para realizar tareas comunes.

Está construido como una aplicación de una sola página de JavaScript.

33 indice

Page 34: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Este enfoque garantiza que los datos disponibles o los cambios quese pueden realizar están limitados ,en función de los privilegios que posea el usuario podrá realizar una acción o no.

La Interfaz Web tiene dos modos de operación:

➢Autoservicio

•utilizado para usuarios regulares

•interfaz limitada: solo información sobre los usuarios

•página predeterminada: perfil del usuario

•casos de uso: cambiar o ver información propia y restablecer la contraseña

➢Administración

•utilizado para miembros del grupo “admins” y usuarios con un rol asignado

•interfaz completa disponible

INSTALACIÓN DEL SERVIDOR FREEIPA

DESCRIPCIÓN VM

Sistema: Ubuntu server 16.04.4 LTS

Memoria RAM: 1 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Adaptador Puente (DHCP)

Tarjeta de red 2 : Red Interna

Una vez conocidos los aspectos técnicos , vamos a comenzar su instalación , para ello no aseguramos de que tenemos los repositorios actualizados .

$apt-get update

34 indice

Page 35: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

$apt-get upgrade

Para que freeipa funcione correctamente , debemos de establecer una configuración de red estática .

reiniciamos el servicios

destacar que la longitud de la mascara debe ser de 24.

Una vez configurada la red pasaremos a establecer un dominio , para ello modificaremos /etc/hosts , en el cual añadiremos la ip del servidor y el FQDN

ahora pasaremos a ejecutar “hostnamectl set-hostname kerberos.inf”para que se aplique , ya que si no tendríamos que reiniciar la maquina. Comprobamos que se ha aplicado correctamente.

35 indice

Page 36: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Una vez realizados estos pasos pasaremos a instalar freeipa , paraello ejecutamos el siguiente comando

Una vez instalados ,comenzamos sus instalación con el siguiente comando.

Podemos ver la versión que instalaremos con la opción

una vez ejecutado el comando nos muestra las configuraciones que realizara

nos preguntara las contraseña y usuario para ldap y para el reino kerberos , finalmente nos muestra un resumen de lo establecido.

Y comenzara la configuración , en la cual configurara los certificados (dogtag) , la configuración de la hora (ntp), creación de Directory Server (ldap) , la configuración de kerberos(kdc → Key Distribution Center ) , es decir , un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket Granting Server) , etc.

36 indice

Page 37: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Una vez terminada la instalación nos dice que debemos de abrir lossiguientes puerto,para que los servicios puedan funcionar correctamente .

Podemos verificar que Freeipa esta funcionando correctamente con el siguiente comando .

Ahora si nos dirigimos al navegador podremos acceder a la interfazweb de administración .

37 indice

Page 38: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

INSTALACIÓN CLIENTE FREEIPA

FreeIPA Client se integra con muchos servicios nativos de Linux para que el administrador pueda configurarlos de forma convenienteen el servidor FreeIPA. Los servicios utilizan principalmente SSSDpara que también puedan beneficiarse del almacenamiento en caché yestén disponibles cuando el cliente está fuera de línea.

Para su instalación crearemos una maquina virtual , a la cual solole pondremos una interfaz en modo red interna , la cual la usaremos para establecer la comunicación con el servidor.

Agregamos la dirección ip del servidor a /etc/resolv.conf del cliente , para que tome como dns el servidor , es decir que resuelvas los nombres en el servidor.

Le establecemos una configuración de red estática

38 indice

Page 39: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

A continuación le asignamos un fqdn para esa maquina , y le agregamos también el del servidor .

Podemos comprobar si resuelve correctamente el dns , mediante el comando host .

Ahora pasaremos a instalar el cliente , para ello debemos de teneractualizado los repositorios , y ejecutamos la siguiente sentencia

en la cual especificamos , que se actualice con el reloj del servidor , ya que para que funcione correctamente kerberos , el reloj debe estar sincronizado y le indicamos que se actualice el dns , si cambiase.

Nos preguntara el user y pass del administrador del servidor.

Una vez completada la instalación ,si nos dirigimos a la interfaz web del servidor podemos observar como se ha añadido el host cliente , al servidor.

39 indice

Page 40: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

NOTA:

Freeipa no configura autofs para el montaje de directorio de los usuarios , por lo tanto debes configurarlo manualmente o en la instalación del cliente haciendo uso de la opción –mkhomedir , pero esto solo te creara el directorio de casa de usuario , de modo que si cambias de estación de trabajo no mantendrás tus datos.

También deberemos de habilitar el login para otras cuentas de usuario , para ello en “/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf ” , agregamos;

KERBERIZAR APLICACIÓN WEB

Para desarrollar una practica en la cual poder ilustrar las ventajas de haber implementado FREEIPA ,vamos a kerberizar mi aplicación web , con el objetivo , de que una vez el usuario inicie sesión en su ordenador , pueda acceder a los servicios que estén disponibles , sin la necesidad de volver a tener que autenticarse , este es uno de los beneficios de FREEIPA.

CARACTERISTICA VM

Sistema: Ubuntu Desktop 16.04 LTS

Memoria RAM: 2 GB

Tamaño HDD: 30 GB

Tarjeta de red 1 : Adaptador Puente (DHCP)

Tarjeta de red 2 : Red Interna

Hostname : django.inf

Una vez instalado el cliente de freeipa ,estos son los pasos a seguir.

40 indice

Page 41: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

EN el servidor (kerberos.inf) creamos un servicio para nuestro cliente. Como mencione anteriormente las tareas de administración se debe hacer con un usuario que posea privilegios de administración.

$ kinit admin

$ ipa service-add HTTP/django.inf

Desde el host cliente (django.inf):

Obtenemos el keytab para el servicio , el cual lo ubicaremos , en el directorio de apache , ya que este sera usado por apache para comprobar que el usuario que quiere acceder al servicio , tenga acceso a el.

$ kinit admin

$ ipa-getkeytab -s kerberos.inf(servidor) -p HTTP/django.inf(servicio) -k /etc/apache2/django.keytab

Ahora instalaremos el back-end de autenticación de Kerberos de Django. Podemos encontrar su configuración en este LINK.

$pip install django-auth-krb

A continuación en nuestro settings.py , agregamos :

41 indice

Page 42: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

INSTALLED_APPS = (

...

'django_auth_krb',

...

)

KRB5_REALM = 'INF'

AUTHENTICATION_BACKENDS = (

'django_auth_krb.backends.RemoteKrbBackend',

)

MIDDLEWARE = [

...

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

'django.contrib.auth.middleware.PersistentRemoteUserMiddleware',

...

]

LOGIN_REDIRECT_URL = '/'

En nuestro proyecto , en urls.py , agregamos;

from django.conf.urls include

urlpatterns = [

url(r'^auth/', include('django_auth_krb.urls')),

]

Configuramos apache para la autenticación con kerberos, para ellomodificaremos

agregando el siguiente contenido.

42 indice

Page 43: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Donde deberemos de especificar donde se ubica nuestra app , en mi caso esta en “/var/www/”.

La ubicación de wsgi , el cual servirá , para cuando accedamos a través de la Web a nuestro ServerName(django.inf) , ejecute la app.

Para su correcto funcionamiento tuve que agregar el siguiente contenido.

43 indice

Page 44: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Alias /static/ , es la ubicación del contenido estático de mi app.

<Location> , aquí debemos indicar la url donde esta la aplicación , es decir , donde el user hace el login.

Y como podemos observar aquí es donde entra en funcionamiento kerberos , fundamentalmente deberemos de especificar la ubicación del keytab , el nombre del servicio , que se requiera de un usuario autenticado y activar la negociación.

KERBERIZAR NFS

Para ello utilizaremos una maquina cliente (nfs.inf) y el servidor(kerberos.inf) ,

En el servidor configuraremos nfs y en el cliente configuraremos autofs.

Lo primero que tenemos que hacer es instalar el cliente de freeipaen nuestra maquina que sera usada como cliente, para ello ;

$ipa-client-install

y comprobamos que dispone de su keytab;

44 indice

Page 45: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Ahora instalaremos autofs ;

$sudo apt-get install nfs-common autofs autofs autofs-ldap nfs4-acl-tools

En el servidor , creamos un servicio para nfs ;

$ipa service-add nfs/kerberos.inf

y otro para el cliente

$ipa service-add nfs/nfs.inf

Una vez creado , creamos la tabla de claves para el servicio.

$ipa-getkeytab -s kerberos.inf -p nfs/kerberos.inf -k ./krb5.keytab

y la agregamos a /etc/krb5.keytab .

si miramos la tabla podemos observar que se ha agregado el servicio correctamente.

45 indice

Page 46: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

y si queremos comprobar que ese servicio posee efectivamente de sukeytab , podemos verlo con ipa service-show nfs/kerberos.inf

instalamos el servidor nfs en el servidor FREEIPA;

$sudo apt-get install nfs-kernel-server

creamos una entrada en nuestro dit con los siguiente tipos de encriptación .

y agregamos en /etc/krb5.conf →

“ allow_weak_crypto = true” tanto en el servidor como en el cliente

46 indice

Page 47: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

y configuramos /etc/export , para publicar nuestro directorio a compartir

reiniciamos el servicio

$service nfs-kernel-server restart

ahora en el cliente podemos ver los directorios que esta publicando el servidor , con el comando showmount -e <ip>

creamos el directorio donde vamos a montarlo

$sudo mkdir /home/pub/asir -p

editamos autofs → /etc/default/autofs , para idicar el mapa

MAP_OBJECT_CLASS="automountMap"ENTRY_OBJECT_CLASS="automount"MAP_ATTRIBUTE="automountMapName"ENTRY_ATTRIBUTE="automountKey"VALUE_ATTRIBUTE="automountInformation"

LDAP_URI="ldap://kerberos.inf"SEARCH_BASE="cn=default,cn=automount,dc=example,dc=com"

editamnos autofs ldap → /etc/autofs_ldap_auth.conf

<autofs_ldap_sasl_conf usetls="no" tlsrequired="no" authrequired="yes" authtype="GSSAPI" clientprinc="host/nfs.inf@INF" />

47 indice

Page 48: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

editamos sssd → /etc/sssd/sssd.conf

[sssd]services = nss,pam,autofs

[autofs]

[domain/INF]...ldap_search_base = "dc=inf"ldap_autofs_search_base = "cn=automount,dc=inf"

Reiniciamos sssd

$sudo service sssd restart

configuramos nss → /etc/nsswitch.conf

automount: sss files

reiniciamos el servicio

$service autofs restart

Y en nuestro automount en freeipa.

Estos serian nuestro mapas que hemos especificado en el fichero anterior.

48 indice

Page 49: ÍNDICE 2.VENTAJAS DE IMPLANTAR FREEIPA 3 ......2. VENTAJAS DE IMPLANTAR FREEIPA Integración de MIT Kerberos, el cual proporciona servicios de autenticación para todo el reino FreeIPA,

Ahora comprobamos que me monta el directorio , para ello me loguearé con el usuario andresjupe,el cual antes hemos creado su home , en el servidor y le hemos dados sus correspondientes permisos y propiedad

y si hacemos un mount , para que que es lo que esta montado , podemos observar como se ha montado correctamente.

REFERENCIAS

-Funcionamiento de kerberos

-Plugin FREEIPA

-Kerberizar NFS

-Migracion

49 indice