Recherche de site Web

Installez 'iRedMail' (serveur de messagerie complet) avec domaines virtuels, Webmail, SpamAssassin et ClamAV sous Linux


Après les services HTTP et Shadow DNS, la messagerie (SMTP, POP, IMAP et tous les protocoles de messagerie cryptés associés) est l'un des services les plus utilisés sur Internet, et également l'un des plus sensibles, en raison du spam et des serveurs de messagerie à relais ouvert.

Ce tutoriel vous guidera dans l'installation d'un serveur de messagerie complet avec les logiciels MTA, MDA et MUA en quelques minutes sur RHEL, CentOS, Scientific Linux et Debian, Ubuntu, Linux Mint avec Postfix, domaines virtuels et utilisateurs avec MySQL, Dovecot – prise en charge de POP3/POP3S, IMAP/IMAPS, Roundcube – Webmail ainsi que l'analyse du spam et des virus avec SpamAssassin et ClamAV, le tout installé à l'aide d'un seul progiciel appelé « iRedMail ».

Qu'est-ce qu'iRedMail

iRedMail est une solution de serveur de messagerie Open Source complète qui peut faire gagner beaucoup de temps aux administrateurs système pour des configurations complexes, prend en charge toutes les principales distributions Linux et est livrée avec les packages Linux suivants.

  1. Postfix : service SMTP – MTA par défaut.
  2. Dovecot : POP3/POP3S, IMAP/IMAPS, service Managesieve – MDA par défaut.
  3. Apache : serveur Web.
  4. MySQL/PostgreSQL : Stockage des données d'application et/ou des comptes de messagerie.
  5. OpenLDAP : stockage des comptes de messagerie.
  6. Policyd : serveur de politiques Postfix.
  7. Amavisd : Une interface entre Postfix et SpamAssassin, ClamAV. Utilisé pour l'analyse du spam et des virus.
  8. Roundcube : Webmail – MUA par défaut.
  9. AWStats : analyseur de journaux Apache et Postfix.
  10. Fail2ban : analyse les fichiers journaux (par exemple /var/log/maillog) et bannit les adresses IP qui affichent des tentatives malveillantes du système.

Exigences

  1. Installation minimale de CentOS 6.5 – Guide d'installation de CentOS 6.5
  2. Un enregistrement DNS MX valide qui pointe vers votre serveur de messagerie responsable de votre nom de domaine.

De plus, ce didacticiel est conçu uniquement à des fins de test et d'apprentissage et n'utilise pas d'enregistrements MX valides, ni de domaine DNS valide, toutes les configurations sont effectuées localement à l'aide de destinataires virtuels avec MySQL (peut recevoir ou envoyer du courrier entre utilisateurs de domaine local uniquement – nom de domaine local fourni à partir du fichier hosts), mais sachez que, bien que notre système ne puisse pas recevoir de courriers provenant de domaines Internet, il peut en fait relayer les courriers vers ces serveurs de messagerie de domaine via Postfix MTA, même si vous résidez sur un espace d'adressage IP privé. , sans enregistrement MX valide et utilisant un domaine fictif, alors faites très attention à ce que vous faites.

Étape 1 : configurations initiales et adresse IP statique

1. Après le premier redémarrage, connectez-vous avec votre compte root et assurez-vous que votre système est à jour et installez certains packages utiles nécessaires pour une utilisation ultérieure.

Sur RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
Sur Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Étant donné que cette boîte agit comme un serveur de messagerie, une adresse IP statique doit être configurée sur l'interface réseau. Pour ajouter une adresse IP statique, ouvrez et modifiez le fichier de configuration de votre carte réseau situé sur le chemin /etc/sysconfig/network-scripts/ et ajoutez les valeurs suivantes.

Sur RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Utilisez ce fichier comme modèle et remplacez-le par vos valeurs de personnalisation.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Après avoir terminé de modifier votre fichier NIC, ouvrez le fichier réseau à partir du même emplacement que ci-dessus et ajoutez le nom d'hôte non qualifié de votre serveur dans la directive HOSTNAME.

nano /etc/sysconfig/network-scripts/network

Sur Debian/Ubuntu/Linux Mint
nano /etc/network/interfaces

Remplacez les valeurs suivantes par vos paramètres.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Une fois que vous avez terminé avec votre fichier réseau, ajoutez maintenant votre nom d'hôte dans le fichier /etc/hostname.

nano /etc/hostnames

3. Ensuite, ouvrez le fichier /etc/resolv.conf et ajoutez vos serveurs IP DNS à l'échelle du système, comme dans la capture d'écran ci-dessous.

nano /etc/resolv.conf

Ajoutez le contenu suivant avec vos serveurs de noms préférés.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Une fois que toutes les configurations ci-dessus ont été écrites dans leurs fichiers correspondants, redémarrez votre service réseau pour appliquer les nouvelles configurations et vérifiez-les à l'aide des commandes ping et ifconfig.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. Maintenant que votre réseau statique est pleinement opérationnel, modifiez le fichier /etc/hosts et ajoutez votre nom d'hôte non qualifié et votre nom de domaine complet, comme dans l'exemple ci-dessous.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Pour vérifier votre problème de configuration de nom d'hôte, exécutez les commandes hostname et hostname –f.

hostname
hostname -f

6. Un autre package utile est bash-completion (séquence de commandes de saisie semi-automatique à l'aide de la touche [Tab]) qui est fourni par le référentiel EPEL sous RedHat. systèmes basés sur vous, puis mettez à jour vos sources.

Sur RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Une fois vos sources mises à jour, installez l'utilitaire bash-completion (répondez Oui à toutes les questions).

yum install bash-completion

Sur Debian/Ubuntu/Linux Mint

Le paquet bash-completion sous les systèmes basés sur Debian peut être facilement installé à l'aide de la commande suivante.

apt-get install bash-completion

7. La dernière étape consiste à ajouter un utilisateur système doté des privilèges root. Ajoutez d’abord l’utilisateur et configurez son mot de passe.

adduser your_user
passwd your_user

Une fois votre utilisateur ajouté, ouvrez le fichier /etc/sudoers et décommentez le groupe %wheel, puis ajoutez votre utilisateur nouvellement créé au groupe wheel.

nano /etc/sudoers

Recherchez et décommentez la ligne du groupe de roues pour qu'elle ressemble à ceci.

%wheel                ALL=(ALL)            ALL

Fermez le fichier et ajoutez votre utilisateur au groupe wheel en émettant la commande suivante.

usermod -aG wheel your_user

8. Avant de pouvoir commencer à télécharger et installer le logiciel iRedMail, redémarrez votre système, puis connectez-vous avec votre utilisateur nouvellement créé et assurez-vous que tout est entièrement fonctionnel.

Étape 2 : Installer iRedMail

9. Pour télécharger le package d'archive iRedMail, vous devez visiter sa section de page de téléchargement officielle ou vous pouvez utiliser la commande wget pour télécharger la dernière version ( 0.8.7 au moment de la rédaction de cet article).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Une fois le téléchargement de l'archive iRedMail terminé, extrayez-la à l'aide de la commande suivante.

tar xvjf iRedMail-0.8.7.tar.bz2

11. Entrez ensuite le chemin du répertoire iRedMail nouvellement extrait, marquez le script iRedMail.sh avec les autorisations exécutables, puis exécutez-le.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. Après la vérification initiale du système, le programme commence à ajouter le référentiel requis, puis la première invite de guidage vous demande si vous souhaitez poursuivre l'installation ou abandonner. Choisissez Oui pour continuer.

13. iRedMail utilise le format Maildir pour stocker les e-mails sur le chemin système /var/vmail où il crée des répertoires séparés pour chaque domaine que vous ajoutez à votre serveur MTA. Si vous êtes à l'aise avec ce chemin, cliquez sur Suivant pour avancer dans les configurations du serveur. Sinon, indiquez l'emplacement souhaité, puis Suivant.

14. À l'étape suivante, choisissez votre base de données préférée pour stocker les noms de domaines de messagerie et les destinataires qui se connecteront à Postfix. Ce didacticiel se concentre sur la base de données MySQL, alors choisissez MySQL à l'aide de la barre [Espace], puis continuez avec Suivant et fournissez un mot de passe fort pour le compte root MySQL.

15. À l'étape suivante, ajoutez votre premier nom de domaine virtuel. Si vous possédez un nom de domaine enregistré ajouté ici (ajoutez uniquement le nom de domaine et non le FQDN du système).

16. Par défaut, iRedAdmin crée un utilisateur administratif avec tous les pouvoirs sur votre serveur, accessible via le panneau iRedAdmin ou via les protocoles Dovecot (interface de messagerie Web Roundcube par défaut ou tout autre logiciel IMAP/POP MUA comme SquirrelMail, Rainloop , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm, etc.).

De plus, ce compte administratif du maître de poste est utilisé par le système pour signaler des incidents liés aux fonctions de messagerie ou à d'autres pannes du système ou à des informations utiles – logwatch envoie généralement ses statistiques ici – alors choisissez un mot de passe fort et continuez avec Suivant.

17. À l'étape suivante, choisissez les autres composants de votre serveur de messagerie, comme le panneau d'administration officiel d'iRedAdmin pour Postfix, les clés de domaine DKIM - (ajoute une signature à l'en-tête du message évaluant la confiance du message pour la livraison finale ou d'autres relais), Roundcube interface de messagerie Web par défaut (si vous envisagez d'utiliser un autre agent de livraison de courrier, ignorez Roundcube), PhpMyadmin (si vous êtes à l'aise avec la ligne de commande MySQL, vous devez également ignorer l'installation de PhpMyAdmin), Awstats (statistiques et analyseur de journaux utiles), Fail2ban (protège votre serveur contre attaques par force brute).

