SpamAssassin - DMARC Filter + Email Reporting

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Hello,

I want to set up the DMARC filter - in turn - and send DMARC reports to my Zimbra mail server.

Seems to me you need to add a plugin to SpamAssassin

A priori this one allows to send (by email) DMARC reports: Mail::SpamAssassin::Plugin::Dmarc

And this one would filter my MAIL server: "DMARC filter configuration in Spamassassin]" but the plugin "AskDNS" is not listed on the SpamAssassin wiki I think :/

Am I going in the right direction ?

Cordially,
Romain

//--------------------

Bonjour,

Je souhaite mettre en place le filtre DMARC - à mon tour - et envoie de rapports DMARC sur mon serveur de mail Zimbra.

Il me semble qu'il faut ajouter un plugin à SpamAssassin

A priori celui-ci permet d'envoyer (par mail) des reports DMARC : Mail::SpamAssassin::Plugin::Dmarc

Et celui-ci permettrait de filtrer mon serveur de MAIL : "Configuration du filtre DMARC dans Spamassassin" mais le plugin "AskDNS" n'est pas répertorié sur le wiki de SpamAssassin me semble-il :/

Vais-je dans la bonne direction ?

Cordialement,
Romain
User avatar
jholder
Ambassador
Ambassador
Posts: 4824
Joined: Fri Sep 12, 2014 10:00 pm

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by jholder »

HI Romain,

Zimbra has DMARC capability built in, you just have to enable it.

Steps are here: https://blog.zimbra.com/2021/08/zimbra- ... on-zimbra/
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Hello.

Thank you for your reply :)

I have already set up DMARC on my Zimbra mail server !!
I just configured my zimbra mail server with #DKIM #SPF #DMARC (by following this great :) tutorial: [Zimbra] Best practices for an SPF / DKIM / DMARC mail server

By the way, DMARC helps prevent identity theft and phishing via our mail servers :) :) :)

So I have DMARC reports from the recipients' mail servers sent to me every day.

I wrote a HTML table of DMARC reports so that I can parse the XML files which looks like the one Google Support: About DMARC - DMARC Reports

My PHP source code to copy/paste and put on your server: https://www.zw3b.site/dmarc-rapport.phps :) You have to remove the “s” from “.php » - ;) Only the define need to be changed - the directory and the SPF (to bring out the colors). If it can help the community :) Which I have embedded into one of my websites: DMARC * ZW3B.Site ;)

You will be able to better analyze/understand my code and tell me if I have placed the variables correctly - in the right boxes ;=) - And if your DMARC reports and the HTML table representation seem correct to you!

To explain how I imagined the DMARC alignment so it's very simple :)

For example on this DMARC report ID “1644028238.981247”
  1. We see that the SPF authentication is valid.
  2. However, it is not aligned with the DMARC compliance of the sending domain - mine.
  3. (We see that the DKIM authentication is not valid.)
  4. (And it's not aligned with DMARC compliance of the sending domain - mine.)
I send 0% DMARC compliance

For example on this DMARC report ID “1644196332.311774”
  • We see that the SPF authentication is valid.
  • And that it is aligned with the DMARC compliance of the sending domain - mine.
  • (We see that the DKIM authentication is not valid.)
  • (And it's not aligned with DMARC compliance of the sending domain - mine.)
I send DMARC compliance at 50%

For example on this DMARC report ID “7408672722582418912”
  • We see that the SPF authentication is valid.
  • And that it is aligned with the DMARC compliance of the sending domain - mine.
  • We see that the DKIM authentication is valid.
  • And that it is aligned with the DMARC compliance of the sending domain - mine.
    I ship 100% DMARC compliance
I am French and I had created a request for help on Debian-FR.org (Google Chrome > translate into your language :P :shock: :D ) to create an HTML display of the DMARC reports that I receive from recipients server - for experts to check ! CF: Servers Mails - Reports DMARC (SPF - DKIM) - parse XML file?
But if not, back on topic please - I'm looking to (my turn), send DMARC reports to sending mail servers and filter incoming mail on my Zimbra server.

I believe I am in the right direction :) Isn't it ? or what do you advise me! ?

Regards,
Romain

//-------------

Bonjour.

Merci pour votre réponse :)

J'ai déjà mis en place DMARC sur mon serveur mails Zimbra !!
Je viens de configurer mon serveur de mail zimbra avec #DKIM #SPF #DMARC (en passant en suivant ce super :) tutoriel : [Zimbra] Les bonnes pratiques pour un serveur mail SPF / DKIM / DMARC

A propos, DMARC permet d’Empêchez l’usurpation d’identité et le phishing via nos serveurs mails :) :) :)

J’ai donc les rapports DMARC des serveurs de mails des destinataires qui me sont envoyés tous les jours.

J’ai écris un tableau HTML des rapports DMARC pour que je puisse analyser le fichiers XML qui ressemble à celui que Google Support : About DMARC - Reports DMARC

Mon code source PHP à copier/coller et à mettre sur ton serveur : https://www.zw3b.site/dmarc-rapport.phps :) Il faut enlever le « s » de « .php » - ;) Il y a que les define à changer - la directory et les SPF (pour ressortir les couleurs). Si cela peut-aider la communauté :) Que j'ai intégré à un de mes sites Web : DMARC * ZW3B.Site ;)

Vous pourrez mieux analyser/comprendre mon code et me dire si j’ai bien placé les variables - dans les bonnes cases ;=) - Et si vos rapports DMARC et la représentation en tableau HTML vous semble correct !

Pour vous expliquer comment j'ai imaginé l’alignement DMARC donc c’est très simple :)

Pour exemple sur cet IDentifiant « 1644028238.981247 » de rapport DMARC
  1. On voit que l’authentification SPF est valide.
  2. Par contre elle n’est pas alignée avec la conformité DMARC du domaine d’envoie - le mien.
  3. (On voit que l’authentification DKIM n’est pas valide.)
  4. (Et qu’elle n’est pas alignée avec la conformité DMARC du domaine d’envoie - le mien.)
J’envoie la conformité DMARC à 0%

Pour exemple sur cet IDentifiant « 1644196332.311774 » de rapport DMARC
  • On voit que l’authentification SPF est valide.
  • Et qu’elle est alignée avec la conformité DMARC du domaine d’envoie - le mien.
  • (On voit que l’authentification DKIM n’est pas valide.)
  • (Et qu’elle n’est pas alignée avec la conformité DMARC du domaine d’envoie - le mien.)
J’envoie la conformité DMARC à 50%

Pour exemple sur cet IDentifiant « 7408672722582418912 » de rapport DMARC
  • On voit que l’authentification SPF est valide.
  • Et qu’elle est alignée avec la conformité DMARC du domaine d’envoie - le mien.
  • On voit que l’authentification DKIM est valide.
  • Et qu’elle est alignée avec la conformité DMARC du domaine d’envoie - le mien.
    J’envoie la conformité DMARC à 100%
