Postfix: ausgehende E-Mail via TLS pro Domain erzwingen

Problem

Es gibt eine (Management-)Richtlinie, die vorschreibt mit einem bestimmten Partner ausschliesslich über (TLS) verschlüsselte Verbindungen zu kommunizieren. Der ausgehende Mailserver ist ein Postfix (z.B. ein Smarthost). TLS mit den entsprechenden Zertifikaten ist hier schon korrekt eingerichtet. Es sollen nur sichere TLS-Verbindungen zu bestimmten Domain erzwungen werden.

Lösung

Standardmäßig verschlüsselt Postfix ausgehende E-Mails nicht. Sofern die Zertifikate richtig konfiguriert sind (Stichwort smtpd_tls_cert_file) lässt sich die ausgehende Verschlüsselung IMMER erzwingen:

Zum erzwingen von TLS In der Datei /etc/postfix/main.cf eintragen:

smtp_tls_security_level = encrypt

Viele Mail-Server akzeptieren aber auch heute noch keine TLS-Verbindungen. E-Mails an solche Mailserver werden daher nicht versendet. Als sinnvolle Alternativebietet sich daher an:

 smtp_tls_security_level = may

Bei dieser Einstellung wird die TLS-Verschlüsselung nur verwendet, wenn der Empfängerserver ebefalls TLS-Verbindungen akzeptiert. Verschlüsselt geht hier von iunverschlüsselt.

Nur für bestimmte Domains erzwingen

Es soll TLS für alle E-Mails erzwungen sein, die an *@denic.de gesendet werden. Der MX von denic.de zeigt auf mx1.denic.de und mx2.denic.de.

    • Mapping-Datei erstellen, z.B. „/etc/postfix/tls_policy“ mit diesem Inhalt:
      denic.de       encrypt
    • Mapping übernehmen
      root@posty:/etc/postfix# postmap /etc/postfix/tls_policy
    • Tabelle in der main.cf in der TLS-Policy referenzieren
      # TLS erzwingen
      smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
    • Postfix reloaden
      root@posty:/etc/postfix# /etc/init.d/postfix reload

Im Log lässt sich der Erfolg direkt danach prüfen, indem man nach dem Servernamen (oder der Adresse) und „STARTTLS“ grept:

postfix/smtp[61070]: > mx1.denic.de[2a02:568:102:211::1:1]:25: STARTTLS

Debian 9.0 Stretch feste IP-Adresse konfigurieren

Weil ich schon wieder einen Schritt vergessen hatte, hier die schnelle Checkliste um einem Debian eine fest IP-Adresse zu vergeben.

nano /etc/network/interfaces

Die Datei sollte (statisch) so aussehen:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens192
# iface ens192 inet <- Das wäre DHCP
iface ens192 inet static
   address 192.168.0.44
   netmask 255.255.0.0
   gateway 192.168.1.50

Dann das Netzwerk neu starten, das Interface aktualisieren und die aktive Konfiguration anzeigen:

service networking restart
ifup ens192    <-- Name des Interfaces aus der interfaces, z.B. eth0
ip addr

Debian 9 (Stretch) Startzeit-Auswahl (Timeout) von Grub verändern

Problem

Ab und zu ist die Standardzeit der Grub-Menüauswahl beim starten von Debian nicht passend. Entweder die voreingestellten fünf Sekunden sind zu lang, oder deutlich zu kurz.

Lösung

  1. Als root die Datei /etc/default/grub bearbeiten
  2. Änderungen an eintrag „GRUB_TIMEOUT“ durchführen
  3. Mit update-grub die geänderte Konfigurationsdatei übernehmen

BIOS und EFI Version unter Windows anzeigen (ohne reboot)

Problem

Welche BIOS- oder EFI-Version hat der Server oder der PC oder der MAC?  Muss ich aktualisieren? Kann ich das nachschauen ohne gleich die ganze schöne Maschine zu rebooten und einen Monitor anzuschliessen und im richtigen Moment eine geheime magische Taste zu drücken?

Lösung

Kein Problem, mann auch unter Windows/Linux/MacOS die BIOS-Version anzeigen. Funktioniert praktisch überall, Ausnahmen bestätigen allerdings die Regel. Bleibt die Anzeige leer oder zeigt „????“ ist warscheinlich einfach nicht der richtige Chipsatz-Treiber geladen.

BIOS-Version unter Windows 8/8.1/10

An der Kommandozeile (CMD/PowerShell):

C:\> wmic bios get smbiosbiosversion

BIO-version-anzeigen-unter-windowsBIOS-Version unter Linux (Debian/RedHat/CentOS/SuSE/LFS)

An der Shell:

bldgrdian:~# dmidecode | grep Version

bios-version-anzeigen-unter-linux

BIOS-Version unter MacOS X (EFI und SMC PCs)

Die Auswahl via GUI starten: den System-Ordner „Programme“ öffnen > Dienstprogramme > Systeminformationen > Hardware (der Wurzelknoten ganz oben, unter den Auswahlpunkten wird die Version nicht mehr aufgeführt)

bios-version-anzeigen-unter-macosAchtung bei Apple-FW-Updates! Durch den bunten Chipsatz- und CPU-Zoo der schon ähnliche Außmaße annimmt wie bei DELL oder ASUS, gibt es einen unübersichtlich koplexen Abhängigkeitsbaum. „Einfach auf die letzte Version aktualisieren“ endet manchmal in einem nicht mehr startenden MacOS. Bewährt hat sich Step-by-Step updates mit jeweiligem OS-Boot und Update dazwischen.

Alternativ tut es oft auch

dmidecode

aber erst bei aktuellen Macs.