Está en la página 1de 6

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS


CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

Taller: Configuracin de autenticacin utilizando kerberos.


Funcionamiento general de Kerberos

Cada usuario dispone de una clave.

Cada Servidor dispone de una clave.

Kerberos mantiene una base de Datos que contendr a todas estas claves.

La clave de un usuario ser derivada de su contrasea y estar cifrada.

La clave de un servidor se genera aleatoriamente.

Los servicios de Red que requieren Autenticacin, as como los usuarios que requieran estos servicios,
se deben registrar con Kerberos.

Las claves privadas se negocian cuando los usuarios se registran.

Kerberos, en Conocimiento de todas las claves privadas, crea mensajes para informar a un servidor de la
autenticidad de un usuario que requiere servicios de ste

Niveles de proteccin de Kerberos

Autenticacin

Prueba que el usuario es quien dice ser. Puede ser que la autenticidad se establezca al inicio de la
Conexin de red y luego se asuma que los siguientes mensajes de una Direccin de red determinada se
originan desde la parte autenticada.

Integridad de datos

Asegura que los datos no se modifican en trnsito. Se requiere autenticacin de cada mensaje, sin
importar el contenido del mismo. Esto se denomina mensaje seguros.

Privacidad de datos

Asegura que los datos no son ledos en trnsito. En este caso, no slo se autentica cada mensaje, sino
que tambin se cifra. stos mensajes son privados.

Arquitectura de Kerberos
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

Un servidor Kerberos se denomina KDC (Kerberos Distribution Center), y provee dos servicios
fundamentales: el de autenticacin (AS, Authentication Service) y el de tickets (TGS, Ticket Granting
Service). El primero tiene como Funcin autenticar inicialmente a los Clientes y proporcionarles un
ticket para comunicarse con el segundo, el servidor de tickets, que proporcionar a los clientes las
credenciales necesarias para comunicarse con un servidor final que es quien realmente ofrece un
servicio. Adems, el servidor posee una Base de datos de sus clientes (usuarios o Programas) con sus
respectivas claves privadas, conocidas nicamente por dicho servidor y por el Cliente que al que
pertenece. La arquitectura de Kerberos est basada en tres objetos de seguridad: Clave de Sesin, Ticket
y Autenticador.

La clave de sesin es una clave secreta generada por Kerberos y expedida a un cliente para uso con un
servidor durante una sesin de trabajo.

El ticket es un testigo expedido a un cliente del servicio de tickets de Kerberos para solicitar los
servicios de un servidor. El ticket garantiza que el cliente ha sido autenticado recientemente.

El autenticador es un testigo construido por el cliente y enviado a un servidor para probar su Identidad y
la actualidad de la Comunicacin. Slo puede ser utilizado una vez.

Trminos Kerberos

1-Realm: El dominio administrativo. Debe ser escrito en maysculas (EXAMPLE.COM).

2-Principal: Una entrada en la autenticacin de base de datos de Kerberos como (nfs/nfs.example.com)

3-KDC (Key Distribution Center): El servidor KDC tiene tres componentes:

1.DB : Para almacenar la informacin de todos los principales.

2.Auth Server : Para inicializar el proceso de autenticacin.

3.TGS : (Ticket Granting Ticket) Para generar claves encriptadas y enviarlas al usuario.

4- Ticket Los clientes consigues los tickets del KDC y presentan est al Servicio de red para acceder.

Inicio de la prctica:
Para esta prctica ser necesario utilizar un servidor y un cliente kerberos.

Servidor Kerberos (KDC): 192.168.1.10 El servidor Linux que actuar como KDC y servidor de
tickets.

Cliente kerberos 192.168.1.11 El cliente linux que solicitara tickets desde el KDC.

1. Instalacin del servidor KDC.


UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

yum install -y krb5-server


2. Edita el archivo /etc/krb5.conf, quitando los comentarios de default_realm, y de la seccin
[realms]. Coloca tu nombre de dominio en lugar de EXAMPLE.COM

logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}

[realms]
# EXAMPLE.COM = {
# kdc = kerberos.example.com
# admin_server = kerberos.example.com
# }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM

3. Edita el archivo /var/kerberos/krb5kdc/kdc.conf y reemplaza EXAMPLE.COM por tu nombre de


dominio.

[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88

[realms]
EXAMPLE.COM = {
#master_key_type = aes256-cts
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal
arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-
sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}

4. Creacin de base de datos Kerberos con el comando kdb5_util. Se solicitar la clave que
actuar como clave master, esta es usada por el KDC para encriptar la base de datos por lo
cual es muy importante almacenar esta de forma segura.

kdb5_util create s
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

5. Iniciar los servicios de Kerberos. Ejecuta los siguientes comandos:


systemctl enable kadmin krb5kdc
systemctl start kadmin krb5kdc

6. Configura el firewall para que otros sistemas se puedan comunicar con los
servicios de kerberos.

firewall-cmd --permanent add-servce=kerberos

firewallcmd reload

7. Se puede ahora chequear y confirmar que los servicios de kerberos estn


escuchando y esperando por conexiones en su puerto predefinido :88.
netstat antup | grep krb
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

8. Administracin de Kerberos: el KDC puede ser administrado con el comando


kadmin.local. El comando addprinc se utilizar para agregar un principal a
kerberos, en este caso se agregara el usuario kuser.

kadmin.local
addprinc kuser

En este momento el KDC est listo para aceptar conexiones de los clientes y
proveer tickets para el principal kuser.

Cliente:
1. Para instalacin del cliente:
yum install -y krb5-workstation

2. Ahora es tiempo de configurar el cliente para que utilice el KDC. Ejecuta


el comando authconfig-tui. En User Account COnfiguration selecciona
LDAP con el fin de obtener acceso a la configuracin de autenticacin que
es donde vamos a seleccionar kerberos password e indicar nuestro realm
e informacin de KDC.

authconfig-tui

Parmetros de configuracin:
User account database: LDAP
Authentication Method: Kerberos password
Realm:TUDOMINIO.COM
KDCs: 192.168.1.10
Admins Servers: 192.168.1.10
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS
CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES
SISTEMAS OPERATIVOS DISTRIBUIDOS

3. Crear el usuario: En nuestro KDC tenemos creado el usuario kuser, ahora


crearemos una cuenta de usuario local en el sistema cliente. Esto no es
tcnicamente requerido, pues es posible obtener un ticket desde otro
usuario existente en el sistema.
useradd kuser

4. Ahora estamos listos para intentar obtener un ticket desde el KDC,


primero el nuevo usuario creado en el paso anterior ejecutara el comando
kinit el cual es utilizado para obtener y cachear un ticket Kerberos.
su user
kinit
klist

El comando klist permite ver la lista de ticket kerberos disponibles.


Conclusin

Si has llegado hasta aqu, has configurado exitosamente un centro de


distribucin de claves KDC, el cual es capaz de proveer tickets kerberos a
clientes.

También podría gustarte