Postfix (Ubuntu 18.04): Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „{{note|Noch in Bearbeitung}} == Installation == <pre> sudo apt-get install postfix postfix-mysql </pre> Beim sich öffnenden Menü ''Keine Konfiguration''…“) |
|||
(24 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Installation == | == Installation == | ||
Zeile 51: | Zeile 48: | ||
Hilfe zu Erstellung eines SSL-Zertifikates siehe [[SSL Zertifikat]] | Hilfe zu Erstellung eines SSL-Zertifikates siehe [[SSL Zertifikat]] | ||
==== OHNE Server-zu-Server-Verschlüsselung ==== | |||
In der Datei ''/etc/postfix/main.cf'' folgende Zeilen hinzufügen: | In der Datei ''/etc/postfix/main.cf'' folgende Zeilen hinzufügen: | ||
Zeile 66: | Zeile 65: | ||
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache | smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache | ||
</pre> | </pre> | ||
==== MIT Server-zu-Server-Verschlüsselung ==== | |||
<pre> | |||
##### TLS parameters ###### | |||
## TSL - outgoing mails ## | |||
smtp_tls_security_level = may | |||
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt | |||
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache | |||
smtp_tls_loglevel = 1 | |||
## TSL - incoming mails ## | |||
smtpd_use_tls=yes | |||
smtpd_tls_security_level = may | |||
smtpd_tls_cert_file=/etc/letsencrypt/live/mail1.kirner.or.at/fullchain.pem | |||
smtpd_tls_key_file=/etc/letsencrypt/live/mail1.kirner.or.at/privkey.pem | |||
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 | |||
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache | |||
smtpd_tls_loglevel = 1 | |||
</pre> | |||
<code>smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt</code> enthält die vertrauenswürdigen Zertifizierungsstellen und wird mittels <code>update-ca-certificates</code> aktualisiert. | |||
===== Links ===== | |||
[https://kofler.info/postfix-tls-optionen/ https://kofler.info/postfix-tls-optionen/] | |||
[https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html https://manuals.gfi.com/en/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html] | |||
=== SASL Auth und Submission aktivieren === | === SASL Auth und Submission aktivieren === | ||
Zeile 122: | Zeile 149: | ||
<pre> | <pre> | ||
##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ###### | ##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ###### | ||
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination | smtpd_recipient_restrictions = | ||
permit_mynetworks, | |||
permit_sasl_authenticated, | |||
reject_unauth_destination | |||
</pre> | </pre> | ||
Zeile 150: | Zeile 180: | ||
sudo mkdir /etc/postfix/sql | sudo mkdir /etc/postfix/sql | ||
</pre> | </pre> | ||
Dateien mittels dem von ''PostfixAdmin'' mitgelieferten Skript [[Medium:POSTFIX CONF.txt|POSTFIX CONF.txt]] erstellen | Dateien mittels dem von ''PostfixAdmin'' mitgelieferten Skript [[Medium:POSTFIX CONF.txt|POSTFIX CONF.txt]] erstellen | ||
<pre> | <pre> | ||
cd /var/www/ | cd /var/www/postfixadmin_3_2/DOCUMENTS/ | ||
sh POSTFIX_CONF.txt | sh POSTFIX_CONF.txt | ||
</pre> | </pre> | ||
Zeile 167: | Zeile 193: | ||
sudo mv /tmp/postfixadmin-XXXXXX/* /etc/postfix/sql | sudo mv /tmp/postfixadmin-XXXXXX/* /etc/postfix/sql | ||
</pre> | </pre> | ||
Da die Dateien Passwörter enthalten, sollen sie nur für den Benutzer <code>postfix</code> lesbar sein: | Da die Dateien Passwörter enthalten, sollen sie nur für den Benutzer <code>postfix</code> lesbar sein: | ||
<pre> | <pre> | ||
sudo chown | sudo chown root:root /etc/postfix/sql/*.cf | ||
sudo chmod | sudo chmod 600 /etc/postfix/sql/*.cf | ||
</pre> | </pre> | ||
Zeile 266: | Zeile 204: | ||
<pre> | <pre> | ||
sudo | sudo systemctl restart postfix | ||
</pre> | </pre> | ||
== Probleme == | == Probleme == | ||
=== | === postfix/cleanup[7310]: 20B4C9D4B0: milter-reject: END-OF-MESSAGE === | ||
=> Grey-Listing deaktivieren, siehe dazu [[Rspamd (Ubuntu 18.04)#Grey-Listing deaktvieren|Rspamd#Grey-Listing deaktvieren]] | |||
==== Links ==== | |||
[https://github.com/rspamd/rspamd/issues/1776 https://github.com/rspamd/rspamd/issues/1776] | |||
== Links == | == Links == | ||
Zeile 288: | Zeile 223: | ||
[https://yomotherboard.com/setup-postfixadmin-virtual-email-users/ https://yomotherboard.com/setup-postfixadmin-virtual-email-users/] | [https://yomotherboard.com/setup-postfixadmin-virtual-email-users/ https://yomotherboard.com/setup-postfixadmin-virtual-email-users/] | ||
Weiter zu [[Roundcube (Ubuntu 18.04)|Roundcube]] | |||
Zurück zu [[Mailserver einrichten (Ubuntu 18.04)|Mailserver einrichten]] | Zurück zu [[Mailserver einrichten (Ubuntu 18.04)|Mailserver einrichten]] |
Aktuelle Version vom 8. August 2020, 09:18 Uhr
Installation
sudo apt-get install postfix postfix-mysql
Beim sich öffnenden Menü Keine Konfiguration auswählen.
Konfiguration
Eine neue Datei main.cf
erstellen und mit folgenden Inhalt befüllen (<local domain> durch den entsprechenden Wert ersetzen):
sudo vi /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mydestination = mailbox_size_limit = 51200000 message_size_limit = 51200000 recipient_delimiter = localhost.$mydomain, localhost, mail.$mydomain inet_interfaces = all myorigin = <local domain> myhostname = mail.<domain name> inet_protocols = all
In der Datei master.cf folgende Zeile hinzufügen:
sudo vi /etc/postfix/master.cf
submission inet n - - - - smtpd -v ... -o smtp_bind_address=<ip address> ...
SSL Zertifikat
Hilfe zu Erstellung eines SSL-Zertifikates siehe SSL Zertifikat
OHNE Server-zu-Server-Verschlüsselung
In der Datei /etc/postfix/main.cf folgende Zeilen hinzufügen:
sudo vi /etc/postfix/main.cf
##### TLS parameters ###### smtpd_tls_cert_file=/etc/ssl/certs/postfix.crt smtpd_tls_key_file=/etc/ssl/private/apache.key smtpd_use_tls=yes smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
MIT Server-zu-Server-Verschlüsselung
##### TLS parameters ###### ## TSL - outgoing mails ## smtp_tls_security_level = may smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_tls_loglevel = 1 ## TSL - incoming mails ## smtpd_use_tls=yes smtpd_tls_security_level = may smtpd_tls_cert_file=/etc/letsencrypt/live/mail1.kirner.or.at/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/mail1.kirner.or.at/privkey.pem smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_tls_loglevel = 1
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
enthält die vertrauenswürdigen Zertifizierungsstellen und wird mittels update-ca-certificates
aktualisiert.
Links
https://kofler.info/postfix-tls-optionen/
SASL Auth und Submission aktivieren
Postfix soll bei Dovecot per SASL Authentifizierung nachfragen, ob für die akutellen Benutzer/Passwort-Kombination das Senden/Empfangen erlaubt ist.
Dazu in der Datei /etc/postfix/main.cf folgende Zeilen hinzufügen:
sudo vi /etc/postfix/main.cf
###### SASL Auth ###### smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes
In der Datei /etc/postfix/master.cf den submission-Block folgendermassen anpassen bzw. ersetzen:
sudo vi /etc/postfix/master.cf
submission inet n - - - - smtpd -v -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
LMTP aktivieren
In der Datei /etc/postfix/main.cf Zeilen hinzufügen:
sudo vi /etc/postfix/main.cf
###### Use Dovecot LMTP Service to deliver Mails to Dovecot ###### virtual_transport = lmtp:unix:private/dovecot-lmtp
Relay Einstellungen
Mails sollen nur weitergeleited werden, falls der Sender der Server selbst ist oder der Benutzer in die Benutzerdatenbank von Dovecot eingetragen ist.
Dazu in der Datei /etc/postfix/main.cf folgende Zeilen hinzufügen:
sudo vi /etc/postfix/main.cf
##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ###### smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Datenbankanbindung
Hauptdatei
In der Datei /etc/postfix/main.cf die Datenbank-Konfigurations-Dateien eintragen:
###### MySQL Connection ###### virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf local_recipient_maps = $virtual_mailbox_maps
MySQL-Dateien
Verzeichnis für Konfiguartionsdateien erstellen:
sudo mkdir /etc/postfix/sql
Dateien mittels dem von PostfixAdmin mitgelieferten Skript POSTFIX CONF.txt erstellen
cd /var/www/postfixadmin_3_2/DOCUMENTS/ sh POSTFIX_CONF.txt
und danach vom temporärenVerzeichnis nach /etc/postfix/sql
kopieren
sudo mv /tmp/postfixadmin-XXXXXX/* /etc/postfix/sql
Da die Dateien Passwörter enthalten, sollen sie nur für den Benutzer postfix
lesbar sein:
sudo chown root:root /etc/postfix/sql/*.cf sudo chmod 600 /etc/postfix/sql/*.cf
Postfix neustarten
sudo systemctl restart postfix
Probleme
postfix/cleanup[7310]: 20B4C9D4B0: milter-reject: END-OF-MESSAGE
=> Grey-Listing deaktivieren, siehe dazu Rspamd#Grey-Listing deaktvieren
Links
https://github.com/rspamd/rspamd/issues/1776
Links
https://wiki.ubuntuusers.de/Postfix/
https://yomotherboard.com/setup-postfixadmin-virtual-email-users/
Weiter zu Roundcube
Zurück zu Mailserver einrichten