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

mit sftp hochgeladene Dateien sollen www-data gehören

54 views
Skip to first unread message

Boris

unread,
May 26, 2011, 6:10:01 AM5/26/11
to
Moin zusammen,


ich habe zwei Sites zu hosten, deren Files mit sftp hochgeladen werden
sollen. Dazu habe ich für die beiden User in deren ~ jeweils ein
Verzeichnis www angelegt und in /var/www Symlinks auf diese Verzeichnise
angelegt. Jetzt kann ich prima Dateien dorthin uploaden und sie auch mit
Apache anschauen, aber sie haben Dateirechte <user>:sftponly . Das wird
absehbar Probleme machen für das CMS, das von den Usern dort hochgeladen
werden wird. Wie bekomme ich sftp dazu, die Dateien als
www-data:www-data zu hinterlegen?

Thanks,


Boris


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)
Archive: http://lists.debian.org/4DDE26BA...@cation.de

Alexander Reichle-Schmehl

unread,
May 26, 2011, 6:30:02 AM5/26/11
to
Hi!

Am 26.05.2011 12:08, schrieb Boris:

> [..] Jetzt kann ich prima Dateien dorthin uploaden und sie auch mit


> Apache anschauen, aber sie haben Dateirechte <user>:sftponly . Das wird
> absehbar Probleme machen für das CMS, das von den Usern dort hochgeladen
> werden wird. Wie bekomme ich sftp dazu, die Dateien als
> www-data:www-data zu hinterlegen?

Könntest du etwas detailierter beschreiben, was da genau passieren soll?
So auf die schnelle klingt das nämlich so, als ob du etwas willst, was
man definitiv nicht machen sollte.

Deine User sollten dort ein CMS hochladen können? Und CMS klingt sehr
stark nach Ausfrührbarem Kram in irgendeiner Form. Man will aber
eigentlich nicht, dass der www-date User oder die Gruppe ausführbare
Daten überschreiben / verändern kann. Maximal soll er seine
Konfiguration bzw. hochgeladene Dateien verarbeiten können, aber nicht
den ganzen Quellcode. Es ist eine Sicherheitslücke, wenn ein
potentieller Angreifer die Programme, die der Webserver ausführt,
verändern kann.


Beste Grüße,
Alexander


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDE2B48...@debian.org

Boris

unread,
May 26, 2011, 12:50:02 PM5/26/11
to
Alexander Reichle-Schmehl schrieb:

> Hi!
>
> Am 26.05.2011 12:08, schrieb Boris:
>
>> [..] Jetzt kann ich prima Dateien dorthin uploaden und sie auch mit
>> Apache anschauen, aber sie haben Dateirechte <user>:sftponly . Das wird
>> absehbar Probleme machen für das CMS, das von den Usern dort hochgeladen
>> werden wird. Wie bekomme ich sftp dazu, die Dateien als
>> www-data:www-data zu hinterlegen?
>
> Könntest du etwas detailierter beschreiben, was da genau passieren soll?
> So auf die schnelle klingt das nämlich so, als ob du etwas willst, was
> man definitiv nicht machen sollte.
>
> Deine User sollten dort ein CMS hochladen können? Und CMS klingt sehr
> stark nach Ausfrührbarem Kram in irgendeiner Form. Man will aber
> eigentlich nicht, dass der www-date User oder die Gruppe ausführbare
> Daten überschreiben / verändern kann. Maximal soll er seine
> Konfiguration bzw. hochgeladene Dateien verarbeiten können, aber nicht
> den ganzen Quellcode. Es ist eine Sicherheitslücke, wenn ein
> potentieller Angreifer die Programme, die der Webserver ausführt,
> verändern kann.
>
>
> Beste Grüße,
> Alexander
>
>


Moin Alexander,


danke für Deinen Beitrag und ggfs. für Deine Warnung.

Ja, der User soll z.B. Joomla hochladen und installieren können. Er soll
PHP-Scripte hinterlegen und durch den Apachen ausführen können.

Gruß,


Boris


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDE8400...@cation.de

Martin Steigerwald