Je suis français et j'avais créé une demande d'aide sur Debian-FR.org (Google Chrome > traduire dans ta langue :P :shock: :D ) pour créer un affichage HTML des rapports DMARC que je recois des serveur destinataires - pour que des experts vérifient ! CF : Servers Mails - Reports DMARC (SPF - DKIM) - analyse file XML?
Mais sinon, revenons au sujet s'il vous plaît - Je cherche à (mon tour), à envoyer des rapports DMARC aux serveurs mails envoyeurs et à filtrer les mails recus sur mon serveur Zimbra.

Je crois être dans la bonne direction :) N'est-ce pas ? ou que me conseillez-vous !?

Cordialement,
Romain

//--------------

LAB3W/O.Romain.Jaillet-ramey
S.I.R.E.N. (FR) : 448854893
Freelance | Consultant LAMP (W3C.Master : Analyste.SSI/Dev.OpS)

LAB3W : Web and networks laboratory - InterNet engineering - Owner ZW3B.[FR|TV|SITE|NET|BLOG] : The Web Communication
Web Site : http://www.lab3w.fr - Portfolio : http://portfolio.lab3w.fr - Google Business : https://lab3w.business.site
Admin : http://admin.lab3w.fr - SWAN LAC IP(v4/v6) : http://swan.lab3w.fr
The Web Networks : https://www.zw3b.fr - https://www.zw3b.tv - https://www.zw3b.site - https://www.zw3b.net - https://www.zw3b.blog
The Internet Protocol Version 10 is the accessibility between today's 2 IP networks - IPv4 and IPv6 : http://www.ipv10.net
FACEBOOK : LAB3W (Entreprise Personnal) - LAB3W.ORJ (Professionnal Page) - ZW3B.FR (Communication Page)
TWITTER : LAB3W_ORJ (Professionnal Page) - ZW3B_LAB3W (Communication Page)
INSTAGRAM : LAB3W.ORJ (Professionnal Page)
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Good to get back on topic.

Checking SpamAssassin's files and rules I find these files :

Code: Select all

/opt/zimbra/data/spamassassin/rules/25_dkim.cf
/opt/zimbra/data/spamassassin/rules/25_spf.cf
On the other hand I do not understand exactly - what it corresponds to - I like - to understand myself ;)

Maybe I just need to add the SpamAssassin plugin: Mail::SpamAssassin::Plugin::Dmarc which would allow me to send the reports to the sending mail servers. And that the SpamAssassin filters are already present as I explain to you just above in the 25_spf.cf and 25_dkim.cf files.

//---------------------

Bon pour en revenir au sujet.

En vérifiant les fichiers et les régles de SpamAssassin je trouve ces fichiers :

Code: Select all

/opt/zimbra/data/spamassassin/rules/25_dkim.cf
/opt/zimbra/data/spamassassin/rules/25_spf.cf
Par contre je ne comprend pas exactement - à quoi cela correspond - J'aime bien - comprendre moi-même ;)

Peut-être me suffit t'il d'ajouter le plugin de SpamAssassin : Mail::SpamAssassin::Plugin::Dmarc qui me permettrait d'envoyer les rapports aux serveurs mails envoyeurs. Et que les filtres SpamAssassin sont déjà présent comme je vous expliquer juste au dessus dans les fichiers 25_spf.cf et 25_dkim.cf.
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Hello.

I just found this of Marc Bradshaw (MBRADSHAW) but it seems to me to be complicated to set up but very good :

https://metacpan.org/dist/Mail-DMARC

How to implement this on a Mail server to reject unsigned DMARC emails: SPF + DKIM :)

Do you have a solution:

To start with → check that the SPF(s) of the sending server is correctly configured/valid.
Then, in a second step → check that the DKIM signature is valid".

I want to implement checks on my MTA zimbra server for the emails I receive.

Who has information?

Mail-DMARC-1.20211209 → readme.md: https://metacpan.org/release/MBRADSHAW/ ... /README.md

I'm not going to "click" on the intall like a nag anyway :/ :D

Mail-DMARC-1.20211209 → install.md: https://metacpan.org/release/MBRADSHAW/ ... INSTALL.md

:shock:

NoMe 03:47. p.m GMT+1 : F.A.Q. → https://github.com/msimerson/mail-dmarc/wiki and the devloppers and contributors !

Note of Myself 5:27 p.m. GMT+1 : Guys, they did the trick/verification/validation of mail signatures in BIMI (Brand Indicators for Message Identification) images :)

//-----------

Bonjour.

Je viens de trouver cela de Marc Bradshaw (MBRADSHAW) mais çà m’a l’air d’être compliquer à mettre en place mais cela mais bien bon :

https://metacpan.org/dist/Mail-DMARC

Comment implanter çà sur un serveur Mail pour rejeter les mails non signés DMARC : SPF + DKIM :)
Auriez-vous une solution :

Pour dans un premier temps → vérifier que le(s) SPF du serveurs d’envoie est bien configuré/valide.
Puis, dans un deuxième temps → vérifier que la signature DKIM soit valide".

Je souhaite implanter des vérification sur mon serveur MTA zimbra pour les mails que je reçois.

Qui a des informations ?

Mail-DMARC-1.20211209 → readme.md : https://metacpan.org/release/MBRADSHAW/ ... /README.md

Je ne vais pas « cliquer » sur l’intall comme un bourrin quand même :/ :D

Mail-DMARC-1.20211209 → install.md : https://metacpan.org/release/MBRADSHAW/ ... INSTALL.md

:shock:

NdMoi 15h47 GMT+1 : F.A.Q. → https://github.com/msimerson/mail-dmarc/wiki et les devloppers et contributors

Note de Moi-même 17h27 GMT+1 : Les gars ils ont fait le truc/vérification/validation des signatures mail en images BIMI (Brand Indicators for Message Identification) :)
Last edited by LAB3W.ORJ on Mon Nov 07, 2022 8:17 pm, edited 11 times in total.
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Otherwise, there is this SpamAssassin plugin which checks if an e-mail respects the DMARC policy of its domain.

The plugin can save DMARC reports in a database, the reports can later be sent to external mail servers. The main branch is developed on Apache SpamAssassin 4.x src tree and it will be synced here, the version compatible with Apache SpamAssassin 3.4.x is on branch "3.4". See Mail::DMARC::Report for additional documentation on setting up reports.

Dmarc policy check:

Mail::SpamAssassin::Plugin::Dmarc : https://github.com/bigio/spamassassin-dmarc

It must be easier to set up - How-to :) ?

Do I have to copy/paste only these 3 files in these directories ?

Code: Select all

/opt/zimbra/common/lib/perl5/Mail/SpamAssassin/
DMARC.pm

/opt/zimbra/data/spamassassin/rules/
DMARC.cf

/opt/zimbra/data/spamassassin/localrules/
DMARC.pre
In your opinion ?

Thanks !

//---------

Sinon, il y ce plugin SpamAssassin qui vérifie si un e-mail respecte la politique DMARC de son domaine.

