Postfix: Unterschied zwischen den Versionen

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


= Intern nach Extern =
= Vorarbeiten =
<pre>#/etc/aliases
* Domain einrichten, z.B. "dromedar.hamatoma.de"
postmaster:   root
* DNS-PTR-Record der IP-Adresse auf dromedar.hamatoma.de setzen
devnull: /dev/null
* Hostname auf "dromedar.hamatoma.de" setzen
mailer-daemon: postmaster
 
webmaster: root
= 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
 
# Neu ans Ende:
RequireSafeKeys False
</pre>
 
* /etc/opendkim/trusted
<pre>
127.0.0.1
::1
localhost
hamatoma.de
f-r-e-i.de
bug.hamatoma.de
</pre>
 
* /etc/openkim/signing.table. Schlüsselname: bug
<pre>
*@hamatoma.de bug
</pre>
* /etc/opendkim/key.table
<pre>
bug hamatoma.de:20230603:/etc/opendkim/keys/bug.private
</pre>
 
* 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>


# Weiterleitung an externe Adresse:
* /etc/postfix/main.cf:
root: hamatoma@gmx.de
<pre>
milter_default_action = accept 
milter_protocol  = 6             
smtpd_milters    = inet:localhost:12345
non_smtpd_milters = inet:localhost:12345
</pre>
</pre>
<pre># Activate
 
newaliases
= Installation =
<pre>apt install postfix
# "Internet-Site" wählen
 
</pre>
</pre>


= Internet site =
= Konfiguration =
<pre># /etc/postfix/main.cf
* Minimalkonfiguration für Weiterleitung: /etc/postfix/main.cf
<pre>...
mydestination = $myhostname, localhost.hamatoma.de, localhost, hamatoma.de
...
...
# anti-spam: smtp restrictions
# == wk config:
smtpd_recipient_restrictions = reject_invalid_hostname,
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
        reject_unknown_recipient_domain,
 
        reject_unauth_destination,
# Format maildir (statt mailbox):
        reject_rbl_client sbl.spamhaus.org,
home_mailbox = Maildir/
        permit
smtpd_helo_restrictions = reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_unknown_helo_hostname
smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net


# Weiterleitung
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = hamatoma.de
virtual_alias_domains = f-r-e-i.de
</pre>
</pre>
* Aktivierung mit "postmap /etc/postfix/virtual"
* /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


= Smarthost mit GMail =
# Weiterleitung an externe Adresse:
* main.cf:
root: hamatoma@gmx.de
<pre>smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_connection_cache_on_demand = no
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_use_tls=yes
smtp_tls_security_level = may
smtp_sasl_security_options=noanonymous
 
relayhost = [smtp.gmail.com]:587
</pre>
</pre>
* /etc/postfix/sender_canonical
* Aktivieren:
<pre>root anyUser@gmail.com
<pre>newaliases
jonny blubBlub@gmail.com
</pre>
</pre>
* /etc/postfix/virtual
* /etc/postfix/virtual
<pre>root root.myhost@gmx.de
* Aktivierung mit "postmap /etc/postfix/virtual"
jonny blubBlub@gmail.com
<pre>
</pre>
hm hm.neutral@gmx.de
* /etc/postfix/sasl_password
@hamatoma.de jonny@example.com
<pre>[smtp.gmail.com]:587 my.server@gmail.com:Geheim
# Blacklist:
</pre>
zimmer2@hm.f-r-e-i.de devnull
<pre>postmap sender_canonical
postmap sasl_password
postmap virtual
</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