unread,
May 26, 2011, 2:50:01 PM5/26/11
to
Am Donnerstag, 26. Mai 2011 schrieb Alexander Reichle-Schmehl:
> Hi!
>
> Am 26.05.2011 12:08, schrieb Boris:
> > [..] Jetzt kann ich prima Dateien dorthin uploaden und sie auch mit
> > Apache anschauen, aber sie haben Dateirechte <user>:sftponly . Das
> > wird absehbar Probleme machen für das CMS, das von den Usern dort
> > hochgeladen werden wird. Wie bekomme ich sftp dazu, die Dateien als
> > www-data:www-data zu hinterlegen?
>
> Könntest du etwas detailierter beschreiben, was da genau passieren
> soll? So auf die schnelle klingt das nämlich so, als ob du etwas
> willst, was man definitiv nicht machen sollte.
>
> Deine User sollten dort ein CMS hochladen können? Und CMS klingt sehr
> stark nach Ausfrührbarem Kram in irgendeiner Form. Man will aber
> eigentlich nicht, dass der www-date User oder die Gruppe ausführbare
> Daten überschreiben / verändern kann. Maximal soll er seine
> Konfiguration bzw. hochgeladene Dateien verarbeiten können, aber nicht
> den ganzen Quellcode. Es ist eine Sicherheitslücke, wenn ein
> potentieller Angreifer die Programme, die der Webserver ausführt,
> verändern kann.

Nunja, der Benutzer soll ja SFTP verwenden und wenn das - mit scponly,
gutem Passwort oder passwort-geschützten SSH-Schlüssel - entsprechend
abgesichert ist, finde ich das besser, als den unverschlüsselten FTP-
Zugang, den die als ich das letzte Mal einen hatten, viele Webhosting-
Provider verwendeten.

Am ehesten käme mir hier noch in den Sinn, die Gruppe des Wurzel-
Verzeichnisses für jeden Benutzer auf www-data zu setzen und dann Set
Group ID Flag.

So oder so sollte der Benutzer sein Joomla dann aber auch aktuell halten -
und hoffen, dass der Joomla-Code sicherheitstechnisch zumindest
einigermaßen okay ist... daher kann ich die Vorsicht, was ausführbaren
Code im Webserver anbetrifft schon verstehen.

Als Alternative käme noch in Frage, Joomla über das Paketmanagement zu
installieren, sofern es hierfür Debian-Pakete gibt. Dann hätte auch das
Debian Security Team ein Auge drauf. Und der Admin würde den PHP-Quelltext
vorgeben. Inwiefern das aber dann so Multidomain-fähig ist, wenn es
überhaupt ein Paket gibt...

--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7

signature.asc

Daniel Meszaros

unread,
May 27, 2011, 3:30:02 AM5/27/11
to
Am 26.05.2011 12:08, schrieb Boris:
> Wie bekomme ich sftp dazu, die Dateien als
> www-data:www-data zu hinterlegen?
Ich würde es ggf. per Setuid/Setgid lösen:

http://de.wikipedia.org/wiki/Setuid
http://de.wikipedia.org/wiki/Setgid

User und Apache in eine gemeinsame Gruppe packen, "wwwsftp" oder so ...
und auf den Upload-Ordner rekursiv die Gruppe setzen.

Die SFTP-Geschichte sollte IMHO so gelöst sein, dass der sich
einloggende User keinen Zugriff auf die Webpräsenz hat, es sei denn, Du
_selbst_ willst das Ganze zur Pflege nutzen.

Wenn's "öffentlich" sein soll, könnte "mount -bind" zwischen User-Home
und Upload-Ordner ein sinnvoller Gedanke sein.

CU,
Mészi.


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDF521E...@meszi.de

Alexander Reichle-Schmehl

unread,
May 27, 2011, 4:00:02 AM5/27/11
to
Hi!

Am 26.05.2011 18:46, schrieb Boris:
>>> [..] Jetzt kann ich prima Dateien dorthin uploaden und sie auch mit
>>> Apache anschauen, aber sie haben Dateirechte <user>:sftponly . Das wird
>>> absehbar Probleme machen für das CMS, das von den Usern dort hochgeladen
>>> werden wird. Wie bekomme ich sftp dazu, die Dateien als
>>> www-data:www-data zu hinterlegen?

[..]


> Ja, der User soll z.B. Joomla hochladen und installieren können. Er soll
> PHP-Scripte hinterlegen und durch den Apachen ausführen können.

Das beantwortet meine Frage nicht: Warum müssen die hochgeladenen
Joomla-Dateien www-date:www-data gehören? Apache muss sie lediglich
lesen können, um sie auszuführen. PHP-Scripte müssen nichtmal ausführbar
sein, damit Apache sie ausführen kann... Warum also Schreibzugriff und
ownership?


Beste Grüße,
Alexander


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDF58ED...@schmehl.info

Alexander Reichle-Schmehl

unread,
May 27, 2011, 4:00:02 AM5/27/11
to
Hi!

Am 26.05.2011 20:44, schrieb Martin Steigerwald:

> Nunja, der Benutzer soll ja SFTP verwenden und wenn das - mit scponly,
> gutem Passwort oder passwort-geschützten SSH-Schlüssel - entsprechend
> abgesichert ist, finde ich das besser, als den unverschlüsselten FTP-
> Zugang, den die als ich das letzte Mal einen hatten, viele Webhosting-
> Provider verwendeten.

Dagegen sage ich ja nichts, das finde ich auch gut :)

> So oder so sollte der Benutzer sein Joomla dann aber auch aktuell halten -
> und hoffen, dass der Joomla-Code sicherheitstechnisch zumindest
> einigermaßen okay ist... daher kann ich die Vorsicht, was ausführbaren
> Code im Webserver anbetrifft schon verstehen.

Ja, und gerade deswegen Frage ich mich, warum der OP Unbedingt will,
dass die Dateien www-data:www-data gehören.


> Als Alternative käme noch in Frage, Joomla über das Paketmanagement zu
> installieren, sofern es hierfür Debian-Pakete gibt. Dann hätte auch das
> Debian Security Team ein Auge drauf. Und der Admin würde den PHP-Quelltext
> vorgeben. Inwiefern das aber dann so Multidomain-fähig ist, wenn es
> überhaupt ein Paket gibt...

Nö, gibt's nicht als (offizielles) Paket. Ich glaube, es gibt
inoffizielle direkt von Joomla, aber die sind meines Wissens nach nicht
wirklich Multi-Site-Fähig.


Beste Grüße,
Alexander


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDF597...@schmehl.info

Daniel Meszaros

unread,
May 27, 2011, 4:30:01 AM5/27/11
to
Am 27.05.2011 09:26, schrieb Daniel Meszaros:
> Am 26.05.2011 12:08, schrieb Boris:
>> Wie bekomme ich sftp dazu, die Dateien als
>> www-data:www-data zu hinterlegen?
> Ich würde es ggf. per Setuid/Setgid lösen

Korrektur! War wohl noch zu früh am Morgen: Ich meinte _StickyBit_! :-D

http://de.wikipedia.org/wiki/Sticky_Bit

CU,
Mészi.


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDF5F57...@meszi.de

Daniel Meszaros

unread,
May 27, 2011, 4:40:02 AM5/27/11
to
Nochmals Kommando zurück.

Es _ist_ SUID/SGID.

Entschuldige meine Verunsicherung. Peinlich, wenn man sein Alzheimer so
öffentlich kund tut. ;-)

Sorry,
Mészi.


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDF6186...@meszi.de

Boris

unread,
May 27, 2011, 3:10:01 PM5/27/11
to
Am 27.05.2011 10:32, schrieb Daniel Meszaros:
> Nochmals Kommando zurück.
>
> Es _ist_ SUID/SGID.
>
> Entschuldige meine Verunsicherung. Peinlich, wenn man sein Alzheimer so
> öffentlich kund tut. ;-)
>

Zunächst mal vielen Dank für alle Beiträge.

Ich denke, ich werde erstmal mit den bestehenden Berechtigungen
versuchen, wie weit ich damit komme. Letztlich war meine Anfrage ja nur
durch eine Befürchtung begründet. Soll sich doch das Problem erstmal
darstellen.....

Thanks,


Boris


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DDFF6D2...@cation.de

Boris

unread,
Jun 20, 2011, 6:00:02 AM6/20/11
to
Am 27.05.2011 09:57, schrieb Alexander Reichle-Schmehl:
> Hi!
>
> Am 26.05.2011 20:44, schrieb Martin Steigerwald:
>
>> Nunja, der Benutzer soll ja SFTP verwenden und wenn das - mit scponly,
>> gutem Passwort oder passwort-geschützten SSH-Schlüssel - entsprechend
>> abgesichert ist, finde ich das besser, als den unverschlüsselten FTP-
>> Zugang, den die als ich das letzte Mal einen hatten, viele Webhosting-
>> Provider verwendeten.
>
> Dagegen sage ich ja nichts, das finde ich auch gut :)
>
>> So oder so sollte der Benutzer sein Joomla dann aber auch aktuell halten -
>> und hoffen, dass der Joomla-Code sicherheitstechnisch zumindest
>> einigermaßen okay ist... daher kann ich die Vorsicht, was ausführbaren
>> Code im Webserver anbetrifft schon verstehen.
>
> Ja, und gerade deswegen Frage ich mich, warum der OP Unbedingt will,
> dass die Dateien www-data:www-data gehören.
>

