Chroot für Dienste hebelt Dateisystem aus?!

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Django
Beiträge: 310
Registriert: 08.04.2007 22:19:51

Chroot für Dienste hebelt Dateisystem aus?!

Beitrag von Django » 14.05.2007 10:37:41

Was haltet ihr eigentlich von chroot für Apache und co?
Das wird ja sehr oft empfohlen!

Ich mein irgendwie hebelt das doch die feinsäuberliche Trennung der
Paritionen und Verzeichnisse völlig auf.
Ich hab z.B. grössere Datein in /var/www liegen, für die auf anderen
Partitionen nicht genug Platz wäre. Wenn ich aber jetzt ein chroot für
Apache auf /usr mache, dann muss ich die /var/www Dateien ja auch auf
/usr/chroot/var/www oder sowas verschieben, was mir garnicht schmeckt!
Oder ich müsste den Apache nach /var legen, was mir genauso missfällt,
und was dann doch bei meheren Diensten zum Oberchaos führt...oder
nicht?

kryptX
Beiträge: 15
Registriert: 26.11.2006 20:08:45

Beitrag von kryptX » 14.05.2007 13:55:47

Fuer sowas kann man doch Symlinks benutzen, oder nicht?

MfG
Dominic Laumer

Django
Beiträge: 310
Registriert: 08.04.2007 22:19:51

Beitrag von Django » 17.05.2007 01:38:54

Ist das denn dann überhaupt noch sicher?

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: Chroot für Dienste hebelt Dateisystem aus?!

Beitrag von meandtheshell » 17.05.2007 01:44:42

Django hat geschrieben:Was haltet ihr eigentlich von chroot für Apache und co?
Weniger als nichts weil
- nicht sicher im Sinne von Security
- Mehraufwand der
- bringt weder Vorteile in
-- administration
-- Übersicht
-- performance
-- Security
Das wird ja sehr oft empfohlen!
Ja von
- Literatur aus dem Jahre 2001 oder davor
- Leuten die sich
-- zuwenig
-- gar nicht
mit der Materie befasst haben.

Ich stelle Dir in dem Fall nicht einmal die Frage nach der Motivation "warum chroot?" sondern sage dir einfach warum du Virtualisierung verwenden sollst (das ist möglich weil unter allen Aspekten Vorteile zu Tage treten):
- solide
- leicht wartbare
- übersichtliche
- state-of-the-art
- sichere (im Sinne von Security)


chroots sind ein Relikt aus der Vergangenheit ...

FAZIT

Mach dir die Mühe und sieh dir Xen oder Linux-Vserver an. Zumal du nachdem du hier Zeit investiert hast auf Grund der Mehrfachnutzung zu einem Skaleneffekt kommst (d.h. das kannst du für alle möglichen Problemstellungen einsetzen - nicht nur für den Apache Fall).
In dem konkreten Fall würde ich fast zu LVS raten - nicht weil ich Fan bin sondern weil du die Art (Virtualisierung/Isolierung auf OS Ebene) dem Xen Ansatz (Emulierung/Paravirtualisierung) aus Speed Gründen vorziehen kannst - du musst z.B. keine Netzwerksegmente simulieren etc. (in dem Fall würde ich zu Xen raten).

Markus

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 17.05.2007 01:59:02

kryptX hat geschrieben:Fuer sowas kann man doch Symlinks benutzen, oder nicht?
das mit ln-s ist so eine Sache ...
Ich rate zu
- bestehende nicht zu ändern (umzubiegen)
- selber so wenig wie möglich diese zu verwenden

Warum? Ganz einfach weil es früher oder später Probleme gibt weil man beim kopieren/löschen etc. etwas vermasselt. Symlinks skalieren also ganz und gar nicht mit der Fähigkeit des Menschen Dinge zu überblicken.

Im Grunde ist es hier dasselbe wie mit dem goto Statement in sourcecode. gotos und symlinks bringen nur Probleme und gehören weg.

Markus

Django
Beiträge: 310
Registriert: 08.04.2007 22:19:51

Beitrag von Django » 17.05.2007 14:46:52

