Sendmail - Eure Meinung

Basti89

Member
Hi Leute,

ich hoffe, dass ich hier in der richtigen Rubrik bin.

Sendmail ist unter UNIX der am weitesten verbreitete MTA. In den letzten Jahren habe ich mich entgegen der Empfehlung von anderen überwiegend mit Sendmail anstatt Postfix, Exim usw. beschäftigt.

Ich finde Sendmail den mit Abstand technologisch besten MTA.

Da die Firma wo ich momentan neben meinem Studium arbeite eine neue Maillösung braucht habe ich dort Sendmail aufgebaut, installiert und konfiguriert inklusive Spam/Mailfiltering per amavis, clamav und spamassassin.

Konzept:

- 2 Interne Sendmailserver zum verteilen / annehmen
- 2 Frontendserver (öffentliche IP, MX Records) mit prequeue Filtering Amavis, Spamassassin/ Clamav

Das ganze läuft wunderbar, Spam ist praktisch Geschichte.

Allerdings habe ich für die Entscheidung auf Sendmail zu gehen viel Kritik einstecken müssen ... Einige haben mich total genervt warum ich nicht Postfix oder exim nehme und sind tatsächlich der Meinung, dass Sendmail eine Sicherheitslücke darstellt und nun wollen die auf Postfix migrieren. Nur aus dem Grund, weil Sendmail mit Rootrechen läuft … was zum Teufel ist daran so schlimm?

Klar, rein theoretisch könnte man wenn man Sendmail erfolgreich angreift damit volle Kontrolle über das entsprechende UNIX System haben. Aber Sendmail ist nach über 20 Jahren Entwicklung doch dermaßen ausgereift, zuverlässig und stabil, dass die Wahrscheinlichkeit eine so kritische Sicherheitslücke zu finden um das entsprechende UNIX System anzugreifen doch locker unter 1% liegt.

Ist Postfix z.B. wirklich sicherer nur weil die Programmteile in verschiedenen Prozessen laufen? Oder ist das ein Trugschluss?

Mich würde eure Meinung dazu interessieren.
 
Hm...zu Sendmail selber kann ich jetzt wenig sagen (ich bevorzuge Qmail auf Grund von Erfahrung/Wissen damit), aber ich habe ein paar erweiternde Fragen/Aussagen zu deiner Darstellung:

Welche Größenordnung hat die Installation denn im Form von Usermailaccounts und tägliches Mailaufkommen?

Wenn denn "von anderen" der Wunsch gehegt wird auf Postfix oder Exim zu wechseln: Wer würde diesen Wechsel dann machen? Jemand der sich super mit entsprechendem MTA auskennt, oder geht es hier nur um religiöse Gründe?
(will damit sagen: Was nützt eine Postfix/Exim Installation, wenn man keinen entsprechend fitten Admin dazu hat? Die Sicherheit eines Servers ist schließlich auch auschlaggebend vom zuständigen Admin und dessen Fähigkeiten abhängig. Wenn dieser sich aber besser mit Sendmail statt mit etwas anderem auskennt...warum dann zu etwas anderem zwingen?)

Und noch eine Frage in die Runde: Wenn Sendmail so ein Sicherheitsrisiko wäre, warum sind dann die Entwickler nicht mal selbst auf die Idee gekommen die Rechte des Prozesses anzupassen um dieses "Sicherheitsrisiko" zu beseitigen?
Warum ist er denn als Default-MTA in vielen Distributionen mit dabei wenn die Sicherheit wirklich so grottig wäre?

Als ich mich damals für Qmail entschieden habe, war mein Wissen bezüglich MTA = Null. Auch ich kann mich erinnern das ich damals (vor ca. 5 Jahren) viel über Sicherheitsrisiken zu sendmail gelesen habe...was bestimmt durchaus meine Entscheidung mit beeinflusst hat.
Hätte ich jedoch schon Erfahrung mit einem anderen MTA gehabt, dann hätte ich mit sehr hoher Wahrscheinlichkeit diesen gewählt.
 
Hi cla,

danke für deine Antwort.

Umgebung: 100 User, Backend Groupware: Exchange