Moin zusammen,

das Problem liegt mir leider immernoch an der Seele.
inzwischen weiß ich, dass es um Typo3 geht.

Die Sicherheitsdiskussion kickt den Ball hin und her. Typo3 will, dass
mindestens einige Verzeichnisse von www-data beschreibbar sind. Also
muss (wenn das nicht gleich www-data ist) derjenige, der die Dateien
hochlädt, das Recht zum Owner changen und chmodden haben. Das ist auch
nicht sicher.

Ich möchte nun gerne, dass die per sftp hochgeladenen Dateien
www-data:www-data gehören. Setze ich das sgid auf das Verzeichnis,
gehören die Files <User>:www-data . Setze ich suid, ändert sich nichts.

Ich wundere mich darüber, dass das Problem scheinbar niemand hat.
Wahrscheinlich ist sftp nicht sehr verbreitet....

Die einzige 'Lösung', die ich gegenwärtig nutze, ist, in passwd die UID
und GID 33 zu setzen für den Benutzer.....

Boris


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DFF1917...@cation.de

Matthias Böttcher

unread,
Jun 20, 2011, 6:20:01 AM6/20/11
to
Hallo Boris,

verwende doch einfach ACLs (POSIX Access Control Lists).

Ein kurzen Überblick erhältst Du durch:
- man 8 mount (dort nach der Option acl für dein Dateisystem suchen)
- man 1 setfacl / man 1 getfacl
- man 5 acl (hier wird auch die Bedeutung von "mask" und "effective"
in der Ausgabe von getfacl erläutert)

Mit ACLs (bzw. ACEs - access control entries) kannst Du dem User
www-data genau die benötigten Rechte auf Objekte im Dateisystem (i.a.
Ordner und reguläre Dateien) geben, obwohl er nicht Besitzer und auch
nicht Mitglied der Gruppe dieser Objekte ist.

Hinweise:
- Setze rekursiv eine _default_ ACL, dann erhalten neu hochgeladene
Ordner/Dateien diese automatisch beim upload - default ACLs werden
vererbt.
- Stelle die umask deines (s)ftp-Servers richtig ein, sonst klappt's
mit dieser Vererbung nicht.

Wenn Du noch Fragen hast, dann schreib noch mal.
Ich hab das von Dir beschriebene Problem für mich letzte Woche so gelöst.

Sonnige Grüße!
Matthias Böttcher

Archive: http://lists.debian.org/BANLkTinH1rD-0dPc...@mail.gmail.com

Rico Koerner

unread,
Jun 20, 2011, 6:40:02 AM6/20/11
to
Am 20.06.2011 11:55, schrieb Boris:
> Moin zusammen,
>
> das Problem liegt mir leider immernoch an der Seele.
> inzwischen weiß ich, dass es um Typo3 geht.
>
> Die Sicherheitsdiskussion kickt den Ball hin und her. Typo3 will, dass
> mindestens einige Verzeichnisse von www-data beschreibbar sind. Also

Die sind ja bekannt, das läßt sich selektiv regeln, z.B. über ein
"chmod o+w". Das ist natürlich auch nicht der sicherste Weg.

> muss (wenn das nicht gleich www-data ist) derjenige, der die Dateien
> hochlädt, das Recht zum Owner changen und chmodden haben. Das ist auch
> nicht sicher.

Also chown muß nicht sein, das geht ja auch nur als root.

> Ich möchte nun gerne, dass die per sftp hochgeladenen Dateien
> www-data:www-data gehören. Setze ich das sgid auf das Verzeichnis,
> gehören die Files <User>:www-data . Setze ich suid, ändert sich
> nichts.

Ich setze hier auf apache-itk. Um das Ganze zu verfeinern gibt es 2 User
für jeden vHost, die beide in derselben Gruppe sind:
user1:user1
user1-www:user1

Mit "AssignUserId user1-www user1 läuft der VirtualHost mit eigenen
Benutzerrechten in der Gruppe von user1.

