Cum să configurați și să integrați serviciile iRedMail în Samba4 AD DC - Partea 11


În acest tutorial veți învăța cum să modificați demonii principali iRedMail care furnizează servicii de corespondență, respectiv Postfix folosit pentru transferul de corespondență și Dovecot care livrează e-mail în cutiile poștale ale conturilor, pentru a le integra pe ambele în Samba4 Active Directory Domain Controller.

Prin integrarea iRedMail într-un Samba4 AD DC veți beneficia de următoarele caracteristici: autentificarea utilizatorului, management și stare prin Samba AD DC, creați liste de e-mail cu ajutorul grupurilor AD și a agendei globale LDAP în Roundcube.

Cerințe

  1. Instalați iRedMail pe CentOS 7 pentru integrarea Samba4 AD

Pasul 1: Pregătiți sistemul iRedMail pentru integrarea Sama4 AD

1. La primul pas, trebuie să atribuiți o adresă IP statică pentru aparatul dvs. în cazul în care utilizați o adresă IP dinamică furnizată de un server DHCP.

Rulați comanda ifconfig pentru a lista numele interfețelor de rețea a mașinii dvs. și editați interfața de rețea adecvată cu setările IP personalizate, lansând comanda nmtui-edit împotriva NIC-ului corect.

Rulați comanda nmtui-edit cu privilegii de root.

ifconfig
nmtui-edit eno16777736

2. Odată ce interfața de rețea este deschisă pentru editare, adăugați setările IP statice adecvate, asigurați-vă că adăugați adresele IP ale serverelor DNS ale DC-ului dvs. Samba4 AD și numele domeniului dvs. pentru a interoga tărâmul de pe mașina ta. Utilizați captura de ecran de mai jos ca ghid.

3. După ce ați terminat de configurat interfața de rețea, reporniți demonul de rețea pentru a aplica modificări și a lansa o serie de comenzi ping împotriva numelui de domeniu și a FQDN-urilor controlerelor de domeniu 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. Apoi, sincronizați timpul cu controlerul de domeniu samba instalând pachetul ntpdate și interogați serverul NTP al mașinii Samba4 lansând comenzile de mai jos:

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

5. Poate doriți ca ora locală să fie sincronizată automat cu serverul de timp Samba AD. Pentru a realiza această setare, adăugați o lucrare programată pentru a rula în fiecare oră lansând comanda crontab -e și adăugați următoarea linie:

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

Pasul 2: Pregătiți Samba4 AD DC pentru integrarea iRedMail

6. Acum, treceți la o mașină Windows cu instrumente RSAT instalate pentru a gestiona Samba4 Active Directory, așa cum este descris în acest tutorial de aici.

Deschideți Manager DNS, accesați domeniul dvs. Zone de căutare înainte și adăugați o nouă înregistrare A, o înregistrare MX și o înregistrare PTR pentru a indica adresa IP a sistemului dumneavoastră iRedMail. Utilizați capturile de ecran de mai jos ca ghid.

Adăugați o înregistrare A (înlocuiți în consecință numele și adresa IP a aparatului iRedMail).

Adăugați înregistrarea MX (lăsați domeniul secundar necompletat și adăugați o prioritate 10 pentru acest server de e-mail).

Adăugați înregistrarea PTR prin extinderea la Zone de căutare inversă (înlocuiți adresa IP a serverului iRedMail în consecință). În cazul în care nu ați configurat până acum o zonă inversă pentru controlerul dvs. de domeniu, citiți următorul tutorial:

  1. Gestionați politica de grup DNS Samba4 din Windows

7. După ce ați adăugat înregistrările DNS de bază care fac ca un server de e-mail să funcționeze corect, treceți la mașina iRedMail, instalați pachetul bind-utils și interogați noul adăugat înregistrările poștale, așa cum este sugerat în fragmentul de mai jos.

Serverul DNS Samba4 AD DC ar trebui să răspundă cu înregistrările DNS adăugate la pasul anterior.

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

De pe o mașină Windows, deschideți o fereastră Prompt de comandă și lansați comanda nslookup pentru înregistrările serverului de e-mail de mai sus.

8. Ca o cerință prealabilă finală, creați un cont de utilizator nou cu privilegii minime în Samba4 AD DC cu numele vmail, alegeți o parolă puternică pentru acest utilizator și asigurați-vă că parola pentru acest utilizator nu expiră niciodată.

Contul de utilizator vmail va fi folosit de serviciile iRedMail pentru a interoga baza de date LDAP Samba4 AD DC și a extrage conturile de e-mail.

