Discussion:
Wie sollte man mit Mails an Webserver User wie www-data umgehen?
Sven Hoexter
2005-02-08 19:28:01 UTC
Permalink
Hallo,
muste grade festellen das ich einige bouncenden Mails vorschub geleistet
habe die an den User "www-data" geschickt wurde. "www-data" ist der User unter
dem bei mir der Apache laueft (Debian default).
Da Postfix in dem $HOME von "www-data" kein Maildir findet bouncen die Mails
im Augenblick alle mit Fehlermeldung was natuerlich nicht der Weissheit letzter
Schluss sein kann.

Nur was ist jetzt der uebliche/effektivste Weg mit Mails umzugehen die an
einen User gerichtet sind unter dessen Namen wirre User per php und cgi
Mails verschicken?

Erster Gedanke war umleiten auf einen der anderen role-accounts wie Postmaster
da ich die Mails da eh lesen muss allerdings wird damit das Spam Aufkommen auf
den Adressen nur noch weiter erhoeht was die Lesbarkeit der role-account
Mailboxen nicht grade erhoeht.

Andere Moeglichkeit waere alle Mails an diese Adresse zu discarden - halte
ich aber auch fuer suboptimal da ein unerklaertes Schlucken von Mails nur
die Zuverlaessigkeit von smtp unnoetig untergraebt.

Die ganzen Mails zu rejecten waere auch eine Variante leistet aber
wahrscheinlich auch nur weiteren unnoetigen bounces Vorschub.

Bliebe noch einen weiteren Sarg einzurichten und einfach die Mails
stillschweigend anzunehmen um sie vielleicht gelegentlich anzunehmen.

Was macht ihr den mit emails an solche Accounts?

