Ricerca nel sito web

Come configurare e integrare i servizi iRedMail in Samba4 AD DC - Parte 11


In questo tutorial impareremo come modificare i demoni principali di iRedMail che forniscono servizi di posta, rispettivamente Postfix utilizzato per il trasferimento della posta e Dovecot che consegna la posta alle caselle di posta degli account, al fine di integrarli entrambi nel controller di dominio Active Directory di Samba4.

Integrando iRedMail in un Samba4 AD DC potrai beneficiare delle seguenti funzionalità: autenticazione utente, gestione e stato tramite Samba AD DC, creazione di elenchi di posta con l'aiuto di gruppi AD e rubrica LDAP globale in Roundcube.

Requisiti

  1. Installa iRedMail su CentOS 7 per l'integrazione di Samba4 AD

Passaggio 1: preparare il sistema iRedMail per l'integrazione Sama4 AD

1. Nel primo passaggio, devi assegnare un indirizzo IP statico al tuo computer nel caso in cui utilizzi un indirizzo IP dinamico fornito da un server DHCP.

Esegui il comando ifconfig per elencare i nomi delle interfacce di rete della tua macchina e modificare l'interfaccia di rete corretta con le tue impostazioni IP personalizzate emettendo il comando nmtui-edit sulla NIC corretta.

Esegui il comando nmtui-edit con i privilegi di root.

ifconfig
nmtui-edit eno16777736

2. Una volta aperta l'interfaccia di rete per la modifica, aggiungi le impostazioni IP statiche corrette, assicurati di aggiungere gli indirizzi IP dei server DNS del tuo DC AD Samba4 e il nome del tuo dominio per interrogare il regno dalla tua macchina. Utilizza lo screenshot seguente come guida.

3. Dopo aver terminato la configurazione dell'interfaccia di rete, riavviare il demone di rete per applicare le modifiche ed eseguire una serie di comandi ping rispetto al nome di dominio e agli FQDN dei controller di 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. Successivamente, sincronizza l'ora con il controller di dominio Samba installando il pacchetto ntpdate ed interroga il server NTP della macchina Samba4 immettendo i seguenti comandi:

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

5. Potresti volere che l'ora locale venga sincronizzata automaticamente con il server temporale di Samba AD. Per ottenere questa impostazione, aggiungi un lavoro pianificato da eseguire ogni ora emettendo il comando crontab -e e aggiungi la seguente riga:

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

Passaggio 2: preparare Samba4 AD DC per l'integrazione di iRedMail

6. Ora passa a un computer Windows con gli strumenti RSAT installati per gestire Samba4 Active Directory come descritto in questo tutorial qui.

Apri Gestore DNS, vai alle Zone di ricerca diretta del tuo dominio e aggiungi un nuovo record A, un record MX e un record PTR che punti all'indirizzo IP del tuo sistema iRedMail. Utilizza gli screenshot seguenti come guida.

