Recherche de site Web

Comment configurer et intégrer les services iRedMail à Samba4 AD DC - Partie 11


Dans ce didacticiel, nous apprendrons comment modifier les démons principaux d'iRedMail qui fournissent des services de messagerie, respectivement, Postfix utilisé pour le transfert de courrier et Dovecot qui délivre le courrier aux boîtes aux lettres des comptes, afin de les intégrer tous deux dans le contrôleur de domaine Active Directory Samba4.

En intégrant iRedMail à un Samba4 AD DC, vous bénéficierez des fonctionnalités suivantes : authentification, gestion et statut des utilisateurs via Samba AD DC, créez des listes de diffusion à l'aide des groupes AD et du carnet d'adresses Global LDAP dans Roundcube.

Exigences

  1. Installez iRedMail sur CentOS 7 pour l'intégration de Samba4 AD

Étape 1 : Préparer le système iRedMail pour l'intégration de Sama4 AD

1. Dans la première étape, vous devez attribuer une adresse IP statique à votre machine au cas où vous utiliseriez une adresse IP dynamique fournie par un serveur DHCP.

Exécutez la commande ifconfig pour répertorier les noms des interfaces réseau de votre machine et modifiez l'interface réseau appropriée avec vos paramètres IP personnalisés en émettant la commande nmtui-edit sur la carte réseau appropriée.

Exécutez la commande nmtui-edit avec les privilèges root.

ifconfig
nmtui-edit eno16777736

2. Une fois l'interface réseau ouverte pour édition, ajoutez les paramètres IP statiques appropriés, assurez-vous d'ajouter les adresses IP des serveurs DNS de votre Samba4 AD DC et le nom de votre domaine afin d'interroger le domaine depuis votre machine. Utilisez la capture d'écran ci-dessous comme guide.

3. Une fois la configuration de l'interface réseau terminée, redémarrez le démon réseau pour appliquer les modifications et émettez une série de commandes ping sur le nom de domaine et les FQDN des contrôleurs de domaine 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. Ensuite, synchronisez l'heure avec le contrôleur de domaine Samba en installant le package ntpdate et interrogez le serveur NTP de la machine Samba4 en exécutant les commandes ci-dessous :

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

5. Vous souhaiterez peut-être que l'heure locale soit automatiquement synchronisée avec le serveur de temps samba AD. Pour obtenir ce paramètre, ajoutez une tâche planifiée à exécuter toutes les heures en exécutant la commande crontab -e et ajoutez la ligne suivante :

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

Étape 2 : Préparer Samba4 AD DC pour l'intégration d'iRedMail

6. Maintenant, passez à une machine Windows sur laquelle les outils RSAT sont installés pour gérer Samba4 Active Directory comme décrit dans ce didacticiel ici.

Ouvrez le DNS Manager, accédez aux Zones de recherche directe de votre domaine et ajoutez un nouvel enregistrement A, un enregistrement MX et un enregistrement PTR pour pointer vers l'adresse IP de votre système iRedMail. Utilisez les captures d'écran ci-dessous comme guide.

Ajoutez un enregistrement A (remplacez le nom et l'adresse IP de la machine iRedMail en conséquence).

Ajoutez un enregistrement MX (laissez le domaine enfant vide et ajoutez une priorité de 10 pour ce serveur de messagerie).

Ajoutez un enregistrement PTR en l'étendant aux Zones de recherche inversée (remplacez l'adresse IP du serveur iRedMail en conséquence). Si vous n'avez pas encore configuré de zone inversée pour votre contrôleur de domaine, lisez le didacticiel suivant :

  1. Gérer la stratégie de groupe DNS Samba4 depuis Windows

7. Après avoir ajouté les enregistrements DNS de base qui permettent à un serveur de messagerie de fonctionner correctement, accédez à la machine iRedMail, installez le package bind-utils et interrogez le package nouvellement ajouté. envoyez les enregistrements par courrier comme suggéré dans l’extrait ci-dessous.

Le serveur DNS Samba4 AD DC doit répondre avec les enregistrements DNS ajoutés à l'étape précédente.

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

À partir d'un ordinateur Windows, ouvrez une fenêtre Invite de commandes et exécutez la commande nslookup sur les enregistrements du serveur de messagerie ci-dessus.

8. Comme dernière condition préalable, créez un nouveau compte utilisateur avec des privilèges minimaux dans Samba4 AD DC avec le nom vmail, choisissez un mot de passe fort pour cet utilisateur et assurez-vous le mot de passe de cet utilisateur n'expire jamais.

Le compte utilisateur vmail sera utilisé par les services iRedMail pour interroger la base de données Samba4 AD DC LDAP et extraire les comptes de messagerie.

