Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Welche Features fehlen Ihnen noch? Teilen Sie es uns mit.
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Hallo Community,

zusammenhängend mit meiner Anfrage hier, wäre es super, wenn ich neben E-Mail Address White-/Blacklisting auch Subject Blacklisting im Frontend von Keyhelp (z.B. hier /index.php?page=admin_configuration&configure=email_server) setzen könnte.

Hier wäre es super, wenn es eine Art "automatischer" RegEx umwandler gibt (Checkbox "Regex anwenden/Wort trennen mit Zeichen XY"). Bestes Beispiel ist hier die Spamwelle "Rezeptfrei, re-zeptfrei, rezep-tfrei ...". Ebenso gibt es einfach einige Wörter / Sätze in Betreffzeilen, welche sehr oft Spam sind.

Selbst wenn man mal einen False/Positive dabei hat, kann man mit der bestehenden E-Mail-Addr-Whitelist arbeiten, welche höher gewichtet werden wollte als die Subject-Blocklist.

Die Implementierung dieses Features würde meine obige Anfrage viewtopic.php?p=49236#p49236 auch hinfällig machen.

Besten Dank.
joka
Posts: 15
Joined: Sat 6. Jan 2024, 19:41

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by joka »

Auch mir würde das sehr viel weiterhelfen. Vor allem bei der Apotheken-Spam-Welle. Und da fallen mir noch viele weitere Schlagworte ein wie Casino oder Bitcoin. Zurzeit schütze ich mich zusätzlich über die Spam-Funktionen der E-Mail-Clients.
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Habe mir nun Behilfsweise ein Bash Script geschrieben, was das erledigt. Wenn nun aber ein KH Update kommt, muss ich es manuell wieder hinzufügen. Wäre also ein wirklich nettes Feature :-)
User avatar
Alexander
Keyweb AG
Posts: 3923
Joined: Wed 20. Jan 2016, 02:23

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Alexander »

Hallo,
Toorms wrote: Tue 11. Jun 2024, 11:44 Habe mir nun Behilfsweise ein Bash Script geschrieben, was das erledigt. Wenn nun aber ein KH Update kommt, muss ich es manuell wieder hinzufügen. Wäre also ein wirklich nettes Feature :-)
Ich kann gerade noch nicht so recht nachvollziehen, wie KeyHelp dein Script überschreiben sollte. Magst einmal sagen, wo du das Script abgelegt hast, bzw. in welche Konfiguration du darauf verweist etc.?
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
Jolinar
Community Moderator
Posts: 3710
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Jolinar »

Alexander wrote: Tue 11. Jun 2024, 12:47 Ich kann gerade noch nicht so recht nachvollziehen, wie KeyHelp dein Script überschreiben sollte. Magst einmal sagen, wo du das Script abgelegt hast, bzw. in welche Konfiguration du darauf verweist etc.?
Ergänzend noch die Frage, ob du dein Bash Script vielleicht hier öffentlich stellen magst, damit andere Leute aus der Community davon auch partizipieren können...?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Alexander wrote: Tue 11. Jun 2024, 12:47 Ich kann gerade noch nicht so recht nachvollziehen, wie KeyHelp dein Script überschreiben sollte.
Eventuell einfach nur doof beschrieben / umschrieben. Folgend einmal eine Erklärung, was ich gemacht habe und auch funktioniert - bis eben ein Keyhelp Update kommt, da ab dann die Datei /etc/rspamd/local.d/multimap.conf welche folgende Änderung von mir beinhaltet.

Code: Select all

SUBJECT_BLACKLISTED {
        type = "header";
        header = "Subject";
        map = "${LOCAL_CONFDIR}/maps.d/blacklist_subject.map";
        regexp = true;
        action = "reject";
        description = "Blacklist map for SUBJECT_BLACKLISTED";
}
Die dazugehörige Map liegt hier /etc/rspamd/maps.d/blacklist_subject.map und wird von meinem Script, welches hier liegt /opt/scripts/subjectblacklister/subblacklister.sh und mittels des folgenden Inhalts die Map befüllen kann.

Code: Select all

#!/bin/bash

regex=$(echo $1 | sed 's/ /\\s*/g')
echo "/.*${regex}.*/i" >> /etc/rspamd/maps.d/blacklist_subject.map

systemctl restart rspamd.service

exit 0
So wird das Script ausgeführt .\subblacklister.sh "das ist ein verdächtiger String im Betreff". In dem E-Mail Betreff kann sodann folgender sein "Hallo Anleger, das ist ein verdächtiger String im Betreff! Handle noch heute" - und die E-Mail wird geblockt.

