Configuración de un servidor Kerberos 5 en Red Hat Linux 7.1

Cuando configure Kerberos, instale primero el servidor(es) en primer lugar . Si necesita servidores esclavos, encontrará los detalles de la configuración entre el servidor maestro y el esclavo en la Guía de instalación de Kerberos 5 (en el directorio /usr/share/doc/krb5-server-versionnumber/).

Para instalar un servidor Kerberos:

  1. Asegúrese de que tiene una sincronización de reloj y DNS funcionando en su servidor antes de instalar Kerberos 5. Ponga especial atención a la sincronización del tiempo entre el servidor Kerberos y sus diversos clientes. Si los relojes de servidor y cliente difieren más de 5 minutos (esta cantidad por defecto puede ser configurada en Kerberos 5), a los clientes Kerberos no les será posible autentificarse en el servidor. Esta sincronización de reloj es necesaria para evitar que un agresor use un atentificador antiguo para hacerse pasar por un usuario válido.

    Debería configurar un Network Time Protocol (NTP) compatible con una red cliente/servidor usando Red Hat Linux, aunque no utilice Kerberos. Red Hat Linux 7.1 incluye el paquete ntp para una instalación fácil. Vaya a http://www.eecis.udel.edu/~ntp para información adicional sobre NTP.

  2. Instale los paquetes krb5-libs, krb5-server y krb5-workstation en el ordenador que ejecutará su KDC. Este ordenador debe ser seguro — si es posible, no debería ejecutar ningún servicio aparte de KDC.

    Si quiere usar la utilidad Graphical User Interface (GUI) para administrar Kerberos, debería instalar también el paquete gnome-kerberos. gnome-kerberos contiene krb5, una herramienta GUI para administrar tickets y gkadmin, una herramienta GUI para administrar dominios Kerberos.

  3. Modifique los ficheros de configuración /etc/krb5.conf y /var/kerberos/krb5kdc/kdc.conf para reflejar su nombre de entorno y sus mapas de entorno a dominio. Un entorno sencillo puede ser construido para reemplazar instances de EXAMPLE.COM y example.com con su nombre del dominio (asegúrese de mantener los nombres en mayúsculas y minúsculas en el formato correcto) y cambiando el KDC desde kerberos.example.com por el nombre de su servidor Kerberos. Por convenio, todos los nombres de entornos son en mayúsculas y todos los nombres de host DNS y nombres de dominios son en minúsculas. Para más detalles sobre el formato de estos ficheros, lea las páginas de manual correspondientes.

  4. Cree la base de datos usando la utilidad kdb5_util desde el intérprete de comandos de la shell:

    /usr/kerberos/sbin/kdb5_util create -s

    El comando create crea la base de datos que será usada para guardar las claves de su entornos Kerberos. La opción -s fuerza la creación de un fichero stash en el que se guarda la clave del servidor maestro. Si no existe ningún fichero stash del que leer la clave, el servidor Kerberos (krb5kdc) pedirá al usuario la contraseña del servidor maestro ( que puede ser usada para regenerar la clave) cada vez que inicie.

  5. Modifique el fichero /var/kerberos/krb5kdc/kadm5.acl. kadmind usa este fichero para determinar qué principals tienen acceso a la base de datos Kerberos y su nivel de acceso. La mayoría de las organizaciones podrán estar en una sola línea:

    */admin@EXAMPLE.COM  *

    La mayoría de usuarios están representados en la base de datos por un sólo principal (con un NULL, o vacío, instance, como joe@EXAMPLE.COM). Con esta configuración, los usuarios con un segundo principal con un instance de admin (por ejemplo, joe/admin@EXAMPLE.COM) podrán ejercer un dominio completo sobre la base de datos del entorno Kerberos.

    Una vez que kadmind esté iniciado en un servidor, algunos usuarios podrán acceder a sus servicios ejecutando kadmin o gkadmin en cualquiera de los clientes o servidores en el entorno. Sin embargo, sólo los usuarios listados en el fichero kadm5.acl podrán modificar la base de datos de cualquier modo,excepto para cambiar sus propias contraseñas.

    NotaNota
     

    La utilidades kadmin y gkadmin comunican con el servidor kadmind sobre la red. Naturalmente, necesita crear el primer principal antes de que pueda conectarse al servidor sobre la red para administarlo. Cree el primer principal con el comando kadmin.local, que está especialmente diseñado en el mismo host que el KDC y no usa Kerberos para la autentificación.

    Teclee el siguiente comando kadmin.local en el terminal KDC para crear el primer principal:

    /usr/kerberos/sbin/kadmin.local -q "addprinc username/admin"
  6. Inicie Kerberos utilizando los siguientes comandos:

    /sbin/service krb5kdc start
    /sbin/service kadmin start
    /sbin/service krb524 start
  7. Añada principals para sus usuarios utilizando el comando addprinc con kadmin o usando la opción del menú Principal => Añadir en gkadmin. kadmin (y kadmin.local en el maestro KCD) es una interfaz de línea de comandos para el sistema de administración de Kerberos. Como tales, muchos comandos están disponibles tras la puesta en marcha del programa kadmin. Vea la página de manual kadmin para más información.

  8. Verifique que su servidor emite los tickets. En primer lugar, ejecute kinit para obtener un ticket y guardarlo en un fichero de caché credencial. A continuación use klist para ver la lista de credenciales en su caché y use kdestroy para destruir el caché y los credenciales que contiene.

    NotaNota
     

    Por defecto, kinit intenta autentificarle usando el nombre de login de usuario de la cuenta que ha usado cuando se registró en su sistema por primera vez (no en el servidor Kerberos) . Si el nombre de usuario del sistema no corresponde con una base de datos principal de Kerberos, obtendrá un mensaje de error. Si esto sucede, dé a kinit el nombre de su principal como un argumento en la línea de comandos (kinit principal).

Una vez que se hayan completado los pasos anteriores, su servidor Kerberos debería estar funcionando. A continuación, necesitará configurar sus clientes Kerberos.