Jeden Dienst in einen Vserver packen wird bei einem Rootserver mit Celeron 2 Ghz und 256MB RAM ein bischen schlecht funktionieren.

Gibts ne andere Lösung zum abhärten?

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 17.05.2007 15:22:59

Django hat geschrieben:Jeden Dienst in einen Vserver packen wird bei einem Rootserver mit Celeron 2 Ghz und 256MB RAM ein bischen schlecht funktionieren.
LVS hast ca. (nur) 2% Performance Overhead. Die 256MB RAM sind so oder so wenig. Unmöglich macht es LVS aber nicht. Das Ding läuft auch auf ARM Prozessoren in Handys.
Gibts ne andere Lösung zum abhärten?
min 1/4 m^3 Eiswürfel in die Badewanne, mit Kaltwasser zu ca. 70% füllen und dann min 10min drinnen verweilen.

Markus

Django
Beiträge: 310
Registriert: 08.04.2007 22:19:51

Beitrag von Django » 17.05.2007 15:28:54

meandtheshell hat geschrieben:
Django hat geschrieben:Jeden Dienst in einen Vserver packen wird bei einem Rootserver mit Celeron 2 Ghz und 256MB RAM ein bischen schlecht funktionieren.
LVS hast ca. (nur) 2% Performance Overhead. Die 256MB RAM sind so oder so wenig. Unmöglich macht es LVS aber nicht. Das Ding läuft auch auf ARM Prozessoren in Handys.
Gibts ne andere Lösung zum abhärten?
min 1/4 m^3 Eiswürfel in die Badewanne, mit Kaltwasser zu ca. 70% füllen und dann min 10min drinnen verweilen.

Markus
Hm wo ist der Sinn des VServers dann genau?
Anstatt den ganzen Server im Falle eines Hackings neu aufsetzen zu müssen, muss ich dann nur den Apache-Vserver neu aufsetzen?
Hm...fragt sich obs das bringt, da ich eh nur apache und mysql laufen habe

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 17.05.2007 15:32:28

Django hat geschrieben: Hm wo ist der Sinn des VServers dann genau?
- Schon einmal eine Webpräsenz von Maschine A nach B migrieren müssen weil du z.B. auf slashdot erwähnt wurdest?
- Steht dein Zeug unter Dauerfeuer von irgenwelchen "Brüdern"
- Hast du mehr als 1 Maschine zu administrieren
- Hast du sensible Daten
- Ist dir deine Freizeit was wert?
- http://linux-vserver.org/Usage_Scenarios
- etc.

BTW - kannst dir einmal Adamantix ansehen - zusammen mit LVS ist das noch ein Stück feiner.

Markus

Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Beitrag von hupfdule » 17.05.2007 15:34:31

Django hat geschrieben: Hm wo ist der Sinn des VServers dann genau?
Den selben Sinn, den ein chroot für den Apache machen würde. (Edit: Und ein paar der Punkte, die meandtheshell oben angesprochen hat ;-))
Wenn du den Sinn beim VServer nicht siehst, wirst du ihn beim chroot wohl auch nicht sehen.
Anstatt den ganzen Server im Falle eines Hackings neu aufsetzen zu müssen, muss ich dann nur den Apache-Vserver neu aufsetzen?
Es geht ja weniger um den Aufwand des neu Aufsetzens, sondern um die erhöhte Sicherheit bei einem erfolgreichen Angriff. Ist dein Apache gehackt, hat das dann noch kein Auswirkungen auf deine MySQL DB.
Hm...fragt sich obs das bringt, da ich eh nur apache und mysql laufen habe
Das kannst nur du entscheiden. Das klingt sehr danach, als ob die MySQL DB nur für den Apache genutzt wird. Damit sehe ich keinen Vorteil von Virtualisierung in diesem Fall.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 17.05.2007 15:40:05

Das er im Moment nur
- Apache mit
- MySQL
nutzt ist ok. Stimmt, würde nicht unbedingt eine Isolation erfordern obwohl auch auch durch Isolation schon Vorteile da wären. Durchgriff auf den Host nicht so möglich als bei einem nativen Linux System.

