In Postfix, wie man tls + auth über 587 erzwingt, während tls für 25 optional bleibt

9

Ich möchte Mail-Dienste für einige Domains hosten. Ich habe Postfix erfolgreich eingerichtet, um SQL für diese virtuellen Domänen zu konsultieren. Was ich tun möchte ist:

  • Für Verbindungen auf 25:

    1. Weiterleitung verweigern (nur an Empfänger meiner virtuellen Domänen senden)
    2. Lassen Sie tls optional, bieten Sie auth jedoch nur an, wenn der Client tls ausführt
    3. Akzeptieren Sie nur Clients, die nicht auf der schwarzen Liste stehen (z. B. XBL + SBL + PBL von Spamhaus einschränken) oder Clients, die tls und auth ausführen ("Friend Mail Server", die so eingerichtet sind, dass sie sich bei mir mit auth und tls authentifizieren).
  • Für Verbindungen auf 587:

    1. Erzwinge tls und auth
    2. Weiterleitung zulassen.
    3. Akzeptieren Sie nur Clients, die nicht auf der schwarzen Liste stehen (schwarze Listen wie oben, aber lassen Sie die PBL-Prüfung aus).

Meine Fragen:

  • A. Ich kenne die Postfix-Optionen für die oben genannten, kann aber nicht herausfinden, wie ich sie anhand des Listening-Ports unterscheiden kann.

  • B. Werde ich mit vermeintlich legitimen Kunden mit der oben genannten Richtlinie auf allgemein bekannte Probleme stoßen?

Ich bin neu in der Einrichtung von Mailservern. Es tut mir leid für jede bedeutungslose Frage / Annahme (bitte zeigen Sie darauf). Vielen Dank.

Paralife
quelle

Antworten:

15

Das ist einfach,

  1. In werden /etc/postfix/main.cfSie hinzufügen / ändern

    smtpd_tls_security_level=may
    

    Damit ist standardmäßig TLS verfügbar (aber optional).

  2. Dann /etc/postfix/master.cfüberschreiben Sie es in Ihrem für Port 587 (den submissionPort), indem Sie den Parameter überschreiben:

    submission inet n       -       n       -       -       smtpd
      -o smtpd_tls_security_level=encrypt
    

    Dies erfordert TLS für alle Übermittlungsverbindungen (Port 587).

Das Verweigern der Weiterleitung ist die Standardeinstellung. Die Weiterleitung ist nur für authentifizierte Benutzer und IP-Adressen zulässig, die Sie in angeben mynetworks.

Schließlich können Sie schwarze Listen hinzufügen, main.cfindem Sie Folgendes anhängen smtpd_recipient_restrictions:

    reject_rbl_client zen.spamhaus.org,

oder welche schwarzen Listen Sie wünschen. Diese sollten kurz vor dem Finale am Ende der Liste erscheinen permit.


Eine letzte Sache. Weitere Ideen zum Verhindern von Spam finden Sie unter Bekämpfung von Spam - Was kann ich als E-Mail-Administrator, Domaininhaber oder Benutzer tun?

Michael Hampton
quelle
Vielen Dank, nur ein verschwommener Punkt: An Port 25 möchte ich die Weiterleitung bedingungslos verweigern, unabhängig davon, ob der Client authentifiziert ist oder nicht.
Paralife
Die Authentifizierung an Port 25 ist standardmäßig deaktiviert. Aber um sicherzugehen, stellen Sie sicher, dass smtpd_sasl_auth_enablees NICHT in Ihrem main.cfund auch nicht in Ihrem smtpAbschnitt vorhanden ist master.cf(aber es sollte yesin diesem submissionAbschnitt eingestellt sein). Das master.cfsollte viel aussehen dies .
Michael Hampton
Richtig, aber ich möchte optional auth + tls für 25 aktivieren. Ich möchte nur nicht für 25 weiterleiten. Im Wesentlichen möchte ich liberal sein, wie jemand eine Verbindung herstellt, aber sehr streng für die Weiterleitung (alle Weiterleitungen verweigern). Relaying sollte nur zulässig sein, wenn es auf 587 kommt und der Client über tls autorisiert ist. Jede andere Kombination sollte die Weiterleitung ablehnen. Ich werde wahrscheinlich nur allow_sasl_authenticated aus smtpd_relay_restrictions entfernen und es nur in Überschreibungen für 587 in master.cf setzen. Vielen Dank.
Paralife
Die Leute sollten nicht einmal versuchen, sich auf 25 zu authentifizieren. Sie können es aktivieren, wenn Sie möchten, aber Sie sollten es wirklich nicht.
Michael Hampton
3

Ich kenne die Antwort auf Frage B nicht, aber auf A:

In Postfix haben Sie normalerweise eine, master.cfin der Sie jeden einzelnen laufenden Prozess definieren, häufig in /etc/postfix. In dieser Datei haben Sie einen Eintrag pro ausgeführtem Postfix-Dienst, daher gibt es zwei verschiedene Einträge für Port 25und Port 587. Für jeden von ihnen können Sie auch Parameter an übergeben smtpd, damit sie unterschiedliche Einstellungen haben.

Das ist ein Beispiel von meinem Mailserver:

4.3.2.1:25      inet  n       -       -       -       -       smtpd
  -o smtpd_sasl_auth_enable=yes
4.3.2.1:10027   inet  n       -       -       -       -       smtpd
  -o mynetworks=91.190.245.4/32 127.0.0.0/8
  -o smtpd_client_restrictions=permit_mynetworks,reject
Wiederholung
quelle