Recette pour serveur mail sécurisé

oui , carrément , ca claque ton truc.
Y’a meme du caldav, carddav … tout en un ! hum. c’est tentant. !!!
Faudrait un retour d’expérience dessus, niveau hebergement.

edit : après chtite navigation sur la démo , ouaih carrément top ! (par contre je sais si y’a du ldap dessous …)

La liste de ports ouverts peut faire peur mais la plupart écoutent sur le localhost uniquement et servent à la communication inter-services :wink:

1 « J'aime »

Perso pour le caldav/carddav je préfère jouer avec NextCloud, histoire de pas avoir tout mes œufs dans le même panier.
Intéressant poste.io mais pas pour moi (préfère Apache à Nginx).

poste.io a un gros inconvénient… sa version gratuite n’est destinée qu’à un usage personnel.

De plus, la dockerisation à l’extrême n’est pas de mon goût… à force d’empaqueter on ne sait plus ce qui tourne ni comment c’est configuré. Ok, « ça marche » en 5mn, mais ce temps gagné au déploiement est souvent perdu plus tard quand quelque chose ne tourne pas rond.

2 « J'aime »
  • + 1 000 000 pour cette phrase !

#DockersNotThatGood

3 « J'aime »
  • x 2 : je ne peux qu’acquieser, fortement.
    Sinon ca tourne plutot bien ici ce genre d’approche, on se fade tout mais on connait sur le bout des doigts ce qu’on fait tourner (euh j’exagére un peu car niveau nginx perso j’en prend plein la gueule , mais ca tourne … eh bien meme !)

Note : djayroma , je pense que votre mailer en prend plein la gueule niveau zombie … car postscreen ne semble pas actif chez vous.

Pour moi Docker ça reste bien pour de l’infra perso et du développement, en production dès qu’on veut faire de l’infra qui se gère à plusieurs, LXC et Qemu/KVM deviennent nécessaire pour travailler proprement.
Techniquement je vois qu’une exception les machines jetables (comme les banques utilisent par exemple) mais la c’est la cause de cet usage qui me gène: plutôt que sécuriser correctement on passe par de la machine jetable qui comme un goblet en plastique n’as pas lieu d’être.
Du coup je retombe sur mon avis comme généralité.

je suis en train de tester DAVical couplé à Agendav, ca a l’air de le faire.

Bonjour,

Vu qu’on héberge des mails nous aussi, on peut décrire un peu notre infrastructure à notre tour.

Nous utilisons docker-mailserver (Licence MIT), qui est donc une solution « toute prête » embarquant tout un tas de paquets utiles pour faire tourner le serveur : les incontournables postfix et dovecot, spamassassin, clamav, opendkim, opendmarc, fail2ban, fetchmail, postgrey, amavis, etc.

Un fichier de configuration est fourni avec, il suffit de le parcourir et d’activer ou désactiver les fonctionnalités souhaitées.

Un script est aussi fourni et documenté, pour faciliter l’ajout ou la suppression de comptes et/ou d’alias et d’appliquer des paramètres de configuration « à chaud ».

Avec une bonne configuration DNS (notamment du reverse), on respecte les normes d’envoi et de réception d’emails, on ne se fait pas blacklist et le service est stable ; le conteneur consomme 220 Mo de RAM en moyenne et quasiment pas de CPU.

Disclaimer

Bien entendu, utiliser une solution « out-of-the-box » implique de savoir utiliser et installer soi-même ces mêmes outils à la main, sans aide, sans conteneurs ni images qui nous facilitent la vie. C’est une épreuve, mais c’est indispensable, ne serait-ce que pour des raisons de sécurité : ne pas savoir exactement ce qui tourne dans un conteneur en production revient au même que d’utiliser des logiciels propriétaires.

(Neil) Personnellement j’ai commencé par héberger mes propres mails (à titre personnel donc) sur un serveur sans conteneurisation pendant un an et j’ai beaucoup appris de cette expérience ; c’est notamment dans le domaine de la sécurité que je pense en avoir tiré des leçons.

Maintenances et astuces

Un serveur mail nécessite une maintenance presque quotidienne, à la limite bihebdomadaire, surtout si vous choisissez de construire votre propre blacklist de zéro au lieu d’utiliser des blacklists publiques : votre serveur sera exposé h24 à des tentatives de bruteforce ; et même avec un fail2ban fonctionnel, les bots apprennent vite à doser leur spam pour passer entre les mailles du filet.

Nous avons fait le choix de construire notre propre blacklist afin de s’assurer que chaque ban soit justifié et qu’une grande entreprise n’ait pas la main sur ce que nous décidons de blacklist ou non.

En trois mois de fonctionnement, cette blacklist comporte 92 entrées et augmente de jour en jour.