Le plugin peut enregistrer les rapports DMARC dans une base de données, les rapports peuvent être envoyés ultérieurement à des serveurs de messagerie externes. La branche principale est développée sur Apache SpamAssassin 4.x src tree et elle sera synchronisée ici, la version compatible avec Apache SpamAssassin 3.4.x est sur la branche « 3.4 ». Voir Mail::DMARC::Report pour une documentation supplémentaire sur la configuration des rapports.

Dmarc policy check :

Mail::SpamAssassin::Plugin::Dmarc : https://github.com/bigio/spamassassin-dmarc

Çà doit être plus simple à mettre en place - Comment-faire :) ?

Est-ce qu’il faut que je copie/colle seulement ces 3 fichiers dans ces répertoires ?

Code: Select all

/opt/zimbra/common/lib/perl5/Mail/SpamAssassin/
DMARC.pm

/opt/zimbra/data/spamassassin/rules/
DMARC.cf

/opt/zimbra/data/spamassassin/localrules/
DMARC.pre
À votre avis ?

Merci !
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Nobody works on SpamAssassin ?
SpamAssassin is free software run by the Apache Software Foundation, author of the famous Apache HTTP Server web server. The purpose of this software is to filter email traffic to eradicate emails recognized as spam or unsolicited emails.
They are only 3 on GitHub for SpamAssassin :shock: :?
Wiki SpamAssassin
SpamAssassin is a mature, widely-deployed open source project that serves as a mail filter to identify Spam. SpamAssassin uses a variety of mechanisms including header and text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases. SpamAssassin runs on a server, and filters spam before it reaches your mailbox.
And 3 others on SpamAssassin::DMARC
:)

//---

Personne ne travaille sur SpamAssassin ?
SpamAssassin est un logiciel libre mené par la Apache Software Foundation, auteur du très célèbre serveur Web Apache HTTP Server. Le but de ce logiciel est de filtrer le trafic des courriels pour éradiquer les courriels reconnus comme pourriels ou courriels non sollicités.
Ils ne sont que 3 sur GitHub pour SpamAssassin :shock: :? Wiki SpamAssassin
SpamAssassin est un projet open source mature et largement déployé qui sert de filtre de messagerie pour identifier le spam. SpamAssassin utilise une variété de mécanismes, notamment l’analyse d’en-tête et de texte, le filtrage bayésien, les listes de blocage DNS et les bases de données de filtrage collaboratives. SpamAssassin s’exécute sur un serveur et filtre le spam avant qu’il n’atteigne votre boîte aux lettres.
Et 3 autres personnes sur SpamAssassin::DMARC :)
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

Hello,

Before installing DMARC filter and reporting.

I'm trying to activate a plugin Mail::SpamAssassin::Plugin::RelayCountry in the SpamAssassin of the MTA zimbra but I can't.

Mail SpamAssassin modules and plugins:
metacpan.org: Mail-SpamAssassin-4.0.0 - Apache SpamAssassin is an extensible email filter which is used to identify spam

Seeing a commented line in the file: /opt/zimbra/data/spamassassin/localrules/init.pre I uncommented this line - I said to myself, hey, they prepared the way for us, to try SpamAssassin - cooL plugins:

Code: Select all

# RelayCountry - add metadata for Bayes learning, marking the countries
# a message was relayed through
#
# Note: This requires the Geo::IP Perl module
#
loadplugin Mail::SpamAssassin::Plugin::RelayCountry
So before I "tried" to install Mail::SpamAssassin::GeoDB

On the other hand it does not work - No addition in the headers (headers) of my received mails - And the mail server and amavisd (SpamAssasin) works (line of loading of the RelayCountry plugin uncomment).

Zimbra status:

Code: Select all

zimbra@mail:~ $ zmamavisdctl status && zmmtactl status
amavisd is running.
amavisd-mc is running.

zimbra@mail:~ $ zmcontrol status
Host mail.zw3b.net
         amavis Running
         Antispam Running
         running anti-virus
         ldap Running
         Running logger
         mailbox Running
         mta Running
         opendkim Running
         Running web app service
         snmpRunning
         spell Running
         Running stats
         zimbra webapp Running
         zimbraAdmin webapp Running
         zimlet webapp Running
         zmconfigd Running
I downloaded copied the plugin RelayCountry.pm in the SpamAssasin directory of zimbra:

Code: Select all

root@mail:~# wget https://cpan.metacpan.org/authors/id/S/SI/SIDNEY/Mail-SpamAssassin-4.0.0.tar.gz
root@mail:~# tar xzvfp Mail-SpamAssassin-4.0.0.tar.gz
root@mail:~ # cp Mail-SpamAssassin-4.0.0/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm /opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Plugin/
I looked at the file:

Code: Select all

vim /opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Conf.pm
And I added "hastily" the line (at the end of the file):

Code: Select all

sub feature_geodb { 1 } # if needed for some reason
On the other hand, a lot of lines concerning the GeoDB are missing.
I tell myself that I will not add these lines to the Conf.pm file by hand.
That there must be a way, a command (the install) so that by adding/installing the module, the SpamAssassin conf file changes.

Do you have an idea ?

I'm trying to find the "perl" command → associated with zimbra - For it to interact in the zimbra tree → /opt/zimbra/
I searched for a symbolic link to /usr/bin/perl in the directory /opt/zimbra → without success.

I "tried" to install Mail::SpamAssassin::GeoDB this way and from the /root/ directory with the CPAN (Comprehensive Perl Archive Network) command:

Code: Select all

cpanm install Mail::SpamAssassin::GeoDB
I am trying with the perl command.

Code: Select all

perl -MCPAN -e 'install Mail::SpamAssassin::GeoDB'
But I believe it's the same, it still won't modify the file:

Code: Select all

/opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Conf.pm
I figure Zimbra should use "perl" from the machine, but I don't know how to tell it to edit/add Mail::SpamAssassin::GeoDB module in zimbra.

Thank you for your answers.

Romain

// FR -------------------------------------------------------------------------------------------------

Bonjour,

Avant d’installer DMARC filter et reporting.

J’essaie d’activer un plugin Mail::SpamAssassin::Plugin::RelayCountry dans le SpamAssassin du MTA zimbra mais je n’y arrive pas.

Les modules et plugins de Mail SpamAssassin :
metacpan.org : Mail-SpamAssassin-4.0.0 - Apache SpamAssassin is an extensible email filter which is used to identify spam

Voyant une ligne commentée dans le fichier : /opt/zimbra/data/spamassassin/localrules/init.pre j’ai décommenté cette ligne - Je me suis dis, tiens, ils nous ont préparé le chemin, pour essayer des plugins de SpamAssassin - cooL :

Code: Select all

# RelayCountry - add metadata for Bayes learning, marking the countries
# a message was relayed through
#
# Note: This requires the Geo::IP Perl module
#
loadplugin Mail::SpamAssassin::Plugin::RelayCountry
J’ai, donc, avant, « essayé » d’installer Mail::SpamAssassin::GeoDB

