Cómo configurar el servidor y el cliente Kerberos en Ubuntu 18.04 LTS

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:

  1. Configurar el archivo FQDN
  2. Instalar el servidor KDC Kerberos
  3. Configurar el servidor KDC Kerberos
  4. Instalar y Configurar el cliente Kerberos
  5. 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.

Write a Comment

Tu dirección de correo electrónico no será publicada.