Com configurar i integrar els serveis iRedMail a Samba4 AD DC - Part 11


En aquest tutorial s'aprendrà a modificar els dimonis principals d'iRedMail que proporcionen serveis de correu, respectivament, Samba4 Active Directory Domain Controller.

En integrar iRedMail a un Samba4 AD DC us beneficiareu de les funcions següents: autenticació d'usuaris, gestió i estat mitjançant Samba AD DC, creeu llistes de correu amb l'ajuda de grups AD i Llibreta d'adreces LDAP global a Roundcube.

  1. Instal·leu iRedMail a CentOS 7 per a la integració de Samba4 AD

Pas 1: prepareu el sistema iRedMail per a la integració de Sama4 AD

1. En el primer pas, heu d'assignar una adreça IP estàtica per a la vostra màquina en cas que utilitzeu una adreça IP dinàmica proporcionada per un servidor DHCP.

Executeu l'ordre nmtui-edit contra la NIC correcta.

Executeu l'ordre nmtui-edit amb privilegis de root.

# ifconfig
# nmtui-edit eno16777736

2. Un cop oberta la interfície de xarxa per editar-la, afegiu la configuració IP estàtica adequada, assegureu-vos d'afegir les adreces IP dels servidors DNS del vostre Samba4 AD DC i el nom del vostre domini per consultar el regne des de la vostra màquina. Utilitzeu la captura de pantalla següent com a guia.

3. Quan hàgiu acabat de configurar la interfície de xarxa, reinicieu el dimoni de xarxa per aplicar els canvis i emetre una sèrie d'ordres de ping contra el nom de domini i els FQDN dels controladors de domini 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ó, sincronitzeu l'hora amb el controlador de domini samba instal·lant el paquet ntpdate i consulteu el servidor NTP de la màquina Samba4 emetent les ordres següents:

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

5. És possible que vulgueu que l'hora local es sincronitzi automàticament amb el servidor d'hora de Samba AD. Per aconseguir aquesta configuració, afegiu un treball programat per executar-se cada hora emetent l'ordre crontab -e i afegiu la línia següent:

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

Pas 2: prepareu Samba4 AD DC per a la integració iRedMail

6. Ara, aneu a un aquí.

Obriu el Gestor de DNS, aneu a les zones de cerca directa del vostre domini i afegiu un nou registre A, un registre MX i un registre PTR per apuntar a l'adreça IP del vostre sistema iRedMail. Utilitzeu les captures de pantalla següents com a guia.