Par contre çà ne fonctionne pas - Pas d’ajout dans le headers (en-têtes) de mes mails reçus - Et le serveur mail et amavisd (SpamAssasin) fonctionne (ligne du chargement du plugin RelayCountry décommenter).

Zimbra status :

Code: Select all

zimbra@mail:~ $ zmamavisdctl status && zmmtactl status
amavisd is running.
amavisd-mc is running.

zimbra@mail:~ $ zmcontrol status
Host mail.zw3b.net
        amavis                  Running
        antispam                Running
        antivirus               Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        mta                     Running
        opendkim                Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Running
J’ai téléchargé copié le plugin RelayCountry.pm dans le répertoire de SpamAssasin de zimbra :

Code: Select all

root@mail:~ # wget https://cpan.metacpan.org/authors/id/S/SI/SIDNEY/Mail-SpamAssassin-4.0.0.tar.gz
root@mail:~ # tar xzvfp Mail-SpamAssassin-4.0.0.tar.gz
root@mail:~ # cp Mail-SpamAssassin-4.0.0/lib/Mail/SpamAssassin/Plugin/RelayCountry.pm /opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Plugin/
J’ai regardé le fichier :

Code: Select all

vim /opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Conf.pm
Et j’ai ajouté « à l’arrache » la ligne (à la fin du fichier) :

Code: Select all

sub feature_geodb { 1 } # if needed for some reason
Par contre, il manque plein de lignes concernant le GeoDB.
Je me dis, que je ne vais pas ajouter au fichier de Conf.pm ces lignes à la main.
Qu’il doit bien y avoir un moyen, une commande (l’install) pour qu’en ajoutant/installant le module, le fichier de conf de SpamAssassin se modifie.

Avez-vous une idée ?

J’essaie de trouver la commande « perl » → associée à zimbra - Pour qu’il interagisse dans l’arborescence de zimbra → /opt/zimbra/
J’ai recherché un lien symbolique vers /usr/bin/perl dans le répertoire /opt/zimbra → sans succès.

J’ai « essayé » d’installer Mail::SpamAssassin::GeoDB de cette manière et depuis le répertoire /root/ avec la commande CPAN (Comprehensive Perl Archive Network) :

Code: Select all

cpanm install Mail::SpamAssassin::GeoDB
J’essaie avec la commande perl.

Code: Select all

perl -MCPAN -e 'install Mail::SpamAssassin::GeoDB'
Mais je crois que c’est pareil, çà ne va toujours pas modifier le fichier :

Code: Select all

/opt/zimbra/common/lib/perl5/Mail/SpamAssassin/Conf.pm
Je me dis que Zimbra doit utiliser « perl » de la machine, mais je ne sais pas comment lui dire de modifier/ajouter le module Mail::SpamAssassin::GeoDB dans zimbra.

Merci pour vos réponses.

//-------------------------------------------------------------------------------------------------

Zimbra/Perl/Mail::SpamAssassin: Directory listings

Zimbra directory: data/spamassassin/

Code: Select all

root@mail:~ $ ls -l /opt/zimbra/data/spamassassin/localrules/
total 52
-rw-r--r-- 1 zimbra zimbra 1194 Mar 28  2022 init.pre
-rw-r--r-- 1 zimbra zimbra 3279 Dec 28 14:20 local.cf
-r--r----- 1 zimbra zimbra 4415 Dec 28 14:22 salocal.cf
-rw-r--r-- 1 zimbra zimbra 2523 Mar 28  2022 v310.pre
-rw-r--r-- 1 zimbra zimbra 1194 Mar 28  2022 v312.pre
-rw-r--r-- 1 zimbra zimbra 2414 Mar 28  2022 v320.pre
-rw-r--r-- 1 zimbra zimbra 1237 Mar 28  2022 v330.pre
-rw-r--r-- 1 zimbra zimbra 1020 Mar 28  2022 v340.pre
-rw-r--r-- 1 zimbra zimbra 1309 Mar 28  2022 v341.pre
-rw-r--r-- 1 zimbra zimbra 1469 Mar 28  2022 v342.pre
-rw-r--r-- 1 zimbra zimbra 1264 Mar 28  2022 v343.pre

