Zum Inhalt springen

qmail

aus Wikipedia, der freien Enzyklopädie
Qmail
Basisdaten

Entwickler Daniel J. Bernstein
Aktuelle Version 1.03[1]
Betriebssystem Unix-ähnliches System
Programmier­sprache C
Kategorie Mail Transfer Agent
deutschsprachig nein
cr.yp.to/qmail.html

qmail ist ein Mailserver für Unix-Systeme. Er wurde von Dan Bernstein entwickelt.

Der Hauptgrund für die Entwicklung von qmail war die Unzufriedenheit des Autors mit den bestehenden Lösungen. Insbesondere der bekannte Mailserver Sendmail fiel immer wieder durch Sicherheitslücken auf.[2] Daher wurde qmail so entworfen, dass es möglichst unanfällig für sicherheitskritische Schwachstellen ist. Bernstein hat im März 1997 eine Prämie von 500 US-Dollar für das Auffinden einer Schwachstelle ausgesetzt, und diese Prämie nach dem 10-jährigen Bestehen von qmail verdoppelt.[3] Diese Prämie wurde bisher noch nicht ausgezahlt, jedoch behauptet Wietse Venema, eine Lücke gefunden zu haben, was Daniel Bernstein bislang kategorisch bestreitet.[4] 2005 fand Georgi Guninski einen ausnutzbaren integer overflow, Bernstein verweigerte die Auszahlung jedoch mit dem Argument, die Sicherheitslücke sei nur theoretischer Natur und nicht praktisch ausnutzbar. Den Patch, der das Problem lösen würde, lehnte Bernstein ab; es wurde keine neue Version veröffentlicht. 2020 veröffentlichte Qualys einen funktionierenden Exploit, der selbigen integer overflow unter anderem bei der Standardkonfiguration aktiv ausnutzen konnte. Bernstein weigert sich weiter, diese Sicherheitslücke anzuerkennen.[5]

qmail hat eine modulare Struktur, jede der Aufgaben eines Mailservers wird von einem eigenen Programm erledigt. Dies steht im Gegensatz zu den meisten anderen Mail Transfer Agents, die meist eine monolithische Struktur besitzen. Durch diesen Ansatz entstehen kleinere Programme, die leichter zu warten und weniger anfällig für Fehler im Code sind.

Neben einem Mail Transfer Agent bilden die Module einen Mail Delivery Agent für das Post Office Protocol.[6] Zur Verwaltung von Mailinglisten bietet sich das ebenfalls von qmail-Autor Bernstein geschriebene Programm ezmlm an.

  • Maildir ist ein Speicherkonzept für E-Mails, das mit qmail eingeführt wurde.
  • XVERP ist eine Erweiterung für ESMTP, die Quellen von Bounce Messages offenlegt und auf qmail zurückgeht.[7]
  • Delivered-To leitet eine zusätzliche Kopfzeile von E-Mails ein, die überflüssige Zustellungen unterbindet und auf qmail zurückgeht.[8]

Die Software ist immer wieder Anlass für Diskussionen. Die Befürworter des Mailservers führen den einfachen Aufbau und das robuste Design ins Feld. Die Gegner kritisieren unter anderem die fehlenden Anti-Spam-/Virus-Merkmale, wie sie in modernen Mailservern zu finden sind. Die letzte offizielle Version von qmail ist aus dem Jahr 1998, als Spam noch wenig verbreitet war.