Aus Kostengründen hat man dort allerdings nur einen Exchange Server und den Rest habe ich mit Sendmail realisiert. Man könnte zwar mit Exchange auch mehrere Hub Transportserver machen und mit der Edge Rolle ein Frontend, allerdings ist das auch erheblich teurer.

Dazu kommt noch das UNIX bzw. Sendmail für solche Aufgaben viel besser geeignet ist und dazu Open Source also kostenlos.

Wenn die auf Exim/Postfix migrieren soll ich das machen... allerdings habe ich überhaupt keine Ahnung von Postfix/Exim...

Nur zweifel ich langsam an mir selbst... da meinte einer ich bin noch so "jung" und setze alte konservative Technologien wie Sendmail ein die laut seiner Aussage "von gestern sind".

Ist es denn wirklich heutzutage falsch wenn man eine neue Mailserver Lösung realisiert noch Sendmail einzusetzen?

Ich benutze wirklich sehr gerne Sendmail und alles was ich damit bisher realisieren wollte konnte ich auch realisieren.

Übrigens nutzen Firmen wie IBM, Redhat oder Oracle auch Sendmail :) Solche Unternehmen würden doch sicher keine Technologie von gestern einsetzen?

Das werde ich wohl auch als Argument bringen bei Sendmail zu bleiben. Ansonsten werde ich mir wohl einen anderen Job neben der Uni suchen müssen …
 
Anstatt "konservativ" könnte man auch "bewährt" sagen :-)

Wer sind denn "die" Leute, die dir da mit Argumenten entgegensetzen? Admin-Kollegen? Management? Entscheidungsträger? (mit anderen Worten: Haben diese Leute eine Ahnung von was sie sprechen (vorausgesetzt du kannst das beurteilen)?)

Aber gut...wenn sie denn eindringlich eine Änderung auf Postfix/Exim/wasimmerauch wünschen und entsprechend Begründen können...was hindert dich daran es zu tun (ausser evtl. mangelndem Wissen in anderen MTAs)? Ist doch für dich eine gute Gelegenheit Neues zu lernen und das Wissen zu erweitern.
Die anderen MTAs sind definitiv auch gut und das neue Wissen kannst du für dich nur als Vorteil sehen.
Ich würde an deiner Stelle dann wohl zu postfix tendieren...

Aber vielleicht findet sich hier im Forum ja noch wer, welcher lebensnahe und längere Erfahrungen mit MTAs hat und etwas zu sendmail in der Praxis sagen kann.
 
Sendmail ist ein guter MTA (hat fast alles, was man sich wünscht), aber wahnsinnig scheiße zu konfigurieren. Wer den Müll namens m4 überhaupt erfunden hat, gehört in den Weltall geschossen. Ich hasse alle Sachen, die auf m4 basieren, weil jede solche Software pro Zeile ein Handbuch braucht. Bis zum nächsten Mal kann man sich sowieso nicht mehr daran erinnern, was man mit einer Zeile bezweckt hat. Sie haben nämlich mehr Nebeneffekte als direkte Effekte.

Bezüglich m4 kann nur noch das beschissene autoconf und automake, sendmail toppen.

Ich habe Sendmail etwa 7 Jahre lang als Standard-MTA benutzt. Ich habe aber festgestellt, dass um eine Kleinigkeit einzustellen (DomainKeys/DKIM), man viel an dem Teil umbasteln müsste, inklusive neu kompilieren. Dann habe ich es in die Tonne gehauen und mir Postfix angeschaut. Wunderbar... eine Zeile macht eine Einstellung! Und wenn man richtig im Handbuch blättert, dann findet man dass die Schlüsselwörter in der Konfiguration ein bestimmtes Schema haben (das kann man bei Sendmail vergessen!). Dann habe ich alles gefunden, was ich brauche (inklusive Sachen, die komplizierte experimentelle Module bei sendmail brauchen, wie eine Outgoing-Mail-Weiche zu mehreren SMTP-Servern). Konfigurationsaufwand von 10 Minuten, wo ich früher bei Sendmail fast zur Rage gebracht wurde, um herauszufinden warum ein Schlüsselwort vor einem anderem gar keine Wirkung hat in diesem blöden m4-Gedöns. Sendmail ist bezüglich m4 eine typische Software aus den 80ern, wo keiner so richtig Ahnung programmieren hatte (meine Meinung).
 
