Filter bekannte-schlechte Absenderdomänen aus Ihrem Mail-Empfänger

Wenn Sie Ihre eigene eingehende E-Mail verwalten und feststellen, dass Sie mehr missbräuchliche E-Mails erhalten, als Sie tolerieren möchten, ist diese Anleitung genau das Richtige für Sie! Sie zeigt Ihnen, wie Sie Ihren mail-receiver-Container so konfigurieren, dass E-Mails von Domains blockiert werden, die Sie auf einer von Ihnen erstellten Liste aufgeführt haben, und wie Sie Domains im Laufe der Zeit zu dieser Liste hinzufügen oder daraus entfernen können.

Einrichtung

  1. Konfigurieren Sie Ihren mail-receiver-Container mithilfe des Leitfadens zur benutzerdefinierten Postfix-Konfiguration so, dass er über ein /etc/postfix/shared-Volume verfügt (siehe den Abschnitt „Anhang" ganz unten).

  2. Erstellen Sie auf dem Host eine leere Datei namens sender_access im Verzeichnis /var/discourse/shared/mail-receiver/etc, indem Sie den folgenden Befehl als root ausführen:

    touch /var/discourse/shared/mail-receiver/etc/sender_access
    
  3. Setzen Sie mithilfe des Leitfadens zur benutzerdefinierten Postfix-Konfiguration die folgende Umgebungsvariable:

     env:
       # <existing config>
       POSTCONF_smtpd_sender_restrictions: 'texthash:/etc/postfix/shared/sender_access'
    

Ihr Postfix-System ist nun bereit, Domains zur Blockierung entgegenzunehmen.

Blockieren und Freigeben von Domains

Die Liste der zu blockierenden Domains wird in der Datei /var/discourse/shared/mail-receiver/etc/sender_access auf dem Host verwaltet. Das Format ist einfach: Eine Liste von Domains, eine pro Zeile, gefolgt vom Wort REJECT. Hier ein Beispiel:

example.com    REJECT
example.org    REJECT
# usw.

Es gibt weitere Möglichkeiten, die Sie anstelle von REJECT verwenden können, aber wir gehen in dieser Anleitung nicht darauf ein; lesen Sie das ausführliche Handbuch, wenn Sie es besonders anspruchsvoll gestalten möchten.

Um also eine Domain zur Liste der blockierten Domains hinzuzufügen oder daraus zu entfernen, fügen Sie einfach die entsprechende Zeile zur Datei hinzu oder entfernen Sie sie, indem Sie die Datei als root bearbeiten.

Nach dem Bearbeiten dieser Datei ist noch ein letzter Schritt erforderlich: das Neuladen von Postfix. Postfix bemerkt Änderungen nicht automatisch und muss dazu aufgefordert werden. Der schnellste und am wenigsten störende Weg, dies zu tun, besteht darin, ein spezielles Signal an Postfix zu senden, und zwar mit diesem Befehl:

docker kill -s HUP mail-receiver

Wenn Sie sich anschließend die Logs des mail-receiver-Containers ansehen, sollten Sie sehen, dass Postfix ein Konfigurations-Reload erwähnt.

Das war’s. Genießen Sie ein weniger missbrauchtes E-Mail-System.

17 „Gefällt mir“

Thanks, Matt! Much appreciated. I owe you at least a :beer: for this super helpful howto. I have now implemented the above and added the offending domains to it - I’ve let it go for an hour and so far it’s been quiet.

One clarification: In setup above, you use the /var/docker.. path when I think you mean /var/discourse.. - though I suspect different instances may use different paths depending on when they were set up. These days I suspect most people use /var/discourse.. which is also reflected in the other howto you link to for setting up direct delivery.

6 „Gefällt mir“

You are correct. For hysterical raisins we use /var/docker internally, so that’s the path that comes to mind. I’ve updated the howto.

5 „Gefällt mir“

hysterical. :laughing:

3 „Gefällt mir“

Can we implement a more robust system to block incoming spam or maybe using more possibilities (detailed in Postfix manual) could be enought?

Thanks for that guide!

1 „Gefällt mir“

Yes, you can certainly implement a more robust system to block incoming spam.

2 „Gefällt mir“

Can you share some link or idea to start with?

Whole literal books could be written about spam and email servers. Is it really fair to ask us for that level of instruction? Perhaps give it a google or two?

Sorry, it’s not the idea. I just ask for personal recommendations from Discourse experienced users.

I’ll look into it by my own, of course.