Ir al contenido principal

Autenticación Centralizada RHEL/OracleLinux/CentOS 7



En esta oportunidad vamos a configurar una maquina con sistema operativo Linux (RHEL 7) para que pueda autenticar sesiones SSH obteniendo usuarios y credenciales del directorio activo (WINDOWS 2016)

El escenario utilizado es el siguiente:
- Server Linux (linuxhost.danielcastillo.tech, 192.168.1.2)
- AD Server Windows (adwin.danielcastillo.tech,192.168.1.100)


Pre-requisitos.


1. Un usuario en el AD con permisos para agregar estaciones de trabajo lo llamaremos "unixproxy",
Más informacion sobre como hacerlo en el siguiente link:
https://www.prajwaldesai.com/allow-domain-user-to-add-computer-to-domain/
1.1. Una unidad organizacional en el directorio activo de windows lo llamaremos "ad_win_security_group" a ella perteneceran los usuarios que queremos permitir ingresar.
1.2. Un usuario que pertenezca a la OU anterior a este lo llamaremos "aduser"

2. El sistema esta sincronzando con un servidor NTP confiable: (el server NTP debe ser el AD server)
[root@linuxhost ~]# chronyd -q
2018-06-13T19:29:20Z chronyd version 3.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SECHASH +SIGND +ASYNCDNS +IPV6 +DEBUG)
2018-06-13T19:29:20Z Initial frequency -32.310 ppm
2018-06-13T19:29:25Z System clock wrong by 0.000000 seconds (step)
2018-06-13T19:29:25Z chronyd exitin

3. Revisar que uno de los DNS sea el server ad:
[root@linuxhost ~]# cat /etc/resolv.conf
nameserver 192.168.1.100

4. Revisar que el "hostname" esta correctamente configurado:
[root@linuxhost ~]# hostname
linuxhost.danielcastillo.tech

5. I
nstalar los paquetes necesarios:
[root@linuxhost ~]# yum install realmd oddjob oddjob-mkhomedir sssd adcli 
krb5-workstation samba-common-tools samba-common

6. Al momento de escribir este artículo existia un bug, razón por la cual es recomendable reiniciar el host Linux para evitar el error: 

! Insufficient permissions to join the domain
realm: Couldn't join realm: Insufficient permissions to join the domain

Configuración.

7. Ejecuta un "realm discover" para buscar el ad:
[root@linuxhost ~]# realm discover adwin.danielcastillo.tech
EXAMPLE.COM
  type: kerberos
  realm-name: DANIELCASTILLO.TECH
  domain-name: DANIELCASTILLO.TECH
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common-tools

8. Lanzamos el requerimiento para ser parte del dominio ejecutando:

[root@linuxhost ~]# realm join -U unixproxy adwin.danielcastillo.tech
unixproxy pasword:

9. Editar archivo de configuración "/etc/sssd/sssd.conf" y cambia/añade las siguientes lineas:
use_fully_qualified_names=False
fallback_homedir=/home/%u

10. Para aplicar los cambios anteriores, reiniciar el servicio sssd:
[root@linuxhost ~]# systemctl restart sssd

11. Si todo va bien, en este punto ya podemos consultar si la maquina Linux "trae" usuarios desde el AD: (para el ejemplo el usuario "aduser" pertenece a la OU "ad_winsecurity_group")
[root@linuxhost ~]# getent aduser

12. Lo siguiente es editar el archivo "/etc/sshd/sshd_config" para permitir que los usuarios del OU "ad_win_security_group" se puedan loguear por SSH, cambia/añade las siguientes lineas:
AllowGroups <ad_win_security_group>

13. Reinicia el servicio SSH:
[root@linuxhost ~]# systemctl restart sshd

14. (Opcional) Puedes permitir que estos usuarios usen "sudo" y ejecuten tareas como root.
Ejecuta:
[root@linuxhost ~]# visudo
Añade la linea:
%<ad_win_security_group> ALL=ALL ALL

15. En este punto puedes probar logueandote por ssh con el usuario y contraseña del AD

Consideraciones finales.

16. Este procedimiento se puede implementar com parte de una estrategia de centralización de la administracion de los usuarios.

Comentarios

  1. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  2. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar

  3. Thank you for sharing useful information with us. please keep sharing like this. And if you are searching a unique and Top University in India, Colleges discovery platform, which connects students or working professionals with Universities/colleges, at the same time offering information about colleges, courses, entrance exam details, admission notifications, scholarships, and all related topics. Please visit below links:

    Dr. K.N. Modi University in Tonk

    Rishihood University in Sonipat

    Dayananda Sagar University in Bangalore

    Capital University in Kodarma

    P P Savani University in Surat

    ResponderEliminar
  4. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  5. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Importar certificado SSL de IIS e implementarlo en un WebServer Linux

Este artículo pretende explicar como implementar en un servidor Linux de la familia Redhat (Redhat, CentOS, Fedora, etc) un certificado wildcard SSL originalmente expedido e instalado en un WebServer IIS. Pre-requisitos. Debemos exportar el conjunto de certificados (en formato .pfx) que ya están instalados en el IIS  y copiarlos  a nuestra maquina Linux: Instalación y Configuración. 1. Instalamos el modulo de criptografía de Apache: [ root@ldapclt ~ ] # yum -y install mod_ssl 2. Extraer el certificado y el  key : [ root@linuxhost ~ ] # openssl pkcs12 -in example.com.pfx -clcerts -nokeys -out <host>.example.com.cer [ root@linuxhost ~ ] # openssl pkcs12 -in example.com.pfx -nocerts -nodes -out <host>.example.com.key 3. Copiamos los archivos resultantres en sus respectivas ubicaciones: [ root@linuxhost ~ ] # rsync -av <host>.example.com.cer /etc/pki/tls/certs/ [ root@linuxhost ~ ] # rsync -av <host>.example.com.key /...

Por que NO desactivar SELinux.

Extraño no es escuchar colegas decir "Para que Asterisk no te ponga problemas mejor desactiva SElinux". ¿En serio? ¿Para que tu carro no sea molesto mejor desactívale la alarma? Como en muchas otras cosas de la vida le tememos a lo que no conocemos, y optamos por el mejor método de supervivencia: Evitar. ¿Por qué SELinux? Security-Enhanced Linux (SELinux) es una implementación del control obligatorio de acceso en el kernel Linux, basado en la interfaz LSM (módulos de seguridad de Linux: «Linux Security Modules»). En la práctica, el núcleo pregunta a SELinux antes de cada llamada al sistema para saber si un proceso está autorizado a realizar dicha operación. SELinux utiliza una serie de reglas — conocidas en conjunto como una política (“policy”) — para autorizar o denegar operaciones. Estas reglas pueden llegar a ser difíciles de crear. Afortunadamente se proporcionan dos políticas estándar (targeted, dirigida, y strict, estricta) para evitar gran parte del trabajo de...