Outlook hat Emailverbindung nicht verschlüsselt

Ja, das Fedora 43 Update hatte eine spannende Offenbarung für alle Outlook Benutzer zur Folge, von der Microsoft nicht begeistert sein wird.

Outlook hat Emailverbindung nicht verschlüsselt

und das, obwohl SSL/TLS in den Kontoeinstellungen nachweislich aktiviert war.

Aber der Reihe nach… Ende Mai haben wir turnusgemäß unser ServerOS aktualisiert. Dabei wurde Fedora 42 mit Dovecot 2.3.x durch Fedora 43 und Dovecot 2.4.3 ersetzt. Dies erforderte nicht nur eine komplett neue Konfiguration, es verhinderte auch, daß über einen unsicheren Kanal Passwörter in Klartext übermittelt werden.

Wenn jemand das tat gab es in Outllook diesen Fehler zu bestaunen:

„-ERR [AUTH] Cleartext authentication disallowed on non -secure ( SSL/TLS ) connections.“ stammt tatsächlich vom Dovecot. Die kommt, wenn man über Port 110 mit Netcat (oder telnet 😀 )  eine Verbindung aufbaut und „USER“ / „PASS“ direkt da reinschreibt. Das wäre ein Klartextpasswort über einen Klartextport und das mag Dovecot nicht mehr, was gut so ist.

„Wir hatten doch SSL/TLS aktiviert!“ 

meldeten die Kunden und hatten Recht, es war SSL/TLS bei den Konto aktiviert, nur leider juckte Outlook das nicht, weil als PORT 110 für POP3 eingetragen war, hat Outlook statt einer „Das paßt aber so nicht zusammen Benutzer!„-Meldung einfach NICHTS gemacht und die Verbindung einfach nicht verschlüsselt, weil 110 der Klartextport ist und man für SSL 995 hätte angeben müssen. Beobachtet haben wir bislang nur POP3 Port 110, ich geh aber davon aus, daß es bei IMAP auch ist.

Mutmaßliches (latest) Outlook für MacOs

Ergo, haben Kunden wohl seit mehr als einem Jahrzehnt Ihre Emails im irrigen Glauben an die aktivierte Verschlüsselung stattdessen im Klartext abgeholt. Zur Zeit liegen mir passende Screenshots von Outlook vor, einzig die Versionsnummern fehlen noch, obwohl einer hatte noch Outlook 2007 im Einsatz. Gehen wir mal von der Annahme aus, daß alle nachfolgenden auch diesen Fehler hatten, da gleichlautende Meldungen auch von Outlook 2016 und neuer bekannt wurden, ist die Sicherheitslücke praktisch 20 Jahre im Einsatz und wäre nie aufgefallen, wenn Dovecot nicht was dagegen gehabt hätte.

Regress“ und „Schadensersatz

sind so Worte, die einem dabei durch den Kopf gehen. Den Schaden haben alle, die nach DSGVO zum Verschlüsseln der Emails verantwortlich gewesen sind und sich darauf verlassen haben, daß aktiviertes „SSL/TLS“ auch eine Verschlüsselte Verbindung bedeutet.

Den Serverbetreibern kann man hier keinen Vorwurf machen, da der Server nicht hellsehen kann, reagiert(e) er früher auf eine Klartextverbindung  wie das im POP3 RFC vorgesehen ist. Selbst wenn man jetzt eine verschlüsselte Passwortübertragung auf Klartextport benutzt, ändert das nichts daran, daß die unverschlüsselte Übertragung der Email selbst für Unternehmen und Organisationen ein Gesetzesverstoß ist.

Wenn diese Meldung bei betroffenen Unternehmen publik wird, könnte Microsoft ein kleines finanzielles Loch entstehen.

Kleines Reddit Update:

Auf Reddit kam die Frage auf, wieso man unverschlüsselte Passwort-Auth überhaupt zulässt. Das ist ganz einfach: Kompatibilität. Auf diese Server prasseln Verbindungen aus der ganzen geographischen und IT-Welt ein, meint: Du hast keine Chance einen einheitlichen Standard durchzusetzen, ohne dabei 10% der Nutzer auf die Füße zu treten. Solange der Transportkanal modern verschlüsselt ist, besteht IMHO auch kein Grund auf eine komplizierte Methode auszuweichen, da es keinen zusätzlichen Schutz bietet. Wichtiger wäre, Verbindungen über Klartextports nur noch mit STARTTLS zu erlauben, weil das wirklich die Mail und nciht nur die Auth schützen würde.

