Guía de Configuración de Linux para Autenticación contra Active Directory

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Prerrequisitos

  1. Acceso Administrativo: Asegúrate de tener acceso administrativo tanto en la máquina Linux como en el servidor AD.
  2. Herramientas Necesarias:
    • realmd
    • sssd
    • krb5-user
    • samba
    • packagekit

Paso 1: Instalación de los Paquetes Necesarios

Primero, instala los paquetes necesarios. Puedes hacerlo mediante el gestor de paquetes de tu distribución. Para Debian/Ubuntu, usa apt:

sudo apt update
sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin packagekit krb5-user

Para CentOS/RHEL, usa yum:

sudo yum install realmd sssd adcli samba-common packagekit krb5-workstation

Paso 2: Descubrimiento del Dominio AD

Usa el comando realm para descubrir tu dominio AD:

sudo realm discover example.com

Reemplaza example.com con tu dominio real. Este comando debería devolver información sobre tu dominio.

Paso 3: Unir la Máquina Linux al Dominio AD

Para unir la máquina al dominio, usa el comando realm join. Necesitarás proporcionar las credenciales de un usuario con privilegios para unir equipos al dominio:

sudo realm join --user=adminuser example.com

Reemplaza adminuser con un usuario administrador de tu dominio AD.

Paso 4: Configuración de sssd

Modifica la configuración de sssd para asegurarte de que se utiliza correctamente. Edita el archivo /etc/sssd/sssd.conf:

sudo nano /etc/sssd/sssd.conf

Asegúrate de que el archivo contiene al menos las siguientes líneas:

[sssd]
services = nss, pam
config_file_version = 2
domains = example.com

[domain/example.com]
id_provider = ad
access_provider = ad
override_homedir = /home/%d/%u
default_shell = /bin/bash

ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba

cache_credentials = True

Reemplaza example.com y EXAMPLE.COM con los valores de tu dominio. Luego, establece los permisos correctos para este archivo:

sudo chmod 600 /etc/sssd/sssd.conf

Paso 5: Configuración de krb5

Configura Kerberos editando el archivo /etc/krb5.conf:

sudo nano /etc/krb5.conf

Asegúrate de que contiene al menos las siguientes líneas:

[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = true

[realms]
EXAMPLE.COM = {
kdc = your.kdc.example.com
admin_server = your.admin.example.com
}

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

Reemplaza example.com y EXAMPLE.COM con los valores de tu dominio, y your.kdc.example.com y your.admin.example.com con las direcciones de tu KDC y servidor admin.

Paso 6: Reiniciar los Servicios

Reinicia los servicios para que los cambios surtan efecto:

sudo systemctl restart sssd

Paso 7: Verificación

Para verificar que todo funciona correctamente, intenta obtener un ticket Kerberos y listar la información de usuario desde AD:

kinit [email protected]
klist

A continuación, verifica que puedes obtener información de usuario:

getent passwd [email protected]

Paso 8: Configuración de Acceso

Para permitir que todos los usuarios del dominio inicien sesión, puedes usar el siguiente comando:

sudo realm permit --all

Si deseas permitir solo a usuarios específicos, utiliza:

sudo realm permit [email protected] [email protected]

Paso 9: Configuración de Sudoers (Opcional)

Si necesitas que los usuarios de AD tengan privilegios de sudo, edita el archivo /etc/sudoers:

sudo visudo

Añade la siguiente línea para permitir a los usuarios del grupo Domain Admins usar sudo:

%domain\ [email protected] ALL=(ALL) ALL

Reemplaza domain\ admins con el grupo adecuado de tu dominio.

Conclusión

Siguiendo estos pasos, deberías poder autenticar usuarios de Active Directory en tu máquina Linux. Asegúrate de probar cada paso y verificar los resultados antes de proceder al siguiente para garantizar una configuración correcta.