Wie installiere ich Apache in chroot?
-
- Posts: 10
- Joined: 2009-02-07 13:31
Wie installiere ich Apache in chroot?
Hallo,
ich bin dabei mein Debian-Server zu chroot-en. D. h., ich möchte Apache, MySql, PHP absichern. Also installiere ich Apache in chroot.
1. Was ist mit MySql und PHP? Muß man sie auch als chroot installieren, oder ist es nur bei Apache-Server üblich?
2. Wie sollte ich vorgehen, bzw. welcher Weg ist besser?
http://www.debian.org/doc/manuals/secur ... nv.de.html
oder mit “mod_chroot“ :
http://www.howtoforge.com/chrooting-apa ... ebian-etch
Kennt jemand vielleicht noch eine ausführliche Beschreibung um Apache (oder LAMP) zu chrooten?
Gruß Kami
ich bin dabei mein Debian-Server zu chroot-en. D. h., ich möchte Apache, MySql, PHP absichern. Also installiere ich Apache in chroot.
1. Was ist mit MySql und PHP? Muß man sie auch als chroot installieren, oder ist es nur bei Apache-Server üblich?
2. Wie sollte ich vorgehen, bzw. welcher Weg ist besser?
http://www.debian.org/doc/manuals/secur ... nv.de.html
oder mit “mod_chroot“ :
http://www.howtoforge.com/chrooting-apa ... ebian-etch
Kennt jemand vielleicht noch eine ausführliche Beschreibung um Apache (oder LAMP) zu chrooten?
Gruß Kami
-
- Posts: 409
- Joined: 2008-03-12 05:36
Re: Wie installiere ich Apache in chroot?
Zu 1.
MySQL muss nicht in der "chroot" Umgebung laufen. Dazu kannst du MySQL entweder:
Eigene Chroot Umgebung spendieren und dann den MySQL Socket via "ln" in den Apache Chroot linken oder MySQL Verbindungen über TCP/IP laufen lassen
Oder kein Chroot für MySQL und den MySQL Socket im Chroot von Apache erstellen lassen - bspw. in der "my.cnf"
[mysqld]
...
socket = /verzeichnis/des/apache_chroot/tmp/mysql.sock
Es ist vielleicht generell keine gute Idee zusätzliche Software die auch nach "außerhalb" zugegriffen werden kann (Mailserver, Datenbank usw. usw.) alle mit in die Chroot Umgebung zu installieren, was natürlich geht, damit am Ende aber sich eine eventuelle Angriffsfläche auch erhöht.
MySQL muss nicht in der "chroot" Umgebung laufen. Dazu kannst du MySQL entweder:
Eigene Chroot Umgebung spendieren und dann den MySQL Socket via "ln" in den Apache Chroot linken oder MySQL Verbindungen über TCP/IP laufen lassen
Oder kein Chroot für MySQL und den MySQL Socket im Chroot von Apache erstellen lassen - bspw. in der "my.cnf"
[mysqld]
...
socket = /verzeichnis/des/apache_chroot/tmp/mysql.sock
Es ist vielleicht generell keine gute Idee zusätzliche Software die auch nach "außerhalb" zugegriffen werden kann (Mailserver, Datenbank usw. usw.) alle mit in die Chroot Umgebung zu installieren, was natürlich geht, damit am Ende aber sich eine eventuelle Angriffsfläche auch erhöht.
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Danke für Eure ausführlichen und hilfreichen Antworten!
Ich habe vor einen Root-Server (bei meinem Provider) inkl. Postfix, Apache, PHP und MySQL im Internet zu stellen.
Ich mach mich gleich daran, und versuche erst mal grsecurity zu installieren. Natürlich erstmal an einem Test-Server zu Hause. Mal sehen ob ich es schaffe.
Wenn ich richtig verstanden habe, sollte ich am besten 3-Verschiedene Chroot-Umgebeung für Apache, PHP und MySQL erzeugen.
Dann mach ich mich daran, mal sehen wie weit ich kommen werde. 8-[
Gruß Kami
Ich habe vor einen Root-Server (bei meinem Provider) inkl. Postfix, Apache, PHP und MySQL im Internet zu stellen.
Ich mach mich gleich daran, und versuche erst mal grsecurity zu installieren. Natürlich erstmal an einem Test-Server zu Hause. Mal sehen ob ich es schaffe.
Wenn ich richtig verstanden habe, sollte ich am besten 3-Verschiedene Chroot-Umgebeung für Apache, PHP und MySQL erzeugen.
Dann mach ich mich daran, mal sehen wie weit ich kommen werde. 8-[
Gruß Kami
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Wie installiere ich Apache in chroot?
OT-Diskussion abgetrennt: http://www.rootforum.org/forum/viewtopi ... 77&t=50060
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 10
- Joined: 2009-02-07 13:31
Wie kann ich Apache2 mit mod_chroot in chroot-Umgebung zu erstellen?
Hallo,
Ich versuche Apache2 mit mod_chroot in chroot-Umgebung zu erstellen.
Die Vorgehenweise laut: http://www.howtoforge.de/howto/apache2- ... -chrooten/
Dann habe ich das Packet libapache2-mod-chroot_0.5-5_i386.deb herunter geladen: http://packages.debian.org/etch/libapache-mod-layout
Also, was mache ich falsch? ](*,)
Meine Datei /etc/apt/sources.list:
Vielen Dank im Voraus,
Kami
Ich versuche Apache2 mit mod_chroot in chroot-Umgebung zu erstellen.
Die Vorgehenweise laut: http://www.howtoforge.de/howto/apache2- ... -chrooten/
Code: Select all
# apt-get install libapache2-mod-chroot
Reading package lists... Done
Building dependency tree... Done
Package libapache2-mod-chroot is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package libapache2-mod-chroot has no installation candidate
Code: Select all
# apt-get install libapache2-mod-chroot_0.5-5_i386.deb
Reading package lists... Done
Building dependency tree... Done
E: Couldn't find package libapache2-mod-chroot_0.5-5_i386.deb
Meine Datei /etc/apt/sources.list:
Code: Select all
#
# deb cdrom:[Debian GNU/Linux 4.0 r6 _Etch_ - Official i386 kde-CD Binary-1 20081219-16:25]/ etch contrib main
deb cdrom:[Debian GNU/Linux 4.0 r6 _Etch_ - Official i386 kde-CD Binary-1 20081219-16:25]/ etch contrib main
deb http://ftp.de.debian.org/debian/ etch main
deb-src http://ftp.de.debian.org/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
deb http://www.backports.org/debian etch-backports main contrib
Kami
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Wie kann ich Apache2 mit mod_chroot in chroot-Umgebung zu erstellen?
Du benutzt apt-get, wenn du dpkg benutzen willst...kami33 wrote:Also, was mache ich falsch? ](*,)
Wenn dein apt-get/aptitude das Paket nicht findet, ist an deiner sources.list etwas madig oder du hast noch nie `aptitude update` ausgeführt.
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Dank für den Hinweis. Ich habe in der sources.list anstatt http://ftp.de ... geändert in http://ftp2.de ... und mod_chroot hat sich installieren lassen. :)
Gruß Kami
Gruß Kami
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Hallo,
ich habe Apache2, php und MySQL installiert und getestet (z. B. Datenbankverbindung), alles hat richtig funktioniert.
Dann habe ich versucht Apache2 mit mod_chroot in chroot-Umgebung zu erstellen. Laut Tutorial: http://www.howtoforge.de/howto/apache2- ... -chrooten/
Html- und php-Seiten funktionieren. Aber die Datenbankverbindung kann ich leider nicht erstellen.
Kann mir jemand einen Tipp geben? Ich komme selbst nicht weiter.
Vielen Dank im Voraus
Kami
ich habe Apache2, php und MySQL installiert und getestet (z. B. Datenbankverbindung), alles hat richtig funktioniert.
Dann habe ich versucht Apache2 mit mod_chroot in chroot-Umgebung zu erstellen. Laut Tutorial: http://www.howtoforge.de/howto/apache2- ... -chrooten/
Html- und php-Seiten funktionieren. Aber die Datenbankverbindung kann ich leider nicht erstellen.
Code: Select all
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)(2002)
Vielen Dank im Voraus
Kami
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Wie installiere ich Apache in chroot?
Überleg doch mal. Hast du den UNIX-Socket für MySQL in der chroot-Umgebung verfügbar gemacht? Nein, hast du nicht. Benutze TCP/IP für die Verbindung zu MySQL.
-
- Posts: 409
- Joined: 2008-03-12 05:36
Re: Wie installiere ich Apache in chroot?
Siehe MySQL Dokumentation:
[mysqld]
socket=...
Und dann den Pfad zur Chroot Umgebung damit der Socket dort erstellt wird. Alternativ kann man auch via
ln /var/run/mysqld/mysqld.sock /das/chroot/verzeichnis/deines/apache/var/run/mysqld/
benutzen oder wie schon gesagt - TCP Verbindungen.
[mysqld]
socket=...
Und dann den Pfad zur Chroot Umgebung damit der Socket dort erstellt wird. Alternativ kann man auch via
ln /var/run/mysqld/mysqld.sock /das/chroot/verzeichnis/deines/apache/var/run/mysqld/
benutzen oder wie schon gesagt - TCP Verbindungen.
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Echt super, es hat sehr gut funktioniert. :-D
- TCP: anstatt “localhost“ habe “127.0.0.1“ eingetragen.
- ln /var/run/mysqld/mysqld.sock /var/www/var/run/mysqld/
- Ich habe überall in /etc/mysql/debian.cnf und /etc/mysql/my.cnf den Pfad
/var/run/mysqld/mysqld.sock deändert in: /var/www/var/run/mysqld/mysqld.sock
und /var/run/mysqld/pid-file deändert in: /var/www/var/run/mysqld/pid-file/mysqld.pid
1- Welche methode ist besser (Sicherheit bzw. Performance)?
Wenn ich Apach2 starte/ wieder starte, bekomme ich folgende Meldung:
Trotz des Fehlers kann ich php, HTML ausführen und DB-Verbindung haben.
Erst wenn ich folgenden Link erstelle:
kann ich Apache2 ohne Fehlermeldung starte/ wieder starten.
2- Bringe ich durch diese Verlinkung eventuell Sicherheitslücken in Chroot Umgebung hinein?
phpMyAdmin läuft nicht mehr:
3- Wie kann ich phpMyAdmin zum laufen bringeh?
Bei mir ist der Pfad um php-Scripts oder HTML auszuführen: /var/www/apache2-default
Vielen Dank im Voraus
Gruß
- TCP: anstatt “localhost“ habe “127.0.0.1“ eingetragen.
- ln /var/run/mysqld/mysqld.sock /var/www/var/run/mysqld/
- Ich habe überall in /etc/mysql/debian.cnf und /etc/mysql/my.cnf den Pfad
/var/run/mysqld/mysqld.sock deändert in: /var/www/var/run/mysqld/mysqld.sock
und /var/run/mysqld/pid-file deändert in: /var/www/var/run/mysqld/pid-file/mysqld.pid
1- Welche methode ist besser (Sicherheit bzw. Performance)?
Wenn ich Apach2 starte/ wieder starte, bekomme ich folgende Meldung:
Code: Select all
# /etc/init.d/apache2 restart
Forcing reload of web server (apache2)...httpd (pid 3833?) not running
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
failed!
Erst wenn ich folgenden Link erstelle:
Code: Select all
ln -s /var/www/var/run/apache2.pid /var/run
2- Bringe ich durch diese Verlinkung eventuell Sicherheitslücken in Chroot Umgebung hinein?
phpMyAdmin läuft nicht mehr:
Code: Select all
Forbidden
You don't have permission to access /phpmyadmin/phpmyadmin on this server.
Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 mod_ssl/2.2.3 OpenSSL/0.9.8c mod_chroot/0.5 Server at localhost Port 80
Bei mir ist der Pfad um php-Scripts oder HTML auszuführen: /var/www/apache2-default
Vielen Dank im Voraus
Gruß
-
- Administrator
- Posts: 2641
- Joined: 2004-01-21 17:44
Re: Wie installiere ich Apache in chroot?
Das mit dem PID-File war überflüssig, die benötigt eigentlich nur das init-Skript von MySQL.kami33 wrote:Echt super, es hat sehr gut funktioniert. :-D
- TCP: anstatt “localhost“ habe “127.0.0.1“ eingetragen.
- ln /var/run/mysqld/mysqld.sock /var/www/var/run/mysqld/
- Ich habe überall in /etc/mysql/debian.cnf und /etc/mysql/my.cnf den Pfad
/var/run/mysqld/mysqld.sock deändert in: /var/www/var/run/mysqld/mysqld.sock
und /var/run/mysqld/pid-file deändert in: /var/www/var/run/mysqld/pid-file/mysqld.pid
Unix Sockets sind minimal performanter. Wenn Du einen Paketfilter (iptables) einsetzt, sind Unix Sockets mehr als nur minimal performanter. Hard Links in einer Chroot-Umgebung sind allerdings eine Einladung zum Ausbruch... (stark vereinfachte/gekürzte Erklärung: mit ein bisschen Trickserei kommt man an das File Handle, das MySQL für den Socket aufgemacht hat, und kann damit dem Kernel den /-Kontext unterjubeln, unter dem MySQL läuft.)kami33 wrote:1- Welche methode ist besser (Sicherheit bzw. Performance)?
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Wie installiere ich Apache in chroot?
Du hast die Funktionsweise von Chroots noch nicht verstanden und mit Deiner Vorgehensweise mehrere (potentielle) Sicherheitslücken geöffnet. Bei Deinem aktuellen Wissensstand ist Dein System ohne Chroots deutlich sicherer...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Danke für den Hinweis, ich habe /var/www/var/run/mysqld/pid-file/mysqld.pid rückgängig gemacht, und MySQL kann fehlerfrei starten.
Also es ist zu empfehlen, den Weg mit dem Socket zu wählen, d.h. in meinem Fall mysqld.sock im Verzeichnis /var/www/var/run/mysqld/mysqld.sock erstellen lassen.
Leider habe ich immer noch das Problem mit Apache2 (sieh oben).
Hat irgendjemand eine Idee, woran das liegen könnte? Bin über jeden Hinweis sehr dankbar.
Gruß
Also es ist zu empfehlen, den Weg mit dem Socket zu wählen, d.h. in meinem Fall mysqld.sock im Verzeichnis /var/www/var/run/mysqld/mysqld.sock erstellen lassen.
Leider habe ich immer noch das Problem mit Apache2 (sieh oben).
Hat irgendjemand eine Idee, woran das liegen könnte? Bin über jeden Hinweis sehr dankbar.
Gruß
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Wie installiere ich Apache in chroot?
http://www.linuxforen.de/forums/showthread.php?t=259638
http://www.ubuntu-forum.de/index.php?pa ... tID=251733
Nächstes mal selbst auf Multipostings hinweisen!
http://www.ubuntu-forum.de/index.php?pa ... tID=251733
Nächstes mal selbst auf Multipostings hinweisen!
-
- Posts: 10
- Joined: 2009-02-07 13:31
Re: Wie installiere ich Apache in chroot?
Was soll die Verlinkung und die Hinweise? Ist es verboten in den anderen Forums nach einer Lösung zu suchen?
Eben, wie man sieht, fleißig suche ich nach einer Lösung. Ich habe bis jetzt einige Tutorials bzw. Bücher gelesen und versuche mich in das Thema “chroot“ einzuarbeiten.
Wo liegt das Problem? Vor allem wenn es ums Thema Sicherheit geht, ist es mir lieber, wenn ich mehrere Meinungen hören würde.
Eben, wie man sieht, fleißig suche ich nach einer Lösung. Ich habe bis jetzt einige Tutorials bzw. Bücher gelesen und versuche mich in das Thema “chroot“ einzuarbeiten.
Wo liegt das Problem? Vor allem wenn es ums Thema Sicherheit geht, ist es mir lieber, wenn ich mehrere Meinungen hören würde.
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Wie installiere ich Apache in chroot?
Findest du es fair, dass du die Benutzer von insgesamt 3 Foren für dich suchen lässt und es nicht einmal für nötig hältst, auf die verschiedenen Beiträge zu verweisen? Sollen wir alles 3 mal durchkauen? Sollen wir alles 3 mal fragen? Ist unsere Zeit weniger wert als deine?
Für mich ist ab hier EOD.
EDIT: Und noch zwei:
http://www.debianforum.de/forum/viewtop ... 2&p=682309
http://www.debianforum.de/forum/viewtop ... 7&t=108040
Für mich ist ab hier EOD.
EDIT: Und noch zwei:
http://www.debianforum.de/forum/viewtop ... 2&p=682309
http://www.debianforum.de/forum/viewtop ... 7&t=108040