PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Chrootenviroment für Serverprozesse



Berufspenner
17.06.03, 18:43
Hi@all

Ich möchte gerne mal wissen, wie ich eine sichere Umgebung für Serverprozesse einrichte kann. Was muss ich beachten? Welche Vorteile hab ich davon?

Cu
André

Tuneman
17.06.03, 22:27
Hallo,

ich habe eine chroot-Umgebung für Bind9 eingerichtet.
Der Vorteil ist, dass falls jemand über den Nameserver einbrechen sollte, im angelegten Käfig gefangen ist, da er nicht dort nicht heraus kommt.

Eine gute Anleitung gibt'S hier:

http://www.pl-forum.de/t_netzwerk/dnssecure.html

Gruß
Tuneman

LINUXRH7
17.06.03, 22:52
Hallo,

wie schon beschrieben ist der Vorteil der wenn jemand eindringt, das er keine root rechte hat.
Kurzbeschreibung installation apache.

root@s2.i.root-me.de > useradd -d /home/www www
ausloggen und einloggen als User: www
Apache saugen und entpacken.
www@s2.i.root-me.de >tar -xzvf apache_1.3.27.tar.gz
Ins Verzeichnis apache-1.3.27 wechseln
www@s2.i.root-me.de >./configure \
--prefix=/home/www/usr/local/apache \
--mandir=/home/www/usr/local/apache/man \
--logfiledir=/home/www/usr/local/apache/logs \
--sysconfdir=/home/www/usr/local/apache/conf \
--datadir=/home/www/usr/local/apache/htdocs \
--enable-module=info
www@s2.i.root-me.de >make all; make install
httpd.conf kopieren und anpassen auf Servername, Port auf 8080 usw.
Jetzt kannst du den schon mal starten. Der horcht dann auf 8080
Der kann nicht auf 80 horchen da der user www keine Ports <1024 öffnen darf.

PHP Sourcen saugen, entpacken und in die Sourcen vom Apache kompilieren installieren.
www@s2.i.root-me.de > ./configure --prefix=/home/www/www --with-mysql \
--with-apache=../apache --with-axps
make ; make install

Zurück ins Apache Verzeichnis und nocheinmal mit php durch den Compiler jagen.
www@s2.i.root-me.de > ./configure --prefix=/home/www/usr/local/apache-1-3-27 --activate-module=src/modules/php3/libphp3.a --datadir=/home/www/usr/local/apache-1.3.27/htdocs --enable-module=info

www@s2.i.root-me.de > make; make install

In der httpd.conf noch eintragen das er php3 mit benutzen soll und
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps

bei PHP muss mann daruaf achten, das keine libs von der normalen Umgebung benutzt werden.
Das ist das einizige was problematisch ist. Man muss alle Sourcen aus dem Netz laden und im Verzeichnis als User www installieren das betrifft in diesem Fall: MySQL, der GD-Lib, der ZLIB und PHP.
Man muss nur alles ausschliessen und bim kompilieren angeben das nichts aus /usr/local, /usr/lib/, /lib u.s.w. genommen wird.

Wenn alles durch läuft kann man/fra den Indianer einfach mal anschmeissen.
Liegt alles in /home/www/usr/sbin/apachectl
www@s2.i.root-me.de > /home/www/usr/sbin/apachectl start
www@s2.i.root-me.de > ps aux | grep "apache"
www 1798 0.0 0.0 2824 176 ? S Jul11 0:00 /home/www/usr/lib/apache-ssl/gcache 33 /home/www/var/run/gcache_port
www 13173 0.0 1.6 73180 4176 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13174 0.0 1.6 73180 4176 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13175 0.0 1.6 73180 4176 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13176 0.0 1.6 73180 4176 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13177 0.0 1.6 73180 4180 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13181 0.0 1.6 73180 4184 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13193 0.0 1.6 73180 4184 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 13199 0.0 1.6 73180 4176 ? S Aug16 0:00 /home/www/usr/sbin/apache
www 14534 0.0 0.2 2824 732 ? S Aug16 0:00 /home/www/usr/lib/apache-ssl/gcache 33 /home/www/var/run/gcache_port
www 14536 0.0 1.4 73628 3760 ? S Aug16 0:00 /home/www/usr/sbin/apache-ssl
www 14537 0.0 0.6 73540 1752 ? S Aug16 0:00 /home/www/usr/sbin/apache-ssl
www 14538 0.0 0.6 73540 1752 ? S Aug16 0:00 /home/www/usr/sbin/apache-ssl
www 14539 0.0 0.6 73540 1752 ? S Aug16 0:00 /home/www/usr/sbin/apache-ssl
www 14540 0.0 0.6 73540 1752 ? S Aug16 0:00 /home/www/usr/sbin/apache-ssl

Viel Spass beim testen. Das ganze kannst du dann mit mysql machen, named, ftp, usw.

cya
LiNUXrh7

Elegua
25.06.03, 13:39
Aber sowie ich das verstehe möchte Berufspenner,
wohl named, Apache etc. als r00T laufen haben.
(ist ja auch normal...)

Und da hilft wohl nur eine CHROOT-Umgebung oder?

Tuneman
25.06.03, 13:51
Wenn Du Dienste als root (oder meintest Du r00t mit Nullen?) laufen lässt, hilft Dir chroot wenig, um ehrlich zu sein gar nicht...

Berufspenner
25.06.03, 13:56
Hi@all

Mit einer Chroot Umgebung spert man ja einen Prozess/Dienst in ein Verzeichnis ein. Das hat den Vorteil, dass wenn einer den Dienst crackt er immernoch in dem Verzeichnis eingesperrt ist. Was wiederum der Systemsicherheit zu gute kommt. Also, wie schon gesagt, hat das nichts damit zu tun, einen Prozess als root laufen zu lassen.

Cu
André

Elegua
25.06.03, 16:26
Original geschrieben von Berufspenner
Hi@all

Mit einer Chroot Umgebung spert man ja einen Prozess/Dienst in ein Verzeichnis ein. Das hat den Vorteil, dass wenn einer den Dienst crackt er immernoch in dem Verzeichnis eingesperrt ist. Was wiederum der Systemsicherheit zu gute kommt. Also, wie schon gesagt, hat das nichts damit zu tun, einen Prozess als root laufen zu lassen.

Cu
André

Da gebe ich Dir Recht.
Ich hatte mich etwas unglücklich ausgedrückt.
Entschuldigung.

Berufspenner
25.06.03, 16:35
Original geschrieben von paddyhm
Da gebe ich Dir Recht.
Ich hatte mich etwas unglücklich ausgedrückt.
Entschuldigung. Kein Problem :)

Cu
André

RapidMax
25.06.03, 17:32
@Berufspenner:
Wie oft kann ich nur wiederhohlen: SuFu! :p

spymande war so nett und hat ein Howto reingestellt - erst kürzlich, darum hast du vermutlich nicht damit gerechnet und die SuFu benutzt (das hat man davon, wenn man das Forum zu gut kennt - ist mir auch schon passiert ;) ). Kuckst du hier: http://www.linuxforen.de/forums/showthread.php?s=&threadid=80126

Wenn es im speziellen um bind9 geht, dann kann ich dir mein Script geben, dass automatisch die jail für bind9 baut. Das brauche ich nach jedem Sicherheits-Update.

Gruss, Andy

Berufspenner
25.06.03, 17:40
Hi@all

[Home like]Nein..[/Homer like] ;) Jaja, die SuFu. Eigentlich möchte ich nicht nur Bind einsperren sonder alle anderen Dienste, soweit möglich, auch.

Cu
André