root@mail:~ $ ls -l /opt/zimbra/data/spamassassin/rules/
total 1324
-rw-r--r-- 1 zimbra zimbra   8790 Mar 28  2022 10_default_prefs.cf
-rw-r--r-- 1 zimbra zimbra   2470 Mar 28  2022 10_hasbase.cf
-rw-r--r-- 1 zimbra zimbra   7630 Mar 28  2022 20_advance_fee.cf
-rw-r--r-- 1 zimbra zimbra  37187 Mar 28  2022 20_aux_tlds.cf
-rw-r--r-- 1 zimbra zimbra   7198 Mar 28  2022 20_body_tests.cf
-rw-r--r-- 1 zimbra zimbra   1912 Mar 28  2022 20_compensate.cf
-rw-r--r-- 1 zimbra zimbra  11303 Mar 28  2022 20_dnsbl_tests.cf
-rw-r--r-- 1 zimbra zimbra  15543 Mar 28  2022 20_drugs.cf
-rw-r--r-- 1 zimbra zimbra  11404 Mar 28  2022 20_dynrdns.cf
-rw-r--r-- 1 zimbra zimbra   9073 Mar 28  2022 20_fake_helo_tests.cf
-rw-r--r-- 1 zimbra zimbra   3078 Mar 28  2022 20_freemail.cf
-rw-r--r-- 1 zimbra zimbra  41233 Mar 28  2022 20_freemail_domains.cf
-rw-r--r-- 1 zimbra zimbra   4438 Mar 28  2022 20_freemail_mailcom_domains.cf
-rw-r--r-- 1 zimbra zimbra  27208 Mar 28  2022 20_head_tests.cf
-rw-r--r-- 1 zimbra zimbra  10712 Mar 28  2022 20_html_tests.cf
-rw-r--r-- 1 zimbra zimbra   5320 Mar 28  2022 20_imageinfo.cf
-rw-r--r-- 1 zimbra zimbra   2931 Mar 28  2022 20_mailspike.cf
-rw-r--r-- 1 zimbra zimbra   3468 Mar 28  2022 20_meta_tests.cf
-rw-r--r-- 1 zimbra zimbra   1898 Mar 28  2022 20_net_tests.cf
-rw-r--r-- 1 zimbra zimbra  15845 Mar 28  2022 20_pdfinfo.cf
-rw-r--r-- 1 zimbra zimbra   8175 Mar 28  2022 20_phrases.cf
-rw-r--r-- 1 zimbra zimbra   2080 Mar 28  2022 20_porn.cf
-rw-r--r-- 1 zimbra zimbra  16764 Mar 28  2022 20_ratware.cf
-rw-r--r-- 1 zimbra zimbra   6027 Mar 28  2022 20_uri_tests.cf
-rw-r--r-- 1 zimbra zimbra  20785 Mar 28  2022 20_vbounce.cf
-rw-r--r-- 1 zimbra zimbra   3027 Mar 28  2022 23_bayes.cf
-rw-r--r-- 1 zimbra zimbra   1565 Mar 28  2022 25_accessdb.cf
-rw-r--r-- 1 zimbra zimbra   1557 Mar 28  2022 25_antivirus.cf
-rw-r--r-- 1 zimbra zimbra   1993 Mar 28  2022 25_asn.cf
-rw-r--r-- 1 zimbra zimbra   2960 Mar 28  2022 25_dcc.cf
-rw-r--r-- 1 zimbra zimbra   5258 Mar 28  2022 25_dkim.cf
-rw-r--r-- 1 zimbra zimbra   3067 Mar 28  2022 25_dnswl.cf
-rw-r--r-- 1 zimbra zimbra   1525 Mar 28  2022 25_pyzor.cf
-rw-r--r-- 1 zimbra zimbra   3167 Mar 28  2022 25_razor2.cf
-rw-r--r-- 1 zimbra zimbra  21447 Mar 28  2022 25_replace.cf
-rw-r--r-- 1 zimbra zimbra   4418 Mar 28  2022 25_spf.cf
-rw-r--r-- 1 zimbra zimbra   1789 Mar 28  2022 25_textcat.cf
-rw-r--r-- 1 zimbra zimbra  18802 Mar 28  2022 25_uribl.cf
-rw-r--r-- 1 zimbra zimbra  27094 Mar 28  2022 30_text_de.cf
-rw-r--r-- 1 zimbra zimbra  20445 Mar 28  2022 30_text_fr.cf
-rw-r--r-- 1 zimbra zimbra   1879 Mar 28  2022 30_text_it.cf
-rw-r--r-- 1 zimbra zimbra  21499 Mar 28  2022 30_text_nl.cf
-rw-r--r-- 1 zimbra zimbra  17832 Mar 28  2022 30_text_pl.cf
-rw-r--r-- 1 zimbra zimbra  43889 Mar 28  2022 30_text_pt_br.cf
-rw-r--r-- 1 zimbra zimbra  37858 Mar 28  2022 50_scores.cf
-rw-r--r-- 1 zimbra zimbra   9358 Mar 28  2022 60_adsp_override_dkim.cf
-rw-r--r-- 1 zimbra zimbra   1337 Mar 28  2022 60_awl.cf
-rw-r--r-- 1 zimbra zimbra  16452 Mar 28  2022 60_bayes_stopwords.cf
-rw-r--r-- 1 zimbra zimbra   2328 Mar 28  2022 60_shortcircuit.cf
-rw-r--r-- 1 zimbra zimbra   1360 Mar 28  2022 60_txrep.cf
-rw-r--r-- 1 zimbra zimbra  12864 Mar 28  2022 60_whitelist.cf
-rw-r--r-- 1 zimbra zimbra  77057 Mar 28  2022 60_whitelist_auth.cf
-rw-r--r-- 1 zimbra zimbra  13104 Mar 28  2022 60_whitelist_dkim.cf
-rw-r--r-- 1 zimbra zimbra   3557 Mar 28  2022 60_whitelist_spf.cf
-rw-r--r-- 1 zimbra zimbra   1935 Mar 28  2022 60_whitelist_subject.cf
-rw-r--r-- 1 zimbra zimbra 505640 Mar 28  2022 72_active.cf
-rw-r--r-- 1 zimbra zimbra  28722 Mar 28  2022 72_scores.cf
-rw-r--r-- 1 zimbra zimbra   4217 Mar 28  2022 73_sandbox_manual_scores.cf
-rw-r--r-- 1 zimbra zimbra   1348 Mar 28  2022 MIRRORED.BY
-rw-r--r-- 1 zimbra zimbra   1497 Mar 28  2022 STATISTICS-set0-72_scores.cf.txt
-rw-r--r-- 1 zimbra zimbra   1498 Mar 28  2022 STATISTICS-set1-72_scores.cf.txt
-rw-r--r-- 1 zimbra zimbra      0 Mar 28  2022 STATISTICS-set2-72_scores.cf.txt
-rw-r--r-- 1 zimbra zimbra      0 Mar 28  2022 STATISTICS-set3-72_scores.cf.txt
-rw-r--r-- 1 zimbra zimbra   3293 Mar 28  2022 local.cf
-rw-r--r-- 1 zimbra zimbra   2771 Mar 28  2022 regression_tests.cf
-rw-r--r-- 1 zimbra zimbra   4777 Mar 28  2022 sa-update-pubkey.txt
Zimbra directory: common/lib/perl5/Mail/

Code: Select all

root@mail:~ # ls -l /opt/zimbra/common/lib/perl5/Mail/
total 224
-rw-r--r--  1 root root  6779 nov.  21  2014 Address.pm
-rw-r--r--  1 root root  3797 nov.  21  2014 Address.pod
-rw-r--r--  1 root root  6320 nov.  21  2014 Cap.pm
-rw-r--r--  1 root root  3830 nov.  21  2014 Cap.pod
drwxr-xr-x  4 root root  4096 août  21  2020 DKIM
-rw-r--r--  1 root root  2295 sept.  9  2015 DKIM.pm
drwxr-xr-x  2 root root  4096 août  21  2020 Field
-rw-r--r--  1 root root  4794 nov.  21  2014 Field.pm
-rw-r--r--  1 root root  5021 nov.  21  2014 Field.pod
-rw-r--r--  1 root root  1258 nov.  21  2014 Filter.pm
-rw-r--r--  1 root root  2861 nov.  21  2014 Filter.pod
-rw-r--r--  1 root root 14550 nov.  21  2014 Header.pm
-rw-r--r--  1 root root  7910 nov.  21  2014 Header.pod
-rw-r--r--  1 root root 11994 nov.  21  2014 Internet.pm
-rw-r--r--  1 root root 10554 nov.  21  2014 Internet.pod
drwxr-xr-x  2 root root  4096 août  21  2020 Mailer
-rw-r--r--  1 root root  4803 nov.  21  2014 Mailer.pm
-rw-r--r--  1 root root  3978 nov.  21  2014 Mailer.pod
-rw-r--r--  1 root root  1154 nov.  21  2014 Send.pm
-rw-r--r--  1 root root  2868 nov.  21  2014 Send.pod
drwxr-xr-x 10 root root  4096 déc.  29 13:40 SpamAssassin
-rw-r--r--  1 root root 71352 avril  9  2021 SpamAssassin.pm
drwxr-xr-x  6 root root  4096 août  21  2020 SPF
-rw-r--r--  1 root root  2369 sept.  9  2015 SPF.pm
-rw-r--r--  1 root root  3211 nov.  21  2014 Util.pm
-rw-r--r--  1 root root  3159 nov.  21  2014 Util.pod

