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 🙂