Au moins deux fois par semaine, on consulte les logs de notre serveur :

  • On regarde les attaques sur SMTP avec un grep "HELO" puis un grep "EHLO" ;
  • On regarde les attaques sur IMAP avec un grep "auth:" ;
  • On lit en diagonale les logs bruts voir s’il n’y a pas d’indicateurs d’une activité suspecte.

On ban l’IP de manière permanente dès qu’on relève un comportement hostile.

Une technique pour limiter les risques : ces bots vont tenter de se connecter à des adresses communément utilisées : admin@, contact@, test@, user@, 123@, help@, info@, root@, no-reply@, webmaster@, etc.

Si vous laissez vos utilisateurs choisir leur adresse mail (ce qui semble légitime), établissez une blacklist de ces adresses courantes afin de ne pas exposer l’utilisateur à un potentiel bruteforce. Si vous ne savez pas quoi blacklist, laissez tourner un serveur mail sans blacklist pendant quelques jours et vous saurez bien vite quelles sont les adresses les plus ciblées.

Assurez-vous d’ajouter un captcha à l’inscription, vous n’êtes pas à l’abri d’un éventuel contournement de vos services, même à la taille d’un CHATONS. Bien entendu, évitez reCAPTCHA.

Surveillez régulièrement les mails envoyés (leur fréquence, pas nécessairement leur contenu), au cas où un membre enverrait subitement 30 mails à 500 adresses différentes en une journée, ce qui n’est peut-être pas normal.

Surveillez également la fréquence des mails reçus (grep "saved") pour repérer une éventuelle adresse extérieure qui enverrait des emails en masse sur les adresses de votre serveur.

Très important aussi, surveillez les publications de sécurité des logiciels que vous utilisez, surtout postfix et dovecot. Faites votre veille technologique, les failles / CVE graves sont courantes, surtout sur les MTA. (Exim récemment)

Nos camarades chez le CHATONS Elukerio ont plus d’expérience que nous sur le domaine avec leur service libmail, peut-être pourront-ils vous apporter des indications supplémentaires si besoin.

~ N&B

1 « J'aime »

1 - l’interface de votre gestion mail semble vraiment cool (moi avec FusionDirectory c’est le bronx !)
2 - votre site est vraiment bien fait (beau design)

Mais :

  • On regarde les attaques sur SMTP avec un grep "HELO" puis un grep "EHLO" ;
    ==> moi j 'ai postcreen qui dégage les zombie, posant une bannière pendant 2 à 3 secondes … ensuite il réponds et donne la vraie bannière STMP pour faire le EHLO …
    Le 7 juillet 2019 cela m’a permis de m’éviter 49000 requêtes sur le relais postfix (j’en ai deux en cluster) …
    Pour blinder le truc je viens mettre sur le pfsense deux listes d’ip à blocker … en amont du relais MX …
    De plus mon MX est bien au chaud dans le LAN , avec un reverse Proxy sur IMAP, POP et SUBMISSION.

« Une technique pour limiter les risques : ces bots vont tenter de se connecter à des adresses communément utilisées : admin@, contact@, test@, user@, 123@, help@, info@, root@, no-reply@, webmaster@, etc. »
Perso, je françise un max !
pas de root, contact, help, admin etc …
Mais des noms bien de chez nous !

Et puis je suis un gros noob en serveur mail, alors j’écoute vos dires avec grande attention !!! :wink:
Tout est passionnant .

Mais j’ai des trucs pas glop niveau conf. …il me faudra surement de l’aide pour etre au top.

Pour mon perso j’utilise un iRedMail qui tourne dans une VM KVM (résultat d’un P2V de mon plus vieux serveur qui à connu Debian 6 !)
Pour mon Chaton pas encore de services mails mais ça ne serai tarder (iRedMail et Sympa).

J’ai travaillé pour un hébergeur qui écoulai 1 millions de mail par jours (newsletters et mail professionnels), j’en ai gardé 2/3 astuces (comme rate limit à 1 mail par seconde/IP vers les 4 gros FAI commerciaux Fr pour être tranquille, pas plus de 100k mail par IP/jour, …), des souvenirs, j’ai malheureusement pas eu le temps de répertorier tout ça et n’y ai plus accès (doc interne).

Les conseils de tout le monde sont très précieux pour nous. @neil ou @anon6747921 ont une grande expérience dans le domaine.

Est-ce que des collectifs pourraient nous faire part du nombre de clients avez-vous sur vos infrastructures de messagerie ? est-ce que vous subissez des attaques régulièrement ?

Avant de candidater pour être chatons, nous testons l’ouverture au public mais nous rencontrons beaucoup de difficulté : ban d’ips, bruteforce, etc.

Est-ce que d’autres collectifs seraient intéressés par un partenariat ou une mise en commun afin de monter un service de messagerie email ouvert au grand public ?