root@mail:~ # ls -l /opt/zimbra/common/lib/perl5/Mail/SpamAssassin/
total 872
-rw-r--r-- 1 root root   5738 avril  9  2021 AICache.pm
-rw-r--r-- 1 root root  34898 avril  9  2021 ArchiveIterator.pm
-rw-r--r-- 1 root root  24125 avril  9  2021 AsyncLoop.pm
-rw-r--r-- 1 root root  10126 avril  9  2021 AutoWhitelist.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Bayes
-rw-r--r-- 1 root root   4933 avril  9  2021 Bayes.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 BayesStore
-rw-r--r-- 1 root root  23520 avril  9  2021 BayesStore.pm
-rw-r--r-- 1 root root  13692 avril  9  2021 Client.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Conf
-rw-r--r-- 1 root root 170607 déc.  29 13:40 Conf.pm
-rw-r--r-- 1 root root  14170 avril  9  2021 Constants.pm
-rw-r--r-- 1 root root   5345 avril  9  2021 DBBasedAddrList.pm
-rw-r--r-- 1 root root  22336 avril  9  2021 Dns.pm
-rw-r--r-- 1 root root  34630 avril  9  2021 DnsResolver.pm
-rw-r--r-- 1 root root  27215 déc.  28 20:38 GeoDB.pm
-rw-r--r-- 1 root root  35087 avril  9  2021 HTML.pm
-rw-r--r-- 1 root root   4178 avril  9  2021 Locales.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Locker
-rw-r--r-- 1 root root   2159 avril  9  2021 Locker.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Logger
-rw-r--r-- 1 root root  11402 avril  9  2021 Logger.pm
-rw-r--r-- 1 root root   5258 avril  9  2021 MailingList.pm
drwxr-xr-x 3 root root   4096 juin  22  2022 Message
-rw-r--r-- 1 root root  44523 avril  9  2021 Message.pm
-rw-r--r-- 1 root root  10734 avril  9  2021 NetSet.pm
-rw-r--r-- 1 root root   5023 avril  9  2021 PerMsgLearner.pm
-rw-r--r-- 1 root root 109677 avril  9  2021 PerMsgStatus.pm
-rw-r--r-- 1 root root   4368 avril  9  2021 PersistentAddrList.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Plugin
-rw-r--r-- 1 root root   7390 avril  9  2021 PluginHandler.pm
-rw-r--r-- 1 root root  31616 avril  9  2021 Plugin.pm
-rw-r--r-- 1 root root   7998 avril  9  2021 RegistryBoundaries.pm
-rw-r--r-- 1 root root   3117 avril  9  2021 Reporter.pm
-rw-r--r-- 1 root root  27882 avril  9  2021 SpamdForkScaling.pm
-rw-r--r-- 1 root root  13532 avril  9  2021 SQLBasedAddrList.pm
-rw-r--r-- 1 root root   4553 avril  9  2021 SubProcBackChannel.pm
-rw-r--r-- 1 root root  10657 avril  9  2021 Timeout.pm
drwxr-xr-x 2 root root   4096 juin  22  2022 Util
-rw-r--r-- 1 root root  67188 avril  9  2021 Util.pm
And the unzipped archive of Mail-SpamAssassin-4.0.0.tar.gz retrieve from CPAN → metacpan.org.

Code: Select all

root@mail:~ # ls -l Mail-SpamAssassin-4.0.0/rules/
total 256
-rw-r--r-- 1 orj orj  36870 déc.  14 07:03 20_aux_tlds.cf
-rw-r--r-- 1 orj orj  23305 déc.  14 07:03 active.list
-rw-r--r-- 1 orj orj   1649 déc.  14 07:03 init.pre
-rw-r--r-- 1 orj orj 133600 déc.  14 07:03 languages
-rw-r--r-- 1 orj orj   3218 déc.  14 07:03 local.cf
-rw-r--r-- 1 orj orj   2771 déc.  14 07:03 regression_tests.cf
-rw-r--r-- 1 orj orj   4777 déc.  14 07:03 sa-update-pubkey.txt
-rw-r--r-- 1 orj orj   1912 déc.  14 07:03 user_prefs.template
-rw-r--r-- 1 orj orj   2263 déc.  14 07:03 v310.pre
-rw-r--r-- 1 orj orj   1168 déc.  14 07:03 v312.pre
-rw-r--r-- 1 orj orj   2416 déc.  14 07:03 v320.pre
-rw-r--r-- 1 orj orj   1237 déc.  14 07:03 v330.pre
-rw-r--r-- 1 orj orj   1020 déc.  14 07:03 v340.pre
-rw-r--r-- 1 orj orj   1315 déc.  14 07:03 v341.pre
-rw-r--r-- 1 orj orj   1475 déc.  14 07:03 v342.pre
-rw-r--r-- 1 orj orj   1266 déc.  14 07:03 v343.pre
-rw-r--r-- 1 orj orj   1482 déc.  14 07:03 v400.pre

root@mail:~ # ls -l Mail-SpamAssassin-4.0.0/lib/Mail/SpamAssassin/
total 940
-rw-r--r-- 1 orj orj   5738 déc.  14 07:03 AICache.pm
-rw-r--r-- 1 orj orj  38153 déc.  14 07:03 ArchiveIterator.pm
-rw-r--r-- 1 orj orj  28204 déc.  14 07:03 AsyncLoop.pm
-rw-r--r-- 1 orj orj  10153 déc.  14 07:03 AutoWelcomelist.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Bayes
-rw-r--r-- 1 orj orj   4935 déc.  14 07:03 Bayes.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 BayesStore
-rw-r--r-- 1 orj orj  23520 déc.  14 07:03 BayesStore.pm
-rw-r--r-- 1 orj orj  14622 déc.  14 07:03 Client.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Conf
-rw-r--r-- 1 orj orj 186864 déc.  14 07:03 Conf.pm
-rw-r--r-- 1 orj orj  14341 déc.  14 07:03 Constants.pm
-rw-r--r-- 1 orj orj   5377 déc.  14 07:03 DBBasedAddrList.pm
-rw-r--r-- 1 orj orj  22730 déc.  14 07:03 Dns.pm
-rw-r--r-- 1 orj orj  36217 déc.  14 07:03 DnsResolver.pm
-rw-r--r-- 1 orj orj  27215 déc.  14 07:03 GeoDB.pm
-rw-r--r-- 1 orj orj  35790 déc.  14 07:03 HTML.pm
-rw-r--r-- 1 orj orj   4081 déc.  14 07:03 Locales.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Locker
-rw-r--r-- 1 orj orj   2253 déc.  14 07:03 Locker.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Logger
-rw-r--r-- 1 orj orj  12553 déc.  14 07:03 Logger.pm
-rw-r--r-- 1 orj orj   5258 déc.  14 07:03 MailingList.pm
drwxr-xr-x 3 orj orj   4096 déc.  14 07:06 Message
-rw-r--r-- 1 orj orj  47763 déc.  14 07:03 Message.pm
-rw-r--r-- 1 orj orj  11987 déc.  14 07:03 NetSet.pm
-rw-r--r-- 1 orj orj   5033 déc.  14 07:03 PerMsgLearner.pm
-rw-r--r-- 1 orj orj 121113 déc.  14 07:03 PerMsgStatus.pm
-rw-r--r-- 1 orj orj   4384 déc.  14 07:03 PersistentAddrList.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Plugin
-rw-r--r-- 1 orj orj   7575 déc.  14 07:03 PluginHandler.pm
-rw-r--r-- 1 orj orj  33377 déc.  14 07:03 Plugin.pm
-rw-r--r-- 1 orj orj   8870 déc.  14 07:03 RegistryBoundaries.pm
-rw-r--r-- 1 orj orj   3117 déc.  14 07:03 Reporter.pm
-rw-r--r-- 1 orj orj  28055 déc.  14 07:03 SpamdForkScaling.pm
-rw-r--r-- 1 orj orj  15151 déc.  14 07:03 SQLBasedAddrList.pm
-rw-r--r-- 1 orj orj   4553 déc.  14 07:03 SubProcBackChannel.pm
-rw-r--r-- 1 orj orj  10657 déc.  14 07:03 Timeout.pm
drwxr-xr-x 2 orj orj   4096 déc.  14 07:06 Util
-rw-r--r-- 1 orj orj  88214 déc.  14 07:03 Util.pm
Il doit y avoir (peut-être) une commande zimbra pour modifier la configuration de SpamAssassin mais je ne trouve rien de pertinent sur le Web.
There must (maybe) be a zimbra command to modify the SpamAssassin configuration but I can't find anything relevant on the web.