Anschließend sieht meine Map dann so aus

Code: Select all

...
/.*Gestalten\s*Sie\s*Ihre\s*eigenen.*/i
/.*Ihnen\s*recht\s*herzlich.*/i
/.*Bequem\s*sitzen.*/i
/.*personalisierten\s*Kugelschreibern.*/i
/.*schon\s*durch\s*4\s*wochen.*/i
Das ganze funktioniert auch super, nur wäre es doch auch nicht schlecht, wenn man das ganze aus von der KeyHelp Oberfläche setzen könnte (und ggf. mit etwas mehr Kontrolle / Prüfungen zwischendrin). Ebenso wäre auch super, wenn es in KeyHelp nicht nur möglich ist zusammenhängende Wörter aus einem Satz zu sperren sondern auch einzelne Wörter.

Was also überschrieben wird ist die multimap.conf und nicht "mein eigenes" Script.

Mir ist bekannt, dass ich dadurch ggf. E-Mail wegschieße ... das muss aber jeder (Admin) für sich selbst entscheiden können. Das einzige was nicht funktioniert und eigentlich wünschenswerter wäre, wäre die Action "discard", sodass der Spammer nichts mitbekommt. Bei der Action Reject gehts halt zurück. Sobald ich die Action auf discard stelle, werden die Nachrichten nicht mehr gefangen sondern einfach durchgestellt.
User avatar
Ralph
Posts: 911
Joined: Mon 30. Mar 2020, 16:14

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Ralph »

Toorms wrote: Tue 11. Jun 2024, 11:44 Habe mir nun Behilfsweise ein Bash Script geschrieben, was das erledigt. Wenn nun aber ein KH Update kommt, muss ich es manuell wieder hinzufügen. Wäre also ein wirklich nettes Feature :-)
ergänzend zur /etc/postfix/header_checks kannst auch einfach eine /etc/postfix/body_checks einbinden ... oder halt über rspamd erweitern (multi map wird aber überschrieben bei updates)

Code: Select all

/Rezeptfrei .*/ REJECT
/.* Rezeptfrei/ REJECT
/re-zeptfrei .*/ REJECT
/.* re-zeptfrei/ REJECT
/www\.kryptobz\.com/     REJECT
/kryptobz\.com/     REJECT
/tinyurl5\.ru/     REJECT
/tinyurl\.com/     REJECT
/bitly\.com/     REJECT
/bit\.ly/     REJECT
/6url\.ru/     REJECT
/clck\.ru/     REJECT
/cutt\.us/     REJECT
/bit\.do/     REJECT
/u\.to/     REJECT
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Ralph wrote: Tue 11. Jun 2024, 13:10 ergänzend zur /etc/postfix/header_checks kannst auch einfach eine /etc/postfix/body_checks einbinden ... oder halt über rspamd erweitern (multi map wird aber überschrieben bei updates)
Auch sowas kann ich mir super in einer rspamd Erweiterung von KeyHelp vorstellen um dem ganzen Spam auch ein wenig schneller einhalt gebieten zu können - neben dem normalen Learning von rspamd natürlich.
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Kurze off-topic Frage: Kann ich meine Mails aus dem Junk Ordner komplett löschen, nachdem ich

Code: Select all

rspamc learn_spam /path/to/Junkfolder
ausgeführt habe oder müssen die Mails im Junk-Ordner bleiben?
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Da bei jedem abspeichern einer Konfiguration im E-Mail Server über das Frontend auch die rspamd Konfigurationsdateien neu geschrieben werden von KeyHelp, sind auch die Änderungen in der Multimap weg.

Das kann hiermit umgangen werden

Code: Select all

#!/bin/bash -e

if ! grep -q "SUBJECT_BLACKLISTED" /etc/rspamd/local.d/multimap.conf; then

  echo -e "" >> /etc/rspamd/local.d/multimap.conf

  cat <<EOF >> "/etc/rspamd/local.d/multimap.conf"
SUBJECT_BLACKLISTED {
        type = "header";
        header = "Subject";
        map = "/etc/rspamd/maps.d/blacklist_subject.map";
        regexp = true;
        action = "reject";
        description = "Blacklist map for SUBJECT_BLACKLISTED";
}
EOF

systemctl restart rspamd

