Installation d’un cluster Proxmox Mail Gateway de A à Z

1/52/53/54/55/5 (7 votes, moyenne: 3,71 sur 5)
Loading...
I

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

Aujourd’hui, on va voir comment installer un cluster Proxmox Mail Gateway pour vous servir d’antispam et faire le relai de vos emails sur internet.

 

Dans cet exemple, je ferrais l’installation sur le cloud hetzner et je ferrais un cluster de 3 membres. Vous pouvez très bien suivre tout l’article sans être chez Hetzner, ni faire de cluster, c’est optionel et j’en parle seulement à la fin.

 

Installation de Proxmox Mail Gateway chez Hetzner

Alors ici, il faut savoir que Proxmox n’est pas proposé dans les images de base, en revanche il s’installe très facilement.

 

Si vous voulez faire un cluster, effectuez les étapes décrites dans cette partie sur toutes vos machines.

 

Créez un vps avec n’importe quelle distribution comme ceci :

 

La première chose à faire avant installation, c’est de vérifier que l’ip qui vous a été attribuée n’est pas sur les listes noires pour les spams emails, avec MXToolBox par exemple :

 

 

Allez maintenant dans « ISO IMAGES » sur votre console et montez le setup de Proxmox Mail Gateway.

 

Redémarrez le vps avec le « Ctrl+Alt+Del », vous tomberez là-dessus :

 

Le plus important ici, est de bien mettre l’hostname final du relai email, par exemple :

 

Effectuez le reste de l’installation de façon normale.

 

Configuration des DNS et Reverses DNS pour les serveurs

Il faudra d’abord créer des champs de type A dans vos DNS, qui pointeront vers vos serveurs respectifs, par exemple :

mx1 1800 IN A 159.69.184.211
mx2 1800 IN A 116.203.126.217
mx3 1800 IN A 95.216.167.69

 

Ensuite, il faudra configurer les reverses DNS chez Hetzner sur vos IPv4 comme ceci :

Sécurisation des serveurs

Si vous voulez faire un cluster, effectuez les étapes décrites dans cette partie sur toutes vos machines.

 

Maintenant, on va installer le firewall UFW sur tous les serveurs afin de ne pas laisser tous les ports critiques ouverts sur le web :

Installez UFW avec la commande suivante :

apt-get install ufw -y

 

Si vous utilisez IPV6 sur votre serveur, éditez le fichier suivant :

nano /etc/default/ufw

 

Et vérifiez que la ligne IPV6 soit bien sur Yes :

IPV6=yes

 

Ensuite, désactivez le pare-feu :

ufw disable

 

Autorisez toutes les connexions sortantes et refusez toutes les connexions entrantes :

ufw default deny incoming
ufw default allow outgoing

 

Maintenant, faites pas les bleus, si vous réactivez le pare-feu sans créer une règle d’accès pour SSH votre serveur sera totalement inaccessible depuis Internet.

On va donc créer les règles pour accéder à SSH, au port SMTP public, au port SMTP privé  et l’interface web  :

ufw allow from IPV4 to any port 22
ufw allow 25
ufw allow from IPV4 to any port 26
ufw allow from IPV4 to any port 8006

 

Remplacez IPV4 par votre IPV4 fixe ou VPN le cas échéant et  remplacez 22 par votre numéro de port SSH si vous n’avez pas laissé le port par défaut.

Si vous ne disposez ni d’une ipv4 fixe, ni d’une ipv6, utilisez la règle suivante pour ssh par exemple :

ufw allow 22

 

Attention, l’envoi des emails via le Proxmox se fait par le port 26 et non 25 !

Maintenant, activez le pare-feu :

ufw enable

 

Configuration du Mail Proxy

Si vous voulez faire un cluster, effectuez les étapes décrites dans cette partie uniquement sur la première machine.

Connectez-vous sur l’interface web et allez dans Configuration -> Mail Proxy.

Ici, allez dans Relaying et indiquez votre relais par défaut (c’est utile pour le cluster) :

 

 

 

Ensuite, dans Relay Domains, configurez tous les domaines qui profiteront de votre antispam :

 

 

Dans les options je vous conseille plusieurs choses :

  1. Désactivez le greylisting, ça déconne à fond les ballons
  2. Désactivez la vérification stricte de SPF, y’a encore pas grand monde qui y respecte en 2019 malheureusement …
  3. Cachez les noms de vos serveurs emails internes
  4. Personnalisez la bannière SMTPD, cela évitera que l’on voit trop facilement que vous utilisez Proxmox Mail Gateway.

 