J’ajoute ces liens pour complément d’informations :
I add these links for more information :

Improving Anti-spam system - Zimbra :: Tech Center
Anti-spam Strategies - Zimbra :: Tech Center
SpamAssassin | Zimbra – Zextras Community
ZCS::LocalConfig - Perl module for the Zimbra Collaboration Suite (ZCS) Local…

I posted this same message on the Debian-FR forum ;)
Who explains to me how to add a Perl module to zimbra and a plugin to SpamAssassin of zimbra ?

Romain
Last edited by LAB3W.ORJ on Sat Dec 31, 2022 2:07 pm, edited 1 time in total.
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

I may have a lead :) In your humble opinion?

root user:

Code: Select all

    root@mail:~ # env | grep PERL
    root@mail:~ # 

    root@mail:~ # perl -V
    [.....]    
    Compiled at Oct  5 2022 10:49:22
      @INC:
        /etc/perl
        /usr/local/lib/x86_64-linux-gnu/perl/5.26.1
        /usr/local/share/perl/5.26.1
        /usr/lib/x86_64-linux-gnu/perl5/5.26
        /usr/share/perl5
        /usr/lib/x86_64-linux-gnu/perl/5.26
        /usr/share/perl/5.26
        /usr/local/lib/site_perl
        /usr/lib/x86_64-linux-gnu/perl-base
zimbra user:

Code: Select all

    root@mail:~ # su - zimbra -c "env | grep PERL"
    PERL5LIB=/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5
    PERLLIB=/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5

    root@mail:~ # su - zimbra -c "perl -V"
    [.....]
    Compiled at Oct  5 2022 10:49:22
      %ENV:
        PERL5LIB="/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5"
        PERLLIB="/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5"
      @INC:
        /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi
        /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi
        /opt/zimbra/common/lib/perl5
        /etc/perl
        /usr/local/lib/x86_64-linux-gnu/perl/5.26.1
        /usr/local/share/perl/5.26.1
        /usr/lib/x86_64-linux-gnu/perl5/5.26
        /usr/share/perl5
        /usr/lib/x86_64-linux-gnu/perl/5.26
        /usr/share/perl/5.26
        /usr/local/lib/site_perl
        /usr/lib/x86_64-linux-gnu/perl-base
I must install with a "`PREFIX=`" option or from the "perl shell" with an "`INSTALL_BASE=`"
On root I export the environment variables to launch the command from the "root" user ?
Or am I trying from the "zimbra" user ?
Info Perl Installation other directory by default:
* 3.9. Installation into a Nonstandard Directory
* Install and manage Perl modules in your home directory on Carbonate

We'll see.

:)

//---------------------------------------------------------------------------------
J'ai peut-être un piste :) À vos humbles avis ?

root utilisateur :

Code: Select all

    root@mail:~ # env | grep PERL
    root@mail:~ # 

    root@mail:~ # perl -V
    Compiled at Oct  5 2022 10:49:22
    [.....]
      @INC:
        /etc/perl
        /usr/local/lib/x86_64-linux-gnu/perl/5.26.1
        /usr/local/share/perl/5.26.1
        /usr/lib/x86_64-linux-gnu/perl5/5.26
        /usr/share/perl5
        /usr/lib/x86_64-linux-gnu/perl/5.26
        /usr/share/perl/5.26
        /usr/local/lib/site_perl
        /usr/lib/x86_64-linux-gnu/perl-base
zimbra utilisateur :

Code: Select all

    root@mail:~ # su - zimbra -c "env | grep PERL"
    PERL5LIB=/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5
    PERLLIB=/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5

    root@mail:~ # su - zimbra -c "perl -V"
    [.....]
    Compiled at Oct  5 2022 10:49:22
      %ENV:
        PERL5LIB="/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5"
        PERLLIB="/opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi:/opt/zimbra/common/lib/perl5"
      @INC:
        /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi
        /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi
        /opt/zimbra/common/lib/perl5
        /etc/perl
        /usr/local/lib/x86_64-linux-gnu/perl/5.26.1
        /usr/local/share/perl/5.26.1
        /usr/lib/x86_64-linux-gnu/perl5/5.26
        /usr/share/perl5
        /usr/lib/x86_64-linux-gnu/perl/5.26
        /usr/share/perl/5.26
        /usr/local/lib/site_perl
        /usr/lib/x86_64-linux-gnu/perl-base

Il doit falloir que j'installe avec une option "`PREFIX=`" ou depuis le "shell perl" avec un "`INSTALL_BASE=`"
Sur root j’export les variables d’environnements pour lancer la commande depuis l’utilisateur « root » ?
Ou, est-ce que j’essaie depuis l’utilisateur « zimbra » ?
Infos Perl Installation autre répertoire par default :
* 3.9. Installation into a Nonstandard Directory
* Install and manage Perl modules in your home directory on Carbonate

On va bien voir.

:)
User avatar
LAB3W.ORJ
Advanced member
Advanced member
Posts: 76
Joined: Sat Feb 19, 2022 3:16 pm
Location: InterNet
ZCS/ZD Version: 8.8.15.GA.4179.UBUNTU20.64 FOSS P44
Contact:

Re: SpamAssassin - DMARC Filter + Email Reporting

Post by LAB3W.ORJ »

I still can't add a "perl" module to the zimbra directory -> for example MaxMind::DB::Reader...

In this directory:

Code: Select all

ls -l /opt/zimbra/common/lib/perl5/
:/

Who knows how !?

//--

After adding in the SpamAssassin initialization file :

Code: Select all

/opt/zimbra/data/spamassassin/localrules/init.pre

Code: Select all