je peux discuter avec vous pour vous aider sur l’archi. à mettre en place mais je ne suis pas assez costaud en mail … pour prétendre détenir une « vérité » solide.
il y a bien meilleur que moi sur ce forum. :wink:
Sinon pour montrer un truc en paralléle , carrément !
Je peux donner sans souci la recette que j’ai ici, même si elle n’est pas montée en charge . :frowning:

1 « J'aime »

Chers toutes et tous,

J’arrive après la bataille et découvre ces posts, du coup je tente de contribuer à mon humble niveau.

J’ai créé mon service mail perso il y a quelques lurettes à partir de ce guide de chez Arstechnica (que j’ai trituré pour le faire marcher sous Debian 8 à l’époque, 10 aujourd’hui). Il était tout récent, à l’époque. Aujourd’hui certaines parties sont obsolètes mais vous saurez facilement contourner/remplacer
Avantages:

  • Des explications et du rationale. i.e. pourquoi on fait les choses
  • Du blindage qui parait suffisant
    Inconvénients:
  • Tiens un peu trop la main
  • Ca date
  • Peu adapté à une utilisation par un grand nombres d’utilisateurs

Prinicpales différences sur mon install par rapport à ce qui est dit dans ce guide:

  • Letsencrypt n’existait pas encore à l’époque (ou tout juste en beta)
  • Tenir la main sur le choix du registrar, c’est domage
  • Roundcube remplacé par Nextcloud + app Rainloop
  • Gestion des utilisateurs par postfixadmin + mariadb plutôt que des fichiers.
  • Gestion des filtres Sieve par managesieve + plugin Rainloop plutôt que en mode texte

https://arstechnica.com/information-technology/2014/02/how-to-run-your-own-e-mail-server-with-your-own-domain-part-1/
https://arstechnica.com/information-technology/2014/03/taking-e-mail-back-part-2-arming-your-server-with-postfix-dovecot/
https://arstechnica.com/information-technology/2014/03/taking-e-mail-back-part-3-fortifying-your-box-against-spammers/
https://arstechnica.com/information-technology/2014/04/taking-e-mail-back-part-4-the-finale-with-webmail-everything-after/

Have fun !

ça me tente bien de le tester parce que spamassasin j’en suis pas pleinement satisfait… D’autres retours sur rspamd ? (content / pas content / mieux)

j’en ai entendu du bien mais pas pratiqué.

Bonjour,

J’ai remplacé un vieux spamassassin par rspamd.

Pourquoi: parce que l’installation de SA est vieille et non documentée,
que l’apprentissage ne semble pas /plus marcher et que je suis en train
de revoir mon infra pour en faire un truc facile à (re)déployer avec
ansible, donc l’occasion d’essayer un truc de nouveau.

C’est facile à déployer et à intégrer
ça fait du greylisting sélectif
Il y a une interface web pour les fans de stats, soumettre des mails
pour analyse, obtenir le score d’un mail (par contre, cette interface
donne accès à beaucoup d’information sur les mails: destinataires,
expéditeurs, sujet).

J’en suis encore au réglage, il est un peu laxiste.

Je dépose les faux positifs et les spams passés à travers dans des
dossiers imap dédiés qui sont récupérés via un cronjob fetchmail qui les
refourgue à rspamd pour apprentissage.

À votre disposition pour tout renseignement complémentaire

Cordialement,

Si vou sutilisez dovecot et sieve : on peut configurer un répertoire (spam)
pour gérer ça :

  • les messages étant probablement du spam vont dans spam
  • si on déplace un message dans spam, alors il alimente la base de spam
  • si on déplace un message de spam dans un dossier, il alimente la base de
    «ham»
1 « J'aime »

Merci pour vos retours sur Rspamd. Je le trouve un peu pêchu à configurer. De mon côté il est justement un peu trop restrictif (config de base pas trop tuné) Si vous avez documenté votre conf je suis preneur.

J’ai pas encore mis en place l’apprentissage par « dossier spam » dans dovecot mais c’était dans mes projets

David

1 « J'aime »

J’ai fait une mise à jour de mon système récemment (Mailboy, basé sur Workaround.org), et, j’ai songé à passé à Rspamd. Plusieurs choses m’ont retenu de le faire :

  1. La réaction de Rspamd face à Debian
    https://github.com/rspamd/rspamd/issues/3124#issuecomment-552947787
    https://workaround.org/ispmail/buster/debian-packages-versus-native-installation/

  2. Je n’ai pas vu comment faire pour intégrer Rspamd dans Amavis. Je trouve cela important, de permettre aux personnes de pouvoir choisir ou désactiver, le filtrage de leurs courriels. (Avec Amavis, on peut faire des trucs vraiment cool, c’est mal documenté, mais ça marche).