fi
exit 0
Das Script dann einfach in den Cronjob packen + ausführbar machen (bei mir ist es minütlich) und schon ist ein "workaround" geschaffen. Die Values in dem Script müssen natürlich mit dem eures sowie euer multimap übereinstimmen.

Code: Select all

*/1 * * * *     root    /opt/scripts/subjectblacklister/multimapcheck.sh >> /dev/null 2>&1
User avatar
24unix
Posts: 1731
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by 24unix »

Ich kenne mich mit rspamd nicht aus, aber wenn ich das lese:

Code: Select all

# You can modify 'local.d/settings.conf' to add and merge
# parameters defined inside this section
#
# You can modify 'override.d/settings.conf' to strictly override all
# parameters defined inside this section
würde das doch genau das sein, was Du brauchst, oder?
mfg Micha
--
95% aller Programmier halten sich für genial.
Der Rest immer noch für überdurchschnittlich.
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

24unix wrote: Tue 11. Jun 2024, 19:03 würde das doch genau das sein, was Du brauchst, oder?
Diese Dateien gibt es leider nicht und ich weiß nicht, in wie weit KeyHelp bei dem ganzen "mitspielen" möchte. Daher habe ich es als FR hier mal reingestellt. Aber danke dir für den Hinweis :)
User avatar
24unix
Posts: 1731
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by 24unix »

Nein, die gibt es nicht, aber wenn Du sie anlegst werden sie ausgewertet.

Also einmal:

Code: Select all

  cat <<EOF >> "/etc/rspamd/overide.d/settings.conf"
SUBJECT_BLACKLISTED {
        type = "header";
        header = "Subject";
        map = "/etc/rspamd/maps.d/blacklist_subject.map";
        regexp = true;
        action = "reject";
        description = "Blacklist map for SUBJECT_BLACKLISTED";
}
EOF
Und es sollte updatesicher sein.

Code: Select all

❯ grep -irn 'settings.conf' *
common.conf:29:.include "$CONFDIR/settings.conf"
settings.conf:5:# You can modify 'local.d/settings.conf' to add and merge
settings.conf:8:# You can modify 'override.d/settings.conf' to strictly override all
settings.conf:23:  # Some examples below (define in local.d/settings.conf without `settings {}`!)
settings.conf:64:  .include(try=true,priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/settings.conf"
settings.conf:65:  .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/settings.conf"
Am Ende der settings.conf wird die settings.conf aus dem override.d folder geparsed und überschreibt die Werte, die vorher evtl. gesetzt waren.
Da muss KH nicht "mitspielen" das macht rspamd von alleine.
mfg Micha
--
95% aller Programmier halten sich für genial.
Der Rest immer noch für überdurchschnittlich.
User avatar
Alexander
Keyweb AG
Posts: 3923
Joined: Wed 20. Jan 2016, 02:23

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Alexander »

Und ergänzend dazu: Es ist nicht geplant, dass KeyHelp Konfigurationen jemals in override.d landen.
Die Änderungen dort vorzunehmen ist also update-sicher.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
Toorms
Posts: 181
Joined: Wed 18. Mar 2020, 20:11

Re: Blocken E-Mails mit bestimmtem Betreff (Wörtern / Sätzen)

Post by Toorms »

Kleines Update zu meinem Script, mit dem ich Dinge zur Subject Blacklist hinzufüge

Code: Select all

script.sh -s "satzteile mit leerzeichen"
script.sh -w "eineinzelneswort"

Code: Select all

#!/bin/bash

strMapFile=/etc/rspamd/maps.d/blacklist_subject.map

function sentence() {
    regsen=$(echo $1 | sed 's/ /\\s*/g')
    echo "/.*${regsen}.*/i" >> $strMapFile
}

function word() {
    regword=$(echo $1)
    if ! grep -q $1 $strMapFile; then
        echo "/.*${regword}.*/i" >> $strMapFile
    fi
}

case "$1" in
    "-w")
        word "$2"
        ;;
    "-s")
        sentence "$2"
        ;;
    *)
        echo "choose -w word | -s sentence"
        exit 0
        ;;
esac

systemctl restart rspamd.service
exit 0
Ich habe es auch mit der settings.conf Datei im Overwrite getestet, da wurde meine Blacklist tatsächlich komplett ignoriert. Daher bin ich auf mein altes Konstrukt gerade umgestiegen.

Aufgrund des doch recht regen Mail-Verkehrs habe ich leider nicht so unbedingt die "Freiheit" die Sachen für ein paar Minuten länger zu testen (außer ich ziehe eine Testumgebung auf). :)
Post Reply