Aggiungi un record A (sostituisci di conseguenza il nome e l'indirizzo IP della macchina iRedMail).

Aggiungi il record MX (lascia vuoto il dominio figlio e aggiungi una priorità 10 per questo server di posta).

Aggiungi il record PTR espandendo in Zone di ricerca inversa (sostituisci di conseguenza l'indirizzo IP del server iRedMail). Se finora non hai configurato una zona inversa per il tuo controller di dominio, leggi il seguente tutorial:

  1. Gestisci i criteri di gruppo DNS di Samba4 da Windows

7. Dopo aver aggiunto i record DNS di base che consentono il corretto funzionamento di un server di posta, spostati sul computer iRedMail, installa il pacchetto bind-utils ed esegui una query sul file appena aggiunto record di posta come suggerito nell'estratto seguente.

Il server DNS AD DC Samba4 dovrebbe rispondere con i record DNS aggiunti nel passaggio precedente.

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

Da un computer Windows, apri una finestra Prompt dei comandi ed esegui il comando nslookup sui record del server di posta sopra indicati.

8. Come prerequisito finale, crea un nuovo account utente con privilegi minimi in Samba4 AD DC con il nome vmail, scegli una password complessa per questo utente e assicurati la password per questo utente non scade mai.

L'account utente vmail verrà utilizzato dai servizi iRedMail per interrogare il database LDAP Samba4 AD DC ed estrarre gli account di posta elettronica.

Per creare l'account vmail, utilizzare lo strumento grafico ADUC da una macchina Windows collegata al realm con gli strumenti RSAT installati come illustrato negli screenshot seguenti oppure utilizzare la riga di comando dello strumento samba direttamente da un controller di dominio come spiegato nel seguente argomento.

  1. Gestisci Active Directory di Samba4 dalla riga di comando di Linux

In questa guida utilizzeremo il primo metodo menzionato sopra.

9. Dal sistema iRedMail, testa la capacità dell'utente vmail di interrogare il database LDAP AD DC Samba4 immettendo il comando seguente. Il risultato restituito dovrebbe essere un numero totale di voci di oggetti per il tuo dominio, come illustrato negli screenshot seguenti.

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

Nota: sostituisci il nome di dominio e la base LDAP dn in Samba4 AD ('cn=users,dc=tecmint,dc=lan' ) di conseguenza.

Passaggio 3: integra i servizi iRedMail in Samba4 AD DC

10. Ora è il momento di manomettere i servizi iRedMail (Postfix, Dovecot e Roundcube) per interrogare il controller di dominio Samba4 per gli account di posta.

Il primo servizio ad essere modificato sarà l'agente MTA, Postfix. Emetti i seguenti comandi per disabilitare una serie di impostazioni MTA, aggiungi il tuo nome di dominio al dominio locale Postfix e ai domini delle caselle di posta e utilizza l'agente Dovecot per consegnare i messaggi ricevuti localmente alle caselle di posta degli utenti.

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. Successivamente, crea il file di configurazione /etc/postfix/ad_sender_login_maps.cf Postfix con il tuo editor di testo preferito e aggiungi la configurazione seguente.

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. Crea /etc/postfix/ad_virtual_mailbox_maps.cf con la seguente configurazione.

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. Crea /etc/postfix/ad_virtual_group_maps.cf con la configurazione seguente.

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

Su tutti e tre i file di configurazione sostituisci i valori di server_host, bind_dn, bind_pw e search_base per riflettere la personalizzazione del tuo dominio impostazioni.

14. Successivamente, apri il file di configurazione principale di Postfix e cerca e disabilita iRedAPD check_policy_service e smtpd_end_of_data_restrictions aggiungendo un commento # davanti alle righe seguenti.

nano /etc/postfix/main.cf

Commenta le seguenti righe:

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

15. Ora verifica l'associazione di Postfix a Samba AD utilizzando un utente di dominio esistente e un gruppo di dominio emettendo una serie di query come presentato negli esempi seguenti.

Il risultato dovrebbe essere simile a quello illustrato nello screenshot qui sotto.

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

Sostituisci gli account utente e gruppo AD di conseguenza. Inoltre, assicurati che al gruppo AD che stai utilizzando siano assegnati alcuni membri utenti AD.

16. Nel passaggio successivo modificare il file di configurazione di Dovecot per interrogare Samba4 AD DC. Apri il file /etc/dovecot/dovecot-ldap.conf per modificarlo e aggiungi le seguenti righe.

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 casella di posta di un account Samba4 AD verrà archiviata nella posizione /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ sul sistema Linux.

17. Assicurati che i protocolli pop3 e imap siano abilitati nel file di configurazione principale di dovecot. Verifica se anche i plugin di posta quota e ACL sono abilitati aprendo il file /etc/dovecot/dovecot.conf e controlla se questi valori sono presenti.

18. Facoltativamente, se desideri impostare una quota fissa globale per non superare il massimo di 500 MB di spazio di archiviazione per ciascun utente del dominio, aggiungi la seguente riga in /etc/dovecot/dovecot. conf.

quota_rule = *:storage=500M 

19. Infine, per applicare tutte le modifiche apportate finora, riavvia e verifica lo stato dei demoni Postfix e Dovecot immettendo i comandi seguenti con privilegi di root.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Per testare la configurazione del server di posta dalla riga di comando utilizzando il protocollo IMAP, utilizzare il comando telnet o netcat come presentato nell'esempio seguente.

nc localhost 143
a1 LOGIN ad_user@your_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Se puoi eseguire un accesso IMAP dalla riga di comando con un account utente Samba4, il server iRedMail sembra pronto per inviare e ricevere posta per gli account Active Directory.

Nel prossimo tutorial verrà illustrato come integrare la webmail Roundcube con Samba4 AD DC e abilitare la rubrica LDAP globale, personalizzare Roudcube, accedere all'interfaccia web Roundcube da un browser e disabilitare alcuni servizi iRedMail non necessari.