Dans le Transports, on va ici indiquer le serveur mail interne vers lequel on envoie les emails après traitement pour chaque domaine, par exemple :

 

Maintenant, dans Networks on va indiquer depuis quels adresses IP on peut utiliser cette fois-ci pour envoyer des emails et non pas pour en recevoir.

Les adresses s’indiquent avec le masque, par exemple pour chez moi et mon serveur web :

 

 

Dernière chose dans la configuration du mail proxy et pas des moindres, activez toutes les options TLS pour permettre le transport d’email de façon sécurisée :

 

Configuration des DNS pour l’arrivée des emails :

Par exemple pour les domaines « nicolas-simond.ch » et « abyssproject.net » je configure les MX suivants pour un load balancing entre mes serveurs mails (priorité 1) :

@ 1800 IN MX 1 mx1.nicolas-simond.ch.
@ 1800 IN MX 1 mx2.nicolas-simond.ch.
@ 1800 IN MX 1 mx3.nicolas-simond.ch.

 

Il est également important de configurer les records SPF :

@ 3600 IN TXT "v=spf1 mx a:mx1.nicolas-simond.ch a:mx2.nicolas-simond.ch a:mx3.nicolas-simond.ch ~all"

Il faut indiquer les records DNS pour chaque serveur email autorisé à envoyer.

 

Attendez au moins 12h et allez dans le tracking center pour vérifier que des emails arrivent.

 

Configuration du reporting :

Allez dans Configuration et activez le reporting, rentrez l’adresse email sur laquelle vous souhaitez les recevoir :

 

 

Configuration de l’antispam / antivirus :

Allez dans Spam Detector -> Options.

Ici, activez l’utilisation des listes RBL et Razor2, cela vous permettra d’avoir un début d’antispam efficace :

 

Allez dans Configuration -> Virus Detector :

 

Création du cluster :

Allez dans Configuration -> Cluster.

Cliquez sur Add sur votre premier hôte.

Sur les autres hôtes cliquez sur Join et copiez les informations données par le premier hôte :

 

Ensuite vous verrez tous vos hôtes dans l’admin du cluster, une fois la synchronisation OK vous verrez le state suivant : active

 

Et c’est tout bon pour le cluster Proxmox Mail Gateway ou l’hôte standalone 🙂

 

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

6 Commentaires
Plus récents
Plus anciens Populaires
Inline Feedbacks
View all comments
Nicolas
3 années plus tôt

Bonjour, J’utilise MailCow comme serveur mail primaire. Je compte me faire 3 MX avec PMG. J’ai un doute sur un truc, je reçois bien les email mais quand je veut envoyer j’ai un Jun 27 15:48:43 mx0 postfix/smtpd[1697]: connect from unknown[37.44.xxx.xxx] Jun 27 15:48:43 mx0 postfix/smtpd[1697]: Anonymous TLS connection established from unknown[37.44.xxx.xxx]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 Jun 27 15:48:44 mx0 postfix/smtpd[1697]: NOQUEUE: reject: RCPT from unknown[37.44.xxx.xxx]: 554 5.7.1 <null@hosted.mailcow.de>: Relay access denied; from=<test@realstatus.icu> to=<null@hosted.mailcow.de> proto=ESMTP helo=<mail.jaipasd.email> Jun 27 15:48:44 mx0 postfix/smtpd[1697]: disconnect from unknown[37.44.xxx.xxx] ehlo=2 starttls=1 mail=1 rcpt=0/1 quit=1 commands=5/6… Voir plus »

dominix
dominix
4 années plus tôt

je ne suis pas utilisateur de ufw , moi c’est ferm, a chacun sa drogue, mais il ne semble que les règles sont inversées.
pourquoi voudrais t’on aller sur le port 26 chez tout le monde ?
et si l’on veut permettre l’accès à NOTRE port 8006 c’est plutôt « ufw allow in 8006 »
donc je verrais plutôt
ufw allow in 22
ufw allow in 26
ufw allow in 8006

Prohand
Prohand
4 années plus tôt

Bonsoir,

Merci pour ce très bon tutoriel, mais j’ai quelques questions.

1) Pourquoi dis-tu que le greylisting déconne ? Sur mon PMA je l’utilise sans problème. 😉
2) La mise en cluster sur 2 serveurs séparés synchronise-t-elle la gestion des utilisateurs ? Sur mon PMA primaire je synchronise les utilisateurs avec un LDAP. Par là je veux dire que je n’ai pas besoin de faire une synchro ldap avec mon PMA secondaire ?
3) La communication entre les serveurs dans le cluster est-elle chiffré ?

Merci par avance des réponses que tu pourras apporter 🙂