[...]
loadplugin Mail::SpamAssassin::Plugin::RelayCountry
loadplugin Mail::SpamAssassin::Plugin::Phishing
loadplugin Mail::SpamAssassin::Plugin::PDFInfo
loadplugin Mail::SpamAssassin::Plugin::Test
Looking at the zimbra logs when restarting amavis :

Code: Select all

zimbra@mail:~ $ zmamavisdctl restart
Stopping amavisd... done.
Stopping amavisd-mc... done.
Starting amavisd-mc...done.
Starting amavisd...done.
I see :

Code: Select all

zimbra@mail:~ $ tail -f /var/log/zimbra.log
[.....]
Dec 31 14:55:33 mail amavis[8049]: extra modules loaded after daemonizing/chrooting: /etc/perl/Net/libnet.cfg, /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Net/SSLeay/autosplit.ix, /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Net/SSLeay/randomize.al, Geo/IP.pm, Geo/IP/Record.pm, IO/Socket/SSL.pm, IO/Socket/SSL/PublicSuffix.pm, IP/Country/Fast.pm, Mail/SpamAssassin/Plugin/FreeMail.pm, Mail/SpamAssassin/Plugin/PDFInfo.pm, Mail/SpamAssassin/Plugin/Phishing.pm, Mail/SpamAssassin/Plugin/SpamCop.pm, Mail/SpamAssassin/Plugin/Test.pm, Net/Cmd.pm, Net/Config.pm, Net/SMTP.pm, Net/SSLeay.pm
I have (succeeded in adding) :

Code: Select all

Geo/IP.pm
Geo/IP/Record.pm
IP/Country/Fast.pm
Mail/SpamAssassin/Plugin/Phishing.pm
Mail/SpamAssassin/Plugin/Test.pm
Mail/SpamAssassin/Plugin/PDFInfo.pm
But I don't see :

Code: Select all

Mail/SpamAssassin/Plugin/RelayCountry.pm
//---

Because I would like to install to the "zimbra <> perl" config:

Mail::DMARC

Probably after installing the Mail::SpamAssassin::Plugin::DMARC plugin and enabling dmarc_save_reports ( 0 | 1 ) (default: 0)
Store DMARC reports using ¿¿ Mail::DMARC::Store ?? , `mail-dmarc.ini` must be configured to save and send DMARC reports.
To have my turn and send DMARC reports of spoofers from other mail servers.

For example :

Mail::DMARC::Report
Mail::DMARC::Report::Aggregate
Mail::DMARC::Report::Send
Mail::DMARC::Report::Store


I see in logs /var/log/zimbra.log:

Code: Select all

[.......]
Dec 31 14:55:31 mail amavis[8049]: Module Mail::DKIM::Signer 0.43
Dec 31 14:55:31 mail amavis[8049]: Module Mail::DKIM::Verifier 0.43
Dec 31 14:55:31 mail amavis[8049]: Module Mail::Header 2.14
Dec 31 14:55:31 mail amavis[8049]: Module Mail::Internet 2.14
Dec 31 14:55:31 mail amavis[8049]: Module Mail::SPF v2.009
Dec 31 14:55:31 mail amavis[8049]: Module Mail::SpamAssassin 3.004006
[.......]
Have a good evening.

Romain

//-----------------------
Je n’arrive toujours pas à ajouter un module « perl » au répertoire de zimbra - > par exemple MaxMind::DB::Reader

Dans ce répertoire :

Code: Select all

ls -l /opt/zimbra/common/lib/perl5/
:/

Qui sait comment-faire !?

//--

Après avoir ajouté dans le fichier d'initialisation de SpamAssassin :

Code: Select all

/opt/zimbra/data/spamassassin/localrules/init.pre

Code: Select all

[...]
loadplugin Mail::SpamAssassin::Plugin::RelayCountry
loadplugin Mail::SpamAssassin::Plugin::Phishing
loadplugin Mail::SpamAssassin::Plugin::PDFInfo
loadplugin Mail::SpamAssassin::Plugin::Test
En regardant les logs de zimbra au redémarage de amavis :

Code: Select all

zimbra@mail:~ $ zmamavisdctl restart
Stopping amavisd... done.
Stopping amavisd-mc... done.
Starting amavisd-mc...done.
Starting amavisd...done.
Je vois bien :

Code: Select all

zimbra@mail:~ $ tail -f /var/log/zimbra.log
[.....]
Dec 31 14:55:33 mail amavis[8049]: extra modules loaded after daemonizing/chrooting: /etc/perl/Net/libnet.cfg, /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Net/SSLeay/autosplit.ix, /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Net/SSLeay/randomize.al, Geo/IP.pm, Geo/IP/Record.pm, IO/Socket/SSL.pm, IO/Socket/SSL/PublicSuffix.pm, IP/Country/Fast.pm, Mail/SpamAssassin/Plugin/FreeMail.pm, Mail/SpamAssassin/Plugin/PDFInfo.pm, Mail/SpamAssassin/Plugin/Phishing.pm, Mail/SpamAssassin/Plugin/SpamCop.pm, Mail/SpamAssassin/Plugin/Test.pm, Net/Cmd.pm, Net/Config.pm, Net/SMTP.pm, Net/SSLeay.pm
J’ai bien (réussis à ajouter) :

Code: Select all

Geo/IP.pm
Geo/IP/Record.pm
IP/Country/Fast.pm
Mail/SpamAssassin/Plugin/Phishing.pm
Mail/SpamAssassin/Plugin/Test.pm
Mail/SpamAssassin/Plugin/PDFInfo.pm
Mais je ne vois pas :

Code: Select all

Mail/SpamAssassin/Plugin/RelayCountry.pm
//---

Parce que j'aimerai bien installer à la config de "zimbra <> perl" :

Mail::DMARC

Sûrement après avoir installer le plugin Mail::SpamAssassin::Plugin::DMARC et activer dmarc_save_reports ( 0 | 1 ) (default: 0)
Store DMARC reports using ¿¿ Mail::DMARC::Store ?? , `mail-dmarc.ini` must be configured to save and send DMARC reports.
Pour avoir à mon tour et envoyer des rapports DMARC des usurpateurs d'autres serveurs de mail.

Par exemple :

Mail::DMARC::Report
Mail::DMARC::Report::Aggregate
Mail::DMARC::Report::Send
Mail::DMARC::Report::Store


Je vois dans les logs /var/log/zimbra.log :

Code: Select all

[.......]
Dec 31 14:55:31 mail amavis[8049]: Module Mail::DKIM::Signer  0.43
Dec 31 14:55:31 mail amavis[8049]: Module Mail::DKIM::Verifier 0.43
Dec 31 14:55:31 mail amavis[8049]: Module Mail::Header        2.14
Dec 31 14:55:31 mail amavis[8049]: Module Mail::Internet      2.14
Dec 31 14:55:31 mail amavis[8049]: Module Mail::SPF           v2.009
Dec 31 14:55:31 mail amavis[8049]: Module Mail::SpamAssassin  3.004006
[.......]
Bonne soirée.

Romain
Post Reply