Hallo Basti89,

dein Setup klingt vernuenftig und du scheinst Ahnung von sendmail zu haben. Zudem funktioniert alles. Das unterscheidet dich offensichtlich von den Kritikern: Deren Wissen ist definitiv arg beschraenkt (hoher Tellerrand!) und eine ordentliche, dauerhafte Funktion des anderen Setups ist keineswegs bewiesen.

Ich nutze selbst sendmail seit x Jahren fuer alle Zwecke, auch grosse Installationen. sendmail kann ich uneingeschraenkt empfehlen.
Nebenbei: Wenn jemand ene sendmail.mc nicht bearbeiten kann oder moechte, ist die Wahrscheinlichkeit, dass er auch einen Exchange/Postfix oder sonstwas nicht im Griff hat, ebenfalls recht hoch. Er sollte also moeglicherweise besser die Finger von MTAs lassen.
 
Ich sage mal so. Wenn man Sendmail-Installationen hat, die zufriedenstellend laufen, sollte man sie auch tunlichst laufen lassen. Eine Umstellung auf einen anderen MTA bringt fast nie Vorteile, die in einem vernünftigen Verhältnis zum Aufwand stehen. Das mag sich allenfalls dann lohnen, wenn größere Änderungen ins Haus stehen. Aber Neuinstallationen damit? Ohne mich, dafür bin ich einfach nicht masochistisch genug, Nakal bringt es gut auf den Punkt. Dafür macht einem Postfix das Leben viel zu einfach.

Zu Rootrechten: Man wird mich nun wieder schlagen, aber ich stehe auf dem Standpunkt, dass Personen die sagen "$Anwendung ist böse, weil sie als root läuft" am Thema vorbei argumentieren. Natürlich ist es immer besser, wenn Dinge als unprivilegierter Nutzer laufen, da sie wie gesagt dann unprivilegiert sind. Aber das allein bringt einen allenfalls minimalen Sicherheitsgewinn, denn die meisten der heute üblichen Attacken - Botnetz installieren, Daten klauen - funktionieren auch wunderbar ohne Rootrechte. Schlicht, weil fast immer vergessen wird, diese unprivilegierten Nutzer weit genug einzuschränken. Alle mir bekannten Systeme sind in der Hinsicht in Standardeinstellung offen wie ein Scheunentor. Da kann Code hochgeladen und ausgeführt werden, da "noexec" nicht genutzt wird. Da können beliebig viele Programme gestartet werden, da die Limits gigantisch hoch liegen. Da kann man sich nicht selten sogar mit ein paar Tricks Devices erstellen... Frage diejenigen mal, die sagen root sei böse, was sie denn machen um ihre unprivilegierten Nutzer einzuschränken. Die meisten gucken dich nur dumm an. Außerdem sage ich als alter FreeBSDler mal so. Der jail() Syscall kann auch von root nicht umgangen werden...
 
Ich will das mal ganz banal so sagen.

Es ist viel gefährlicher ein System, das man nicht kennt einzusetzen als Sendmail. Dort fehlt das Konfigurationsknowhow und das Risiko etwas unsicher zu Konfigurieren und als Spam Relay zu enden, oder der gleichen ist viel höher.

Das einzige gültige Argument gegen Sendmail ist doch die komplizierte Konfiguration. Und da du das KnowHow schon hast, ist das ja wohl hinfällig.

Wenn der Chef sagt, du sollst migrieren - tu das und gib dir Mühe, ist ja dein Chef. Aber lass um Himmels willen dein Sendmail als Fallback auf dem Rechner und sei dir gewiss, dass wir das genauso für eine Fehlentscheidung halten wie du.

