Postfix: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:ServerApplikation]]
[[Kategorie:ServerApplikation]]


== Smart Host ==
= Vorarbeiten =
* /etc/postfix/main.cf
* Domain einrichten, z.B. "dromedar.hamatoma.de"
<pre>smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
* DNS-PTR-Record der IP-Adresse auf dromedar.hamatoma.de setzen
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
* Hostname auf "dromedar.hamatoma.de" setzen
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache


myhostname = vmd9593.e-motional-experience.de
= DKIM =
* siehe auch https://easydmarc.com/blog/de/so-konfigurieren-sie-dkim-opendkim-mit-postfix/
<syntaxhighlight lang="bash">
apt install opendkim opendkim-tools
mkdir /etc/opendkim
mkdir /etc/opendkim/keys
chown -R opendkim:opendkim /etc/opendkim
chmod go-rw /etc/opendkim/keys
</syntaxhighlight>
* /etc/opendkim.conf
<pre>
# Folgendes aktivieren durch Kommentar entfernen
Mode sv
InternalHosts          refile:/etc/opendkim/trusted
ExternalIgnoreList      refile:/etc/opendkim/trusted
SigningTable            refile:/etc/opendkim/signing.table
KeyTable                /etc/opendkim/key.table     
# Selektor als Zeitangabe:
Selector                20230603
Domain hamatoma.de


relayhost = [mail.gmx.net]
# Neu ans Ende:
smtp_sasl_auth_enabled = yes
RequireSafeKeys False
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_tls_security_level = may
</pre>
</pre>
* /etc/postfix/sasl_passwd
 
<pre>echo "[mail.gmx.net] 314444931:1G.e.h.t.H.e.i.m" > /etc/postfix/sasl_passwd
* /etc/opendkim/trusted
postmap /etc/postfix/sasl_passwd
<pre>
127.0.0.1
::1
localhost
hamatoma.de
f-r-e-i.de
bug.hamatoma.de
</pre>
</pre>
== Zentrales Postfachverzeichis==
Wenn man Postfachbenutzer hat, die keine Systemkontos haben, so bietet sich ein
zentrales Verzeichnis für alle Postfächer an


* /etc/openkim/signing.table. Schlüsselname: bug
<pre>
<pre>
# /etc/postfix/main.cf:
*@hamatoma.de bug
virtual_mailbox_domains = f-r-e-i.de
virtual_mailbox_base = /home/Mail/
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 1030
virtual_uid_maps = static:1033
virtual_gid_maps = static:533
</pre>
</pre>
* /etc/opendkim/key.table
<pre>
<pre>
# /etc/postfix/vmailbox:
bug hamatoma.de:20230603:/etc/opendkim/keys/bug.private
wk@f-r-e-i.de    f-r-e-i.de/wk
# Comment out the entry below to implement a catch-all.
# @ef-r-e-i.de    f-r-e-i.de/catchall
</pre>
</pre>
Aktivieren der Konfiguration:
 
* Schlüssel generieren:
<syntaxhighlight lang="bash">
cd /etc/opendkim/keys
opendkim-genkey -d hamatoma.de -b 2048 -r -s 20230603
mv 20230603.key bug.key
mv 20230603.txt bug.txt
</syntaxhighlight>
 
== TXT-Eintrag erstellen ==
* Subdomäne: SELECTOR._domainkey, also 20230603._domainkey.hamatoma.de
* Den Eintrag von /etc/opendkim/keys/20230606.txt als Wert verwenden, genauer, was innerhalb '(' und ')' steht, mehrere Strings.
 
== Einbindung in Postfix ==
* Verhindern, dass bei Fehlkonfiguration was schief geht:
* /etc/postfix/main.cf:
<pre>
soft_bounce=yes
</pre>
 
* /etc/postfix/main.cf:
<pre>
<pre>
postmap /etc/postfix/vmailbox
milter_default_action = accept 
/etc/init.d/postfix restart
milter_protocol  = 6             
smtpd_milters    = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345
</pre>
</pre>


== Weiterleitung ==
= Installation =
main.cf:
<pre>apt install postfix
<pre>virtual_alias_domains = i-sar.de f-r-e-i.de hm.f-r-e-i.de miteinander-reden.com au.f-r-e-i.de siduction.net siduction.org emas-consult.de
# "Internet-Site" wählen
 
</pre>
 
