View
252
Download
1
Category
Preview:
Citation preview
¿QUÉ ES KERBEROS?
Autor: Miguel Ángel López Moyano Administración de Sistemas Operativos. 2º A.S.I.R.
-2-
Kerberos es un protocolo de autenticación que permite a dos equipos de una red insegura
demostrar su identidad mutuamente de una forma segura.
Para su funcionamiento se utiliza un "tercero de confianza", lo que se denomina centro
de distrubución de claves (KDC). Este se divide en dos partes: un servidor de autentica-
ción (AS) y un servidor emisor de tickets (TGS). Estos tickets se usan para demostrar la
identidad de los usuarios.
Kerberos tiene una base de datos de claves secretas. Cada entidad en la red (sea cliente o
servidor) comparte una clave secreta conocida únicamente por él y Kerberos. El conoci-
miento de esta clave sirve para probar la identidad de la entidad. Para una comunicación
entre dos entidades, Kerberos genera una clave de sesión.
El protocolo Kerberos puede ser utilizado tanto en sistemas Windows como en sistemas
Linux. En mi caso voy a explicar como se instalaría y configuraría en un sistema Linux
ya que suele ser más engorrosa su instalación y configuración.
Para poder autenticar usuarios usando Kerberos es necesario cumplir dos requisitos: el
primero es tener configurado un servidor DNS y lo segundo es que haya sincronización
horaria entre el cliente y el servidor.
Vamos a suponer que ya tenemos configurado nuestro servidor DNS y ahora pasamos a
sincronizar el cliente y el servidor.
En el servidor vamos a instalar ntp que nos servirá para sincronizar la hora con los clien-
tes:
Editamos el archivo npt.conf y le indicamos que sincronice todas las máquinas que estén
en la misma red:
Ahora en el cliente instalamos ntpdate:
Servicios de Red e Internet. 2º A.S.I.R. Autor: Miguel Ángel López Moyano
-3-
Configuramos ntpdate para que se sincronice con nuestro servidor:
Vamos a sincronizar el cliente con el servidor:
El tener que realizar constantemente una sincronización con el servidor es algo tedioso
así que vamos a programar una tarea que se encargue de sincronizar cada hora. Creamos
un script en cron.hourly
Nos vamos al servidor e instalamos el servidor de kerberos:
Editamos el archivo de configuración y añadimos dos líneas en [domain_realm]
Autor: Miguel Ángel López Moyano Administración de Sistemas Operativos. 2º A.S.I.R.
-4-
Ahora ejecutamos el comando krb5_newrealm para crear un nuevo territorio
Una vez creado nos conectamos a la base de datos con el comando kadmin.local para
añadir usuarios:
Editamos el archivo kadm5.acl para permitir que se conecten a la base de datos todos los
usuarios que sean admin
Ahora creamos un usuario que acabe con /admin para que tenga privilegios de adminis-
trador
Reiniciamos el servicio con:
Servicios de Red e Internet. 2º A.S.I.R. Autor: Miguel Ángel López Moyano
-5-
/etc/init.d/krb5-admin-server restart
Nos vamos al cliente e instalamos la utilidades para el cliente:
apt-get install krb5-user
Editamos el archivo krb5.conf de la misma forma que hicimos con el servidor:
Ahora solicitamos un ticket para que el usuario miguelangel pueda solicitar otros tickets
en función de los servicios que vayamos necesitando. Por defecto viene configurado que
la duración de este ticket sea de 10 horas, aproximadamente lo que es una jornada laboral.
Vemos como se nos da el ticket:
Ya tenemos instalado correctamente Kerberos en cliente y servidor, ahora necesitamos
un servicio contra el cual podamos autenticarnos. En otra entrada explicaré como auten-
ticar usuarios mediante Kerberos en vez usar el clásico sistema de Linux.
Fuentes:
Wikipedia
www.luisguillen.es
Recommended