Es spricht nicht unbedingt für Führungsqualitäten, wenn man sich gegen das KnowHow der Mitarbeiter entscheidet. Wenn dann sollte das Konsequent erfolgen, das heißt man sollte dich auf eine Schulung schicken oder dir zumindest Zeit und Hardware zum Experimentieren zur Verfügung stellen.
 
Hi Leute,

danke für die Antworten. Das größte Problem ist wohl, dass ich dort nur neben der Uni arbeite. Da sind zwei typische "Windows Admins" die von UNIX, LINUX geschweige denn sonstiger OSS Software = 0 Ahnung haben. Aber MCSE und was weiß ich nicht alles für Zertifizierungen.

Um Geld zu sparen habe ich dem Geschäftsführer vorgeschlagen 4 Mailserver auf Sendmail zu migrieren. Die ganze Migration hat wunderbar geklappt. Die normalen 0815 Mitarbeiter sind auch zufrieden und die Geschäftsleitung ist erstaunt wie wenig SPAM nur noch durchkommt.

Da ich das dort wegen meinem Studium nicht ewig machen werde, sollte ich die Windows Admins darauf einstellen, dass die sich um Sendmail kümmern wenn ich mal weg bin.

Aber als ich angefangen habe denen die Konfigurationsdateien zu zeigen und nur die "leichten" Zusammenhänge zu erklären ging das Theater los... dann haben die zwei noch bei Google geschaut und sich Infos besorgt wie "unsicher" Sendmail angeblich sei und mich bei der Geschäftsführung damit schlecht gemacht :(

Naja was soll ich da noch sagen?

Durch meine Lösung werden eine Menge Windows Lizenzkosten und teure (neue HW) gespart und man hat noch eine bessere Filterung und mehr individuelle Möglichkeiten als mit Exchange Hub / Edge Transportservern.

@nakal

Was war denn dein Problem mit DKIM?

Bei mir ist DKIM genau eine Zeile gewesen:

INPUT_MAIL_FILTER(`dkim-milter', `S=inet:8891@localhost')dnl

Ich weiß nicht wie das mit einem anderen MTA leichter sein soll?

Ich bin allgemein erstaunt, dass viele finden, dass Sendmail so kompliziert zu konfigurieren ist...
 
Ich sag mir immer: Solange OpenBSD sendmail als standard-MTA verwendet, kann das Ding so unsicher nicht sein*. Ihr FAQ 1.11 sagt dazu:

Why is Sendmail included, it is "known insecure"?!
Sendmail has had an imperfect security record, however the Sendmail authors and maintainers have been very receptive to reworking their code to make it much more secure (and this is a sadly uncommon response). The recent security history of Sendmail is not much different than some of the supposedly "more secure" alternatives.

* Allerdings kommen für OpenBSD ja einige Alternativen auch nicht in Frage, weil sie nicht die richtige Lizenz mitbringen... insofern sollte man weiterhin die Entwicklung von OpenSMTPD verfolgen. Die Entwickler von OpenBSD schaffen es doch immer wieder Software nicht nur sicher sondern auch vergleichsweise einfach zu machen (was ja wiederum zur Sicherheit beiträgt).
 
Aber MCSE und was weiß ich nicht alles für Zertifizierungen.
MCSE = MineSweeper Consultant and Solitair Expert. :D

Trotzdem ist das eine blöde Situation. Die Zwei wollen nicht und schieben die Gegenargumente vor, um das Ding von der Backe zubekommen. Wobei ich sie in gewisser Weise auch verstehen kann. Sendmail ist nix für mal so nebenbei. Da muss man schon fit sein. Und die GV möchte natürlich nicht, das nur eine Person damit umgehen kann. Ich habe mir schon beim Lesen Deines ersten Posts gedacht, dass es um mehr als sachl. Gegenargumente geht. Bei Frauen würde man soetwas wohl als Zickenkrieg bezeichnen. :rolleyes:

INPUT_MAIL_FILTER(`dkim-milter', `S=inet:8891@localhost')dnl
Ich nutze ja auch Sendmail, weil ich es schon lange tue, aber trotzdem ist die genannte Zeile nicht gerade selbsterklärend. Ich breche mir beim Erstellen der mc-File immer einen ab, aber trotzdem habe ich mit ihm immernoch die meisten Erfahrungen.

Sendmail, der ja zum UNIX-Urgestein gehört, ist halt etwas für richtige Männer. :cool:

c.
 
Das Problem war, dass ich die DKIM-signierten E-Mails an einen SMTP mit TLS senden wollte (mit Login), und zwar nur dann, wenn sie im "From:"-Header einen bestimmten Mailhost-Namen haben und sonst gilt das ganze als lokale Zustellung und wird nicht signiert. E-Mails, die einen unbekannten Mail-Host adressieren sollen mit Fehler zurückkommen.

Unter Sendmail ist mir das ganze nicht klar. Unter Postfix habe ich (inklusive ersten Schritten beim Lernen von Postfix, beim Lernen des DKIM-Verfahrens, der kompletten Neukonfiguration meines Servers, wegen der Umstellung) exakt einen Tag gebraucht. Da ist alles was man braucht dabei und in einer verständlichen Form verfasst.
 
Sendmail, der ja zum UNIX-Urgestein gehört, ist halt etwas für richtige Männer. :cool:

Joa sehe ich auch so :)

Aber eigentlich geht es mir auch darum, weil Sendmail einfach leicht zu handhaben ist :D

Wenn ich mir in Postfix anschaue was es da alles für verschiedene restrictions gibt... ohne Worte.

Lange Rede kurzer Sinn:

Habe heute mit dem Geschäftsführer gesprochen und Sendmail bleibt.
Ich habe auch mal damit argumentiert wieviele Großkonzerne Sendmail aktiv nutzen und in wievielen UNIX Varianten Sendmail Standard ist und Firmen wie Redhat usw. würden nicht Sendmail zum Default MTA machen wenn das Teil eine Sicherheitslücke wäre.

Von daher bleibt das ganze so wie es ist :)
 
Niemand hat auch gesagt, dass Du es auswechseln sollst, wenn es für Dein Szenario passt und Du damit am besten umgehen kannst.

Manche Konfigurationen sind halt so plausibel, dass Sendmail völlig unkompliziert ist. Man kann quasi die Standardkonfiguration oft übernehmen. Sobald man aber etwas anspruchvolleres hat, lernt man bei Sendmail es zu hassen.
 
@nakal

Jop, wobei ich Sendmail auch in komplexen Umgebungen sehr angenehm finde.

Die Frage ist jetzt, ob du Sendmail nur als MTA benutzt (wie ich) oder Sendmail auch als User Agent also das User von dem Linux System direkt mit POP/IMAP Mails verschicken.

In den meisten Firmen ist ja irgendeine Groupware vorhanden und Sendmail fungiert nur als Switch / Gateway / Relay / MX Record / Mailfilter dazwischen.

Für diese Fälle also Sendmail als MTA finde ich Sendmail den besten MTA den es gibt.

Ich frage mich nur immer wieder und vielleicht weiß ja hier jemand darauf eine Antwort...

Warum ist Sendmail so unbeliebt? Das verstehe ich einfach nicht... alle rennen dem Exim, Postfix Hype nach...
 
Ein Grund wurde bereits mehrfach erwähnt: Die Konfiguration ist nicht gerade das was man als "selbstverständlich" versteht. Insbesondere bei Mailservern ist es imho wichtig, dass man versteht was in der Konfiguration steht und was die Dinge bewirken.

Wenn du dich mit sendmail auskennst ist das fein. Das sendmail schlecht ist sagen vermutlich die wenigsten. Warum ich sendmail nicht einsetze ist ganz einfach: Ich verstehe die Konfiguration nicht und inzwischen will ich sie auch nicht mehr verstehen. :)
 
