• DocFraggle

    • Community Hero
    Moolevel 252
  • Edited

Guten Morgen zusammen,

nachdem ich gestern den Blog Post bzgl Spamhaus gelesen habe hab ich mir dort einen Account erstellt. Den DQS Key habe ich in die mailcow.conf ganz unten beim neu hinzugekommenen Parameter eingetragen (nur der “Query Key”, richtig?) und via docker compose alles durchgestartet.
Dann habe ich über den Spamhaus Blocklist Tester meinen Server getestet. Alle Test Mails sind durch gekommen die jetzt eigentlich geblockt werden sollten… hab ich irgendwas vergessen zu konfigurieren?

Gruß Christian

Ich habe gerade auch unter data/conf/postfix die dns_blocklists.cf geprüft, da wurde es jetzt eingetragen (Key ersetzt durch XXXXXXXXXXXX)

# grep -i spamhaus *
dns_blocklists.cf:      XXXXXXXXXXXX.zen.dq.spamhaus.net=127.0.0.[4..7]*6
dns_blocklists.cf:      XXXXXXXXXXXX.zen.dq.spamhaus.org=127.0.0.[10;11]*8
dns_blocklists.cf:      XXXXXXXXXXXX.zen.dq.spamhaus.org=127.0.0.3*4
dns_blocklists.cf:      XXXXXXXXXXXX.zen.dq.spamhaus.org=127.0.0.2*3
dns_blocklists.cf:      XXXXXXXXXXXX.dbl.dq.spamhaus.net=127.0.0.3*4
dns_blocklists.cf:      XXXXXXXXXXXX.zrd.dq.spamhaus.net=127.0.0.2*3

    Have something to say?

    Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

    Schau dir mal die empfangenen Testmails in der Mailcow-Adminoberfläche unter “Protokolle/Rspamd” an. Dort sollten unter “Symbols” die Spamhaus-Bewertungen sichtbar sein.

    Da sie aber nur mit 4 Punkten in die Gesamtbewertung eingehen, werden die Mails i.d.R. nicht als Spam klassifiziert.

    Bei mir sieht die Bewertung einer der Testmails z.B. so aus:

    RBL_SPAMHAUS_XBL (4) [199.168.89.85:from]
    BAD_REP_POLICIES (2)
    MX_INVALID (0.5) []
    MIME_GOOD (-0.1) [text/plain]
    IP_REPUTATION_HAM (-0.002046) [asn: 54054(0.00), country: US(-0.00), ip: 199.168.89.85(0.00)]
    BAYES_HAM (-0.000068) [24.36%]

    Macht in der Summe 6.4, mein Schwellwert ist höher. Eine “echte” Spam-Mail hätte sicher noch mehr negative Punkte gesammelt.

    • DocFraggle

      • Community Hero
      Moolevel 252
    • Edited

    Also ich habe gerade getestet. Es scheint als würde die dns_blocklists.cf, die mit den letzten Commits jetzt erzeugt wird, gar nicht geladen von Postfix. Ich habe den Inhalt mal in die extra.cf gepackt (die ist ja von Postfix für User Configs gedacht), dann klappts (zumindest mit einigen Mails, da müsst ich jetzt noch die ganzen Spamhaus Regeln darin checken)

    Siehe mailcow/mailcow-dockerized815572f

    Finde auch überhaupt nichts bzgl eines Files “dns_blocklists.cf” das von Postfix automatisch geladen wird

    @[deleted] das ist ja der Rspamd, mir gehts um Postfix

    Habt Ihr Euch die Seite von Spamhaus mal genauer durchgelesen? Da steht, dass der DQS.Key nur 30 Tage gratis ist und danach ein Abo ab US$250 notwendig wird. Tut mir leid, aber als privater Anwender ist mir das zu viel, so dass ich gerne auf Spamhaus verzichte.

    • DocFraggle

      • Community Hero
      Moolevel 252
    • Edited

    Also Spamhaus Technology - Deutsch Icon da

    steht folgendes:

    1.1. Der Data Query Service wird kleinen und mittelgroßen Organisationen kostenlos für die nichtgewerbliche Nutzung bereitgestellt.

    So hab ich mich da jetzt auch angemeldet, ist ja nur privat mein Server.

    • DocFraggle

      • Community Hero
      Moolevel 252
    • Edited

    Ja, genau.
    Hilft leider alles nichts solange die Config nicht geladen wird…

    Ich werde heute Abend mal ein Issue auf GitHub erstellen, habe vorher keine Zeit

    Das Schlimme ist dass mit dem Commit auch die restlichen Blocklisten aus der main.cf entfernt wurden und somit auch gar nicht mehr gezogen werden

    DocFraggle

    Eigenartig, die Datei dns_blocklists.cf existiert bei mir gar nicht in data/conf/postfix.

    • DocFraggle

      • Community Hero
      Moolevel 252

    Bist Du denn auf der neuesten Version?

      DocFraggle

      Ja, allerdings mit der ARM64-dev auf einem Hetzner-Server. Lief seit Wochen völlig problemlos. Ich muss mal gucken, ob die von Dir erwähnte Datei vor dem gestrigen Update noch vorhanden war. Zur Not muss ich sonst ein Snapshot von vor dem Update wieder einspielen. Das wäre allerdings schade.

      • DocFraggle

        • Community Hero
        Moolevel 252
      • Edited

      Die Datei kam ja jetzt erst neu dazu

      Hier wäre übrigens der Spamhaus Blocklist Tester:

      blt.spamhaus.com Icon Access the Portal – Blocklist Tester | Spamhaus

      Da braucht man allerdings den DQS Key dafür

        DocFraggle

        Das ist allerdings komisch, weil sie bei mir nicht erzeugt wurde. Hängt bestimmt damit zusammen, dass ARM64 noch in der Testphase ist. Vielleicht hätte ich besser damit noch ein wenig länger abgewartet, aber die Preise bei Hetzner für ARM64-Server waren einfach zu verführerisch. Naja, ich werde morgen mal etwas genauer gucken und zur Not einen neuen Server hochziehen und dieses Mal auf auf x86 setzen. Sich ist sicher.

        Danke für Deine Hilfe!

        OK, ich glaube ich habe das Problem gefunden, die dns_blocklists.cf wird aktuell nicht analog der extra.cf mit in die main.cf gepackt

        GitHub Icon mailcow-dockerized/data/Dockerfiles/postfix/postfix.sh at 020cb21b35723339008d745c479cd039dca7475b · mailcow/mailcow-dockerized

        Dadurch wird die Config nicht aktiv

        DocFraggle

        Hey super, vielen Dank für Deine Mühe.

        Ich habe auf Github Deinen Kommentar bezüglich smtpd_recipient_restriction gelesen und das bei mir direkt mal ausprobiert. Funktioniert bestens, jedoch wird der DQS-Key bei jeder Reject-Message geleakt. Auf Spamhaus gibt’s eine Anleitung, wie man das verhindern kann (docs.spamhaus.com Icon Configuring DQS on Postfix — Spamhaus Technology Documentation 2.0 documentation

        ), allerdings klappt das bei mir überhaupt nicht. Der Key wird ständig mit übertragen.

        Hast Du für Dich dafür eine Lösung gefunden, oder denkst Du, dass der Leak weniger dramatisch ist?

        Danke!

        • DocFraggle

          • Community Hero
          Moolevel 252
        • Edited

        Hi, was meinst Du denn mit “geleaked”? Dass er im postfix Log steht? Oder schickt Postfix nen NDR?

        Der Key steht in der Reject-Message, die an den Sender der abgelehnten Mail geht. Hier zum Beispiel aus meinem Postfix-Log:

        NOQUEUE: reject: RCPT from zrd-dqs.blt.spamhaus.net[199.168.89.93]: 554 5.7.1 Service unavailable; Unverified Client host [zrd-dqs.blt.spamhaus.net] blocked using MYKEYHERE.zrd.dq.spamhaus.net; zrd-dqs.blt.spamhaus.net first seen around 31-Jul-2023 15:00 UTC; from=test@zrd-dqs.blt.spamhaus.net to=spamhaus@MYDOMAIN.com proto=ESMTP helo=<unlisted.blt.spamhaus.net>

        • DocFraggle

          • Community Hero
          Moolevel 252
        • Edited

        Ah okay, evtl weil ich den Rest noch nicht gemacht habe der in der Doku steht… Hier mal die ganze Doku bzgl postfix:

        Edit main.cf (usually located in /etc/postfix), and add

                reject_rhsbl_sender         XXXXXXXXX.dbl.dq.spamhaus.net=127.0.1.[2..99],
                reject_rhsbl_helo           XXXXXXXXX.dbl.dq.spamhaus.net=127.0.1.[2..99],
                reject_rhsbl_reverse_client XXXXXXXXX.dbl.dq.spamhaus.net=127.0.1.[2..99],
                reject_rhsbl_sender         XXXXXXXXX.zrd.dq.spamhaus.net=127.0.2.[2..24],
                reject_rhsbl_helo           XXXXXXXXX.zrd.dq.spamhaus.net=127.0.2.[2..24],
                reject_rhsbl_reverse_client XXXXXXXXX.zrd.dq.spamhaus.net=127.0.2.[2..24],
                reject_rbl_client           XXXXXXXXX.zen.dq.spamhaus.net=127.0.0.[2..255]

        in the list of smtpd_recipient_restrictions.
        Then create in /etc/postfix a file named for instance dnsbl-reply-map containing the lines

        XXXXXXXXX.sbl.dq.spamhaus.net=127.0.0.[2..255]      $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using sbl.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.xbl.dq.spamhaus.net=127.0.0.[2..255]      $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using xbl.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.pbl.dq.spamhaus.net=127.0.0.[2..255]      $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using pbl.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.sbl-xbl.dq.spamhaus.net=127.0.0.[2..255]  $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using sbl-xbl.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.zen.dq.spamhaus.net=127.0.0.[2..255]      $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using zen.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.dbl.dq.spamhaus.net=127.0.1.[2..99]       $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using dbl.spamhaus.org${rbl_reason?; $rbl_reason}
        XXXXXXXXX.zrd.dq.spamhaus.net=127.0.2.[2..24]      $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using zrd.spamhaus.org${rbl_reason?; $rbl_reason}

        Create a hash map of it with
        postmap hash:/etc/postfix/dnsbl-reply-map
        then insert
        rbl_reply_maps = hash:/etc/postfix/dnsbl-reply-map
        in main.cf. Reload postfix.

        Wenn ich das richtig sehe sollte dann die Message oben anstatt der mit dem Key im NDR verschickt werden.
        Gerne mal testen, ich komme erst morgen wieder dazu

        Gruß Christian

        Yo, genauso hatte ich das probiert, aber der Key steht weiterhin in der Reject-Meldung.
        Weiß nicht, ob das irgendwas mit Docker zu tun hat. Naja, ich teste noch ein wenig.

        Vielen Dank nochmal.