Cómo configurar e integrar los servicios de iRedMail a Samba4 AD DC - Parte 11


En este tutorial aprenderá cómo modificar los demonios principales de iRedMail que proporcionan servicios de correo, respectivamente, Samba4 Active Directory Domain Controller.

Al integrar iRedMail a Samba4 AD DC, se beneficiará de las siguientes características: autenticación de usuario, administración y estado a través de Samba AD DC, crear listas de correo con la ayuda de grupos AD y la libreta de direcciones LDAP global en Roundcube.

  1. Instale iRedMail en CentOS 7 para la integración de Samba4 AD

Paso 1: Prepare el sistema iRedMail para la integración de Sama4 AD

1. En el primer paso, debe asignar una dirección IP estática para su máquina en caso de que esté utilizando una dirección IP dinámica proporcionada por un servidor DHCP.

Ejecute el comando nmtui-edit en la NIC correcta.

Ejecute el comando nmtui-edit con privilegios de root.

# ifconfig
# nmtui-edit eno16777736

2. Una vez que la interfaz de red esté abierta para editar, agregue la configuración de IP estática adecuada, asegúrese de agregar las direcciones IP de los servidores DNS de su Samba4 AD DC y el nombre de su dominio para consultar el reino desde su máquina. Utilice la siguiente captura de pantalla como guía.

3. Una vez que termine de configurar la interfaz de red, reinicie el demonio de red para aplicar los cambios y emitir una serie de comandos ping contra el nombre de dominio y los FQDN de los controladores de dominio samba4.

# systemctl restart network.service
# cat /etc/resolv.conf     # verify DNS resolver configuration if the correct DNS servers IPs are queried for domain resolution
# ping -c2 tecmint.lan     # Ping domain name
# ping -c2 adc1            # Ping first AD DC
# ping -c2 adc2            # Ping second AD DC

4. A continuación, sincronice la hora con el controlador de dominio samba instalando el paquete ntpdate y consulte el servidor NTP de la máquina Samba4 emitiendo los siguientes comandos:

# yum install ntpdate
# ntpdate -qu tecmint.lan      # querry domain NTP servers
# ntpdate tecmint.lan          # Sync time with the domain

5. Es posible que desee que la hora local se sincronice automáticamente con el servidor de hora samba AD. Para lograr esta configuración, agregue un trabajo programado para que se ejecute cada hora emitiendo el comando crontab -e y agregue la siguiente línea:

0   */1	  *   *   *   /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1

Paso 2: Prepare Samba4 AD DC para la integración de iRedMail

6. Ahora, muévase a aquí.

Abra el Administrador de DNS, vaya a las Zonas de búsqueda directa de su dominio y agregue un nuevo registro A, un registro MX y un registro PTR para apuntar a la dirección IP de su sistema iRedMail. Utilice las siguientes capturas de pantalla como guía.

Agregue un registro (reemplace el nombre y la dirección IP de la máquina iRedMail en consecuencia).

Agregue el registro MX (deje el dominio secundario en blanco y agregue una prioridad 10 para este servidor de correo).

Agregue el registro PTR expandiendo a Zonas de búsqueda inversa (reemplace la dirección IP del servidor iRedMail en consecuencia). En caso de que no hayas configurado una zona inversa para tu controlador de dominio hasta ahora, lee el siguiente tutorial:

  1. Administrar la política de grupo DNS de Samba4 desde Windows

7. Después de haber agregado los registros DNS básicos que hacen que un servidor de correo funcione correctamente, muévase a la máquina iRedMail, instale el paquete bind-utils y consulte los registros de correo recién agregados como se sugiere en el siguiente extracto.

El servidor DNS Samba4 AD DC debería responder con los registros DNS agregados en el paso anterior.

# yum install bind-utils
# host tecmint.lan
# host mail.tecmint.lan
# host 192.168.1.245

Desde una máquina con Windows, abra una ventana del símbolo del sistema y emita el comando nslookup contra los registros del servidor de correo anteriores.

8. Como requisito previo final, cree una nueva cuenta de usuario con privilegios mínimos en Samba4 AD DC con el nombre vmail, elija una contraseña segura para este usuario y asegúrese de que la contraseña de este usuario nunca caduque.

Los servicios de iRedMail utilizarán la cuenta de usuario de vmail para consultar la base de datos LDAP de Samba4 AD DC y extraer las cuentas de correo electrónico.

Para crear la cuenta vmail, use la herramienta gráfica ADUC desde una máquina Windows unida al reino con herramientas RSAT instaladas como se ilustra en las capturas de pantalla a continuación o use la línea de comando samba-tool directamente desde un controlador de dominio como se explica en el siguiente tema.

  1. Administre Samba4 Active Directory desde la línea de comandos de Linux

En esta guía, usaremos el primer método mencionado anteriormente.

9. Desde el sistema iRedMail, pruebe la capacidad del usuario de vmail para consultar la base de datos LDAP de Samba4 AD DC emitiendo el siguiente comando. El resultado devuelto debe ser un número total de entradas de objetos para su dominio, como se ilustra en las capturas de pantalla a continuación.

# ldapsearch -x -h tecmint.lan -D '[email protected]' -W -b 'cn=users,dc=tecmint,dc=lan'