Die Syntax der Konfiguration ist schlimm. So etwas kenne ich von Firmen, die nichts auf die Reihe kriegen. Sie sind in den 80ern stecken geblieben und programmieren auf Kinderniveau fröhlich weiter. m4 ist so ein Kandidat für eine schreckliche Art, Software zu konfigurieren.

Durch fehlende feste Syntax (inkonsistente Syntax) und fehlende offensichtliche Hierarchien (also logische Unterteilung der Konfiguration) ist es einfach nur Spaghetti was man da erzeugt. Hinzu kommt, dass man den Müll den man da produzieren muss irgendwann nur noch mit einem Syntax-Highlighter lesen kann.

Für eine Konfiguration darf man nicht viel implizites Wissen brauchen. Wenn Benutzer so denken wie (Beispiel aus der MS-Windows-Anwendungswelt) "ich muss immer hier hoch und runter scrollen, damit im nächsten Schritt alles richtig läuft" und sind dann übrigens zufrieden mit diesem Nebenwissen (was eigentlich ein GUI-Bug ist) dann ist das schrecklich. Genauso ist das unter Sendmail. Man braucht viel unnützes Wissen, um eine generelle einfache Konfiguration zu machen und bis zum Ende versteht man da eh nix, weil man da auf Gott und Welt vertraut.