Die Frage die man sich stellen muss ist:
Wird diese Maschine für immer ganz sicher nur diesen Dienst laufen haben. Wer hier mit 100%iger Sicherheit "Ja" sagen kann sollte sich im Business Consulting Umfeld oder Finanz Sektor niederlassen - die Kristallkugel Fähigkeit wird Ihn reich machen.

Markus
Zuletzt geändert von meandtheshell am 17.05.2007 16:07:31, insgesamt 1-mal geändert.

Django
Beiträge: 310
Registriert: 08.04.2007 22:19:51

Beitrag von Django » 17.05.2007 15:42:30

Hm, bevor ich mich jetzt durch irgemdwelche Manuals wühle, eine kleine Frage:

Kann man bei LVS die HDD direkt ansprechen? Von virtuellen Images halte ich sehr wenig aufgrund der miserablen Performance!

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 17.05.2007 16:06:54

Django hat geschrieben: Kann man bei LVS die HDD direkt ansprechen? Von virtuellen Images halte ich sehr wenig aufgrund der miserablen Performance!
Natürlich. LVS ist keine Lösung für die Schulbank sondern Zeug das ganze Cluster zum zucken bringt wenn du willst.

Du kannst dir LVS im Gegensatz zu einem nativen System einfach so vorstellen, das du nicht nur eine Wiese hast (natives System) sondern dieselbe Wiese mit Maschendraht Zaun Unterteilungen in welche du Dienste geben kannst.

Egal wo, der Dienst wandert immer auf Gras und nicht auf Holzboden (loopdevice etc.) durch welches du 2h durchgraben musst bis du Gras siehst.

Jeder Dienst kann mit dem anderen reden (Maschendraht Zaun) aber sollte er anfangen zu spinnen, macht das nichts er kommt bis zum Zaun und dann ist aus. Beim nativen System kann der eine Irre Dienst auf der Wiese jedem anderen der fröhlich im Gras sitzt, die Sonne genießt und Tiere beobachtet den Kopf abreisen und die Wiese platt machen bis auf den letzten Käfer.

Im Falle von LVS sitzt du oben am Bergüberhang, beobachtest die Wiese (die Dienste wissen nichts von Dir) und sollte einer durchdrehen, navigierst die die Ionen Kanone in Position und zzzzzzzzzzzaaaaaaaaap. Gehst runter, tust neues Gras hin und setzt einen neuen Dienst auf das eingezäunte Stück Wiese.

Markus

Benutzeravatar
TRex
Moderator
Beiträge: 8385
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Beitrag von TRex » 18.05.2007 08:58:42

meandtheshell hat geschrieben:
Django hat geschrieben: Kann man bei LVS die HDD direkt ansprechen? Von virtuellen Images halte ich sehr wenig aufgrund der miserablen Performance!
Natürlich. LVS ist keine Lösung für die Schulbank sondern Zeug das ganze Cluster zum zucken bringt wenn du willst.

Du kannst dir LVS im Gegensatz zu einem nativen System einfach so vorstellen, das du nicht nur eine Wiese hast (natives System) sondern dieselbe Wiese mit Maschendraht Zaun Unterteilungen in welche du Dienste geben kannst.

Egal wo, der Dienst wandert immer auf Gras und nicht auf Holzboden (loopdevice etc.) durch welches du 2h durchgraben musst bis du Gras siehst.

Jeder Dienst kann mit dem anderen reden (Maschendraht Zaun) aber sollte er anfangen zu spinnen, macht das nichts er kommt bis zum Zaun und dann ist aus. Beim nativen System kann der eine Irre Dienst auf der Wiese jedem anderen der fröhlich im Gras sitzt, die Sonne genießt und Tiere beobachtet den Kopf abreisen und die Wiese platt machen bis auf den letzten Käfer.

Im Falle von LVS sitzt du oben am Bergüberhang, beobachtest die Wiese (die Dienste wissen nichts von Dir) und sollte einer durchdrehen, navigierst die die Ionen Kanone in Position und zzzzzzzzzzzaaaaaaaaap. Gehst runter, tust neues Gras hin und setzt einen neuen Dienst auf das eingezäunte Stück Wiese.

Markus
Das muss zu den quotes :D
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Antworten