Pour créer le compte vmail, utilisez l'outil graphique ADUC à partir d'une machine Windows jointe au domaine avec les outils RSAT installés comme illustré sur les captures d'écran ci-dessous ou utilisez la ligne de commande samba-tool directement à partir d'un contrôleur de domaine comme expliqué dans la rubrique suivante.

  1. Gérer Samba4 Active Directory à partir de la ligne de commande Linux

Dans ce guide, nous utiliserons la première méthode mentionnée ci-dessus.

9. À partir du système iRedMail, testez la capacité de l'utilisateur vmail à interroger la base de données Samba4 AD DC LDAP en exécutant la commande ci-dessous. Le résultat renvoyé doit être un nombre total d'entrées d'objets pour votre domaine, comme illustré sur les captures d'écran ci-dessous.

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

Remarque : Remplacez le nom de domaine et le nom de base LDAP dans Samba4 AD ('cn=users,dc=tecmint,dc=lan' ) par conséquent.

Étape 3 : Intégrer les services iRedMail à Samba4 AD DC

10. Il est maintenant temps de modifier les services iRedMail (Postfix, Dovecot et Roundcube) afin d'interroger le contrôleur de domaine Samba4 pour les comptes de messagerie.

Le premier service à modifier sera l'agent MTA, Postfix. Exécutez les commandes suivantes pour désactiver une série de paramètres MTA, ajoutez votre nom de domaine aux domaines de domaine local et de boîte aux lettres Postfix et utilisez l'agent Dovecot pour transmettre les courriers reçus localement aux boîtes aux lettres des utilisateurs.

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. Ensuite, créez le fichier de configuration /etc/postfix/ad_sender_login_maps.cf de Postfix avec votre éditeur de texte préféré et ajoutez la configuration ci-dessous.

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. Créez /etc/postfix/ad_virtual_mailbox_maps.cf avec la configuration suivante.

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. Créez /etc/postfix/ad_virtual_group_maps.cf avec la configuration ci-dessous.

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

Sur les trois fichiers de configuration, remplacez les valeurs de server_host, bind_dn, bind_pw et search_base pour refléter la personnalisation de votre propre domaine. paramètres.

14. Ensuite, ouvrez le fichier de configuration principal de Postfix et recherchez et désactivez iRedAPD check_policy_service et smtpd_end_of_data_restrictions en ajoutant un commentaire # devant les lignes suivantes.

nano /etc/postfix/main.cf

Commentez les lignes suivantes :

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

15. Maintenant, vérifiez la liaison de Postfix à Samba AD en utilisant un utilisateur de domaine existant et un groupe de domaine en émettant une série de requêtes comme présenté dans les exemples suivants.

Le résultat devrait être similaire à celui illustré sur la capture d'écran ci-dessous.

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

Remplacez les comptes d’utilisateur et de groupe AD en conséquence. Assurez-vous également que certains membres d’utilisateurs AD sont affectés au groupe AD que vous utilisez.

16. À l'étape suivante, modifiez le fichier de configuration Dovecot afin d'interroger Samba4 AD DC. Ouvrez le fichier /etc/dovecot/dovecot-ldap.conf pour le modifier et ajoutez les lignes suivantes.

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 boîte aux lettres d'un compte Samba4 AD sera stockée à l'emplacement /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ sur le système Linux.

17. Assurez-vous que les protocoles pop3 et imap sont activés dans le fichier de configuration principal de Dovecot. Vérifiez si les plugins de messagerie quota et acl sont également activés en ouvrant le fichier /etc/dovecot/dovecot.conf et vérifiez si ces valeurs sont présentes.

18. Facultativement, si vous souhaitez définir un quota strict global pour ne pas dépasser le maximum de 500 Mo de stockage pour chaque utilisateur de domaine, ajoutez la ligne suivante dans /etc/dovecot/dovecot. fichier conf.

quota_rule = *:storage=500M 

19. Enfin, afin d'appliquer toutes les modifications apportées jusqu'à présent, redémarrez et vérifiez l'état des démons Postfix et Dovecot en exécutant les commandes ci-dessous avec les privilèges root.

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. Afin de tester la configuration du serveur de messagerie à partir de la ligne de commande à l'aide du protocole IMAP, utilisez la commande telnet ou netcat comme présenté dans l'exemple ci-dessous.

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

Si vous pouvez effectuer une connexion IMAP à partir de la ligne de commande avec un compte utilisateur Samba4, le serveur iRedMail semble prêt à envoyer et recevoir du courrier pour les comptes Active Directory.

Le didacticiel suivant expliquera comment intégrer la messagerie Web Roundcube à Samba4 AD DC et activer le carnet d'adresses Global LDAP, personnaliser Roudcube, accéder à l'interface Web Roundcube à partir d'un navigateur et désactiver certains services iRedMail inutiles.