Finalmente, ejecutamos los siguientes comandos para verificar el FQDN del servidor Samba.
El servicio systemd-resolved controla la configuración de DNS en el servidor Ubuntu, que no es compatible con Samba Active Directory. Para configurar Samba Active Directory, primero deberá deshabilitar el servicio systemd-resolved y reemplazar el archivo de configuración /etc/resolv.conf.
1. Ejecutamos los siguientes comandos para deshabilitar y detener el servicio systemd-resolved de una vez, y elimine el enlace simbólico al archivo /etc/resolv.conf, en ese orden.
Removemos el enlace simbólico al archivo /etc/resolv.conf
2. Ahora creamos el archivo /etc/resolv.conf
sudo nano /etc/resolv.conf
4. Finalmente corremos el siguiente commando para hacer inmutable el archivo /etc/resolv.conf. Este paso garantiza que la resolución no cambie de forma inesperada por ningún motivo.
Después de configurar el FQDN y configurar la resolución de nombres, instalaremos Samba en el sistema y habilitaremos el servicio Samba Active Directory
1. Ejecutamos el comando apt a continuación para actualizar el índice de paquetes de nuestro servidor Ubuntu.
2. Ahora, ejecutamos el siguiente comando para instalar Samba con todos los paquetes y dependencias.
5. A continuación, volvemos a escribir el FQDN del servidor para especificar el servidor administrativo de Kerberos. Resalte Ok y presione Enter para completar la configuración inicial de Samba.
7. Por último, ejecute los siguientes comandos para activar y habilitar el servicio *samba-ad-dc*.
Ahora hemos instalado Samba en el sistema. Hay varios pasos más a seguir para configurar Samba Active Directory. La instalación de Samba vino con una herramienta de línea de comandos llamada samba-tool para aprovisionar Samba Active Directory.
1. Primero, creamos una copia de seguridad del archivo /etc/samba/smb.conf por si acaso. El proceso de aprovisionamiento reemplazará este archivo.
2. Ahora, ejecutamos el comando samba-tool a continuación para comenzar a aprovisionar Samba Active Directory.
9. Ahora, ejecutamos los siguientes comandos para hacer una copia de seguridad de la configuración predeterminada de Kerberos y la reemplazamos con el archivo /var/lib/samba/private/krb5.conf.
10. Finalmente, ejecute los siguientes comandos systemctl para iniciar el servicio Samba Active Directory samba-ad-dc y verifique que el estado del servicio sea activo (en ejecución).
2. Ahora, abra el archivo de configuración /etc/chrony/chrony.conf con nano y agregue la siguiente configuración al final del archivo. Esta configuración habilita el servidor NTP de chrony y apunta la ubicación del socket NTP a /var/lib/samba/ntp_signd. Guardamos el archivo de configuración y salga del editor.
3. Luego, ejecutamos los siguientes comandos para reiniciar y verificar el servicio chronyd en el servidor Samba AD.
Después de la instalación, debe verificar la configuración de Samba para asegurarnos de que lo que hemos hecho hasta ahora funciona. Podemos hacerlo verificando la configuración DNS de Samba, la carpeta compartida predeterminada (servidor de archivos) y probando la autenticación Kerberos.
1. Ejecutamos los siguientes comandos de host para verificar el nombre de dominio AD iga.cu y dc1.iga.cu.
2. A continuación, verificamos que los registros de servicio _kerberos y _ldap apunten al FQDN de su servidor Samba Active Directory.
3. Ejecutamos el siguiente comando smbclient para verificar los recursos predeterminados disponibles en Samba Active Directory.
4. Por último, ejecutamos los siguientes comandos kinit para autenticarse en el servidor de Kerberos mediante el administrador de usuarios y verificamos los vales de Kerberos almacenados en caché en su sistema.
Nota: La parte del dominio debe estar en mayúsculas.
En este punto, hemos terminado de configurar Samba Active Directory. Pero como saben, todavía no hay usuarios. Ahora es el momento de crear nuestra primera cuenta de usuario de Samba AD usando el comando samba-tool.
1. Ejecutamos el siguiente comando para crear un nuevo usuario llamado omar, cuya contraseña es Omar2023*.
2. A continuación, ejecutamos el siguiente comando samba-tool para verificar los usuarios disponibles en Samba.
Ahora que hemos creado un nuevo usuario, lo que queda es unir una estación de trabajo al dominio de Active Directory. Luego, podemos iniciar sesión en la estación de trabajo con las credenciales de usuario de Samba AD.
1. Iniciamos sesión en nuestra PC con Windows y abrimos PowerShell como administrador.
2. Ejecutamos el siguiente comando para enumerar los adaptadores de Ethernet disponibles en nuestra PC con Windows.
3. Ejecutamos el siguiente comando para cambiar el servidor DNS del adaptador a la dirección IP de Samba Active Directory con Cloudflare DNS 1.1.1.1 de reserva adicional. Al realizar este paso, se asegura de que su estación de trabajo use el servidor Samba AD para la resolución de nombres.
4. Ejecutamos el siguiente comando para verificar su resolución de DNS y nos aseguramos de que nuestra computadora use el servidor Samba AD como la resolución de DNS predeterminada.
5. Ahora, hacemos ping al nombre de host y al dominio del servidor.
6. A continuación, ejecute el siguiente comando para unir la estación de trabajo al dominio de Samba Active Directory
7. Después de reiniciar, haemos clic en Otros usuarios en la pantalla de inicio de sesión. Ingresamos el usuario y contraseña de Active Directory del usuario Samba AD que creamos anteriormente (omar@iga.cu), y presionamos Enter para iniciar sesión.
8. Después de un inicio de sesión exitoso, abrimos una ventana de PowerShell y ejecutamos uno o ambos comandos a continuación para verificar el nombre de usuario actualmente conectado.
Crear un usuario en un OU específico
samba-tool user add raul Password123 –given-name=”Raul” –surname=”Perez” –department=”Dpto Informatica” –mail=raul@iga.cu –userou=OU=Adminred –company=”IGA” –job-title=”Administrador de red”
Comprobar si una cuenta de usuario ha sido creada
samba-tool user list | grep raul
Cambiar el password
samba-tool user setpassword raul
Eliminar un usuario
samba-tool user delete raul
Desabilitar usuario
samba-tool user disable raul
Habilitar usuario
samba-tool user enable raul
Listar todos los usuarios del controlador de dominio
samba-tool group listmembers “Domain Users”
Que no expire el password
samba-tool user setexpiry Administrator –noexpiry
Grupos de usuario
Listar grupos
samba-tool group list
Crear grupo
samba-tool group add Adminred
Comprobar si un grupo ya existe
samba-tool group list | grep Adminred
Listar miembros de un grupo
samba-tool group listmembers “Adminred”
Agregar un miembro a un grupo
samba-tool group addmembers Adminred raul
Eliminar un miembro de un grupo
samba-tool group removemembers Adminred raul
Añadir grupos a una unidad organizativa diferente. Por defecto, samba-tool añade los grupos a la unidad organizativa Users (ou=Users):
samba-tool group add estudiantes
samba-tool group add profesores
DNS
Crear Puntos del Dominio
samba-tool dns zonecreate localhost 10.168.192.in-addr.arpa -U ‘administrator’%’Admin2023*’ #Lo que esta entre comillas es el user y el password
samba-tool dns add localhost 10.168.192.in-addr.arpa 101 PTR iga.cu -U ‘administrator’%’Admin2023*’
Record del servidor dns
samba-tool dns add localhost iga.cu dns A 192.168.10.2 -U ‘administrator’%’Admin2023*’
samba-tool dns add localhost 10.168.192.in-addr.arpa 2 PTR dns.iga.cu -U ‘administrator’%’Admin2023*’
Record del servidor de correo:
samba-tool dns add localhost iga.cu mail A 192.168.10.3 -U ‘administrator’%’Admin2023*’
samba-tool dns add localhost 10.168.192.in-addr.arpa 3 PTR mail.iga.cu -U ‘administrator’%’Admin2023*’
samba-tool dns add localhost iga.cu @ MX ‘mail.iga.cu 10’ -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost 10.168.192.in-addr.arpa @ MX ‘mail.iga.cu 10’ -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost iga.cu _submission._tcp SRV ‘mail.iga.cu. 587 100 0’ -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost iga.cu _pop3s._tcp SRV ‘mail.iga.cu. 995 100 0’ -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost iga.cu _imaps._tcp SRV ‘mail.iga.cu. 993 100 0’ -U ‘administrator’%’ Admin2023*’
Record del servidor proxy:
samba-tool dns add localhost iga.cu proxy A 192.168.10.4 -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost 10.168.192.in-addr.arpa 4 PTR proxy.iga.cu. -U ‘administrator’%’ Admin2023*’
Record del servidor jabber:
samba-tool dns add localhost iga.cu jabber A 192.168.10.5 -U ‘administrator’%’ Admin2023*’
samba-tool dns add localhost 10.168.192.in-addr.arpa 5 PTR jabber.iga.cu. -U ‘administrator’%’ Admin2023*’
Comandos para chequeo de servicio, listas recursos disponibles
smbclient -L localhost -U%
Chequear autentificación
smbclient //localhost/netlogon -Uitlinux -c ‘ls’
Seguridad. Mostrar la configuracion del password en el AD
samba-tool domain passwordsettings show
Para modificar la política de contraseñas de dominio de samba, como el nivel de complejidad de la contraseña, antigüedad de la contraseña, longitud, cuántas contraseñas antiguas recordar y otras características de seguridad necesarias para un controlador de dominio, utilice la siguiente imagen como guía.
Todas las configuraciones expuestas en esta guía han sido probadas satisfactoriamente -si los pasos descritos se siguen a cabalidad.
Si el despliegue es realizado sobre Proxmox 7, los CT que ejecuten servicios que utilicen autenticación kerberos, deben crearse con las características fuse, nesting y la opción Unprivileged mode desmarcada.
En CT para que el servidor Samba AD DC funcione correctamente; además de lo descrito en el párrafo anterior, debe activarse la característica cifs.
Para un correcto funcionamiento del servidor NTP en CT se debe eliminar la restricción de acceso al reloj del sistema, editando el fichero de configuración del contendor y agregando al final las líneas lxc.cap.drop: y lxc.cap.drop: mac_admin mac_override sys_module sys_rawio sys_time. Ejemplo: