[Serveur mail] Bonnes pratiques et conseils

Le
K=c3=a9vin Gaspard
Bonjour à toutes et à tous,

(je n'ai jamais participé à de ML, merci de me faire part de mes erreurs
mais avec un soupçon d'indulgence s'il vous plaît)

J'ai il y a peu terminé la configuration d'un serveur mail, qui
fonctionne, avec les composants suivants:

- Debian 8
- IPTables + Fail2Ban
- Postfix + Postscreen (avec 3 listes RBL)
- Dovecot
- MariaDB
- RSpamD avec sa web UI
- ClamAV
- OpenDKIM + SPF (paquet: postfix-policyd-spf-python)
- Certificat Let's Encrypt (4096 bits) pour imap.domain.tld et un autre
pour smtp.domain.tld

Tout ça provenant des dépôts officiels de Debian, je n'ai rien compilé
ou récupéré sur github.

Pour tester tout ça, j'ai effectué les actions suivantes:

- Envoie de mail à partir d'une adresse de domain.tld (sur une adresse
gandi et une gmail)
- Réception de mail à partir d'adresses gandi et gmail vers domain.tld
- Envoie d'une signature EICAR en pièce jointe pour tester ClamAV
- Je suis en plein envoie massif de spam (depuis bientôt deux jours) via
un site qui inscrit une adresse e-mail donné sur un maximum de
formulaire sur le web, connu pour envoyer des mails en retour. Je suis à
environ 27000 formulaires remplis, et seulement ~80 mails sont parvenu
jusqu'à ma boîte poubelle, et ces mails sont des inscriptions à des ML
(du genre redhat.com), donc aucun véritable spam pour le moment. Tout
semble avoir été filtré par le DKIM et le SPF (faut savoir qu'en testant
ce site avec un gmail, j'avais plusieurs mails à la minute me demandant
si je voulais une petite copine russe ou ce genre de truc dans les spams).

Je sais que je n'ai pas terminé, je dois encore donner des cours à
RSpamD pour qu'ils servent à quelque chose (il n'a encore rien filtré)
et je dois encore voir pour réceptionner les logs de mon serveur vers
mon desktop (e-mail de notification, logwatch etc). Sans compter un
véritable système de backup digne de ce nom. Aussi, je ne crois pas
avoir configuré Fail2Ban pour travailler de paire avec
l'authentification de mon serveur mail (qui se passe avec Dovecot).
RoundCube est aussi envisagé pour la mobilité.

J'aimerai avoir vos avis sur ce qui me resterai à faire comme test, voir
comme configuration ou ajout de logiciels, ce que je devrai penser à la
suite, quels sont les pièges de débutant à éviter Bref je me sens un
peu perdu sur la suite des évènements et je ne sais pas sur quoi je dois
m'orienter en priorité.
Le fait que ce serveur mail fonctionne ne veut pas dire que je l'ai bien
fais. Je ne m'amuse pas encore à paster de la conf ici, mais si vous
pensez que c'est nécessaire je le ferai (en obfusquant ce qui doit
l'être bien sûr).

Après deux jours de recherches je suis tombé à cours d'idées, en somme.

Je vous souhaite à toutes et à tous un excellent week-end.

Cordialement,
GASPARD Kévin
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien Dinot
Le #26431079
Bonjour,
Kévin Gaspard a écrit :
J'ai il y a peu terminé la configuration d'un serveur mail, qui
fonctionne, avec les composants suivants:

Tout cela me semble très bien. Peu de gens se donnent autant de mal pour
configurer un serveur mail.
Hormis la configuration de Fail2Ban qu'il faudrait sans doute ajuster si
nécessaire (en vérifiant au passage que tu as bien activé le salvateur
module « recidive »), je t'invite effectivement à te pencher
sérieusement sur la sauvegarde, fonction essentielle mais bien souvent
négligée, tant au niveau professionnel (sic !) que personnel (plusieurs
de mes connaissances ont abandonné leurs velléités d'auto-hébergement,
de centrale domotique, voire de développement après le crash de leur
serveur dont ils n'avaient pas de sauvegarde). À ce sujet, je t'invite
à considérer Borg Backup (https://borgbackup.readthedocs.io/).
À part cela, tu peux viser la perfection en déployant un serveur mail
secondaire et un mécanisme de synchronisation permettant au serveur
primaire de récupérer a posteriori les messages reçus par le serveur
secondaire. En effet, en cas de crash matériel du serveur mail, nous
avons pas souvent le temps (et pas forcément le budget) de déployer un
nouveau serveur mail en moins de 5 jours (durée habituelle de rétention
des mails par un serveur SMTP lorsque le serveur destinataire est
indisponible). Cette défaillance matérielle peut donc entrainer la perte
définitive de courriers.
Pour ma part, la réplication des serveurs mail que j'administre est un
sujet que je me promets de traiter depuis... au moins 3 ans, mais comme
je le dis souvent, ce qui me manque le plus dans la vie, c'est du temps
et contrairement à l'argent, je ne peux pas en gagner. :(
Sébastien
--
Sébastien Dinot,
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !
K=c3=a9vin Gaspard
Le #26431084
On 02/04/2017 10:20, Sébastien Dinot wrote:
Bonjour,
Kévin Gaspard a écrit :
J'ai il y a peu terminé la configuration d'un serveur mail, qui
fonctionne, avec les composants suivants:

Tout cela me semble très bien. Peu de gens se donnent autant de mal pour
configurer un serveur mail.

C'est plus sensible qu'un serveur web ou ftp selon moi donc ça impose
plus de mesures. Et puis il n'y a pas que sa sécurité et son confort
personnel. J'ai simplement pas envie de servir de relais par exemple...
Nous subissons déjà assez de spam, n'est-ce pas? Au même titre que les
virus (Windows) n'ont rien à faire sur mon serveur mail. Oh!
Hormis la configuration de Fail2Ban qu'il faudrait sans doute ajuster si
nécessaire (en vérifiant au passage que tu as bien activé le salvateur
module « recidive »), je t'invite effectivement à te pencher
sérieusement sur la sauvegarde, fonction essentielle mais bien souvent
négligée, tant au niveau professionnel (sic !) que personnel (plusieurs
de mes connaissances ont abandonné leurs velléités d'auto-hébergement,
de centrale domotique, voire de développement après le crash de leur
serveur dont ils n'avaient pas de sauvegarde). À ce sujet, je t'invite
à considérer Borg Backup (https://borgbackup.readthedocs.io/).

Merci pour ces conseils.
À part cela, tu peux viser la perfection en déployant un serveur mail
secondaire et un mécanisme de synchronisation permettant au serveur
primaire de récupérer a posteriori les messages reçus par le serveur
secondaire. En effet, en cas de crash matériel du serveur mail, nous
avons pas souvent le temps (et pas forcément le budget) de déployer un
nouveau serveur mail en moins de 5 jours (durée habituelle de rétention
des mails par un serveur SMTP lorsque le serveur destinataire est
indisponible). Cette défaillance matérielle peut donc entrainer la perte
définitive de courriers.

Et c'est pas bête, après je sais pas si sur mon Raspberry Pi B un
MariaDB, même minuscule, passerait. Le taux d'écriture/lecture est assez
ridicule tout de même, dès que la machine écrit trop sur le disque
depuis le réseau la machine est à deux doigt de s'envoler... mais ça
vaut le coup d'essayer.
Pour ma part, la réplication des serveurs mail que j'administre est un
sujet que je me promets de traiter depuis... au moins 3 ans, mais comme
je le dis souvent, ce qui me manque le plus dans la vie, c'est du temps
et contrairement à l'argent, je ne peux pas en gagner. :(

Je me suis concentré sur Logwatch pour l'instant, j'ai réussi à obtenir
un digest automatique à 06h25 ce matin de 7472 lignes pour ~370kb par
mail. Un peu gros.
La prochaine étape c'est de trier ça en fonction de certains services
(web, mail, jabber, teamspeak3 etc). Et après faudrait en effet que je
me concentre sur le backup parce que j'ai un petit script qui fait de
bête rsync sur deux machines à la maison, mais même en l'automatisant
dans cron c'est pas idéal, ça met tout dans le même dossier etc.
Sébastien


Cordialement,
GASPARD Kévin
Sébastien Dinot
Le #26431098
Kévin Gaspard a écrit :
J'ai simplement pas envie de servir de relais par exemple... Nous
subissons déjà assez de spam, n'est-ce pas? Au même titre que les
virus (Windows) n'ont rien à faire sur mon serveur mail. Oh!

Au passage, tu peux essayer le site suivant pour vérifier la pertinence
et la complétude de la configuration de ton serveur :
https://www.mail-tester.com/
Et c'est pas bête

Jette un œil à dsync si le sujet t'intéresse :
https://wiki2.dovecot.org/Replication
après je sais pas si sur mon Raspberry Pi B un MariaDB, même
minuscule, passerait.

Avec 512 Mo de RAM, il faut opter pour SQLite plutôt que pour MariaDB.
Ça tombe bien, il existe un paquet « postfix-sqlite » :)
Le taux d'écriture/lecture est assez ridicule tout de même

Certes mais de quel volume de mail parle-t-on ? La plupart du temps, mes
deux serveurs personnels traitent moins de 300 mails par jour en
comptant le spam et les rapports des différents outils qui tournent
dessus. Il faudrait que le temps de traitement d'un seul mail prenne
plusieurs minutes pour qu'ils commencent à être débordés.
Je me suis concentré sur Logwatch pour l'instant, j'ai réussi
à obtenir un digest automatique à 06h25 ce matin de 7472 lignes pour
~370kb par mail. Un peu gros.

J'installe logwatch et logcheck sur tous les serveurs que j'administre.
Le second étant susceptible d'émettre un rapport par heure, tout admin.
sys. s'empresse d'ajuster les filtres pour limiter le nombre de rapports
et c'est là qu'il s'aperçoit que les logs de ses chers logiciels libres
sont « vivants » : leur évolution au fil des versions des logiciels
rendent régulièrement les filtres de logcheck obsolètes.
Sébastien
--
Sébastien Dinot,
http://sebastien.dinot.free.fr/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !
Christophe
Le #26431118
Bonsoir,
On 02/04/2017 15:12, Sébastien Dinot wrote:
Au passage, tu peux essayer le site suivant pour vérifier la pertinence
et la complétude de la configuration de ton serveur :
https://www.mail-tester.com/

Très très bon ce site, je ne connaissais pas.
Jette un œil à dsync si le sujet t'intéresse :
https://wiki2.dovecot.org/Replication

Ca aussi !
Merci Sébastien pour les liens.
Et sinon Kévin, je t'encourage sur ta voie :) tu tiens le bon bout, et
avoir son propre serveur mail est un vrai plus (qu'il soit autohébergé
ou non) : Déjà pour comprendre comment ça fonctionne, et aussi souvent
pour le diagnostique (si tu es dans le métier) de la personne qui te dis
"j'ai envoyé un mail à , et c'est pas arrivé".
Envoyer du mail est devenu un vrai métier à force :)
@+
Christophe.
G2PC
Le #26431126
Bonsoir,
J'ai lancé une sauvegarde avec Deja Dup, mais, j'ai un message d'erreur
à la fin de la sauvegarde.
Ce n'est pas une erreur critique, la sauvegarde est parfaitement
fonctionnelle.
5 dossiers étaient indiqués comme n'étant pas sauvegardés.
Ici, le récapitulatif, je n'ai pas appliqué de changement, sur les
droits du dossier .dbus pour le moment.
J'ai résolu 2 des alertes, pour le dossier .cache et .gvfs
https://www.visionduweb.eu/wiki/index.php?title=Sauvegarder_et_reinstaller_Linux_Mint_Sarah#.5BR.C3.A9solu.5D_.cache_et_.gvfs
Il me reste 3 alertes à résoudre.
Un message d'erreur sur la sauvegarde impossible sur le dossier .dbus
Exclure le dossier .dbus de la sauvegarde ou changer les droits du
dossier .dbus ? Est ce risqué de changer les droits du dossier .dbus ?
- Je pourrais tenter d'excluse le dossier .dbus de la sauvegarde.
- Est t'il possible de changer les droits du dossier .dbus pour donner
ce dossier à l'utilisateur système, plutôt que à l'utilisateur root ?
Deux messages d'erreurs sur la sauvegarde impossible sur les dossiers de
mcedit
Idem pour 2 des dossiers de mc
/home/user/.config/mc/mcedit
/home/user/.local/share/mc/mcedit
Merci de vos avis, pour permettre une sauvegarde sans message d'erreur.
G2PC
Le #26431175
Le 02/04/2017 à 21:50, Haricophile a écrit :
Le Sun, 2 Apr 2017 21:15:57 +0200,
G2PC
Bonsoir,
J'ai lancé une sauvegarde avec Deja Dup, mais, j'ai un message
d'erreur à la fin de la sauvegarde.
Ce n'est pas une erreur critique, la sauvegarde est parfaitement
fonctionnelle.
5 dossiers étaient indiqués comme n'étant pas sauvegardés.
Ici, le récapitulatif, je n'ai pas appliqué de changement, sur les
droits du dossier .dbus pour le moment.
J'ai résolu 2 des alertes, pour le dossier .cache et .gvfs
https://www.visionduweb.eu/wiki/index.php?title=Sauvegarder_et_reinstaller_Linux_Mint_Sarah#.5BR.C3.A9solu.5D_.cache_et_.gvfs
Il me reste 3 alertes à résoudre.
Un message d'erreur sur la sauvegarde impossible sur le dossier .dbus
Exclure le dossier .dbus de la sauvegarde ou changer les droits du
dossier .dbus ? Est ce risqué de changer les droits du dossier .dbus ?
- Je pourrais tenter d'excluse le dossier .dbus de la sauvegarde.
- Est t'il possible de changer les droits du dossier .dbus pour donner
ce dossier à l'utilisateur système, plutôt que à l'utilisateur root ?

Je ne vois aucune raison de sauvegarder .dbus .cache ou ce genre de
dossiers. Voire aussi pour les vignettes (thumb) et autres trucs non
indispensables qui pourrait traîner et qui sont consommateurs de place.
Dans une sauvegarde il est intéressant de se poser des question sur ce
qui est indispensable ou important et ce qui est "reconstructible" ou
non nécessaire.
Deux messages d'erreurs sur la sauvegarde impossible sur les dossiers
de mcedit
Idem pour 2 des dossiers de mc
/home/user/.config/mc/mcedit
/home/user/.local/share/mc/mcedit

là c'est plus curieux, regarde effectivement les permissions
Merci de vos avis, pour permettre une sauvegarde sans message
d'erreur.

Il ne faut pas confondre avertissement (warning) et erreur (error)
Un avertissement est là pour te signaler quelque chose qui mérite ton
attention. Ce n'est pas une erreur.

Pour .dbus je vais tenter de l'exclure de la sauvegarde.
Pour les dossiers de mc ils appartiennent à root et au groupe root. Je
ne sais pas si c'est conseillé de les passer à l'utilisateur plutôt
qu'au root.
Publicité
Poster une réponse
Anonyme