Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Newbie: sendmail

1 view
Skip to first unread message

Michael Kress

unread,
Jul 29, 2003, 4:01:32 AM7/29/03
to
Hallo,

mein Linux (Suse Linux Office Server) läuft, nur mit der Konfiguration als
Mailserver habe ich Probleme. Ich habe schon diverse Hilfeseiten aufgerufen,
aber irgendwie läuft es nicht. Deshalb drei Fragen:

a) Kennt jemand eine Seite, auf der ein *.mc-Beispielfile abgelegt ist, das
eine Standard-Konfiguration erzeugt (T-online ISDN zeitabhängig,
T-Online-SMTP-Relay)?

b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
soll? In der sendmail.cf ist hierfür kein Eintrag, oder?

c) Wenn ich es richtig verstanden habe, übernimmt procmail die Aufgabe, die
Mails an die lokalen Benutzer weiterzuleiten. Dort kann ich sie dann mit
einem Mailprogramm (z.B. von einem Windows-Rechner aus) abholen. Worauf
greife ich denn dann zu, oder muss ich noch ein extra Programm starten?

Sorry für die Fragen, aber 10 Jahre Windows-Arbeit hinterlassen halt ihre
Spuren.

Gruss, Michael

--
Michael Kress
Au am Rhein
michae...@web.de


Kim Huebel

unread,
Jul 29, 2003, 4:13:04 AM7/29/03
to
Michael Kress wrote:

> b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
> smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
> soll? In der sendmail.cf ist hierfür kein Eintrag, oder?

Nirgends muss was eingetragen werden, weil t-online dich mit dem Dialin
identifiziert und du dann unbeschränkten Zugang auf den smtp-relay hast.

> c) Wenn ich es richtig verstanden habe, übernimmt procmail die Aufgabe, die
> Mails an die lokalen Benutzer weiterzuleiten. Dort kann ich sie dann mit
> einem Mailprogramm (z.B. von einem Windows-Rechner aus) abholen. Worauf
> greife ich denn dann zu, oder muss ich noch ein extra Programm starten?

Du benötigst hier einen pop3-Server, den du auf deinem Mailserver
startest. Es gibt derer verschiedene, z.B. welche, die gleichzeitig noch
IMAP-Server spielen, oder IMAP-Server, die nebenbei noch pop3 können.
Die Auswahl fällt schwer, weil gerade auf diesem Sektor auch immer
wieder "Sicherheitsprobleme" zu finden sind. Am besten ist, du blätterst
mal die CERT-Meldungen durch und schaust, mit welchem Server du da leben
kannst.

> Sorry für die Fragen, aber 10 Jahre Windows-Arbeit hinterlassen halt ihre
> Spuren.

Ich weiss... Unter Windows installiert man nen Exchangeserver, hat seine
Dienste damit alle unter einem Hut, hat aber auch nen Haufen Probleme am
Bein.

> --
^^- Sigtrenner defekt, da fehlt ein Leerzeichen hintendran.

> Michael Kress
> Au am Rhein
> michae...@web.de
>
>

regards, Kim

--
Glaubt Chiap Zap kein Wort - Warum? Groups.google.de weiss es!
--------------------------------------------------------------------
Realnamen in der From:-Zeile sowie gültige Emailadressen erhöhen die
Chance gelesen zu werden und sinnvolle Antworten zu erhalten!

Peter Presslein

unread,
Jul 29, 2003, 6:01:44 AM7/29/03
to
Michael Kress wrote:

> a) Kennt jemand eine Seite, auf der ein *.mc-Beispielfile abgelegt ist, das
> eine Standard-Konfiguration erzeugt (T-online ISDN zeitabhängig,
> T-Online-SMTP-Relay)?

Im Netz ;-)

> b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
> smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
> soll? In der sendmail.cf ist hierfür kein Eintrag, oder?

Wenn du mit m4 arbeitest, dann ist der Eintrag