Was so eine Änderung in der Realität bedeutet, möchte mal nur an einer Mailprogrammauflistung darstellen:

Thunderbird für Linux, MacOs, Windows
Outlook 2007 Windows 7
Outlook 2013 Windows 8
Outlook 2016 Windows 10+11
Outlook 2019 Windows 10+11
Outlook 2024 Windows 11
Outlook for MacOS ( diverse inkompatible Versionen)
AppleMail ( einer der schlimmsten Clienten überhaupt )
Evolution ( Linux )
The Bat ( das war echt übel damals )
Geary ( Linux )
k9 Mail
Mail for Android
Java Mailx
Avira AntVir
Kaspersky
Avast
Bitdefender
Norten
G Data
M$ Defender
Sophos

und die Liste geht weiter und weiter und weiter.

Alle diese Programme müssen mit dem Server reden können und jeder spricht ein klein wenig anders mit dem Server. Sehr beliebt bei Mailfehlern sind die Antiviren MITM-Attacken wo sich das Mailprogramm zu einem lokalen Proxy verbindet, statt zum echten Server. Da knallt es alle Naselang, weil diese Software mit der heißen Nadel gestrickt geworden zu scheint.

Wenn man in dem Konglomerat von Mailklienten auch nur auf die Idee kommt, Plaintext als Authmethode nicht mehr anzubieten, dann macht sich das direkt proportional auf Deinem Gehaltscheck bemerkbar, weil Deine Kunden nämlich folgenden Standpunkt einnehmen: „Lief doch gestern noch!“

Schon dieser Outlook Bug hat Wellen geschlagen und das will man als Anbieter nicht wirklich. Stellt Euch mal vor, was erst passiert, wenn man Plaintext abschaltet und die ganzen Antivirenprogramme failen… da bin ich dann im Urlaub 😀

Update:

1. es gibt einen Nachfolgeartikel zur Frage on IMAP sicherer ist als POP3
2. Es kam die Frage nach der Orptunistischen Verschlüsselung auf, wobei es mit Klartext anfängt und dann wenns geht, verschlüsselt wird, wozu der Server STARTTLS können muß: Ja, können die natürlich alle.
3. Wenn Ihr darüber nachdenkt, setzt nicht Maßstäbe von 2026 ein, sondern von < 2010, da war SSL Luxus und vor allem meinte die SSL/TLS Checkbox auch wirklich SSL/TLS und gerade NICHT STARTTLS. Die meisten betroffenen Konten werden auch nicht in 2025 eingerichtet worden sein, sondern wurden über Jahrzehnte mit geupgraded, was das völlig erklären würde, weil das vom Entwicklerstandpunkt her ein echtes Problem darstellt, so lange Rückwärtskompatibel zu sein, ohne das was zerbricht.

Linux am Dienstag – Programm für den 28.4.2026

Diesmal bei Linux am Dienstag … KI Einsatz am 8 GB VRAM Limit – Was geht da und Ihr werdet Euren Augen nicht trauen!

Linux am Dienstag – Programm für den 28.4.2026

u.a. im Programm am 28.4.2026, ab 19:00 Uhr:

  • Linux – Was geht so mit KI & 8 GB VRAM
  • EU – Alterverifikation ausgerollt
  • Sicherheit – Neue Vorratsdatenspeicherung
  • Sicherheit – Root-Exploit in PackageKit
  • Sicherheit – Exploit in Apache ActiveMQ
  • Sicherheit – Ghost-Admin sperrt Samsunghandybesitzer aus
  • OpenSource – CURL Entwickler mit echten Bugreports überfordert

und andere IT-Newsbeiträge aus aller Welt. Wie jede Woche per Videokonferenz auf https://meet.cloud-foo.de/linux

Hinweis: Die bisherigen Vorträge findet man unter https://linux-am-dienstag.de/archiv/ .

Abfrage der Batterie mit upower

habt Ihr Euch mal gefragt, wie die Anzeige des Batteriezustandes im Desktop zustande kommt?

Abfrage der Batterie mit upower

Als erstes brauchen wir mal ein Gerät mit Batterie, in diesem Beitrag ein altes Surface Tablet, da bekomme ich am schnellsten Ladezustandsänderungen hin 😉

Bevor wir uns upower zuwenden, erst einmal der klassische konsolenbasierte Zugang über /sys .Das ist nicht der intuitivste Weg, aber ggf. noch brauchbar, wenn man mal eben die Batterie per Script abfragen will.

Der Weg für Hardcorefans geht über /sys