= Konfiguration =
* Minimalkonfiguration für Weiterleitung: /etc/postfix/main.cf
<pre>...
mydestination = $myhostname, localhost.hamatoma.de, localhost, hamatoma.de
...
# == wk config:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
 
# Format maildir (statt mailbox):
home_mailbox = Maildir/
 
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = f-r-e-i.de
</pre>
</pre>
virtual:
* Aktivierung mit "postmap /etc/postfix/virtual"
<pre>hm@f-r-e-i.de hamatoma@gmx.de
* /etc/aliases
<pre># /etc/aliases
# See man 5 aliases for format
postmaster:    root
devnull: /dev/null
mailer-daemon: postmaster
webmaster: root
www: root
security: root
 
# Weiterleitung an externe Adresse:
root: hamatoma@gmx.de
</pre>
* Aktivieren:
<pre>newaliases
</pre>
* /etc/postfix/virtual
* Aktivierung mit "postmap /etc/postfix/virtual"
<pre>
hm hm.neutral@gmx.de
@hamatoma.de jonny@example.com
# Blacklist:
zimmer2@hm.f-r-e-i.de devnull
</pre>
</pre>

Aktuelle Version vom 3. Juni 2023, 17:57 Uhr


Vorarbeiten[Bearbeiten]

  • Domain einrichten, z.B. "dromedar.hamatoma.de"
  • DNS-PTR-Record der IP-Adresse auf dromedar.hamatoma.de setzen
  • Hostname auf "dromedar.hamatoma.de" setzen

DKIM[Bearbeiten]

apt install opendkim opendkim-tools
mkdir /etc/opendkim
mkdir /etc/opendkim/keys
chown -R opendkim:opendkim /etc/opendkim
chmod go-rw /etc/opendkim/keys
  • /etc/opendkim.conf
# Folgendes aktivieren durch Kommentar entfernen
Mode sv
InternalHosts           refile:/etc/opendkim/trusted
ExternalIgnoreList      refile:/etc/opendkim/trusted
SigningTable            refile:/etc/opendkim/signing.table
KeyTable                /etc/opendkim/key.table       
# Selektor als Zeitangabe:
Selector                20230603
Domain hamatoma.de

# Neu ans Ende:
RequireSafeKeys False
  • /etc/opendkim/trusted
127.0.0.1
::1
localhost
hamatoma.de
f-r-e-i.de
bug.hamatoma.de
  • /etc/openkim/signing.table. Schlüsselname: bug
*@hamatoma.de bug
  • /etc/opendkim/key.table
bug hamatoma.de:20230603:/etc/opendkim/keys/bug.private
  • Schlüssel generieren:
cd /etc/opendkim/keys
opendkim-genkey -d hamatoma.de -b 2048 -r -s 20230603
mv 20230603.key bug.key
mv 20230603.txt bug.txt

TXT-Eintrag erstellen[Bearbeiten]

  • Subdomäne: SELECTOR._domainkey, also 20230603._domainkey.hamatoma.de
  • Den Eintrag von /etc/opendkim/keys/20230606.txt als Wert verwenden, genauer, was innerhalb '(' und ')' steht, mehrere Strings.

Einbindung in Postfix[Bearbeiten]

  • Verhindern, dass bei Fehlkonfiguration was schief geht:
  • /etc/postfix/main.cf:
soft_bounce=yes
  • /etc/postfix/main.cf:
milter_default_action = accept   
milter_protocol   = 6              
smtpd_milters     = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345

Installation[Bearbeiten]

apt install postfix
# "Internet-Site" wählen

Konfiguration[Bearbeiten]

  • Minimalkonfiguration für Weiterleitung: /etc/postfix/main.cf
...
mydestination = $myhostname, localhost.hamatoma.de, localhost, hamatoma.de
...
# == wk config:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

# Format maildir (statt mailbox):
home_mailbox = Maildir/

virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = f-r-e-i.de
  • Aktivierung mit "postmap /etc/postfix/virtual"
  • /etc/aliases
# /etc/aliases
# See man 5 aliases for format
postmaster:    root
devnull: /dev/null
mailer-daemon: postmaster
webmaster: root
www: root
security: root

# Weiterleitung an externe Adresse:
root: hamatoma@gmx.de
  • Aktivieren:
newaliases
  • /etc/postfix/virtual
  • Aktivierung mit "postmap /etc/postfix/virtual"
hm hm.neutral@gmx.de
@hamatoma.de jonny@example.com
# Blacklist:
zimmer2@hm.f-r-e-i.de	devnull