Change root von apache2, php, python, mysql

Hallo an alle Linux-Freaks,

ich möchte einen Apache2-Webserver in einer chroot-Umgebung laufen lassen der neben dem http auch php, python-Skripte und Zugriffe auf eine mysql-Datenbank durchführen kann.

Bisherige Vorgehensweise:
Habe die Installation eines Apache 1.3 wie unter http://www.debian.org/doc/manuals/securing-debian-ho… angegeben durchgeführt und hat wunderbar funktioniert.

Habe apache2, libapache2-mod-php, libapache2-mod-pyhton installiert und das ganze unter mit makejail in /var/chroot/apache/ kopiert.

Leider basiert die oben angegebene Konfiguration auf den älteren apache 1.3 Webserver und nicht auf den aktuellen 2.2. Bei der Abänderung der Konfigurationsfiles habe ich so meine Probleme. Zwar läßt sich die apache.py von den makejail-examples noch relativ leicht abändern, aber die Abänderung der Startskripte unter /etc/init.d bringen mich noch zur Weißglut. Zwar schaffe ich den Server manuell zu starten, jedoch zeigt er mir bei der Angabe der gleichen Befehle in den Skripten der /etc/init.d immer Fehler an und startet mir den Daemon dann eben nicht.

Gibt es eine How-to möglichst in deutsch, oder englisch, welches mir die genaue Vorgehensweise bei einer chroot-Umgebung für apache2, php, python und mysql anbietet?

Meine Konfiguration:

Debian-Base-Server-Installation 4.0 (Etch) mit ssh, rpcbind und nfs über openvpn mit openssl

Gruß

Hallo heiserfeger77,

ich möchte einen Apache2-Webserver in einer chroot-Umgebung
laufen lassen der neben dem http auch php, python-Skripte und
Zugriffe auf eine mysql-Datenbank durchführen kann.

Gibt es eine How-to möglichst in deutsch, oder englisch,
welches mir die genaue Vorgehensweise bei einer
chroot-Umgebung für apache2, php, python und mysql anbietet?

Vielleicht hilft dir das schon ein wenig weiter:
http://de.gentoo-wiki.com/Apache_Chroot

Das dabei gentoo benutzt wird spielt ja wohl keine Rolle.

Viele Grüße
Marvin

Vielleicht hilft dir das schon ein wenig weiter:
http://de.gentoo-wiki.com/Apache_Chroot

Das dabei gentoo benutzt wird spielt ja wohl keine Rolle.

Die grundsätzliche Verwendung in einer chroot-Umgebung macht hier keinen Unterschied. Jedoch geht diese Gentoo-Anleitung einen leicht anderen Weg um die Apache-chroot-Umgebung zusätzlich zu härten. Hierbei wird der komplette Apache neu kompiliert und gewisse Sicherheitsrisiken, wie Nichtverwendung der suid-Bit’s durch zusätzlichen mounten der chroot-Umgebung in ein nosuid. Außerdem werden hier Tools z.B. emerge eingesetzt die gentoospezifisch sind und sich nicht eins-zu-eins auf ein debian abbilden lassen. Ausführliche Erfahrungen habe ich mittlerweile mit allen debian-basierten Distris, wie debian, ubuntu, knoppix (sprich: alle mit apt als Paketmanager) Gentoo geht hier von Natur aus einen komplett anderen Weg über nativ kompilierten Sourcecode. Durch die Erfolgte Härtung sind einige Einstellungen falsch im Vergleich zu debian. Außerdem sind mir die Standardverzeichnisse in gentoo nicht geläufig. Ich weiß allerdings nicht, ob diese vielleicht auch die gleichen wie bei debian sind. Bei rpm-basierten Distris wie Fedora, Opensuse sind diese teilweise gravierenden Unterschieden unterworfen.

Was ich mir aus der Anleitung herausziehen konnte, war das zusätzliche mounten der chroot-Umgebung als nosuid, ansonsten wird mau.

Wichtig wäre mir bei der Konstellation auch die Verwendung von makejail als Umgebungsersteller, da hiermit eine einfaches Update der kompletten Umgebung mit zwei Befehlen möglich wäre (wäre sehr einfach über einen Cron-Job automatisierbar).

apt-get update && upgrade
makejail /etc/apache2.py

Aber danke erst mal für den Vorschlag.

Hat jemand weitere Informationen für mich?

Gruß

Hallo heiserfeger77,

Wichtig wäre mir bei der Konstellation auch die Verwendung von
makejail als Umgebungsersteller

Hat jemand weitere Informationen für mich?

Bis sich jemand findet, der das schon praktisch gemacht hat, kann ich dir nur noch diese Anleitung empfehlen:
http://www.debian.org/doc/manuals/securing-debian-ho…
Ist alt (Woody) und benutzt auch Apache 1.x, aber bringt vielleicht doch einen kleinen Schritt weiter. Ich kenne die Möglichkeit mit dem chroot environment leider nur aus der Theorie, kann also nichts weiter praktisches beitragen. Aber da sich bis jetzt sonst niemand gemeldet hat…

Viele Grüße
Marvin

Diesen Link kannte ich schon, aber danke für die Hilfe. Ich hab gute und schlechte Nachrichten für meine Konstellation. Es gibt eine libapache2-mod-chroot mit der sich das ganze realisieren läßt. Das war die gute und das funktioniert auch überraschenderweise sehr leicht und gut. Das dumme daran ist nur das die vorgeschlagene Konfiguration mit einem symbolischen Link aus dem chroot-Verzeichnis arbeitet, welches die chroot Umgebung dadurch unterwandern kann. Hiermit kann ein Hacker mit einem erfolgreichen Exploit für Apache aus der Umgebung ausbrechen. Zwar hat dieser dann immernoch NUR die Rechte des Apache-Server, kann aber auf dem realen System herumspatzieren. Bin da noch auf der Suche nach ner Möglichkeit die dieser Szenario ausschaltet. Aber ich bin zuversichtlich.

PS: Der Link funktioniert prima mit apache 1.3, auch unter einem debian 4.0, aber mit apache2 is da nichts zu holen. Außerdem brauche ich apache2 wegen php5-Unterstützung und python.

Gruß

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]