Im Pfad /sys/class/power_supply/ finden wir zwei Links, einen zum Adapter ADP1, daß ist das Ladegerät selbst und völlig uninteressant, und die Batterie BAT1, die wesentlich interessantere Ausgaben hat:

lrwxrwxrwx. 1 root root 0 18. Sep 2025 ADP1 -> ../../devices/pci0000:00/0000:00:1f.0/PNP0C09:00/ACPI0003:00/power_supply/ADP1
lrwxrwxrwx. 1 root root 0 18. Sep 2025 BAT1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:19/PNP0C09:00/PNP0C0A:00/power_supply/BAT1

Wie man sehen kann, ist das /sys Filesystem nicht gerade verständlich aufgebaut, deswegen lassen wir den Teil weg, denn genau dafür sind die Links da, um es etwas leichter zu machen.

In diesem BAT1 Verzeichnis finden wir einige lesbare Dateien:

-rw-r--r--. 1 root root 4096 18. Sep 08:34 alarm
-r--r--r--. 1 root root 4096 18. Sep 08:25 capacity
-r--r--r--. 1 root root 4096 18. Sep 08:34 capacity_level
-r--r--r--. 1 root root 4096 18. Sep 08:25 cycle_count
lrwxrwxrwx. 1 root root 0 18. Sep 08:25 device -> ../../../PNP0C0A:00
-r--r--r--. 1 root root 4096 18. Sep 08:25 energy_full
-r--r--r--. 1 root root 4096 18. Sep 08:25 energy_full_design
-r--r--r--. 1 root root 4096 18. Sep 08:25 energy_now
drwxr-xr-x. 2 root root 0 18. Sep 08:34 extensions
drwxr-xr-x. 3 root root 0 18. Sep 2025 hwmon2
-r--r--r--. 1 root root 4096 18. Sep 08:25 manufacturer
-r--r--r--. 1 root root 4096 18. Sep 08:25 model_name
drwxr-xr-x. 2 root root 0 18. Sep 08:34 power
-r--r--r--. 1 root root 4096 18. Sep 08:25 power_now
-r--r--r--. 1 root root 4096 18. Sep 08:25 present
-r--r--r--. 1 root root 4096 18. Sep 08:25 serial_number
-r--r--r--. 1 root root 4096 18. Sep 08:25 status
lrwxrwxrwx. 1 root root 0 18. Sep 2025 subsystem -> ../../../../../../../../../class/power_supply
-r--r--r--. 1 root root 4096 18. Sep 08:25 technology
-r--r--r--. 1 root root 4096 18. Sep 08:25 type
-rw-r--r--. 1 root root 4096 18. Sep 2025 uevent
-r--r--r--. 1 root root 4096 18. Sep 08:25 voltage_min_design
-r--r--r--. 1 root root 4096 18. Sep 08:25 voltage_now

Ihr habt es schon erraten, von der Seriennummer über das Batteriemodell zum aktuellen Ladestrom ist alles dabei was das Batteriefanherz so begeistert 😉 Wenn man sich nicht jede Datei einzeln ansehen will, dann ist uevent Eurer Freund, denn das ist eine Zusammenfassung der Werte. Beschreibbare Dateien können Veränderungen an den Geräten durchführen z.B. LEDs ein und ausschalten. Das zieht sich durch den ganzen Sys-Gerätepark.

DEVTYPE=power_supply
POWER_SUPPLY_NAME=BAT1
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=381
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7500000
POWER_SUPPLY_VOLTAGE_NOW=8648000
POWER_SUPPLY_POWER_NOW=6270000
POWER_SUPPLY_ENERGY_FULL_DESIGN=38152000
POWER_SUPPLY_ENERGY_FULL=33285000
POWER_SUPPLY_ENERGY_NOW=31485000
POWER_SUPPLY_CAPACITY=94
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_MODEL_NAME=X910528
POWER_SUPPLY_MANUFACTURER=DYN
POWER_SUPPLY_SERIAL_NUMBER=XXXXXXXXXXX

Wie man sieht, zur Zeit ist der Ladestand der Batterie bei 94 % und sie wird mit rund 6 Watt geladen.

„Aber da stehen doch nur blanke Zahlen, woher weißt Du jetzt, daß das 6 Watt sind?“

POWER=> µW ( 1/1.000.000 tel Watt )
ENERGY=> µWh
VOLTAGE=> µV

Woher wissen wir, daß das stimmt?

Wir checken es gegen mit upower 🙂