18. Lors de la série de questions suivante, en fonction des composants optionnels installés, vous devez répondre par Oui. Portez une attention particulière au fichier iRedMail.tips situé dans le répertoire extrait $HOME car il contient des informations sensibles sur le serveur de messagerie telles que les noms d'utilisateur et les mots de passe pour les applications serveur, les fichiers de configuration du serveur, l'URL par défaut et d'autres informations importantes.

19. Une fois l'installation terminée, redémarrez votre système et vérifiez le fichier iRedmail.tips pour voir les paramètres par défaut de votre serveur. Vous devez déplacer ce fichier vers un emplacement sécurisé. chemin système avec 600 autorisations dessus.

20. Accédez aux applications Web par défaut sur les URL suivantes.

  1. Webmail Roundcube – https://nom_domaine ou IP_serveur/mail/
  2. Panneau IRedAdmin – https://nom_domaine ou IP_serveur/iredadmin/
  3. PhpMyadmin – https://nom_domaine ou IP_serveur /phpmyadmin/
  4. Awstats – https://nom_domaine ou IP_serveur/awstats/awstats.pl?config=web (ou ?config=smtp)
  5. Plugin anti-spam Policyd – https://nom_domaine ou IP_serveur/cluebringer/

Étape 3 : Configurations initiales de la messagerie Web

21. Le panneau d'administration iRedAdmin offre une interface de messagerie Web de base où vous pouvez ajouter des domaines virtuels et des comptes pour votre serveur de messagerie que Postfix peut gérer via le backend MySQL. Pour vous connecter au panneau iRedAdmin, pointez votre navigateur sur l'URL https://domain_name/iredadmin/ ou https://server_IP/iredadmin/ et utilisez les informations d'identification par défaut suivantes.

  1. Nom d'utilisateur : postmaster@your_domain_name.tld
  2. Mot de passe : mot de passe postmaster défini sur le point 16

22. Pour ajouter un utilisateur, accédez à Ajouter -> Utilisateur, puis fournissez l'adresse e-mail et le mot de passe de votre nom d'utilisateur souhaité. Vous pouvez également configurer la quantité d'espace que votre boîte aux lettres utilisateur peut gérer avec Quota et vous pouvez également promouvoir les utilisateurs dotés de pouvoirs administratifs sur le panneau iRedAdmin en Marquant l'utilisateur comme administrateur global.

23. La lecture des e-mails des utilisateurs est assurée par l'interface Web Roundcube. Pour y accéder, accédez à l'URL https://domain_name/mail ou https://server_IP/mail/ et fournissez les informations d'identification de votre compte de messagerie sous la forme de [ email protégé].

En accédant au compte de messagerie administratif par défaut postmaster, vous trouverez deux e-mails initiaux, l'un d'eux comprenant des informations sensibles sur votre serveur. À partir de là, vous pouvez désormais lire des e-mails, rédiger et envoyer des e-mails à d'autres utilisateurs du domaine.

24. Pour accéder à la politique anti-spam Policyd du serveur, accédez à https://domain_name/cluebringer ou https://server_IP/ Cluebringer/ et fournissez les informations d'identification suivantes.

  1. Nom d'utilisateur : [email 
  2. Mot de passe : mot de passe du maître de poste

25. Pour afficher les statistiques de votre serveur de messagerie, accédez à https://mydomain.lan/awstats/awstats.pl/?config=smtp ou https:// mydomain.lan/awstats/awstats.pl et utilisez les informations d'identification suivantes.

  1. Nom d'utilisateur : [email 
  2. Mot de passe : mot de passe du maître de poste

26. Si vous souhaitez vérifier les connexions ouvertes de votre serveur et l'état du démon d'écoute avec leurs sockets afférents, exécutez les commandes suivantes.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. Pour déboguer d'autres problèmes avec les transactions de courrier ou voir votre serveur fonctionner en direct, vous pouvez utiliser les commandes suivantes.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. Maintenant que vous avez déployé un environnement de messagerie complet, la seule chose qui manque, au moins sur ce sujet, est un nom de domaine valide avec un enregistrement MX DNS pour recevoir le courrier. à partir d'autres domaines Internet, mais le serveur SMTP local peut et va relayer le courrier sur d'autres domaines Internet valides, alors faites très attention à qui vous envoyez des courriers, car vous pouvez avoir des problèmes illégaux avec votre FAI.

Dans la capture d'écran ci-dessous, vous pouvez voir que j'ai envoyé un e-mail depuis mon domaine local non valide vers l'un de mes comptes google.com et que l'e-mail a été reçu avec succès par mon compte Google.

Contrairement à d'autres services réseau où vous les installez et les oubliez pendant longtemps, la gestion d'un serveur de messagerie est un travail acharné et continu en raison de problèmes liés au service de messagerie tels que le SPAM, le relais ouvert et les rebonds de messages.

Liens de référence

Page d'accueil d'iRedMail