Etwas ratlos,
Sven
--
If God passed a mic to me to speak
I'd say stay in bed, world
Sleep in peace
[The Cardigans - No sleep]
--
linux-***@mailman.etes.de
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
Matthias Houdek
2005-02-09 08:42:11 UTC
Permalink
Post by Sven Hoexter
Hallo,
muste grade festellen das ich einige bouncenden Mails vorschub
geleistet habe die an den User "www-data" geschickt wurde. "www-data"
ist der User unter dem bei mir der Apache laueft (Debian default).
Da Postfix in dem $HOME von "www-data" kein Maildir findet bouncen
Ich habe kein $HOME von www-data. www-data ist kein "normaler" User und
sollte normaler Weise keine Mails bekommen (im Apache sollte man
Post by Sven Hoexter
die Mails im Augenblick alle mit Fehlermeldung was natuerlich nicht
der Weissheit letzter Schluss sein kann.
Nur was ist jetzt der uebliche/effektivste Weg mit Mails umzugehen
die an einen User gerichtet sind unter dessen Namen wirre User per
php und cgi Mails verschicken?
Direkt nach /dev/null.
--
Gruß
                MaxX

Hinweis: PMs an diese Adresse werden automatisch vernichtet.
--
linux-***@mailman.etes.de
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
Sven Hoexter
2005-02-09 22:04:51 UTC
Permalink
Post by Matthias Houdek
Post by Sven Hoexter
Hallo,
muste grade festellen das ich einige bouncenden Mails vorschub
geleistet habe die an den User "www-data" geschickt wurde. "www-data"
ist der User unter dem bei mir der Apache laueft (Debian default).
Da Postfix in dem $HOME von "www-data" kein Maildir findet bouncen
Ich habe kein $HOME von www-data. www-data ist kein "normaler" User und
sollte normaler Weise keine Mails bekommen (im Apache sollte man
Sehe ich genauso ist grundsaetzlich auch genauso. Allerdings steht der User
je nachdem wie ueber php oder mittels eines cgis mails verschickt werden
im From. Da gehoert er eigentlich nicht hin und wer sowas verbricht gehoert
entsprechend behandelt verhindern kann ich es aber auch nicht.
Post by Matthias Houdek
Post by Sven Hoexter
die Mails im Augenblick alle mit Fehlermeldung was natuerlich nicht
der Weissheit letzter Schluss sein kann.
Nur was ist jetzt der uebliche/effektivste Weg mit Mails umzugehen
die an einen User gerichtet sind unter dessen Namen wirre User per
php und cgi Mails verschicken?
Direkt nach /dev/null.
Nichts lieber als das. Ich halte es nur fuer fraglich ob das kommentarlose
Schlucken von Mails ok ist. Sie mit user unknown zurueck zu geben waere
auch eine Variante allerdings sollte IMHO dann vorher verhindert werden
das mit diesen Userdaten Mails raus gehen.

Ich muss glaub ich erstmal raus finden wie man mittels php so ganz kaputte
Mails verschicken kann.

Gruesse,
Sven
--
If God passed a mic to me to speak
I'd say stay in bed, world
Sleep in peace
[The Cardigans - No sleep]
--
linux-***@mailman.etes.de
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
Christian Boltz
2005-02-11 11:55:04 UTC
Permalink
Hallo Leute,
[Bounces an www-data]
Post by Sven Hoexter
Sehe ich genauso ist grundsaetzlich auch genauso. Allerdings steht
der User je nachdem wie ueber php oder mittels eines cgis mails
verschickt werden im From. Da gehoert er eigentlich nicht hin und wer
sowas verbricht gehoert entsprechend behandelt verhindern kann ich es
aber auch nicht.
[...]
Post by Sven Hoexter
allerdings sollte IMHO dann vorher verhindert werden das mit diesen
Userdaten Mails raus gehen.
Ich muss glaub ich erstmal raus finden wie man mittels php so ganz
kaputte Mails verschicken kann.
Nichts leichter als das ;-)

<?php
mail ("***@localhost", "Betreffzeile", "Das ist ein Test");
?>

Das verschickt eine Mail mit Absender wwwrun (bzw. www-data)
===
From wwwrun-***@public.gmane.org Fri Feb 11 12:30:39 2005
Return-Path: wwwrun-***@public.gmane.org
X-Original-To: ***@localhost
Delivered-To: cb-bi+AKbBUZKaVzrGNXYk2gzD8+***@public.gmane.org
Received: by cboltz.boltz (Postfix, from userid 30)
id C369C68BFB; Fri, 11 Feb 2005 12:29:09 +0100 (CET)
To: cb-bi+AKbBUZKaVzrGNXYk2gzD8+***@public.gmane.org
Subject: Betreffzeile
Message-Id: <20050211112909.C369C68BFB-***@public.gmane.org>
Date: Fri, 11 Feb 2005 12:29:09 +0100 (CET)
From: WWW daemon apache <wwwrun-***@public.gmane.org>

Das ist ein Test
===

Man kann den Absender und sonstige Header (z. B. Reply-To) über den
optionalen 4. Parameter angeben. Aus der Doku zur mail()-Funktion:

mail("nobody-***@public.gmane.org", "Betreff", $message,
"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n"
."Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n"
."X-Mailer: PHP/" . phpversion());

Mit dem optionalen 5. Parameter kann man auch den sendmail-Parameter
"-***@meineseite" angeben - das geht allerdings nicht bei
aktiviertem safe_mode.


Gruß

Christian Boltz
--
The nice thing about Windows is - It does not just crash, it displays
a dialog box and lets you press 'OK' first.
--
linux-liste-***@public.gmane.org
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
David Haller
2005-02-13 01:49:26 UTC
Permalink
Hallo,
Post by Christian Boltz
[Bounces an www-data]
[PHPs mail()]
Post by Christian Boltz
Man kann den Absender und sonstige Header (z. B. Reply-To) über den
."X-Mailer: PHP/" . phpversion());
Mit dem optionalen 5. Parameter kann man auch den sendmail-Parameter
aktiviertem safe_mode.
... es sei denn, man deklariert den betroffenen User (www-data) als
"trusted". 'Klasse t', die per 'T' gesetzt werden kann:

Troot www-data ...

in der sendmail.cf oder falls 'Ft' aktiviert ist schreibt man's eben
in die (nach Ft-o definierte) Datei sendmail.ct.

In einer .m4 schreibt man die User einfach in

define(`confTRUSTED_USERS', `root www-data ...')dnl

oder man verwendet eine .ct Datei, dann ist's:

dnl define(`confCT_FILE', `/etc/mail/sendmail.ct')dnl
dnl FEATURE(`use_ct_file')dnl

HTH,
-dnh
--
Windows verhält sich zu Betriebssystemen wie Astrologie zu Astronomie.
-- am DLUG-Stammtisch
--
linux-***@mailman.etes.de
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
Christian Boltz
2005-02-13 23:27:14 UTC
Permalink
Hallo David, hallo Leute,
[...]
Post by David Haller
[PHPs mail()]
[...]
Post by David Haller
Post by Christian Boltz
Mit dem optionalen 5. Parameter kann man auch den sendmail-Parameter
aktiviertem safe_mode.
... es sei denn, man deklariert den betroffenen User (www-data) als
Ich habe hier Postfix (und weiß nicht, wie man "trusted users"
definiert) - jedenfalls scheint mir der Mailversand schon von PHP
abgefangen zu werden ("Warning: mail(): SAFE MODE Restriction in
effect. The fifth parameter is disabled in SAFE MODE.").

Bis Postfix/Sendmail dringt die Mail nicht vor - vermutlich unabhängig
davon, ob es sich um einen "trusted user" handelt, da PHP das ja nicht
weiß.

(Ironie dabei: Der Mailversand per Socket (fsockopen("localhost",25);),
bei dem man ja alles nach Belieben angeben kann, scheint auch im
safe_mode zu gehen...)


Gruß

Christian Boltz (der open_basedir als sinnvollere Lösung betrachtet und
safe_mode aus Sicherheitsgründen(!) [1] gern mal
abschaltet)

PS: http://www.php.net/safe-mode [3] sei (mitsamt Userkommentaren!) zur
Lektüre empfohlen.

[1] safe_mode prüft u. a., ob das ausgeführte Script und von diesem
Script irgendwie includete oder eingelesene Dateien (oder
Verzeichnisse) den gleichen Owner haben. Das hört sich erstmal gut
an, hat aber auch gewisse Nachteile.
Bei aktiviertem safe_mode hat man es mit einem CMS [2] oder
PHP-File-Upload-Scripten schwer.
- Man müsste entweder die kompletten CMS-Scripte wwwrun übereignen
(potentielles Risiko bei Fehlern im Script oder in Apache)
- oder dürfte die Upload-Ordner, in denen wwwrun Dateien ablegen und
später wieder einlesen will, nicht wwwrun schenken, sondern
$ftpuser (wie die Scripte) + chmod 777, damit wwwrun darin
Schreibrecht hat.
Beides halte ich nicht für besonders sichere Lösungen, da es unnötig
großzügige Schreibrechte (mit entsprechenden Risiken) gibt.
OK, theoretisch kämen noch ACLs in Frage (owner: $ftpuser +
Schreibrechte für wwwrun) - aber spätestens wenn wwwwrun ein
Verzeichnis anlegt und darin wiederum Dateien ablegt, sind diese im
safe_mode nicht mehr erreichbar.

[2] CMS = Content Management System, z. B. Typo3

[3] Mit etwas Glück funktioniert die URL. php.net macht ja netterweise
einiges mit mod_rewrite ;-)
--
Warum nochmal benutzen alle Procmail? Das ist eine Art Quiz, oder?
Wer die unleserlichtste Regel erstellt, bekommt einen Preis?
[Thorsten Haude in suse-linux]
--
linux-liste-***@public.gmane.org
eintragen - austragen - konfigurieren - Archiv
http://mailman.etes.de/mailman/listinfo/linux-liste
Loading...