Ebenfalls Anstoß erregte bei vielen der ungewöhnliche Ansatz Bernsteins bei der Platzierung von qmail-Dateien im Dateisystem, zusammen mit den von ihm aufgestellten Restriktionen für die Weitergabe vorkonfigurierter qmail-Pakete, etwa in Linux-Distributionen. qmail stand zwar im Quelltext zum Herunterladen von Dan Bernsteins Webserver zur Verfügung, war von ihm aber nicht – wie sonst bei ähnlicher Software üblich – explizit unter eine Freie-Software-Lizenz gestellt worden, so dass das Urheberrecht dessen Veränderung und Weitergabe an Dritte ausschloss. Toleriert wurde die Weitergabe von Modifikationen und Erweiterungen in Form von Quelltext-Patches, wodurch zahlreiche Eigenschaften wie Spam- oder Virenschutz, SMTP-After-POP oder SMTP-Auth, die von Dritten implementiert wurden, „nachgerüstet“ werden konnten. Die Wartung einer solchen qmail-Installation war jedoch aufwändiger als zum Beispiel die Verwendung von fertigen Binärpaketen innerhalb einer Linux-Distribution, wie sie für die meisten anderen frei verfügbaren Mailserver möglich ist – Bernsteins restriktive Praxis, die Weitergabe von qmail-Binärpaketen nur dann zu gestatten, wenn sie genau mit seinem ursprünglichen Quellcode korrespondierten, zusammen mit dem Umstand, dass Bernsteins Standarddateistruktur für qmail dem Filesystem Hierarchy Standard für Linux widerspricht, führte dazu, dass die meisten Linux-Distributionen keine qmail-Binärpakete anboten.

Seit Ende 2007 ist qmail allerdings gemeinfrei,[9] womit sich dieses Problem grundsätzlich erledigt hat. Eine Reihe von qmail-Anwendern hat netqmail herausgegeben,[10] ein Paket, das einige wichtige Fehlerkorrekturen enthält, aber sonst nur wenige Änderungen gegenüber Bernsteins letzter Fassung integriert. Wichtige Zusatzeigenschaften wie SMTP-Auth, Transport Layer Security (TLS) und Virenschutz müssen wie bisher über zusätzliche Quelltext-Patches von Dritten realisiert werden,[11] was qmail einen Nachteil gegenüber anderen modernen Mailservern wie Postfix verschafft. Debian hat Binärpakete von qmail mit dem Wechsel von Squeeze zu Wheezy eingeführt.[12][13]

  1. cr.yp.to.
  2. Andreas Wilkens: Erneut Sicherheitslücke in sendmail. In: News. 30. März 2003. Auf Heise.de, abgerufen am 24. Februar 2026.
  3. Daniel J. Bernstein: Some thoughts on security after ten years of qmail 1.0. In: Association for Computing Machinery (Hrsg.): CSAW ’07 : Proceedings of the 2007 ACM workshop on Computer security architecture. Fairfax Virginia, 2. November 2007, ISBN 978-1-59593-890-9, S. 1–10, hier: S. 2. Auf cr.yp.to (PDF; 161,5 kB), abgerufen am 24. Februar 2026 (englisch).
  4. Wietse Venema’s slander. In: qmail. 2001. Auf cr.yp.to, abgerufen am 24. Februar 2026 (englisch).
  5. [oss-security] Remote Code Execution in qmail (CVE-2005-1513). In: oss-security. Mailing list ARChives (MARC), 19. Mai 2020, abgerufen am 24. Februar 2026 (englisch).
  6. Daniel J. Bernstein: Building a POP toaster. In: qmail. cr.yp.to, abgerufen am 24. Februar 2026 (englisch).
  7. Postfix VERP Howto. Wietse Venema, abgerufen am 24. Februar 2026 (englisch).
  8. Local(8). In: Postfix Manual. Wietse Venema, abgerufen am 24. Februar 2026 (englisch).
  9. Oliver Diedrich: Qmail ist Public Domain. In: News. Heise online, 3. Dezember 2007, abgerufen am 24. Februar 2026.
  10. Mohammad Anwari: Readme. In: mdamt › netqmail. 11. Februar 2014. Auf Github.com, abgerufen am 24. Februar 2026 (englisch).
  11. Siehe Russell Nelson: netqmail. 2. Februar 2005. Auf qmail.org, abgerufen am 24. Februar 2026 (englisch).
  12. qmail-control – qmail Configuration files. In: wheezy › qmail › qmail-control(5). Debian.org, 12. April 2012, abgerufen am 24. Februar 2026 (englisch).
  13. qmail – Overview of qmail Documentation. In: wheezy › qmail › qmail(7). Debian.org, 12. April 2012, abgerufen am 24. Februar 2026 (englisch).