Hallo @ all,
da es sich androht dass evtl. demnächst der eine oder andere fremde Benutzer per FTP und SSH zugriff auf den Server bekommen soll muss ich mich nun endlich mal mit Sicherheit beschäftigen.
Zu diesem Zweck dachte ich mir (Kurzfassung) in den Verzeichnissen der einzelnen Domains folgendes einzusetzen:
- Pro Kunde eine Gruppe, welche ab dem htdocs alle Rechte besitzt
- in selbigen Verzeichnis für "Others" Rechte auf -rwx
- Apache user ist Mitglied jeder Kundengruppe und hat dadurch lesend Zugriff.
Soweit die Theorie. Nur durfte ich feststellen, dass obwohl User und Apache der selben Gruppe zugehören, der Apache seine Arbeit einstellt sobald "Others" das -x genommen wird, obwohl er selbst ja +rx über die Gruppe hat.
Hat jemand:
- eine Idee warum das so ist
- wie man ansonsten verhindern soll, dass Kunden sich gegenseitig in die Verzeichnisse schauen können?
Matthias
Apache mit chmod 750 in htdocs-root tuts ncht
-
- Posts: 184
- Joined: 2002-06-19 00:05
- Location: 84424 Isen
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Apache mit chmod 750 in htdocs-root tuts ncht
Also das "w" würde ich da aber gaaaanz dringend entfernen. Es gibt doch wirklich so gut wie keinen Grund, warum "others" irgendwo schreiben können muss, oder?in selbigen Verzeichnis für "Others" Rechte auf -rwx
Nur eine Vermutung: Ein User hat zu einer Zeit immer nur genau eine Gruppe. Wenn ich unter einer anderen Gruppe arbeiten will, muss ich das ja auch explizit mit newgrp sagen (man newgrp), obwohl ich vielleicht in mehreren Gruppen Mitglied bin. Der Apache arbeitet halt immer unter der Gruppe, die in seiner httpd.conf angegeben ist.eine Idee warum das so ist
So, wie man das auch für ganz normale $HOME/public_html machen würde. $HOME ist 711, public_html ist 755 (sofern Directory-Listing dort möglich sein soll, ansonsten geht vielleicht auch 711, bin mir aber nicht sicher).wie man ansonsten verhindern soll, dass Kunden sich gegenseitig in die Verzeichnisse schauen können?
Du kannst das nicht 100%ig verhindern. Was übers Web zugänglich ist, ist auch für andere User zugänglich.
Beispiel, wie es an meiner Uni gehandhabt wird. Es gibt eine Gruppe www-users, zu der alle normalen User gehören. Der Apache läuft unter dieser Gruppen-ID. Jetzt ist es möglich, Verzeichnisse und Dateien lediglich für diese Gruppe zum Lesen freizugeben und "Others" brauchen keinerlei Rechte. Aber auch hier kann natürlich jeder User des Systems zur Gruppe www-users wechseln und den Content der Verzeichnisse anschauen. Siehe oben: Was für den Apachen (und somit für die Welt) zugänglich ist, ist auch für andere User zugänglich.
Ich wüsste da nichts besseres. Man kann höchstens das Directory-Listing ('r' für das Directory) teilweise verhindern, mehr aber nicht. IMHO.
-
- Posts: 184
- Joined: 2002-06-19 00:05
- Location: 84424 Isen
Re: Apache mit chmod 750 in htdocs-root tuts ncht
Du hast das MINUS vor rwx gesehen?dodolin wrote:Also das "w" würde ich da aber gaaaanz dringend entfernen. Es gibt doch wirklich so gut wie keinen Grund, warum "others" irgendwo schreiben können muss, oder?in selbigen Verzeichnis für "Others" Rechte auf -rwx
Da bist Du Dir sicher? Irgendwie mag ich das nicht glauben. Wozu listet sonst WebMin die sekundären Gruppen auf?dodolin wrote: Nur eine Vermutung: Ein User hat zu einer Zeit immer nur genau eine Gruppe. Wenn ich unter einer anderen Gruppe arbeiten will, muss ich das ja auch explizit mit newgrp sagen (man newgrp), obwohl ich vielleicht in mehreren Gruppen Mitglied bin. Der Apache arbeitet halt immer unter der Gruppe, die in seiner httpd.conf angegeben ist.
Du hattest aber schon gelesen dass am Anfang meines Postings was von FTP / SSH stand? Scheinbar nicht.dodolin wrote:So, wie man das auch für ganz normale $HOME/public_html machen würde. $HOME ist 711, public_html ist 755 (sofern Directory-Listing dort möglich sein soll, ansonsten geht vielleicht auch 711, bin mir aber nicht sicher).wie man ansonsten verhindern soll, dass Kunden sich gegenseitig in die Verzeichnisse schauen können?
Du kannst das nicht 100%ig verhindern. Was übers Web zugänglich ist, ist auch für andere User zugänglich.
Nocheinmal: Du bringst sehr gründlich Zugriff über Apache und über Filesystem durcheinander!.dodolin wrote:Ich wüsste da nichts besseres. Man kann höchstens das Directory-Listing ('r' für das Directory) teilweise verhindern, mehr aber nicht. IMHO.
Lösung für meine eigene Frage:
Man setze die Rechte wie ich es getan hatte, gibt aber "Others" ein +x und schon geht alles, User können aber gegenseitig nicht in die Verzeichnisse schauen. Mal sehen ob man das noch weiter einschränken kann.
Matthias
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Apache mit chmod 750 in htdocs-root tuts ncht
Nunja, das kann man so und so auffassen. Je nachdem, ob das Minus als Argument beim chmod übergeben wird, oder ob es beim Listing mit ls -l angezeigt wird. Dann war das also ein Missverständnis, das wir jetzt geklärt haben.Du hast das MINUS vor rwx gesehen?
Ich schrieb doch extra: "Nur eine Vermutung".Da bist Du Dir sicher?
Das weiss ich nicht, ich kenne Webmin nicht näher.Wozu listet sonst WebMin die sekundären Gruppen auf?
Jedenfalls kann man in Apache 1.3.X die Group-Directive nur in der Server-Config oder im VirtualHost-Kontext angeben. Bei Apache 2.X soll das ja anscheinend anders sein. Weiss ich, ob alle deine Benutzer einen eigenen vhost haben? Dann könntest du die Apache-Group pro vhost auf die Gruppe des jeweiligen Benutzers setzen. Das setzt natürlich voraus, dass jeder User seine eigene Gruppe hat.
Doch, hatte ich sehr wohl gelesen. Andere Möglichkeit: Sowohl der ftpd als auch der sshd machen grundsätzlich ein chroot ins User-Home-Verzeichnis und es besteht für den User keine Möglichkeit, aus diesem herauszukommen. Aber auch hier weiss ich ja nicht, ob das für dich und deine User eine Option ist, oder ob sie auch Zugriff auf das System benötigen...Du hattest aber schon gelesen dass am Anfang meines Postings was von FTP / SSH stand? Scheinbar nicht.
Das glaube ich nicht, aber wenn du meinst... dann antworte ich in Zukunft halt lieber nicht mehr, wenn dir das lieber ist.Nocheinmal: Du bringst sehr gründlich Zugriff über Apache und über Filesystem durcheinander!
Das war doch genau das, was ich dir zu sagen versuchte. Aber das bringt keine wirkliche Sicherheit, IMHO. Was für Rechte haben denn dann die Dateien, die in diesem Verzeichnis liegen? Andere User können dann zwar kein Directory-Listing machen... wenn sie aber den Dateinamen kennen/erraten, können sie (je nach Rechten der Datei) diese trotzdem lesen.Man setze die Rechte wie ich es getan hatte, gibt aber "Others" ein +x und schon geht alles, User können aber gegenseitig nicht in die Verzeichnisse schauen. Mal sehen ob man das noch weiter einschränken kann.