[PYTHON] Mailman délivre tous les e-mails signés DKIM publiés à partir d'un domaine particulier

Aperçu

Lorsque vous gérez une liste de diffusion avec Mailman, vous souhaiterez peut-être accepter et remettre tout le courrier envoyé depuis votre organisation. Par exemple, si vous utilisez Mailman comme point de contact pour votre organisation. Dans cet article, nous allons étendre le module de détermination du modérateur de Mailman pour expliquer comment accepter et livrer tous les e-mails signés DKIM publiés à partir d'un domaine spécifique [^ restriction].

[^ restriction]: Récemment, il semble y avoir un cas où un compte abandonné est créé par Gmail, etc. et où du spam signé DKIM est envoyé. Par conséquent, nous ne recommandons pas la politique d'acceptation et de livraison de tous les e-mails signés DKIM.

Contexte

Pour recevoir des e-mails de participants non-listes de diffusion lors de l'exécution d'une liste de diffusion avec Mailman, soit (1) définissez l'option generic_nonmember_action sur «Approuver», soit (2) définissez l'option accept_these_nonmembers sur une expression régulière appropriée. Il existe des options telles que. Cependant, le premier (1) accepte tous les e-mails, et le second (2) s'appuie également sur l'en-tête facilement usurpé From, ce qui le rend vulnérable au spam.

Pour résoudre ce problème, nous avons essayé les extensions suivantes:

Cependant, étant donné que le serveur de messagerie de l'université est passé de sur site à G Suite, il n'est plus possible de limiter le serveur de messagerie d'envoi utilisé par les membres, et [tous les messages postés à partir d'un serveur de messagerie spécifique seront livrés](https: // qiita) .com / tsuchm / items / 44a76392ca94d28f1617) La méthode n'est plus disponible.

Vous pouvez également vérifier la signature DKIM en utilisant Les e-mails envoyés depuis G Suite ont une signature DKIM. Je vais vous présenter le paramètre selon lequel le De du courrier que vous avez reçu remettra tout le courrier qui correspond au domaine de votre organisation.

Réglage

Tout d'abord, installez le module Python pour valider la signature DKIM.

sudo apt install python-dkim

Copiez ensuite DKIMModerate.py dans / usr / lib / mailman / Mailman / Handlers /. De plus, veuillez lire la partie de / usr / lib / mailman / comme approprié en fonction de votre environnement.

Ensuite, écrivez les paramètres suivants dans / etc / mailman / mm_cfg.py.

DKIMDOMAINPATTERN = "[@.]example\.jp$"
GLOBAL_PIPELINE[GLOBAL_PIPELINE.index('Moderate')] = 'DKIMModerate'

La première ligne est une expression canonique qui correspond au domaine de votre organisation. La ligne suivante spécifie d'utiliser le module ci-dessus au lieu du Mailman / Handlers / Moderate.py fourni avec Mailman lui-même.

C'est tout pour les paramètres. Tous les e-mails dont le domaine correspond à «DKIMDOMAINPATTERN» dans l'adresse De et qui ont une signature DKIM valide seront désormais livrés.

Recommended Posts

Mailman délivre tous les e-mails signés DKIM publiés à partir d'un domaine particulier
Mailman remet tout le courrier envoyé à partir d'un serveur de messagerie spécifique