Fragen zu AntiSpam Möglichkeiten

mail
german

#1

Setup: UCS 4.2 der im AD-Membermodus mit UCS Mail APP als Mailrelay fungiert.

1: wie kann man SPAM Mails abwehren, die von EXTERN mit dem eigenen Domainnamen als Absender daherkommen?
Z.B. FROM: copier@meinefirma.de TO: chef@meinefirma.de

Dieser Konfig-Schnipsel scheint mir passend:
https://www.heise.de/forum/heise-Security/News-Kommentare/Aktuell-im-Umlauf-Trojaner-Mail-im-Namen-des-Kopierers-verschickt/postfix-config-eigene-Domain-von-extern-sperren/posting-24472659/show/

Oder kennt jemand eine UCR Variable mit der sich das bewerkstelligen ließe?


2: Spamassassin Bayes training
Es gibt zwar eine UCR Variable mail/antispam/learndaily: yes

Wenn ich danach suche…

/etc# grep -ri bayes_auto_learn
spamassassin/local.cf:# bayes_auto_learn 1

finde ich nur einen auskommentierten Parameter. Ist das Bayestraining dann überhaupt funktionell?
Wo finde ich die Datenbank?
Ich hätte sie hier vermutet: /var/spamassassin/bayes_db/

Die Datenbank möchte ich manuell mit diesen Kommandos füttern

sa-learn --spam --showdots --dir /path/to/directory/full/of/spam/msgs
sa-learn --ham --showdots --dir /path/to/directory/full/of/ham/msgs

und dann an größe und Zeitstempel sehen, ob sich an der Datenbank was ändert.

Bin für jeden Tipp dankbar,
Dirk


#2

Hallo,

Hast du zu 1. vielleicht den kompletten Mail-Header einer solchen Mail?

zu 2. kann ich schon mal was sagen:

Ja, der Config-Eintrag landet in /usr/share/spamassassin/10_misc.cf
Außerdem wird ein Cronjob eingerichtet, der täglich einen Wrapper für sa-learn ausführt: /etc/cron.daily/univention-spamassassin
Die Datenbank findet sich unterhalb von /var/lib/amavis/.spamassassin

Schönen Gruß,
Michael


#3

Servus Michael,

hier wäre so ein Mail-Header. Allerdings habe ich grad nur einen zur Hand, der bereits als SPAM erkannt wurde. Trotzdem fände ich es sinnvoll, wenn so eine Mail gar nicht erst angenommen werden würde. So etwa:
http://www.postfix.org/postconf.5.html#reject_unlisted_sender
Dominname ist gekürzt.
Es gibt hier keinen Lexmarkdrucker und auch keine reguläre Adresse "copier@rgw.de"

Received: from srvucs01.rgw.local (192.168.0.25) by remote.rgw.de
 (192.168.170.21) with Microsoft SMTP Server (TLS) id 14.1.438.0; Thu, 23 Nov
 2017 12:01:47 +0100
Received: from localhost (localhost [127.0.0.1])	by srvucs01.rgw.local
 (Postfix) with ESMTP id 652CF3809E5	for <meier@rgw.de>; Thu,
 23 Nov 2017 12:01:47 +0100 (CET)
X-Virus-Scanned: by amavisd-new-2.10.1 (20141025) (Debian) at rgw.local
X-Spam-Flag: YES
X-Spam-Score: 17.116
X-Spam-Level: *****************
X-Spam-Status: Yes, score=17.116 tagged_above=-1000 required=5
	tests=[HELO_MISC_IP=0.249, RCVD_IN_BRBL_LASTEXT=1.644,
	RCVD_IN_MSPIKE_BL=0.01, RCVD_IN_MSPIKE_ZBI=3.399, RCVD_IN_PBL=3.558,
	RCVD_IN_PSBL=2.7, RCVD_IN_SBL_CSS=3.558, RCVD_IN_XBL=0.724,
	RDNS_NONE=1.274] autolearn=no autolearn_force=no
Received: from srvucs01.rgw.local ([127.0.0.1])	by localhost
 (srvucs01.rgw.local [127.0.0.1]) (amavisd-new, port 10024)	with ESMTP id
 r5KbePC5PgUW for <meier@rgw.de>;	Thu, 23 Nov 2017 12:01:46
 +0100 (CET)
Received: from [103.48.68.162] (unknown [103.48.68.162])	by srvucs01.rgw.local
 (Postfix) with ESMTP id 641823809B9	for <mail@rgw.de>; Thu, 23 Nov
 2017 12:01:46 +0100 (CET)
To: <mail@rgw.de>
From: <copier@rgw.de>
Date: Thu, 23 Nov 2017 16:31:39 +0530
Subject: Scanned from Lexmark
X-Mailer: Lexmark X658de
X-ASG-Orig-Subj: Scanned from Lexmark
Message-ID: <1318208075.034090.96052@CA0A03D1A4962D.rgw.de>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==Cf4d31dF3037D128-96f64f8e=="
Return-Path: copier@rgw.de
X-MS-Exchange-Organization-AuthSource: SBS.rgw.local
X-MS-Exchange-Organization-AuthAs: Anonymous