DefaultAuthInfo(`/etc/mail/access')dnl

sofern du von SMTP-Auth sprichst.

Im access-file muss natürlich der AuthInfo-Eintrag
vorhanden sein.

> c) Wenn ich es richtig verstanden habe, übernimmt procmail die Aufgabe, die
> Mails an die lokalen Benutzer weiterzuleiten. Dort kann ich sie dann mit
> einem Mailprogramm (z.B. von einem Windows-Rechner aus) abholen. Worauf
> greife ich denn dann zu, oder muss ich noch ein extra Programm starten?

Zum Beispiel "popd" muss laufen, denn du willst die Mail ja abholen.

hth,

Peter

Message has been deleted

Joern Bredereck

unread,
Jul 29, 2003, 9:40:38 AM7/29/03
to
Kim Huebel wrote:

>> b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
>> smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
>> soll? In der sendmail.cf ist hierfür kein Eintrag, oder?
>
> Nirgends muss was eingetragen werden, weil t-online dich mit dem Dialin
> identifiziert und du dann unbeschränkten Zugang auf den smtp-relay hast.

ich habe ihn so verstanden, dass er wissen möchte, wo er den Relay-Server
hinterlegen soll (also wo er das smtprelay.t-online.de einträgt).

Das geht zum einen direkt in der sendmail.cf (sollte man aber nicht machen).
Zum anderen erstellt man sich eine neue sendmail.cf auf einer angepassten
sendmail.mc. Da mir das zu aufwendig ist, und da Sendmail meist mit der
mailertable-Unterstützung von den Distri's ausgeliefert wird, trage ich den
Smarthost in die /etc/mail/mailertable ein:

. smtp:smtprelay.t-online.de

(man beachte den Punkt (.) am Anfang der Zeile).

Danach die Mailertable mit

makemap hash /etc/mail/mailertable.de < /etc/mail/mailertable

neu übersetzen.

Zum Schluss empfehle ich dem OP die Lektüre der Sendmail-IGA und später (bei
Bedarf) der offiziellen Sendmail-Dokus:

1. http://www.uugrn.org/sendmail/files/
2. http://www.sendmail.org


Gruss,

Jörn

Henning Follmann

unread,
Jul 29, 2003, 9:23:30 AM7/29/03
to
"Michael Kress" <michae...@web.de> writes:

> Hallo,
>
> mein Linux (Suse Linux Office Server) läuft, nur mit der Konfiguration als
> Mailserver habe ich Probleme. Ich habe schon diverse Hilfeseiten aufgerufen,
> aber irgendwie läuft es nicht. Deshalb drei Fragen:

Da stellt sich nur eine Frage:
Bist Du wirklich in der Lage Sendmail sicher und richtig zu konfigurieren?
Sendmail sollte generell nicht die erste Wahl sein. Alternative mta waeren:
qmail, exim, postfix.
Oder gibt es einen Grund, weshalb Du nur Sendmail verwenden kannst?

>
> a) Kennt jemand eine Seite, auf der ein *.mc-Beispielfile abgelegt ist, das
> eine Standard-Konfiguration erzeugt (T-online ISDN zeitabhängig,
> T-Online-SMTP-Relay)?

www.sendmail.org

>
> b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
> smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
> soll? In der sendmail.cf ist hierfür kein Eintrag, oder?

Meinst Du smtp auth?
siehe access.db

>
> c) Wenn ich es richtig verstanden habe, übernimmt procmail die Aufgabe, die
> Mails an die lokalen Benutzer weiterzuleiten. Dort kann ich sie dann mit
> einem Mailprogramm (z.B. von einem Windows-Rechner aus) abholen. Worauf
> greife ich denn dann zu, oder muss ich noch ein extra Programm starten?

Deinen localen mailer kannst Du waehlen. Um procmail zu verwenden:
MAILER(`procmail') dnl

Je nachdem wie Du procmail konfiguriert hast, legt procmail die Nachrichten
in einer/mehreren Datei(en) ab. Procmail ist in der Lage, die Nachrichten
in Maildir oder klassisch unter /var abzulegen.
Um die Nachrichet abzuholen kannst Du imap oder pop einsetzen (muessen als
Server laufen)

>
> Sorry für die Fragen, aber 10 Jahre Windows-Arbeit hinterlassen halt ihre
> Spuren.
>

Die Faehigkeit in der richtigen Newsgroup zu fragen oder Google zu
bemuehen?
comp.mail.sendmail existiert.

Cheers,
Henning

--
Henning Follmann | hfol...@itcfollmann.com
it consulting | http://www.itcfollmann.com

Henning Follmann

unread,
Jul 29, 2003, 9:27:33 AM7/29/03
to
Peter Presslein <ea1...@fen-net.de> writes:

> Michael Kress wrote:
>
>> a) Kennt jemand eine Seite, auf der ein *.mc-Beispielfile abgelegt ist, das
>> eine Standard-Konfiguration erzeugt (T-online ISDN zeitabhängig,
>> T-Online-SMTP-Relay)?
>
> Im Netz ;-)
>
>> b) Wo werden denn die Anmeldedaten für den SMTP-Server (bei mir:
>> smtprelay.t-online.de) übergeben, wenn die ganze Kiste automatisch laufen
>> soll? In der sendmail.cf ist hierfür kein Eintrag, oder?
>
> Wenn du mit m4 arbeitest, dann ist der Eintrag
>
> DefaultAuthInfo(`/etc/mail/access')dnl
>
> sofern du von SMTP-Auth sprichst.

Das braucht man in sendmail vers 8.12 nicht!
FEATURE(`access_db')
sollte im Normalfall ausreichen.
access.db liegt per Default unter /etc/mail

Gruss,

Henning Hucke

unread,
Jul 29, 2003, 1:51:22 PM7/29/03
to
On Tue, 29 Jul 2003, Henning Follmann wrote:

> [...]
> Sendmail sollte generell nicht die erste Wahl sein. [...]

Warum das denn?

> [...]

MG Henning Hucke
--
IcH fInDe AuCh, dAsS eS nIcHt So WiChTig IsT, eInEn TeXt In KoRrEcKtEr
gRoSs- Und KlEiNsChReIbUnG zU vErFaSsEn, Da DiEs DeR LeSbArKeIt KaUm
AbBrUcH tUt UnD zUdEm AuSdRuCk MeInEr InDiViDuAlItAeT iSt.
[Joachim Kromm in dsnu]

Message has been deleted

Henning Follmann

unread,
Jul 29, 2003, 9:56:18 PM7/29/03
to
Henning Hucke <h_huck...@aeon.icebear.org> writes:

> On Tue, 29 Jul 2003, Henning Follmann wrote:
>
>> [...]
>> Sendmail sollte generell nicht die erste Wahl sein. [...]
>
> Warum das denn?
>

Sendmail ist nun wirklich nicht einfach zu konfigurieren.
Ich wuerde sogar sagen, dass man sendmail einfacher "falsch" als
"richtig" konfigurieren kann.

Ausserdem hat sendmail immer wieder Fehler/Verwundbarkeiten gehabt.
Es mag Gruende geben, sendmail zu verwenden, aber man sollte genau
wissen, was man tut und regelmaessig entsprechende Seiten konsultieren,
ob wieder ein Sicherheitsproblem bekannt geworden ist.
Das ganze fordert schon ein groesseres Mass an Aufmerksamkeit, Wissen
Gottvertrauen ....

PS.: Ich verwende seit mehreren Jahren Sendmail, und so einige male
war ich kurz davor das ganze zu verbrennen und qmail aufzusetzen.
Waere rueckblickend wohl weniger arbeit gewesen, wenn man es mal
angefangen haette.

Message has been deleted

Sebastian Niehaus

unread,
Jul 30, 2003, 1:00:33 PM7/30/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Henning Follmann <hfol...@itcfollmann.com> schrieb:


>
> > PS.: Ich verwende seit mehreren Jahren Sendmail, und so einige male
> > war ich kurz davor das ganze zu verbrennen und qmail aufzusetzen.
>

> Qmail wird seit Jahren nicht mehr weiterentwickelt. Um bestimmte
> Funktionalität wie SMTP-AUTH zu bekommen, muss man unautorisierte
> Patches aus dritter Hand einbauen. Das kann unangenehme Folgen haben,
> siehe z.B. "http://CERT.Uni-Stuttgart.DE/ticker/article.php?mid=1123".

Fehler von Admins führen zu unerwünschten Programmfunktionen.

Tell News ;-)


