Pour limiter les systèmes autorisés à envoyer des courriels sortants non authentifiés via un MTA Zimbra, configurez zimbraMtaMyNetworksl'attribut de ce serveur avec une liste blanche restreinte d'adresses IP ou de réseaux CIDR de confiance. Conservez l'interface de bouclage (loopback) dans la liste, préservez les hôtes de confiance existants nécessitant encore un relais et supprimez les plages d'adresses IP que vous ne souhaitez plus considérer comme fiables. Redémarrez ensuite Postfix et testez l'envoi de courriels depuis une source autorisée et une autre depuis une source non autorisée.
Ce paramètre contrôle les clients SMTP de confiance autorisés à relayer les messages sans authentification SMTP. Il ne bloque pas tous les messages sortants d'un utilisateur Zimbra authentifié et ne configure pas le serveur de messagerie de saut suivant. Si vous souhaitez exiger une authentification pour les clients de messagerie itinérants ou restreindre l'accès à certains comptes utilisateurs, utilisez plutôt les contrôles d'authentification ou de stratégie de messagerie appropriés.
Que contrôle la liste blanche d'adresses IP ?
Le MTA de Zimbra utilise Postfix. Dans Postfix, un client dont l'adresse source correspond à la liste mynetworksest considéré comme fiable pour le relais. Zimbra expose cette liste zimbraMtaMyNetworks. Un hôte listé peut envoyer des courriels vers des destinations externes sans authentification ; chaque entrée constitue donc une décision de confiance significative.
Ne confondez pas la liste blanche avec le serveur relais zimbraMtaRelayHost. La liste blanche détermine quels clients SMTP peuvent relayer les messages via ce MTA. Un serveur relais est le serveur en amont vers lequel le MTA transfère les messages non locaux, par exemple lorsqu'un fournisseur d'accès réseau exige un serveur relais. Modifier l'une n'a pas pour effet d'affecter l'autre.
Les pages du Centre technique de Zimbra décrivent cet attribut et les commandes associées, mais certains éléments sont indiqués comme étant en cours de rédaction ou archivés. Avant d'appliquer des modifications, vérifiez le comportement avec votre version de Zimbra installée et votre architecture de déploiement. Les exemples ci-dessous utilisent les outils en ligne de commande de Zimbra comme zimbracompte de service, conformément aux recommandations de Zimbra concernant les MTA.
Avant de modifier le paramètre
- Identifiez le serveur MTA qui reçoit les requêtes SMTP des systèmes que vous souhaitez autoriser. Dans un environnement multi-MTA, déterminez quels serveurs gèrent ces connexions et planifiez la modification sur chaque serveur concerné.
- Identifiez l'adresse IP source fixe que le MTA détecte. Si l'application se trouve derrière un NAT, utilisez son adresse de sortie publique et non son adresse LAN privée. Si l'adresse IP change fréquemment, une liste blanche d'adresses IP uniquement nécessitera une maintenance régulière.
- Notez l'attribut Zimbra actuel et la valeur Postfix effective. Ne remplacez pas une liste existante par la seule nouvelle adresse avant d'avoir vérifié quels services dépendent des entrées actuelles.
- Prévoyez une fenêtre de maintenance ou une fenêtre de modification adaptée à votre service de messagerie et conservez une copie de restauration de la valeur d'origine exacte.
Utilisez un CIDR mono-hôte, comme `/var/log/1234` /32pour une adresse IPv4. Par exemple, `/var/log/1234` 198.51.100.25/32représente un hôte IPv4 ; cette adresse, fournie à titre d'exemple uniquement, ne doit pas être copiée comme adresse de serveur réelle. Une plage plus large, comme `/var/log/1234`, /24autorise toutes les adresses de ce sous-réseau. N'ajoutez pas de réseaux publics ni de plages d'adresses de fournisseurs d'accès étendus simplement pour que le test réussisse.
Comment configurer la liste blanche du relais Zimbra
1. Examinez les valeurs configurées et effectives
Connectez-vous à l'hôte MTA et basculez vers le compte de service Zimbra. Remplacez mta.example.compar le nom de serveur exact renvoyé par la zmhostnamecommande de votre installation.
su - zimbra
zmhostname
zmprov gs mta.example.com zimbraMtaMyNetworks
postconf mynetworks
La première requête lit la valeur stockée pour l'objet serveur Zimbra et postconfaffiche la configuration Postfix effective. Enregistrez les deux résultats. Si l'attribut LDAP n'est pas défini, Postfix peut utiliser une valeur par défaut ; par conséquent, une requête vide ne signifie pas nécessairement l'absence de réseaux de confiance. Vérifiez la valeur effective et le comportement de la configuration de votre version avant de poursuivre.
2. Constituer la liste complète la plus courte
Créez une liste contenant l'adresse de bouclage ainsi que chaque source nécessitant un relais non authentifié. Pour un serveur acceptant uniquement le relais depuis localhost et un hôte d'application fixe, la structure serait la suivante :
127.0.0.0/8 198.51.100.25/32
Remplacez l'exemple par l'adresse réelle visible par le MTA. N'incluez les interfaces locales nécessaires du serveur ou les services de confiance supplémentaires qu'après avoir confirmé leur utilité. Évitez de conserver un sous-réseau étendu si un seul serveur doit être considéré comme fiable ; limitez-le à une entrée hôte lorsque cela est possible.
3. Définissez la valeur sur le MTA approprié.
Utilisez zmprov mscette commande pour définir l'attribut au niveau du serveur. Cette commande remplace la valeur ; assurez-vous donc d'inclure toutes les entrées que vous souhaitez conserver, y compris l'adresse de bouclage :
zmprov ms mta.example.com zimbraMtaMyNetworks '127.0.0.0/8 198.51.100.25/32'
Pour plusieurs adresses IP, indiquez la liste complète des adresses approuvées entre guillemets, séparées par des espaces. Ne reprenez pas une commande d'exemple sans la modifier. Si votre configuration repose sur une valeur globale, des substitutions au niveau du serveur, IPv6, plusieurs MTA ou un comportement spécifique à une version, vérifiez le fonctionnement de l'héritage et de la configuration Postfix générée dans ce déploiement avant de définir l'attribut.
4. Rechargez Postfix et confirmez le paramètre actif
Après avoir modifié la configuration de Zimbra, rechargez Postfix en tant que compte de service Zimbra, puis interrogez à nouveau la valeur effective :
postfix reload
postconf mynetworks
zmprov gs mta.example.com zimbraMtaMyNetworks
La configuration de sortie doit correspondre à la liste blanche prévue, y compris l'adresse de bouclage. Si Postfix signale un réseau mal configuré ou si les valeurs diffèrent, interrompez le test et corrigez ce problème de configuration avant de tester le flux de messagerie. Les entrées CIDR doivent utiliser la limite réseau correcte ; pour un hôte unique, utilisez l'adresse de l'hôte avec /32un masque de réseau, plutôt qu'un masque incluant les hôtes voisins.
Comment vérifier que la restriction fonctionne
Effectuez un test depuis un système contrôlé et autorisé, en utilisant le même chemin réseau et le même serveur SMTP que l'application réelle. Envoyez un message à une boîte mail que vous gérez en dehors des domaines Zimbra. Vérifiez que l'hôte autorisé peut bien l'envoyer et que les journaux du MTA indiquent une réception ou une distribution réussie. L'activité du MTA Zimbra est généralement consignée/var/log/zimbra.log ; examinez l'horodatage et l'adresse IP source pertinents plutôt que de vous fier uniquement au message de confirmation de votre client de messagerie.
Ensuite, effectuez un test depuis un hôte non autorisé et non authentifié. Le résultat attendu est un refus de relais lors de la tentative d'envoi à un destinataire non local. Consultez le journal MTA pour la connexion rejetée et l'adresse source observée par Postfix. Un client non authentifié peut toujours être autorisé à envoyer des courriels à des destinataires Zimbra locaux ; il s'agit d'une réception de courrier normale, et cela ne prouve pas qu'il puisse relayer le courrier sortant.
Testez également toute application légitime figurant sur l'ancienne liste. Un échec de soumission d'application signifie généralement qu'une adresse source incorrecte a été autorisée, qu'une ancienne dépendance de confiance a été supprimée ou que l'application nécessite une authentification SMTP. Si les clients se déplacent entre les réseaux ou si leur adresse IP de sortie est instable, l'authentification SMTP via TLS est généralement plus facile à gérer que la modification répétée d'une liste d'adresses IP autorisées.
Comment revenir en arrière ou dépanner
Si des applications autorisées cessent d'envoyer des requêtes, restaurez la valeur enregistrée exacte plutôt que d'ajouter un sous-réseau approximatif. Appliquez-la avec `npm install zmprov mspostfix`, rechargez Postfix et confirmez la valeur effective avec `npm postconf mynetworksinstall postfix`. Vérifiez si un équilibreur de charge, une passerelle NAT, un hôte de conteneur ou un proxy sortant modifie l'adresse source avant qu'elle n'atteigne le MTA.
Une Relay access deniedréponse négative peut également indiquer que le client n'est pas authentifié et que son adresse IP source est absente de la liste des adresses de confiance. Pour les utilisateurs de messagerie classiques, il est recommandé de configurer l'envoi SMTP avec authentification plutôt que d'ajouter tous les réseaux des utilisateurs à la liste blanche zimbraMtaMyNetworks. Les listes blanches trop larges augmentent la surface d'accès pour les relais non authentifiés et peuvent exposer le serveur à des abus si un réseau de confiance contient des appareils non gérés.
Si la valeur MTA semble correcte mais que le comportement reste inchangé, vérifiez que vous avez bien modifié le serveur ayant accepté la connexion, que le rechargement a réussi et qu'aucune autre instance Postfix ni aucun autre périphérique réseau ne gère le protocole SMTP. Ne modifiez pas directement les fichiers Postfix générés par Zimbra pour résoudre le problème définitivement ; la gestion de la configuration peut les régénérer. Consultez la documentation d'administration Zimbra de votre version ou contactez le support technique pour connaître les procédures spécifiques à votre version en cas de divergence entre la valeur LDAP et la configuration d'exécution.
À quoi ressemble un résultat réussi
postconf mynetworksn'affiche que l'interface de bouclage et les adresses ou réseaux sources de confiance prévus.
- L'application approuvée mais non authentifiée peut envoyer des messages à une boîte mail de test externe.
- Un hôte non authentifié et non approuvé reçoit un refus de relais pour un destinataire externe.
- Les utilisateurs authentifiés et le courrier entrant local continuent de fonctionner comme prévu.
- La valeur de restauration enregistrée et la liste des services dépendants sont conservées pour les modifications ultérieures.
Cette méthode restreint le relais non authentifié par adresse IP source. Elle ne remplace pas l'authentification SMTP, TLS, les contrôles de débit, la sécurité des comptes ni la surveillance, et ne permet pas de distinguer les applications individuelles partageant une même adresse NAT publique. Utilisez-la comme un contrôle ciblé et vérifiez la liste blanche à chaque modification du trafic sortant ou du rôle MTA.
Sources