herzlichen Dank!
Dirk


#4

Hallo Dirk,

Die Konfig ist sehr passend und genau das würde ich dir empfehlen.
Eine UCR Variable zum einfachen einstellen haben wir dafür allerdings nicht. Folgendes musst du konfigurieren:

  1. Eine Datei /etc/postfix/check_sender_domain_access mit zB. folgendem Inhalt anlegen:
meinefirma.de REJECT Sender Spoof Protection, please use submission ports with login to use this sender address
  1. Die oben erstellte Datei in eine DB-Datei umwandeln:
    postmap /etc/postfix/check_sender_domain_access

  2. Die Datei als Check in die smtpd_recipient_restrictions eintragen:

ucr set mail/postfix/smtpd/restrictions/recipient/89="check_sender_access hash:/etc/postfix/check_sender_domain_access"
  1. Postfix anhalten die Konfig neu zu laden:
    postfix reload

Bei 3. ist es wichtig, die richtige Nummer (und damit die Reihenfolge) zu wählen. Mein Beispiel sollte für die Default-Einstellungen in UCS funktionieren.
Weitere Infos zu den smtpd-restrictions und zu check_sender_access findest du hier:
http://www.postfix.org/postconf.5.html#smtpd_sender_restrictions
http://www.postfix.org/postconf.5.html#check_sender_access

Viele Grüße,
Tobi


#5

Servus Tobi,

diese Antwort hat mich sehr gefreut! Und ich bin froh dass ich die Frage hier gestellt habe. Punkt 1. und 2. hätte ich noch hinbekommen. Aber das ganze mit einer UCR Variable zu verbinden, dafür fehlte es mir noch an Überblick. Mails mit gefakter Absenderadresse werden nun wie gewünscht blockiert :slight_smile:

Und das Training von SpamAssassin konnte ich auch durchführen. Ob in der Bayes Datenbank etwas ankommt, kann man nicht nur an der Datenbankgröße feststellen, es gibt einen praktischen Befehl dafür:

root@srvucs01:/home/Support# sa-learn --dbpath /var/lib/amavis/.spamassassin --dump magic
0.000          0          3          0  non-token data: bayes db version
0.000          0        342          0  non-token data: nspam
0.000          0        997          0  non-token data: nham
0.000          0      94095          0  non-token data: ntokens
0.000          0 1510841889          0  non-token data: oldest atime
0.000          0 1512389961          0  non-token data: newest atime
0.000          0 1512386289          0  non-token data: last journal sync atime
0.000          0 1512347046          0  non-token data: last expiry atime
0.000          0          0          0  non-token data: last expire atime delta
0.000          0          0          0  non-token data: last expire reduction count

Das Training an sich habe ich durch IMAP fetching aufs Archivpostfach bewerkstelligt:

/usr/bin/fetchmail -a -n --folder Junk-E-Mail -m '/usr/bin/sa-learn --dbpath /var/lib/amavis/.spamassassin --spam'
/usr/bin/fetchmail -a -n --folder keinspam -m '/usr/bin/sa-learn --dbpath /var/lib/amavis/.spamassassin --ham'

https://wiki.apache.org/spamassassin/SingleUserUnixInstall#Enable_IMAP_LearnAsSpam_folder

Gruß,
Dirk


#6

Hallo allerseits,

ich hätte noch eine ergänzende Frage zum Thema Postfix check_sender_domain_access. Es tauchen gelegentlich SPAM Mail auf, die anscheinend 2 Absenderadressen haben und es so durch den SPAMfilter schaffen.

Im Mail Header sieht das so aus:
From: <Diowild@bgm-web.de>, Walter <kontakt@bt-egger.de>

Die Domain bgm-web.de existiert, steht aber in der Liste check_sender_domain_access. Wie lässt sich so etwas fieses automatisch als SPAM erkennen?

Der ganze Header:

Received: from SRVXCH01.BGM-Web.de (192.168.20.13) by SRVXCH01.BGM-Web.de
 (192.168.20.13) with Microsoft SMTP Server (TLS) id 15.0.1156.6 via Mailbox
 Transport; Wed, 6 Jun 2018 10:16:08 +0200
Received: from SRVXCH01.BGM-Web.de (192.168.20.13) by SRVXCH01.BGM-Web.de
 (192.168.20.13) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Wed, 6 Jun
 2018 10:16:08 +0200
Received: from srvucs01.bgm-web.de (192.168.20.60) by SRVXCH01.BGM-Web.de
 (192.168.20.13) with Microsoft SMTP Server (TLS) id 15.0.1156.6 via Frontend
 Transport; Wed, 6 Jun 2018 10:16:08 +0200