Nota: Reemplace el nombre de dominio y el LDAP base dn en Samba4 AD ('cn u003d users, dc u003d tecmint, dc u003d lan') en consecuencia.

Paso 3: Integrar los servicios de iRedMail a Samba4 AD DC

10. Ahora es el momento de manipular los servicios de iRedMail (Postfix, Dovecot y Roundcube) para consultar las cuentas de correo del controlador de dominio Samba4.

El primer servicio que se modificará será el agente MTA, Postfix. Emita los siguientes comandos para deshabilitar una serie de configuraciones de MTA, agregue su nombre de dominio al dominio local de Postfix y los dominios de buzón y use el agente Dovecot para entregar los correos recibidos localmente a los buzones de correo de los usuarios.

# postconf -e virtual_alias_maps=' '
# postconf -e sender_bcc_maps=' '
# postconf -e recipient_bcc_maps= ' '
# postconf -e relay_domains=' '
# postconf -e relay_recipient_maps=' '
# postconf -e sender_dependent_relayhost_maps=' '
# postconf -e smtpd_sasl_local_domain='tecmint.lan'	#Replace with your own domain
# postconf -e virtual_mailbox_domains='tecmint.lan'	#Replace with your own domain	
# postconf -e transport_maps='hash:/etc/postfix/transport'
# postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'  # Check SMTP senders
# postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'  # Check local mail accounts
# postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'  # Check local mail lists
# cp /etc/postfix/transport /etc/postfix/transport.backup	# Backup transport conf file
# echo "tecmint.lan dovecot" > /etc/postfix/transport		# Add your domain with dovecot transport
# cat /etc/postfix/transport					# Verify transport file
# postmap hash:/etc/postfix/transport

11. A continuación, cree el archivo de configuración Postfix /etc/postfix/ad_sender_login_maps.cf con su editor de texto favorito y agregue la siguiente configuración.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email protected]
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel      = 0

12. Cree /etc/postfix/ad_virtual_mailbox_maps.cf con la siguiente configuración.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email protected]
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format   = %d/%u/Maildir/
debuglevel      = 0

13. Cree /etc/postfix/ad_virtual_group_maps.cf con la siguiente configuración.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email protected]
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

En los tres archivos de configuración, reemplace los valores de server_host, bind_dn, bind_pw y search_base para reflejar la configuración personalizada de su propio dominio.

14. A continuación, abra el archivo de configuración principal de Postfix y busque y desactive iRedAPD check_policy_service y smtpd_end_of_data_restrictions agregando un comentario # delante de las siguientes líneas.

# nano /etc/postfix/main.cf

Comenta las siguientes líneas:

#check_policy_service inet:127.0.0.1:7777
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777

15. Ahora, verifique la vinculación de Postfix a Samba AD utilizando un usuario de dominio existente y un grupo de dominio emitiendo una serie de consultas como se presenta en los siguientes ejemplos.

El resultado debe ser similar al que se ilustra en la siguiente captura de pantalla.

# postmap -q [email protected] ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
# postmap -q [email protected] ldap:/etc/postfix/ad_sender_login_maps.cf
# postmap -q [email protected] ldap:/etc/postfix/ad_virtual_group_maps.cf

Reemplace las cuentas de grupo y usuario de AD en consecuencia. Además, asegúrese de que el grupo de AD que está utilizando tenga algunos miembros de usuarios de AD asignados.

16. En el siguiente paso, modifique el archivo de configuración de Dovecot para consultar Samba4 AD DC. Abra el archivo /etc/dovecot/dovecot-ldap.conf para editarlo y agregue las siguientes líneas.

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email protected]
dnpass          = ad_vmail_password
base            = dc=tecmint,dc=lan
scope           = subtree
deref           = never
user_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs      = userPassword=password
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/

El buzón de una cuenta de Samba4 AD se almacenará en /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ ubicación en el sistema Linux.

17. Asegúrese de que los protocolos pop3 e imap estén habilitados en el archivo de configuración principal de dovecot. Verifique si los complementos de correo de cuota y acl también están habilitados abriendo el archivo /etc/dovecot/dovecot.conf y verifique si estos valores están presentes.

18. Opcionalmente, si desea establecer una cuota estricta global que no exceda el máximo de 500 MB de almacenamiento para cada usuario de dominio, agregue la siguiente línea en el archivo /etc/dovecot/dovecot.conf.

quota_rule = *:storage=500M 

19. Finalmente, para aplicar todos los cambios realizados hasta ahora, reinicie y verifique el estado de los demonios Postfix y Dovecot emitiendo los siguientes comandos con privilegios de root.

# systemctl restart postfix dovecot
# systemctl status postfix dovecot

20. Para probar la configuración del servidor de correo desde la línea de comando usando el protocolo IMAP, use el comando telnet o netcat como se presenta en el siguiente ejemplo.

# nc localhost 143
a1 LOGIN [email protected]_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Si puede realizar un inicio de sesión IMAP desde la línea de comandos con una cuenta de usuario de Samba4, el servidor iRedMail parece estar listo para enviar y recibir correo para las cuentas de Active Directory.

En el siguiente tutorial se discutirá cómo integrar el correo web Roundcube con Samba4 AD DC y habilitar la libreta de direcciones LDAP global, personalizar Roudcube, acceder a la interfaz web Roundcube desde un navegador y deshabilitar algunos servicios iRedMail innecesarios.