Der User lädt seine Dateien als user1 hoch und regelt den Rest über das
Gruppenrecht.

chmod [750|640] für Verzeichnisse/Dateien nur lesend für den *-www
chmod [770|660] für die Beschreibbaren

Damit sind auch gleichzeitig alle anderen User vom Zugriff
ausgeschlossen und das läßt sich mit jedem [s]ftp-Client lösen.

> Ich wundere mich darüber, dass das Problem scheinbar niemand hat.
> Wahrscheinlich ist sftp nicht sehr verbreitet....

Das ist kein Problem von [s]ftp, sondern einfach nur ein typisches
Rechteproblem.

> Die einzige 'Lösung', die ich gegenwärtig nutze, ist, in passwd die
> UID und GID 33 zu setzen für den Benutzer.....

Das ist erst recht keine Lösung.

Gruß
Rico

David Raab

unread,
Jun 20, 2011, 7:30:01 AM6/20/11
to
> Ich wundere mich darï¿œber, dass das Problem scheinbar niemand hat.

> Wahrscheinlich ist sftp nicht sehr verbreitet....
Kommt drauf an wer wo was nutzt. Ich selber nutze scp oder rsync und
setze rechte nachtrï¿œglich eben neu. Wenn sie lokal schon stimmen muss
man dann mit rsync auch nichts mehr machen.

Kunden bekommen dann eher ftps anstatt sftp und im Pureftpd stellt man
dann ein welche rechte hoch geladene Dateien bekommen sollen. Das sollte
wohl jeder FTP-Server kï¿œnnen.


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DFF2BF4...@david-raab.de

Hans-Dietrich Kirmse

unread,
Jun 20, 2011, 4:20:01 PM6/20/11
to
Hallo Boris,

als Ergänzung zur Mail von Matthias:

Am 20.06.2011 12:13, schrieb Matthias Böttcher:
> Hallo Boris,
>
> verwende doch einfach ACLs (POSIX Access Control Lists).
>
> Ein kurzen Überblick erhältst Du durch:
> - man 8 mount (dort nach der Option acl für dein Dateisystem suchen)
> - man 1 setfacl / man 1 getfacl
> - man 5 acl (hier wird auch die Bedeutung von "mask" und "effective"
> in der Ausgabe von getfacl erläutert)

eine m.E. leicht verständliche Anleitung zu ACLs findest du hier:
http://arktur.schul-netz.de/wiki/index.php/Administratorhandbuch:ACL

> Mit ACLs (bzw. ACEs - access control entries) kannst Du dem User
> www-data genau die benötigten Rechte auf Objekte im Dateisystem (i.a.
> Ordner und reguläre Dateien) geben, obwohl er nicht Besitzer und auch
> nicht Mitglied der Gruppe dieser Objekte ist.

Diese Erklärung ist völlig korrekt. Im Netz findet man leider häufig
Anleitungen, die die herkömmliche Rechtevergabe gleich komplett durch
ACLs ersetzen wollen, was aber m.E. nicht geht. Es geht um "erweiterte
Rechte" auf Dateien/Verzeichnisse und genauso wurde es hier geschrieben.
Und so wie ich dich verstanden habe ist es auch genau das, was du brauchst.

> Hinweise:
> - Setze rekursiv eine _default_ ACL, dann erhalten neu hochgeladene
> Ordner/Dateien diese automatisch beim upload - default ACLs werden
> vererbt.
> - Stelle die umask deines (s)ftp-Servers richtig ein, sonst klappt's
> mit dieser Vererbung nicht.
>
> Wenn Du noch Fragen hast, dann schreib noch mal.
> Ich hab das von Dir beschriebene Problem für mich letzte Woche so gelöst.

bin auch an deinen Fragen (wegen der Überarbeitung dieser Seite ;) )
interessiert.

Viele Grüße
Hans-Dietrich


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4DFFA724...@gmx.de

Boris

unread,
Jun 28, 2011, 3:00:01 PM6/28/11
to
Hans-Dietrich Kirmse schrieb:

Moin zusammen,

nochmal vielen Dank an alle!

Die Sache ruht gerade ein bisschen, weil es ja so geht.... ich werde
aber demnächst mal mit den ACLs werkeln....

Boris


--
Zum AUSTRAGEN schicken Sie eine Mail an debian-user-g...@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listm...@lists.debian.org (engl)

Archive: http://lists.debian.org/4E0A24B0...@cation.de

0 new messages