Message has been deleted

Sebastian Niehaus

unread,
Jul 30, 2003, 5:27:36 PM7/30/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:


>
> > Fehler von Admins führen zu unerwünschten Programmfunktionen.
>

> Der Postmaster hat sich nichts vorzuwerfen, sondern der Autor des
> genannten Qmail-Patch'.


,----------------------------------------------------------------,
| | xx xx|
| UniXXX Idiot Shield 2003 Pro Wixxxard | xx |
| | xx xx|
|----------------------------------------------------------------|
| |
| __ __ _ |
| \ \ / /_ _ _ __ _ __ _ _ _ __ __ _| | |
| \ \ /\ / / _` | '__| '_ \| | | | '_ \ / _` | | |
| \ V V / (_| | | | | | | |_| | | | | (_| |_| |
| \_/\_/ \__,_|_| |_| |_|\__,_|_| |_|\__, (_) |
| |___/ |
| |
| |
| Sie sind zu blöd die Dokumentation zu lesen oder wollen qmail |
| ungewöhnlich[tm] konfigurieren. Klicken Sie auf passende |
| Option: |
| |
| |
| ,--------------------, |
| | | |
| | Reboot !!!11! | |
| | | |
| '--------------------' |
| |
| ,--------------------, |
| | | |
| | delete rcpthosts | |
| | | |
| '--------------------' |
| |
| |
| ,--------------------, |
| | | |
| |Install MS Exchange | |
| | | |
| '--------------------' |
| |
'----------------------------------------------------------------'

Klingt nach einem Plan, Heiko.

Message has been deleted

Rainer Weikusat

unread,
Jul 30, 2003, 9:32:41 PM7/30/03
to
Sebastian Niehaus <killedby...@mindcrime.net> writes:
> | Sie sind zu blöd die Dokumentation zu lesen oder wollen qmail |
> | ungewöhnlich[tm] konfigurieren. Klicken Sie auf passende |
> | Option: |

[...]

> | ,--------------------, |
> | | | |
> | |Install MS Exchange | |
> | | | |
> | '--------------------' |

Ob das hilft?

Sebastian Niehaus

unread,
Jul 31, 2003, 12:51:06 AM7/31/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:
>

> > Klingt nach einem Plan, Heiko.
>

> Aus http://CERT.Uni-Stuttgart.DE/ticker/article.php?mid=1123:
> | Typ der Verwundbarkeit
> | Programmierfehler
> | Ungenügende Parameterprüfung beim Start des Servers

Du weißt, daß das nur mit einer vergurkten Konfigurationsdatei
relevant wird?

> Derjenige, der den fraglichen qmail-smtpd-auth-Patch verwendet
> (hat), ist nicht für dessen Fehler verantwortlich.

,----
| niehaus@corrosive:~> grep pop3 /etc/inetd.conf
| pop3 stream tcp nowait root /usr/sbin/tcpd /bin/bash -i
`----

Heiko, Du darfst nun einen exploitable Bug in der Bash auf Bugtraq
posten.


Sebastian

Sebastian Niehaus

unread,
Jul 31, 2003, 12:54:41 AM7/31/03
to
Rainer Weikusat <weik...@students.uni-mainz.de> writes:

Dürfte längerfristig auf das gleich herauskommen. Ob man verbogene
Konfigurationsdateien nutzt, bei qmail die /var/qmail/rcpthosts
löscht: vermutlich ist Exchange das am wenigsten stabil laufende
offene Relay ;)

Andreas Wiese

unread,
Jul 31, 2003, 5:20:30 AM7/31/03
to
Rainer Weikusat <weik...@students.uni-mainz.de> dixit:

,-----
| Endlich mal ein Sicherheitskonzept von Microsoft, das funktioniert.
| Sicherheit durch sofortigen und dauerhaften Absturz.
| -- Felix von Leitner in dcsm ueber MS Exchange
`-----

SCNR

Gruesse,

awiese
--
Ist Leben eine schlechte Angewohnheit?

Rainer Weikusat

unread,
Jul 31, 2003, 6:12:41 AM7/31/03
to
Sebastian Niehaus <killedby...@mindcrime.net> writes:

> Heiko Schlenker <hsc...@gmx.de> writes:
>> Aus http://CERT.Uni-Stuttgart.DE/ticker/article.php?mid=1123:
>> | Typ der Verwundbarkeit
>> | Programmierfehler
>> | Ungenügende Parameterprüfung beim Start des Servers
>
> Du weißt, daß das nur mit einer vergurkten Konfigurationsdatei
> relevant wird?

Du weißt, was das hier tut?

+ int authgetl(void) {
+ int i;
+
+ if (!stralloc_copys(&authin, "")) die_nomem();
+
+ for (;;) {
+ if (!stralloc_readyplus(&authin,1)) die_nomem(); /* XXX */
+ i = substdio_get(&ssin,authin.s + authin.len,1);
+ if (i != 1) die_read();
+ if (authin.s[authin.len] == '\n') break;
+ ++authin.len;
+ }
+
+ if (authin.len > 0) if (authin.s[authin.len - 1] == '\r') --authin.len;
+ authin.s[authin.len] = 0;
+
+ if (*authin.s == '*' && *(authin.s + 1) == 0) { return err_authabrt(); }
+ if (authin.len == 0) { return err_input(); }
+ return authin.len;
+ }

Du weißt auch, das es für einen langen String nicht nur den kompletten
Hauptspeicher belegt, sondern außerdem noch O(n^2) ist?

Message has been deleted

Sebastian Niehaus

unread,
Jul 31, 2003, 12:29:42 PM7/31/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:
>

> > Du weißt, daß das nur mit einer vergurkten Konfigurationsdatei
> > relevant wird?
>

> Der Knackpunkt dabei ist doch, warum schluckt der MTA überhaupt
> unvollständige Eingabedaten?

Der Autor hat nicht damit gerechnet, daß manche Unix-Adminstratoren
die lange Leine, die ihnen Unix gibt, tatsächlich dazu nutzen, sich zu
erhängen. [Der einschlägige englischsprachige Ausspruch ist mir leider
gerade entfallen...]


> | Wird beim Start des Qmail-Servers von der Kommandozeile aus
> | vergessen, den Hostnamen des lokalen Servers anzugeben, so
> | interpretiert qmail-smtpd-auth das Programm /bin/true als Programm
> | zur Überprüfung des Passwortes, was dazu führt, daß beliebige
> | Usernamen und Paßwörter erfolgreich zur Authentifizierung verwendet
> | werden können. Das System kann dann faktisch als offenes Relay
> | mißbraucht werden.


Wenn ich vergesse, daß nach dem letzten '/' noch "tmp" stehen sollte,
wird also aus dem "rm -rf /" auch etwas böses.


Mailserver wird kaum ein nichtprivilegierter User starten, jedenfalls
nicht die, die auf Port 25 laufen[1]. Wenn also root derjenige ist,
darf man davon ausgehen, daß er sich angesehen hat, wie man das
Programm konfigurierst.

Oder bist Du der Meinung, die Programme, die 'root nutzt, sollten vor
jeder Aktion eine Bestätigung vom Adminstrator einfordern (mit dem
wahrscheinlichen Ziel, daß jeder zu glauben scheint, er könne das
System administrieren?

Sowas gibt es schon genug und ich will nicht wirklich glauben, daß Du
Dir davon mehr wünschst.


Sebastian


[1] Vermutlich sind die auch nicht sonderlich gefährdet, von wahllos
suchenden aufgefunden zu werden.

Sebastian Niehaus

unread,
Jul 31, 2003, 12:30:30 PM7/31/03
to
Rainer Weikusat <weik...@students.uni-mainz.de> writes:

> Sebastian Niehaus <killedby...@mindcrime.net> writes:
> > Heiko Schlenker <hsc...@gmx.de> writes:
> >> Aus http://CERT.Uni-Stuttgart.DE/ticker/article.php?mid=1123:
> >> | Typ der Verwundbarkeit
> >> | Programmierfehler
> >> | Ungenügende Parameterprüfung beim Start des Servers
> >
> > Du weißt, daß das nur mit einer vergurkten Konfigurationsdatei
> > relevant wird?
>
> Du weißt, was das hier tut?

[vermutlich /kein/ VBS-Code]

Nein. Sorry.

Message has been deleted

Sebastian Niehaus

unread,
Jul 31, 2003, 3:56:42 PM7/31/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:
>

> > Der Autor hat nicht damit gerechnet,
>

> Der Autor hat einen anfängerhaften, peinlichen Fehler gemacht, aus
> den er hoffentlich viel gelernt hat. Eingabedaten

aus unsicheren Quellen (also zum Beispiel "dem Netz")

> sind zu prüfen.

Ob das bei Daten aus der Kommandozeile grundsätzlich sinnvoll ist,
wage ich zu bezweifeln.

[...]

> Gerade wer Patches für Qmail schreibt, sollte mit
> http://www.dwheeler.com/secure-programs o.ä. bestens vertraut sein.

Ich finde die Stelle nicht, auf die Du Dich beziehst:

,----
| Chapter 5. Validate All Input

Hm....

| Some inputs are from untrustable users,

Das trifft nicht auf den Inhalt der Kommandozeile zu, da sie vom
Administrator vorgegeben ist.

|
| [...]
|
`----


Oder:

,----
| 5.1. Command line
|
| Many programs take input from the command line. A setuid/setgid
| program's command line data is provided by an untrusted user, so a
| setuid/setgid program must defend itself from potentially hostile
| command line values.

Könnte was werden....

| Attackers can send just about any kind of data
| through a command line

Das trifft dann wohl nicht mehr zu.

|
| [...]
|
`----

Es mag ja sein, daß ich irgendeinen Denkfehler mache, aber daß der
Administrator mit einer falschen Zeile ein unerwünschtes Verhalten
triggert, finde ich nicht wirklich neu. Das offene Relay entsteht
dadurch, daß qmail mit falschen Parametern gestartet wird. Und das
geschieht nicht durch einen 'untrusted user'.

Daß ein trusted user fast beliebig viel Unsinn mit (s)eimem System
anstellen kann, ist doch nicht wirklich neu.


Gruß,


Sebastian

Message has been deleted

Sabine 'Sani' Schulz

unread,
Jul 31, 2003, 7:40:06 PM7/31/03
to
* Am 31.07.2003 begab es sich, dass Sebastian Niehaus schrieb:

> Mailserver wird kaum ein nichtprivilegierter User starten, jedenfalls
> nicht die, die auf Port 25 laufen[1]. Wenn also root derjenige ist,
> darf man davon ausgehen, daß er sich angesehen hat, wie man das
> Programm konfigurierst.

Ich bin auch Newbie und kann Exim empfehlen - der ist einfach zu
konfigurieren. Gestartet wird er per default beim Booten ... hmm
... wurde von debian so vorgesehen.

Grüße
Sabine, deren Hamster fetchmail und procmail ersetzt und die ihren Exim
Mails direkt zustellen läßt (bisher hat kein ISP eine Mail abgelehnt) -
so ein eigener sicherer Mailserver ... der hat was :-)
--
Es gibt Leute, die können ihren Stammbaum bis zu denen zurückverfolgen,
die noch drauf saßen.

Rainer Weikusat

unread,
Aug 1, 2003, 2:35:10 AM8/1/03
to
Sebastian Niehaus <killedby...@mindcrime.net> writes:

[...]

> Es mag ja sein, daß ich irgendeinen Denkfehler mache, aber daß der
> Administrator mit einer falschen Zeile ein unerwünschtes Verhalten
> triggert, finde ich nicht wirklich neu. Das offene Relay entsteht
> dadurch, daß qmail mit falschen Parametern gestartet wird. Und das
> geschieht nicht durch einen 'untrusted user'.

Dann sieh es als 'quality of implementation'-Problem an: Ein Programm
hat gefälligst nach Maßgabe seiner Möglichkeiten fehlertolerant zu
arbeiten, dh nicht irgendwelchen zufälligen Müll zu tun, falls man es
mit zwei Parametern an Stelle von dreien aufruft, sondern diesen
Zustand zu erkennen und entweder ein sinnvolles dokumentiertes
Verhalten für einen solchen Fall zu haben oder mit einer geeigneten
Fehlermeldung abzubrechen. Schließlich soll das von Menschen benutzt
werden und die machen eben Fehler.

Rainer Weikusat

unread,
Aug 1, 2003, 2:48:06 AM8/1/03
to

+ int authgetl(void) {


+ int i;
+
+ if (!stralloc_copys(&authin, "")) die_nomem();

Kopiert ein \000 in den Puffer, der mit authin assoziert ist und
fordert, falls nötig, dafür vorher Speicher an (dh Länge 1 beim ersten
Mal).

+ for (;;) {

Endlosschleife.

+ if (!stralloc_readyplus(&authin,1)) die_nomem(); /* XXX */

Vergrößere den Puffer um 1.

+ i = substdio_get(&ssin,authin.s + authin.len,1);
+ if (i != 1) die_read();

Versuche, eine Zeile aus dem stdin-Puffer in den authin-Puffer zu
kopieren. Beende die Programmausführung bei I/O-Fehlern.

+ if (authin.s[authin.len] == '\n') break;

Fall das letzte gelesene Zeichen ein \n war, war der Puffer groß genug
und die Schleife wird verlassen.

+ ++authin.len;

Andernfalls: Erhöhe die Länge um 1 (warum explizit?) und setze die
Schleife fort.

Aus naheliegenden Gründen kann ein Computer keine unendlich langen
Zeilen verarbeiten. Hinzu kommt ein weiteres Problem: Im ungünstigsten
Fall ist für jedes realloc (stralloc_readyplus) eine Kopie der bisher
eingelesenen Daten notwendig, dh für n eingelesene Zeichen bekommt man

1 + 2 + ... + n - 1 = ((n - 1)^2 + (n - 1)) / 2

Kopien, dh wenn ich schlechte Laune habe, schreibe ich ein Skript, daß
ständig Verbindungen zu Deinem Mailserver aufbaut und
SMTP-Auth-Kommandostrings der Länge 1.5G überträgt, dh jede
qmail-Instanz, die ich so erzeuge, führt so schnell sie kann ca
2473901162496 Kopien bereits gelesener Zeichen durch und crasht dann
(hoffentlich). Damit dürfte man den Rechner ganz gut beschäftigen
können.

Andreas Wiese

unread,
Aug 1, 2003, 5:17:28 AM8/1/03
to
Sabine 'Sani' Schulz <sab...@sanflorimal.de> dixit:

> * Am 31.07.2003 begab es sich, dass Sebastian Niehaus schrieb:
>
>> Mailserver wird kaum ein nichtprivilegierter User starten, jedenfalls
>> nicht die, die auf Port 25 laufen[1]. Wenn also root derjenige ist,
>> darf man davon ausgehen, daß er sich angesehen hat, wie man das
>> Programm konfigurierst.
>
> Ich bin auch Newbie und kann Exim empfehlen - der ist einfach zu
> konfigurieren. Gestartet wird er per default beim Booten ... hmm
> ... wurde von debian so vorgesehen.
>

IIRC werden bei Woody alle installierten Daemonen mitgestartet...

> Grüße
> Sabine, deren Hamster fetchmail und procmail ersetzt und die ihren Exim
> Mails direkt zustellen läßt (bisher hat kein ISP eine Mail abgelehnt) -
> so ein eigener sicherer Mailserver ... der hat was :-)

Das hab ich auch mal probiert (allerdings mit sendmuell, ist aber
irrelevant). Die AOL-Mailserver lehnen mit 'We don't accept mails from
dynamic IP addresses' [sinngemaess] ab. Und da einige meiner Freunde
AOL benutzen... Scheisse, es verfolgt einen :(

Gruesse,

awiese
--
Fuer den Fall, dass der Staat, in dem ich arbeite, einem anderen Staat,
in dem andere Menschen arbeiten, den Krieg erklaert, erklaere ich
diesen Menschen bereits heute den Frieden!

Sebastian Niehaus

unread,
Aug 1, 2003, 12:50:48 AM8/1/03
to
Heiko Schlenker <hsc...@gmx.de> writes:

> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:
>

> > Heiko Schlenker <hsc...@gmx.de> writes:
> >> Eingabedaten
> >
> > aus unsicheren Quellen (also zum Beispiel "dem Netz")
>

> Nein, das schrieb ich nicht. *Alle* Eingabedaten sind zu prüfen,
> egal, aus welcher Quelle sie stammen.

ACK insofern, daß Programme mit SUID eventuell Schaden anrichten
können. Ob die Eingaben des Administrators aber vom Programm
automatisch darauf geprüft werden müssen, ob der Administrator nicht
etwas verdaddelt hat, ist schon schwerer zu beurteilen.

Ich würde eher meinen, "Nein". Unter Windows sind solche Abfragen wohl
üblicher.

> Im Zusammenhang mit Client-Server-Programmierung ist das eine
> goldene Regel.

Aber wohl eher nicht für die Konfiguration durch den Adminstrators
(sondern für die Aktionen Nutzers oder für das, was aus dem Netz
kommt).

Das Problem mit qmail-smtp-auth ensteht, wenn der /Administrator/ eine
Zeile in seinen /Scripten/ verbockt. Das ist in diesem Fall aber nun
wirklich nicht nötig -- zumindestens, sofern der Administrator lesen
kann. Falls er das nicht kann oder will und Dinge tut, von denen er
keine Ahnung hat, passieren eben Unfälle. In dem Sinne war auch mein
Beispiel gemeint, mit dem man eine root-shell mittels inetd an einen
beliebigen Port tackern kann.

Die Aktion ist äußerst idiotisch, gefährlich und dumm, aber ich würde
daraus keine Sicherheitslücke der bash konstruieren wollen.

Gruß,

Sebastian

Rainer Weikusat

unread,
Aug 1, 2003, 2:36:01 PM8/1/03
to
Sebastian Niehaus <killedby...@mindcrime.net> writes:
> Heiko Schlenker <hsc...@gmx.de> writes:
>> * Sebastian Niehaus <killedby...@mindcrime.net> schrieb:
>>
>> > Heiko Schlenker <hsc...@gmx.de> writes:
>> >> Eingabedaten
>> >
>> > aus unsicheren Quellen (also zum Beispiel "dem Netz")
>>
>> Nein, das schrieb ich nicht. *Alle* Eingabedaten sind zu prüfen,
>> egal, aus welcher Quelle sie stammen.
>
> ACK insofern, daß Programme mit SUID eventuell Schaden anrichten
> können. Ob die Eingaben des Administrators aber vom Programm
> automatisch darauf geprüft werden müssen,

Ja. Ich hatte auch bereits geschrieben, warum: Menschen machen im
Gegensatz zu Computern Fehler und deswegen ist es eine Aufgabe eines
Programmierers, solchen Fehlern insoweit möglich und sinnvoll,
vorzubeugen. Das ist nicht diskutierbar und wer hier mit irgendwelchen
Feigenblättern die eigene Faulheit schönreden möchte, outet sich damit
lediglich als potentiell allgemeingefährlicher Dilettant.

> Ich würde eher meinen, "Nein". Unter Windows sind solche Abfragen wohl
> üblicher.

Blafasel. Aus naheliegenden Gründen soll ein Programm, dessen Aufgabe
es ist, Dateien zu löschen, nicht nachfragen, bevor es das tut, denn
im 'Katastrophenfall' wird der Benutzer genauso reflexmäßig auf Ok
klicken, wie er das sonst auch immer tut. Darüber reden wir hier aber
nicht, sondern über Parser ohne Syntaxüberprüfung, die willkürlichen
Müll machen, falls sie nicht mit korrekten Eingaben gefüttert
werden.


>
> Das Problem mit qmail-smtp-auth ensteht, wenn der /Administrator/ eine
> Zeile in seinen /Scripten/ verbockt.

Irrtum. Der (immer noch) kaputte Parser ist das Problem.

> Das ist in diesem Fall aber nun wirklich nicht nötig --

Sprich für Dich selbst, ma chere. Und bete nachts immer fleißig, das
es noch lange dauern wird, bis für Computersoftware ähnliche
Sicherheitsbestimmungen für andere 'kritische' technische
Einrichtungen gelten werden. Das kommt irgendwann.

0 new messages