Pentru a crea contul vmail, utilizați instrumentul grafic ADUC de pe o mașină Windows conectată la tărâm cu instrumentele RSAT instalate, așa cum este ilustrat în capturile de ecran de mai jos sau utilizați linia de comandă samba-tool direct de la un controler de domeniu, așa cum este explicat în următorul subiect.

  1. Gestionați Samba4 Active Directory din linia de comandă Linux

În acest ghid, vom folosi prima metodă menționată mai sus.

9. Din sistemul iRedMail, testați capacitatea utilizatorului vmail de a interoga baza de date Samba4 AD DC LDAP lansând comanda de mai jos. Rezultatul returnat ar trebui să fie un număr total de intrări de obiecte pentru domeniul dvs., așa cum este ilustrat în capturile de ecran de mai jos.

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

Notă: înlocuiți numele domeniului și dn-ul de bază LDAP în Samba4 AD („cn=users,dc=tecmint,dc=lan' ) în consecință.

Pasul 3: Integrați serviciile iRedMail în Samba4 AD DC

10. Acum este timpul să modificați serviciile iRedMail (Postfix, Dovecot și Roundcube) pentru a interoga Samba4 Domain Controller pentru conturi de e-mail.

Primul serviciu care va fi modificat va fi agentul MTA, Postfix. Emiteți următoarele comenzi pentru a dezactiva o serie de setări MTA, adăugați numele domeniului dvs. la domeniul local Postfix și la domeniile căsuței poștale și utilizați agentul Dovecot pentru a livra e-mailurile primite local către cutiile poștale ale utilizatorilor.

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. Apoi, creați fișierul de configurare Postfix /etc/postfix/ad_sender_login_maps.cf cu editorul de text preferat și adăugați configurația de mai jos.

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ți /etc/postfix/ad_virtual_mailbox_maps.cf cu următoarea configurație.

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ți /etc/postfix/ad_virtual_group_maps.cf cu configurația de mai jos.

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

În toate cele trei fișiere de configurare înlocuiți valorile de la server_host, bind_dn, bind_pw și search_base pentru a reflecta propriul domeniu personalizat setări.

14. Apoi, deschideți fișierul de configurare principal Postfix și căutați și dezactivați iRedAPD check_policy_service și smtpd_end_of_data_restrictions adăugând un comentariu # în fața următoarelor rânduri.

nano /etc/postfix/main.cf

Comentează următoarele rânduri:

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

15. Acum, verificați legarea Postfix la Samba AD utilizând un utilizator de domeniu existent și un grup de domenii prin lansarea unei serii de interogări, așa cum este prezentat în exemplele următoare.

Rezultatul ar trebui să fie similar cu cel ilustrat în captura de ecran de mai jos.

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

Înlocuiți conturile de utilizator și grup AD în consecință. De asemenea, asigurați-vă că grupul AD pe care îl utilizați are câțiva membri utilizatori AD alocați.

16. La pasul următor modificați fișierul de configurare Dovecot pentru a interoga Samba4 AD DC. Deschideți fișierul /etc/dovecot/dovecot-ldap.conf pentru editare și adăugați următoarele rânduri.

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/

Cutia poștală a unui cont Samba4 AD va fi stocată în locația /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ pe sistemul Linux.

17. Asigurați-vă că protocoalele pop3 și imap sunt activate în fișierul de configurare principal dovecot. Verificați dacă pluginurile de e-mail quota și acl sunt, de asemenea, activate, deschizând fișierul /etc/dovecot/dovecot.conf și verificați dacă aceste valori sunt prezente.

18. Opțional, dacă doriți să setați o cotă globală hard care să nu depășească maximul de 500 MB de spațiu de stocare pentru fiecare utilizator de domeniu, adăugați următorul rând în /etc/dovecot/dovecot. confă fișier.

quota_rule = *:storage=500M 

19. În cele din urmă, pentru a aplica toate modificările făcute până acum, reporniți și verificați starea demonilor Postfix și Dovecot lansând comenzile de mai jos cu privilegii root.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Pentru a testa configurația serverului de e-mail din linia de comandă folosind protocolul IMAP, utilizați comanda telnet sau netcat, așa cum este prezentat în exemplul de mai jos.

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

Dacă puteți efectua o autentificare IMAP din linia de comandă cu un cont de utilizator Samba4, atunci serverul iRedMail pare gata să trimită și să primească e-mail pentru conturile Active Directory.

În următorul tutorial, se va discuta cum să integrați Roundcube webmail cu Samba4 AD DC și să activați Agenda globală de adrese LDAP, să personalizați Roudcube, să accesați interfața web Roundcube dintr-un browser și să dezactivați unele servicii iRedMail inutile.