Kerberos es un protocolo de autenticación de red que utiliza criptografía de clave simétrica y requiere la autorización de un tercero de confianza para autenticar aplicaciones cliente-servidor. Fue desarrollado originalmente por el Instituto Tecnológico de Massachusetts (MIT) para proteger los servicios de red proporcionados por el proyecto Athena.
En el mundo moderno, Kerberos se utiliza a menudo como un servicio de autenticación de terceros. Esto significa que todos los clientes confían en el juicio de Kerberos sobre la identidad de otros clientes.
En este tutorial, le mostraremos cómo configurar la autenticación Kerberos entre dos servidores Ubuntu 18.04. Instalaremos y configuraremos el servidor Kerberos en el servidor Ubuntu y luego instalaremos el cliente Kerberos en el otro. Finalmente, probaremos la autenticación del servicio SSH con el servidor Kerberos.
Requisitos
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16 cliente1.ahmad.io cliente1
- privilegios de Root
Lo que vamos a hacer:
- Configurar el archivo FQDN
- Instalar el servidor KDC Kerberos
- Configurar el servidor KDC Kerberos
- Instalar y Configurar el cliente Kerberos
- Probar
Paso 1 – Configurar el FQDN
En primer lugar, debemos configurar el FQDN en el servidor Kerberos y luego editar el archivo ‘/etc/hosts’ del servidor.
Cambie el FQDN del servidor Kerberos con el siguiente comando.
hostnamectl set-hostname krb5.ahmad.io
Después de eso, edite el archivo’/etc / hosts ‘ usando vim editor.
vim /etc/hosts
Cambie la dirección IP y el FQDN por el suyo propio y péguelo en él.
10.10.10.15 krb5.ahmad.io krb5
Guardar y cerrar.
Ahora pruebe usando el comando’ ping ‘ a continuación y asegúrese de que el FQDN esté resuelto a la dirección IP correcta.
ping -c 3 $(hostname -f)
Paso 2-Instalar KDC Kerberos Server
Ahora vamos a instalar el servidor Kerberos en el servidor’ krb5 ‘con la dirección IP ‘10.10.10.15’ y el FQDN es ‘krb5.ahmad.io’.
Instale el servidor Kerberos utilizando el siguiente comando apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
Durante la instalación, se le preguntará sobre el Reino Kerberos, el servidor Kerberos del Reino y el servidor de administración.
De forma predeterminada, los Kerberos usarán el nombre de dominio del servidor Kerberos como DOMINIO, ‘AHMAD.IO’.
El servidor Kerberos es ‘krb5.ahmad.io’.
Y el servidor de administración igual que el servidor Kerberos krb5.ahmad.io’.
Una vez finalizada la instalación, se le mostrará que el servicio Kerberos no se ha ejecutado. Está bien porque lo configuraremos en la siguiente etapa.
Paso 3: Configure el servidor KDC Kerberos
Ahora genere una nueva contraseña maestra segura para el REINO Kerberos utilizando el siguiente comando.
sudo krb5_newrealm
Escriba su contraseña segura y la contraseña del REINO se generará en el archivo’ /etc/krb5kdc/stash’.
Después de eso, necesitamos crear el usuario administrador (principal de administrador) para el servidor KDC Kerberos, agregar el nombre de host del servidor Kerberos a la base de datos y luego crear la pestaña de claves para el servidor Kerberos.
Ejecutar el ‘ kadmin.interfaz de línea de comandos local para el comando de administración de Kerberos a continuación.
sudo kadmin.local
Crear un nuevo principal de usuario administrador llamado ‘root’.
addprinc root/admin
Escriba la contraseña segura para el administrador principal’ root’.
Agregue el servidor KDC Kerberos a la base de datos y cree el archivo keytab para el host KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
Luego cierre el ‘ kadmin.servicio público local.
quit
A continuación, necesitamos agregar el principio de administración ‘root’ a la lista de control de acceso editando el ‘/etc/krb5kdc/kadm5.archivo acl.
vim /etc/krb5kdc/kadm5.acl
Agregue la siguiente configuración.
root/admin *
Guarde y cierre la configuración y, a continuación, reinicie el servicio Kerberos.
sudo systemctl restart krb5-admin-server.service
Y se ha completado la configuración del servidor KDC Kerberos.
Paso 4-Instalar y Configurar el Cliente Kerberos
En este paso, vamos a instalar el cliente Kerberos en Ubuntu server con la dirección IP ‘ 10.10.10.16 ‘y el nombre de host’client1’.
: Configure el FQDN
Configure el FQDN en el equipo cliente con el siguiente comando.
hostnamectl set-hostname client1.ahmad.io
Después de eso, edite el archivo’/etc / hosts ‘ usando vim editor.
vim /etc/hosts
Pegue tanto el servidor KDC Kerberos como el cliente como se muestra a continuación.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
Guardar y cerrar.
– Instalar Cliente Kerberos
Instalar paquetes de cliente Kerberos ejecutando el siguiente comando apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
Durante la instalación, se le preguntará sobre el Reino Kerberos, el servidor Kerberos del Reino y el servidor de administración.
De forma predeterminada, Kerberos utilizará el nombre de dominio del servidor Kerberos como DOMINIO, ‘AHMAD.IO’.
El servidor Kerberos es ‘krb5.ahmad.io’.
Y el servidor de administración igual que el servidor Kerberos krb5.ahmad.io».
Y la instalación para el cliente Kerberos está terminada.
– Configure el cliente Kerberos
Desde la máquina cliente, conéctese al servidor KDC Kerberos mediante el comando’ kadmin’.
kadmin
Y se le pedirá la contraseña del principio’ root/admin’. Escriba la contraseña y se conectará al sistema de administración KDC Kerberos.
Ahora agregue el FQDN del cliente ‘client1.ahmad.io’ a la base de datos Kerberos y agregue el archivo keytab para el cliente.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
A continuación, cierre la interfaz de administración kadmin Kerberos.
quit
Y se completa la configuración del cliente Kerberos.
Paso 5-Testing
Para este propósito de prueba, vamos a configurar la autenticación SSH usando Kerberos. La máquina cliente «client1.ahmad.io’ se conectará al servidor ‘krb5.ahmad.io’ a través de SSH con la autenticación Kerberos.
– Configuración «krb5.ahmad.io’ Server
Crear un nuevo usuario del sistema llamado ‘ammar’.
useradd -m -s /bin/bash ammar
Inicie sesión en la administración de KDC Kerberos y agregue un nuevo usuario principal llamado ‘ammar’.
kadmin.local
addprinc ammar
Cierre la interfaz de administración de Kerberos y edite la configuración de ssh ‘/ etc/ssh / sshd_config’.
vim /etc/ssh/sshd_config
Descomente la ‘GSSAPIAuthentication’ y habilítela cambiando el valor a «.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Guarde y cierre la configuración y, a continuación, reinicie el servicio ssh.
systemctl restart sshd
– Configuración «client1.ahmad.io’ Máquina
Agregue un nuevo usuario del sistema ‘ammar’ en la máquina cliente e inicie sesión en ella.
useradd -m -s /bin/bash ammar
su - ammar
Después de eso, inicialice el principal de usuario de Kerberos ‘ammar’.
kinit ammar
Escriba la contraseña del usuario y, a continuación, compruebe el Ticket disponible con el siguiente comando.
klist
Y se le mostrará el siguiente resultado.
Ahora puede conectar el ‘krb5.ahmad.io’ servidor que utiliza la autenticación SSH Kerberos.
ssh krb5.ahmad.io
Y se conectará al «krb5.ahmad.io’ servidor a través de SSH con autenticación Kerberos.
A continuación se muestra el registro SSH después de iniciar sesión en el servidor.
Finalmente, la instalación y configuración del servidor y cliente Kerberos en Ubuntu 18.04 se ha completado con éxito.