upowerd ist ein ein Dienst, der sich um die Energieangelegenheiten kümmert und alle Batterien oder batteriebetriebenen Geräte erfasst und deren Verhalten protokolliert. Schritt 1 für Euch wäre also upower zu installieren (Fedora) und den Service zu starten:  dnf install upower -y && systemctl enable –now upower

Zum Glück für Euch ist der bei den meisten Distros per Default dabei, weil alle Desktopumgebungen ( Gnome, Cinnamon etc. ) den haben wollen für die Energiestatistiken.

Batterien & Geräte finden

upower listet Euch alle Informationsquellen auf. Das DisplayDevice gibt es immer, selbst auf Desktop-PCs.

# upower -e
/org/freedesktop/UPower/devices/battery_BAT1
/org/freedesktop/UPower/devices/line_power_ADP1
/org/freedesktop/UPower/devices/DisplayDevice

Das DisplayDevice ist eine Art Default Gerät, das kann man immer anzeigen und im Falle des Tablets ist das mit der Batterie identisch. Es ist allerdings etwas aufgeräumter als die individualanzeigen der beiden Geräte ADP1 und BAT1, was der Sache aber nicht abträglich ist, weil alles wesentliche drin ist:

# upower -i /org/freedesktop/UPower/devices/DisplayDevice
power supply: yes
updated: Do 18 Sep 2025 08:55:45 CEST (19 seconds ago)
has history: no
has statistics: no
battery
present: yes
state: charging
warning-level: none
energy: 32,947 Wh
energy-full: 33,285 Wh
energy-rate: 3,75 W
charge-cycles: N/A
time to full: 5,4 minutes
percentage: 98%
icon-name: ‚battery-full-charging-symbolic‘

Wie man sehen kann schlägt die Ausgabe auch das anzuzeigende Symbol für den Desktop vor 🙂

Vergleichen wir das mit der Detailansicht der Batterie

# upower -i /org/freedesktop/UPower/devices/battery_BAT1
native-path: BAT1
vendor: DYN
model: X910528
serial: XXXXXXXXX
power supply: yes
updated: Do 18 Sep 2025 08:59:15 CEST (14 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
warning-level: none
energy: 32,947 Wh
energy-empty: 0 Wh
energy-full: 33,285 Wh
energy-full-design: 38,152 Wh
energy-rate: 3,427 W
voltage: 8,672 V
charge-cycles: 381
time to full: 5,9 minutes
percentage: 98%
capacity: 87,2431%
technology: lithium-ion
icon-name: ‚battery-full-charging-symbolic‘
History (rate):
1758178755 3,427 charging
1758178725 3,472 charging
1758178695 3,510 charging
1758178665 3,555 charging

Da finden wir am Ende sogar noch eine Historie des Lade- oder Entladevorhangs und können so Vorhersagen zur Laufzeit treffen.

Jetzt kann upower in der Konsole aber noch mehr, weil man ja nicht ständig den Befehl benutzen will, kann man sich auch alle Updates zu Ent/Ladevorgängen anzeigen lassen: upower –monitor –monitor-detail

Sobald es was Neues gibt, bekommt ihr die obige Anzeige des jeweiligen Gerätes angezeigt, was notorisch Ungeduldigen in die Hände spielt 😉

Bluetooth Headset Ausgabe

Der Monitormodus entdeckt auch, wenn ein neues Gerät, in dem Fall ein BT Headset, hinzugefügt wird:

[09:05:40.286] device added: /org/freedesktop/UPower/devices/headset_dev_XXXXXXXXXXXXXX
native-path: /org/bluez/hci0/dev_XXXXXXXXXXXX
model: Soundcore A1
serial: XXXXXXXXXXXXXXXXXXXX
power supply: no
updated: Do 18 Sep 2025 09:05:40 CEST (0 seconds ago)
has history: yes
has statistics: no
headset
warning-level: none
percentage: 90%
icon-name: ‚battery-missing-symbolic‘
History (charge):
1758179140 0,000 unknown
History (rate):
1758179140 0,000 unknown

Entschuldigt die XXXX Orgie, aber die MAC von dem Gerät geht das Internet nichts an 😉

Wir sehen hier wie versprochen auch den Ladezustand des Headsets. Mit dem Iconnamen bin ich nicht einverstanden, weil sich das irgendwie mit „Prozent: 90%“ nicht in Einklang bringen lässt.

Den upowerd könnt Ihr als Programm auch per DBUS-API abfragen, mehr Infos dazu findet Ihr hier:

https://upower.freedesktop.org/docs/