Dass Sendmail irgendwann funktioniert, wenn man durch die Konfigurationshölle durch ist, ist keine Frage. Ich habe schon viele Male ein Tutorial befolgt, um eine einzige Einstellung zu machen (was ich schon alleine für lächerlich halte) und dann hat das Tutorial nicht mal geklappt. Auch Einstellungen aus den (semi)offiziellen Dokus scheinen mir abstrus zu sein und immer an dem vorbei zu konfigurieren was ich eigentlich will. Wenn man die 50te Anweisung ausprobiert, die so ähnlich klingt wie das was man eigentlich machen will, aber doch feststellt, dass es nicht das ist, was man haben wollte, dann ist die Doku einfach nur Kacke.

Da spare ich mir die Zeit und schaue auf die klar benannten und strukturierten Konfigurationsanweisungen mit einer plausiblen Syntax bei Postfix.

Und wenn mir Makrosprachen Spaß machen, dann nehme ich bestimmt kein m4 um eine Konfigurationshölle zu schaffen, sondern was ordentliches. Das geht immer bei textuellen Konfigurationen.

Wenn ich mir anschaue, dass ich 7 Jahre lang Sendmail mit Standard-Einstellungen betrieben habe und nichts großartiges gemacht habe, weil es mir auf den Sack gegangen ist, alleine in die Konfiguration von Sendmail reinzuschauen... und nun nach 1 Tag Postfix meine Konfiguration, die ich eigentlich haben wollte, doch umgesetzt habe und sie sogar gut verstehe, dann sehe ich ganz große Vorteile, dass ich da umgestiegen bin.

Wie schon gesagt. Sendmail ist nett, aber nur wenn man das nicht anfassen muss (lokale Zustellung, z. B.).
 
Sendmail ist super, aber ich kann deine Kollegen verstehen. Wenn du nämlich vom Bus überfahren wirst, stehen sie da und haben Null Ahnung, was sie machen sollen.
 
Wen jemand ein problem mit root rechten und Sendmail hat, sollte einfach dazu übergehen Sendmail in einem Jail laufen zu lassen. Dann hat man sogar noch ne prima Möglichkeit mit "parallel Jails" zu arbeiten um upgrades zu testen und umzuschwenken.
 
Ich habe inzwischen eine kleine Sendmail/Postfix Odysee hinter mir und bin doch immer wieder bei Sendmail haengengeblieben. Zwar habe ich fuer ein Firmenumfeld ein sehr komplexes Postfix-Setup realisiert, privat bin ich jedoch bei Sendmail geblieben. Dann habe ich mit viel Aufwand mein privates Setup auf Postfix portiert, ging auch, aber sobald man komplexere Sachen macht (LDAP, Virtual Domains, einige mit, einige ohne Spamfilter, DKIM, etc.) wird die Konfiguration genauso unuebersichtlich wie bei Postfix. DKIM war dann auch der Tropfen, welcher das Fass zum ueberlaufen gebracht hat und nun bin ich wieder bei Sendmail gelandet.

tl;dr
Nimm die Software, mit der du dich auskennst und welche du konfigurieren kannst. Solltest du Features vermissen, dann schau dir was anderes an.
 
Zurück
Oben