Afegiu un registre (substituïu el nom i l'adreça IP de la màquina iRedMail en conseqüència).

Afegiu un registre MX (deixeu el domini secundari en blanc i afegiu una prioritat 10 per a aquest servidor de correu).

Afegiu el registre PTR ampliant-vos a les zones de cerca inversa (substituïu l'adreça IP del servidor iRedMail en conseqüència). En cas que fins ara no hagis configurat una zona inversa per al teu controlador de domini, llegiu el tutorial següent:

  1. Gestiona la política de grup DNS de Samba4 des de Windows

7. Després d'haver afegit els registres DNS bàsics que fan que un servidor de correu funcioni correctament, aneu a la màquina iRedMail, instal·leu el paquet bind-utils i consulteu els registres de correu recentment afegits tal com es suggereix a l'extracte següent.

El servidor DNS Samba4 AD DC hauria de respondre amb els registres DNS afegits al pas anterior.

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

Des d'una màquina Windows, obriu una finestra del símbol del sistema i emeteu l'ordre nslookup amb els registres del servidor de correu anteriors.

8. Com a últim requisit previ, creeu un compte d'usuari nou amb privilegis mínims a Samba4 AD DC amb el nom vmail, trieu una contrasenya segura per a aquest usuari i assegureu-vos que la contrasenya d'aquest usuari no caduqui mai.

Els serveis d'iRedMail utilitzaran el compte d'usuari de vmail per consultar la base de dades LDAP de Samba4 AD DC i extreure els comptes de correu electrònic.

Per crear el compte de vmail, utilitzeu l'eina gràfica ADUC des d'una màquina Windows unida al regne amb les eines RSAT instal·lades tal com s'il·lustra a les captures de pantalla següents o utilitzeu la línia d'ordres de samba-tool directament des d'un controlador de domini, tal com s'explica al tema següent.

  1. Gestiona Samba4 Active Directory des de la línia d'ordres de Linux

En aquesta guia, utilitzarem el primer mètode esmentat anteriorment.

9. Des del sistema iRedMail, proveu la capacitat de l'usuari de vmail per consultar la base de dades Samba4 AD DC LDAP emetent l'ordre següent. El resultat retornat hauria de ser un nombre total d'entrades d'objectes per al vostre domini, tal com es mostra a les captures de pantalla següents.

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

Nota: substituïu el nom de domini i el dn base LDAP a Samba4 AD ('cn=users,dc=tecmint,dc=lan') en conseqüència.

Pas 3: integreu els serveis iRedMail a Samba4 AD DC

10. Ara és el moment de manipular els serveis iRedMail (Postfix, Dovecot i Roundcube) per tal de consultar al controlador de domini Samba4 per als comptes de correu.

El primer servei a modificar serà l'agent MTA, Postfix. Emet les ordres següents per desactivar una sèrie de paràmetres de MTA, afegiu el vostre nom de domini al domini local de Postfix i als dominis de la bústia de correu i utilitzeu l'agent Dovecot per lliurar localment els correus rebuts a les bústies dels usuaris.

# 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ó, creeu el fitxer de configuració de Postfix /etc/postfix/ad_sender_login_maps.cf amb el vostre editor de text preferit i afegiu la configuració següent.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
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. Creeu /etc/postfix/ad_virtual_mailbox_maps.cf amb la configuració següent.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
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. Creeu /etc/postfix/ad_virtual_group_maps.cf amb la configuració següent.

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
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 els tres fitxers de configuració, substituïu els valors de server_host, bind_dn, bind_pw i search_base per reflectir la configuració personalitzada del vostre domini.

14. A continuació, obriu el fitxer de configuració principal de Postfix i cerqueu i desactiveu iRedAPD check_policy_service i smtpd_end_of_data_restrictions afegint un comentari # davant de les línies següents.

# nano /etc/postfix/main.cf

Comenta les línies següents:

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

15. Ara, verifiqueu la vinculació de Postfix amb Samba AD utilitzant un usuari de domini existent i un grup de domini emetent una sèrie de consultes tal com es presenta als exemples següents.

El resultat hauria de ser similar al que es mostra a la captura de pantalla següent.

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

Substituïu els comptes d'usuari i grup d'AD en conseqüència. A més, assegureu-vos que el grup AD que utilitzeu tingui alguns membres d'usuaris d'AD assignats.

16. Al següent pas modifiqueu el fitxer de configuració de Dovecot per consultar Samba4 AD DC. Obriu el fitxer /etc/dovecot/dovecot-ldap.conf per editar-lo i afegiu les línies següents.

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email 
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/

La bústia d'un compte de Samba4 AD s'emmagatzemarà a la ubicació /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ al sistema Linux.

17. Assegureu-vos que els protocols pop3 i imap estiguin activats al fitxer de configuració principal de dovecot. Comproveu si els connectors de correu de quota i acl també estan activats obrint el fitxer /etc/dovecot/dovecot.conf i comproveu si aquests valors estan presents.

18. Opcionalment, si voleu establir una quota global global perquè no superi el màxim de 500 MB d'emmagatzematge per a cada usuari de domini, afegiu la línia següent al fitxer /etc/dovecot/dovecot.conf.

quota_rule = *:storage=500M 

19. Finalment, per aplicar tots els canvis fets fins ara, reinicieu i verifiqueu l'estat dels dimonis Postfix i Dovecot emetent les ordres següents amb privilegis d'arrel.

# systemctl restart postfix dovecot
# systemctl status postfix dovecot

20. Per provar la configuració del servidor de correu des de la línia d'ordres mitjançant el protocol IMAP, utilitzeu l'ordre telnet o netcat tal com es presenta a l'exemple següent.

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

Si podeu realitzar un inici de sessió IMAP des de la línia d'ordres amb un compte d'usuari Samba4, el servidor iRedMail sembla estar preparat per enviar i rebre correu per als comptes de l'Active Directory.

Al següent tutorial es parlarà de com integrar el correu web de Roundcube amb Samba4 AD DC i habilitar la Llibreta d'adreces LDAP global, personalitzar Roudcube, accedir a la interfície web de Roundcube des d'un navegador i desactivar alguns serveis iRedMail innecessaris.