Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
server:konfiguration-von-postfix [2013/12/03 10:20] – [Konfiguration von Postfix] st | server:konfiguration-von-postfix [2019/02/12 18:44] (aktuell) – [LOGIN / AUTH nur mit PLAIN möglich] st | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ======= Konfiguration von Postfix ======= | ||
+ | Die Hauptkonfiguration befindet sich in ''/ | ||
+ | |||
+ | * Das utility postconf und die man-Datei (Aufruf: '' | ||
+ | * allgemeine Regel: wenn ein konkreter Rechner gemeint ist immer in eckigen Klammern angeben, andernfalls wird für diese Adresse eine [[netzwerke: | ||
+ | * **Konfigurationsdateien** in ''/ | ||
+ | * master.cf - Aufrufe u.a. der Contentfilter | ||
+ | * main.cf - Hauptkonfiguration | ||
+ | |||
+ | * **nur Einstellungen anzeigen die von den Standardeinstellungen abweichen**: | ||
+ | * Aktuell gültige Einstellungen: | ||
+ | * Standardeinstellungen: | ||
+ | * Datenbank '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== oft benutzte Einstellungen ===== | ||
+ | |||
+ | Oft benutzte Einstellungen in der '' | ||
+ | |||
+ | * maximale **Nachrichtenlänge** (aktuelle Einstellung überprüfen mit: '' | ||
+ | # default is: 10240000</ | ||
+ | |||
+ | * **Deutsche Meldungstexte**: | ||
+ | - [[http:// | ||
+ | - folgenden Text in der '' | ||
+ | bounce_template_file=/ | ||
+ | |||
+ | * **nur bestimmte IPs zu Empfang/ | ||
+ | # IP for outgoing connections: | ||
+ | smtp_bind_address= 1.2.3.4 | ||
+ | # IPs for incoming connections: | ||
+ | inet_interfaces = 1.2.3.4 127.0.0.1</ | ||
+ | |||
+ | * Einige **Statuscodes verschärfen** (bei Standeinstellung, | ||
+ | # reject non-existent user (verified against target systems) with a fatal error (they won't try again) | ||
+ | # standard is: 450 | ||
+ | # normaly 550 would be used here, i use 577 to find it easier in logs. | ||
+ | unverified_recipient_reject_code = 577 | ||
+ | # text for this error is available since 2.6.x: " | ||
+ | |||
+ | # rejct non-existent/ | ||
+ | # standard is: 450 | ||
+ | # normaly 550 would be used here, i use 576 to find it easier in logs. | ||
+ | unknown_address_reject_code = 576 | ||
+ | </ | ||
+ | |||
+ | ===== Adressumschreibung des Empfängers ===== | ||
+ | |||
+ | ==== Aliase ==== | ||
+ | :!: Aliase gelten nur für lokale Benutzer dessen Empfänger durch Aliase umgeschrieben werden kann. | ||
+ | Benutzer fremder Systeme (=dessen Ziel wir nicht sind) können über virtuelle Benutzer umgeschrieben werden. | ||
+ | |||
+ | * Datei editieren: ''/ | ||
+ | * **Aliase** neu einlesen : < | ||
+ | |||
+ | ==== virtuelle Benutzer ==== | ||
+ | |||
+ | Mit virtuellen Benutzern können externe Zieladressen umgeschrieben werden. | ||
+ | |||
+ | Dazu benötigt es | ||
+ | - eine Datei (z.B. "''/ | ||
+ | - in der die Umschreibungen nach dem Schema < | ||
+ | alte@adresse.de | ||
+ | - einen Konfigurationseintrag < | ||
+ | - zuletzt eine Umwandlung als Datenbank mit '' | ||
+ | postmap / | ||
+ | |||
+ | |||
+ | ===== Relayhost oder Smarthost ===== | ||
+ | |||
+ | ==== Relay sein ==== | ||
+ | Konfiguration wenn wir ein Relayhost für andere sind. | ||
+ | |||
+ | * Variante 1: Andere Hosts über IP-Adresse authentifizieren (macht nur Sinn bei festen IPs und im lokalen LAN)< | ||
+ | mynetworks = 127.0.0.0/ | ||
+ | </ | ||
+ | * Variante 2: Andere Hosts über Zugangsdaten authentifizieren FIXME | ||
+ | |||
+ | |||
+ | ==== Relay benutzen ==== | ||
+ | Das Relay des Providers kümmert sich um den Versand der eMails. | ||
+ | |||
+ | < | ||
+ | # do we use a relayhost/ | ||
+ | relayhost = smtp-relay.of.my.provider.tld | ||
+ | </ | ||
+ | |||
+ | Ggf. mit SMTP-Auth (siehe unten). | ||
+ | |||
+ | ==== transports ==== | ||
+ | |||
+ | Transports geben konkrete Routen/ | ||
+ | |||
+ | Eleganterweise lassen sich die Einträge für relay-Domains und transports in der gleichen Datei verwalten: | ||
+ | |||
+ | - Datei ''/ | ||
+ | Domain1.de : | ||
+ | </ | ||
+ | - mit postmap umwandeln: < | ||
+ | - Einträge in der main.cf < | ||
+ | relay_domains = hash:/ | ||
+ | transport_maps = hash:/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | :!: Bei dieser Lösung dürfen aber reinen keine transports für externe Domains enthalten sein, da man sonst zum offenen Relay für diese Domains wird. | ||
+ | |||
+ | ==== Absenderadressen maskieren ==== | ||
+ | < | ||
+ | masquerade_domains = mydomain.tld | ||
+ | </ | ||
+ | |||
+ | Ausnahmen für bestimmte Benutzer: < | ||
+ | |||
+ | |||
+ | ===== smtp_auth ===== | ||
+ | |||
+ | - Datei anlegen: ''/ | ||
+ | - Inhalt nach Schema: < | ||
+ | FQDN_MX_Gateway USER: | ||
+ | </ | ||
+ | - <code bash> | ||
+ | |||
+ | ==== LOGIN / AUTH nur mit PLAIN möglich ==== | ||
+ | |||
+ | Fehlermeldung: | ||
+ | < | ||
+ | oder | ||
+ | < | ||
+ | |||
+ | < | ||
+ | smtp_sasl_auth_enable=yes | ||
+ | smtp_sasl_password_maps = hash:/ | ||
+ | # allow plain/ | ||
+ | smtp_sasl_security_options = noanonymous | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Postfix - SSL Konfiguration und debugging ===== | ||
+ | |||
+ | Verschlüsselung ist (leider) bei [[netzwerke: | ||
+ | |||
+ | Kommentierter Auschnitt aus ''/ | ||
+ | < | ||
+ | # === SSL/TLS Einstellungen ============= | ||
+ | |||
+ | # STARTTLS abgehend nutzen (aber nicht erzwingen): | ||
+ | smtp_tls_security_level=may | ||
+ | |||
+ | # STARTTLS eingehend anbieten (aber nicht erzwingen): | ||
+ | smtpd_tls_security_level=may | ||
+ | |||
+ | # Systemzertifikate zur Verifizierung heranziehen: | ||
+ | smtpd_tls_CApath = / | ||
+ | smtp_tls_CApath = / | ||
+ | |||
+ | # Headereinträge zur Transportverschlüsselung hinzufügen | ||
+ | smtpd_tls_received_header = yes | ||
+ | |||
+ | # SSL-Debug: | ||
+ | # smtpd_tls_loglevel = 1 | ||
+ | |||
+ | # Eigene Zertifikate (certs/keys im pem-Format) | ||
+ | smtpd_tls_key_file = / | ||
+ | smtpd_tls_cert_file = / | ||
+ | # wahrscheinloch nötige Zwischenzertifikate (Intermediate) | ||
+ | smtpd_tls_CAfile = / | ||
+ | |||
+ | # === SSL/TLS Einstellungen ENDE ============= | ||
+ | </ | ||
+ | |||
+ | ==== SSL/TLS debugging ==== | ||
+ | |||
+ | Kommentierter Auschnitt aus ''/ | ||
+ | < | ||
+ | smtpd_tls_received_header = yes | ||
+ | smtpd_tls_loglevel = 3 # 0 (none) to 4 (full data) | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Einbindung externer Filtersysteme ===== | ||
+ | |||
+ | Die Einbindung externer Filtersysteme ist problemlos möglich, da diese auf einem lokalen Port lauschen: | ||
+ | |||
+ | < | ||
+ | # policyd-weight | ||
+ | check_policy_service inet: | ||
+ | |||
+ | # greylisting | ||
+ | check_policy_service inet: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Spamassassin mit Postfix ==== | ||
+ | |||
+ | [[server: | ||
+ | |||
+ | * smptd_proxy_filter innerhalb amavis-new (empfohlen) | ||
+ | * [[http:// | ||
+ | |||