Received: from localhost (localhost [127.0.0.1])
	by srvucs01.bgm-web.de (Postfix) with ESMTP id 471A83C82E4
	for <D.Mauz@acd-service.net>; Wed,  6 Jun 2018 10:16:08 +0200 (CEST)
X-Virus-Scanned: by amavisd-new-2.10.1 (20141025) (Debian) at bgm-web.de
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-1000 required=5
	tests=[RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001]
	autolearn=ham autolearn_force=no
Received: from srvucs01.bgm-web.de ([127.0.0.1])
	by localhost (srvucs01.bgm-web.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 7PH64m4-76kj for <D.Mauz@acd-service.net>;
	Wed,  6 Jun 2018 10:16:07 +0200 (CEST)
Received: from mail.webgo24-server2.de (mail.webgo24-server2.de [46.4.152.219])
	by srvucs01.bgm-web.de (Postfix) with ESMTPS id F091E3C1C4B
	for <d.m@acd-service.net>; Wed,  6 Jun 2018 10:16:05 +0200 (CEST)
Received: from 10.0.0.24 (unknown [103.241.234.109])
	by mail.webgo24-server2.de (Postfix) with ESMTPSA id 13C632326A64
	for <d.m@acd-service.net>; Wed,  6 Jun 2018 10:15:31 +0200 (CEST)
Date: Wed, 6 Jun 2018 13:45:35 +0530
From: <Diowild@bgm-web.de>, Walter <kontakt@bt-egger.de>
To: <d.m@acd-service.net>
Message-ID: <16672466425.20186681535@acd-service.net>
Subject: Ihre Rechnung 90124179
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0038_B77BEE3A.A1BC10FD"
Return-Path: kontakt@bt-egger.de
Received-SPF: Fail (SRVXCH01.BGM-Web.de: domain of invalid address does not
 designate 192.168.20.60 as permitted sender) receiver=SRVXCH01.BGM-Web.de;
 client-ip=192.168.20.60; helo=srvucs01.bgm-web.de;
X-MS-Exchange-Organization-Network-Message-Id: b17d36c4-85f7-4b33-6610-08d5cb85c18a
X-MS-Exchange-Organization-SCL: 0
X-MS-Exchange-Organization-PCL: 2
X-MS-Exchange-Organization-Antispam-Report: DV:3.3.5705.600;OrigIP:192.168.20.60
X-MS-Exchange-Organization-AVStamp-Enterprise: 1.0
X-MS-Exchange-Organization-AuthSource: SRVXCH01.BGM-Web.de
X-MS-Exchange-Organization-AuthAs: Anonymous

UCS fungiert hier als Relayserver der die Mails an einen Exchangeserver sendet.
Beim Empfänger in Outlook sieht es so aus, als würde diese Mail von einem Kollegen kommen. Es ist nicht zu erkennen, dass der Absender eigentlich kontakt@bt-egger.de ist.

Gruß,
Dirk


#7

Huhu,

ich denke, dass diese ziemlich technische Frage auf einer Postfix-Mailingliste deutlich besser aufgehoben wäre. Nicht im Sinne dass es hier offtopic wäre, sondern dass dort deutlich tieferes Postfix-Wissen vorhanden ist — denn so ganz trivial ist das nicht.

Man kann z.B. nicht einfach header_checks mit einer Regex-Regel wie z.B.

^From:.*,

nutzen, da Kommata durchaus erlaubt sind, z.B.

From: "Bunkus, Moritz" <m.bunkus@linet-services.de>

Selbst mutiple @-Zeichen müssen nicht ungültig sein. Das Folgende ist durchaus valide:

From: "Moritz Bunkus @LINET" <m.bunkus@linet-services.de>

Gruß
mosu


#8

Hi mosu,

dass das prüfen auf Kommata oder @-Zeichen schwierig wird, hatte ich schon vermutet. Was mir aber eben auffällt, dass bei normalen Emails im FROM Feld des Header nur 1 Paar spitze Klammern enthalten sind, in diesem Fall aber 2 Paar. Wäre das vielleicht ein Ansatzpunkt?

Mit Postfix header_checks hatte noch nichts zu tun. Kann man das ähnlich elegant in UCS aktivieren wie bei check_sender_access? Oder geht das mit evtl. Spamassassin einfacher, der wäre auch drauf. Dann würde ich das mal versuchen.

Danke,
Dirk


#9

Hey,

From: "<Nein>, das ist @wirklich <kein> Ansatzpunkt" <m.bunkus@linet-services.de>

Klar, das ist recht selten, aber du läuft trotzdem Gefahr, valide Mails durch so einen Check abzulehnen.

Es gibt dafür keine UCR-Variablen, aber du kannst das trivial in /etc/postfix/main.cf.local eintragen.

Gruß
mosu