Anfänger Fragen zur Konfiguration

Discussion in 'Proxmox Mail Gateway (Deutsch)' started by User0815, Dec 18, 2018.

  1. User0815

    User0815 New Member

    Joined:
    Nov 15, 2018
    Messages:
    8
    Likes Received:
    0
    Guten Morgen zusammen,
    wie Konfiguriert man am besten den PMG das er nur noch die relevanten Emails annimmt also die Adressen die es wirklich gibt? Geht das per LDAP oder nur über den Einstellungen verify Reciver? Wie genau funktioniert der Punkt verify Reciver?
    Ich habe im Internet einen Blog artikel gefunden der es per LDAP und Regelns macht
    https://dhenandi.com/prevent-spam-email-using-ldap-verification-on-proxmox-mail-gateway/
    Wäre so etwas "best practise"?

    Desweitern haben wir hier nach dem PMG noch ESET Mail Security der findet immer meistens Nachts noch Emails die durchgekommen sind aber definitiv Spam sind. Wo kann ich da am besten noch fein justieren?
    Ein Bespiel würde so aussehen (im ESET)
    Subject:[SPAM] 10 Tabletten, wie man Frauen zum Orgasmus bringt
    Date: Tue, 18 Dec 2018 00:32:25 +0200
    MIME-Version: 1.0
    Content-Type: multipart/related; type="multipart/alternative";
    boundary="----=_NextPart_000_0006_01D49669.1AC493D0"
    Precedence: bulk
    List-Id: b55373576v56505438
    X-Complaints-To: abuse@popersio.eu
    List-Unsubscribe: <http://popersio.eu/ru/unsubscribe/do?hash=0386670240338784>
    X-SPAM-LEVEL: Spam detection results: 0
    BAYES_00 -1.9 Bayes spam probability is 0 to 1%
    HTML_IMAGE_ONLY_04 1.172 HTML: images with 0-400 bytes of words
    HTML_MESSAGE 0.001 HTML included in message
    HTML_SHORT_LINK_IMG_1 0.001 HTML is very short with a linked image
    MAILING_LIST_MULTI -1 Multiple indicators imply a widely-seen list manager
    MPART_ALT_DIFF 0.79 HTML and text parts are different
    SPF_PASS -0.001 SPF: sender matches SPF record
    URIBL_ABUSE_SURBL 1.25 Contains an URL listed in the ABUSE SURBL blocklist
    URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information.
    Return-Path: eqvyzkv@popersio.eu


    der findet die in einer Cloud negativ Liste. So einen Punkt finde ich im PGM nicht. Ich habe zwar Blacklisten eingetragen aber die scheinen bei diesen Mails nicht zu greifen.
    Ein GEO IP Filter habe ich auch noch nicht konfiguriern können evtl würde man damit ja auch noch mehr abfangen oder?

    Vielleicht kann uns ja jemand ein paar Tipps an die Hand geben um den PGM noch ein bisschen zu optimieren.
     
  2. tom

    tom Proxmox Staff Member
    Staff Member

    Joined:
    Aug 29, 2006
    Messages:
    13,210
    Likes Received:
    358
    Verify Receivers geht über SMTP, kein ldap nötig.

    Im alten Deploymentguide gibts eine gute Erklärung dazu:

    https://www.proxmox.com/en/downloads/item/proxmox-mail-gateway-deployment-guide
    (3.3.5 Receiver verification)

    Ohne funktioniere DNS Blackliste wird die Erkennung nie gut sein. Hier gibts offenbar ein DNS Problem, siehe Fehler im log und den link zur Erklärung:

     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. User0815

    User0815 New Member

    Joined:
    Nov 15, 2018
    Messages:
    8
    Likes Received:
    0
    Hallo zusammen,
    vielen Dank erstmal. Die "alte" Doku beschreibt es dann doch besser... Ich habe da allerdings noch eine Frage zu. Und zwar ist unsere Konstellation so, dass der Proxmox die Mails annimmt und zum Ciphermail (quasi auch ein Postfix der Emails verschlüsseln kann) und dahinter befindet sich der Exchange Server. Würde Proxmox denn jetzt quasi nur den nächsten Hop fragen also in unserm Fall den Ciphermail? Von diesem würde er ja keine Rückmeldung bekommen das die Emailadresse nicht existiert. Das würde ja nur der Exchange melden können. Dann würde die Filterung nach Emailadressen die nicht existieren für uns so nicht funktionieren oder?

    Die Blacklisten ansich greifen wohl und filtern auch schon einiges raus aber so eine Mail z.B. geht durch und wird dann vom Eset Spamfilter auf dem Exchange abgefangen

    Dec 19 00:20:53 proxy postfix/smtpd[18845]: connect from mail.shallems.eu[89.163.141.148]
    Dec 19 00:20:53 proxy postfix/smtpd[18845]: 7F08E2C03E0: client=mail.shallems.eu[89.163.141.148]
    Dec 19 00:20:53 proxy postfix/cleanup[18850]: 7F08E2C03E0: message-id=<umzyjzf51117336.85200833@mail.shallems.eu>
    Dec 19 00:20:53 proxy postfix/qmgr[31724]: 7F08E2C03E0: from=<umzyjzf@shallems.eu>, size=77899, nrcpt=1 (queue active)
    Dec 19 00:20:53 proxy postfix/smtpd[18845]: disconnect from mail.shallems.eu[89.163.141.148] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
    Dec 19 00:20:53 proxy pmg-smtp-filter[15456]: 2C08FF5C1980D599E6B: new mail message-id=<umzyjzf51117336.85200833@mail.shallems.eu>
    Dec 19 00:20:54 proxy pmg-smtp-filter[15456]: 2C08FF5C1980D599E6B: SA score=0/5 time=0.571 bayes=3.71924713249427e-15 autolearn=no autolearn_force=no hits=BAYES_00,HTML_IMAGE_ONLY_08,HTML_IMAGE_RATIO_02,HTML_MESSAGE,HTML_SHORT_LINK_IMG_1,MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED
    Dec 19 00:20:54 proxy postfix/smtpd[18857]: connect from localhost.localdomain[127.0.0.1]
    Dec 19 00:20:54 proxy postfix/smtpd[18857]: 3DBF02C096D: client=localhost.localdomain[127.0.0.1], orig_client=mail.shallems.eu[89.163.141.148]
    Dec 19 00:20:54 proxy postfix/cleanup[18850]: 3DBF02C096D: message-id=<umzyjzf51117336.85200833@mail.shallems.eu>
    Dec 19 00:20:54 proxy postfix/qmgr[31724]: 3DBF02C096D: from=<umzyjzf@shallems.eu>, size=78809, nrcpt=1 (queue active)
    Dec 19 00:20:54 proxy postfix/smtpd[18857]: disconnect from localhost.localdomain[127.0.0.1] ehlo=1 xforward=1 mail=1 rcpt=1 data=1 commands=5
    Dec 19 00:20:54 proxy pmg-smtp-filter[15456]: 2C08FF5C1980D599E6B: accept mail to <interne EmailAdresse> (3DBF02C096D)
    Dec 19 00:20:54 proxy pmg-smtp-filter[15456]: 2C08FF5C1980D599E6B: processing time: 0.698 seconds (0.571, 0.027)
    Dec 19 00:20:54 proxy postfix/lmtp[18851]: 7F08E2C03E0: to=<interne EmailAdresse>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.85, delays=0.07/0/0.04/0.74, dsn=2.5.0, status=sent (250 2.5.0 OK (2C08FF5C1980D599E6B))
    Dec 19 00:20:54 proxy postfix/qmgr[31724]: 7F08E2C03E0: removed
    Dec 19 00:20:57 proxy postfix/smtp[18858]: 3DBF02C096D: to=<interne EmailAdresse>, relay=172.18.X.X[172.18.X.X]:25, delay=3.2, delays=0.08/0/3.1/0.01, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 681913012C05)
    Dec 19 00:20:57 proxy postfix/qmgr[31724]: 3DBF02C096D: removed

    Meine Frage ist eher warum so eine Mail im PGM nicht als Spam erkannt wird und im ESET danach wohl. Liegt das wirklich an unterschiedlichen Blacklisten oder könnte ich an diesem Beispiel auch noch was am PGM drehen?
     
  4. heutger

    heutger Active Member

    Joined:
    Apr 25, 2018
    Messages:
    370
    Likes Received:
    88
    Also zur 1. Frage: Wir haben beim kommerziellen Test auch eine Reihe an Systemen dahinter, in unserem Fall kein Ciphermail sondern eine Zertificon, dann noch einen normalen Postfix, da die ganzen Systemadressen auf Ticketsystemen o. Ä. laufen und nur für die eigenen Useraccounts wirklich einen Exchange. Man muss es über den gesamten Pfad aktivieren, auch auf dem Exchange, dann funktioniert der Check in der Regel, die Zertificon bspw. fragt dann einfach weiter ab und liefert das Ergebnis entsprechend auch zurück, natürlich desto mehr Systeme dahinter, desto wahrscheinlicher, dass eines nicht in time antwortet, wir werden daher in diesem Zusammenhang auch "entrümpeln" und ggf. auch die Zertificon in dem Zuge austauschen.

    Zum ESET vs. PMG, das ist schwer zu sagen, dazu müsste man wissen, was der ESET-Filter so alles tut. Nur RBL oder eben auch Content Check und wenn ja, welchen und wie. Auffällig sind jedoch drei Punkte: BAYES_00 zeigt auf, dass die Nachricht explizit als auf gar keinen Fall Spam erkannt wurde. Entweder wurde also sa-learn der SpamAssasin/Bayes nicht korrekt angelernt und ihm falsche Spam und/oder Ham antrainiert oder es wurde bspw. eine Spam-Datenbank heruntergeladen und ihm angelernt, diese entspricht i.d.R. eben nicht dem Spam, den man selbst bekommt und dadurch wird das gerade sehr brauchbare Bayes-System in dem Fall komplett unbrauchbar. Dann steht da URIBL_BLOCKED, das weißt darauf hin, dass ein DNS-Server zum Einsatz kommt, welcher kein eigener dedizierter DNS-Server ist sondern ein ISP- oder noch schlimmer zentraler DNS-Server wie Google, CloudFlare, Quad9 o. Ä.. Da die Blacklists sich durch zahlenden Kunden finanzieren, hat man Abfragelimits eingeführt. Diese erreichen allgemein verwandte Systeme natürlich sehr schnell, weil quasi jeder sie nutzt, wenn man ein eigenes System aufsetzt (zentral hinter der Unternehmensfirewall oder direkt auf dem PMG wie in meiner Advancing PMG-Anleitung als unbound-Server (bind hatte hier bei mir etliche Probleme, so dass ich davon abraten würde), läuft man in sein eigenes Limit und damit auch in die ordentliche und offizielle Nutzungsvereinbarung der Blacklists: I.d.R. bei unter 100.000 Abfragen ist die Nutzung kostenlos, über 100.000 Abfragen muss man sich eine Lizenz erwerben, entweder dedizierte Feeds (meist auch mit aktuelleren Daten wie bspw. bei Spamhaus) oder die Notwendigkeit, einen rsync-Proxy aufzusetzen (meist aber auch mit zusätzlichen aktuelleren Feeds wie bspw. bei URIBL). Zu guter Letzt sind das relativ wenige Hits, die da auftauchen, ggf. ebenfalls aus meinem Thread mal die Anpassungen analysieren, zumindest für den deutschen Markt sehr hilfreich die Rules von Heinlein, Schaal, ZMI sowie Razor2 um Pyzor und DCC zu ergänzen, daneben ein gutes Set an Blacklists vorab verwenden und wenn man es sich zutraut per Shell auch die reinen Serverchecks um HELO-Checks und weitere Pregreet-Checks erweitern.
     
    User0815 likes this.
  5. User0815

    User0815 New Member

    Joined:
    Nov 15, 2018
    Messages:
    8
    Likes Received:
    0
    Hallo, vielen Dank erstmal für die Antwort und ein frohes neues Jahr.
    Also bei der Ablehnung von unbekannten oder alten Emailadressen habe ich das mit einer LDAP anbindung und einer Abfrage per Mail regeln lösen können. Nicht bekannte LDAP Adressen sprich nicht vorhandene Emailadressen werden erfolgreich abgelehnt. Das scheint auch gut zu funktionieren.

    Zum Thema Spam erkennung habe ich da noch Unklarheiten. Der PMG nutzt den internen DNS Server der wiederrum den Provider DNS Server als Weiterleitung eingetragen hat. Wenn ich das richtig verstanden habe bedeutet das wenn der Provider DNS das Blockt wir da auch kein Ergebnis bekommen. Wobei das komische ist das viele Blacklist Hits auch passen und Richtig rejected werden. Die werden dann so rausgefischt
    postfix/postscreen[22662]: NOQUEUE: reject: RCPT from [185.229.243.225]:57841: 550 5.7.1 Service unavailable; client [185.229.243.225] blocked using zen.spamhaus.org;
    Auch am Gateway Status Report sieht man das je nach Tag 70-90% als Spam oder Junk erkannt wurde.
    Sollten für für den PMG einen eigenen DNS Server aufsetzten?

    Es stimmt auch das wir sa-learn noch garnicht angewendet haben. Gibt es eine möglichkeit das Über die PMG Oberfläche zu machen? Kann ich eingenden Mails im PMG als Spam makieren? Oder läuft das nur über die Konsole? Wenn ja, mal blöd gefragt wie mache ich das dann am Besten??

    Ich bin bei der Recherche über diesen Block gestolpert
    https://www.syn-flut.de/spamassassin-erkennungsrate-deutlich-verbessern#Verwendet_Pyzor_und_Razor
    Wäre das eine vorgehensweise, die ich auch für den PGM anwenden könnte um die Trefferquote zu erhöhen?

    Güße
     
  6. heutger

    heutger Active Member

    Joined:
    Apr 25, 2018
    Messages:
    370
    Likes Received:
    88
    Hallo,

    auch erst mal ein gutes Neues. Also PMG nutzt den Resolver, den man einträgt, er hat keinen lokalen, und diese laufen, wenn es Provider Resolver sind eben regelmäßig in die Rate Limits der Blacklists. Die fallen mal so, mal so aus, sind manchmal auch keine hard limits mit entsprechender Meldung wie jetzt bei URIBL. Das beste ist in der Tat, Sie
    setzen einen eigenen Resolver auf, ob intern oder auf dem PMG selbst, ist Ihnen überlassen, im „normal vorgesehenen Setup“ hat man i.d.R. irgendein UTM Device, welches selbst den Resolver spielt, ggf. sogar auch Zeitserver o.ä. sa-learn läuft leider nur per Shell derzeit, es könnte ggf. noch einen Button in der Quarantäne geben, nutze ich nicht, daher nur mittels sa-learn —ham und dann die Hammaildatei bzw. —spam für Spam. sa-learn —dump magic zeigt an, wie viel gelernt wurde, damit es „losgeht“ müssen das mindestens 200 spam
    und 200 ham sein. Ham lernt sich oft und leicht automatisch, Spam muss man i.d.R. Hand anlegen. Sehr hilfreich ist aber auch falsch erkannten Spam als Ham anzulernen. Es gibt so einiges, was man tun kann, die Scores zu verbessern: rulesets, diverse weitere Checks aktivieren, blacklists aufbohren, Pyzor sowie DCC installieren und aktivieren, ... Sie finden das alles in meinem Artikel „Advancing PMG“.

    Mit freundlichen Grüßen
    Christian Heutger
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice