BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Apache in einer Jail einsperren

Möchte man einen Apache Webserver in einer gesicherten Umgebung laufen lassen, so muss man nicht unbedingt eine vollständige Jail aufsetzen, nur um einen Apache darin laufen zu lassen, sondern kann mit Hilfe von mod_jail den Apache mittels des jail-Systemcalls einsperren. mod_jail kann über den Portbaum installiert werden:

# cd /usr/ports/www/mod_jail && make install clean

Danach kann mod_jail in der httpd.conf aktiviert werden. Für einen Apache 2.0 fügt man folgende Zeilen in die /usr/local/etc/apache2/httpd.conf ein:

LoadModule jail_module        libexec/apache2/mod_jail.so

<IfModule mod_jail.c>
jail_rootdir "/usr/local/www"
jail_hostname "test.chruetertee.ch"
jail_address 192.168.1.12
jail_scrlevel 3
</IfModule>

Mit der Variable jail_scrlevel kann festgelegt werden, mit welchem Securelevel die Jail des eingesperrten Apaches laufen soll. Da nach dem Starten des Apaches mittels chroot nach jail_rootdir gewechselt wird, muss darunter das richtige Verzeichnis für die PID-Datei erstellt werden:

# mkdir /usr/local/www/var/run

Auch müssen die Pfadangaben in der httpd.conf an die chroot-Umgebung angepasst werden. Nun kann der Apache ganz normal gestartet werden:

# /usr/local/etc/rc.d/apache2.sh start

Mit jls(8) kann nun die Jail mit dem eingesperrten Apache angezeigt werden:

# jls
JID IP Address Hostname Path
2 192.168.1.12 test.chruetertee.ch /usr/local/www

Zum Stoppen des Apaches kann nun die Jail mit Hilfe von killall beendet werden:

# killall -j 2

Mehr Informationen zu mod_jail findet man auf der Webseite: http://igorpopov.newmail.ru/mod_jail/

Comments (2)  Permalink

Datei vollständig löschen

Möchte man auf FreeBSD und OpenBSD eine Datei vollständig löschen, so dass sie nicht wieder herstellbar ist, kann die -P Option von rm verwendet werden. Diese überschreibt die Datei zuerst mit 0x00, dann mit 0xff und danach wieder mit 0x00, bevor die Datei gelöscht wird.

Allerdings dauert das Löschen mit der -P Option einiges länger als das Löschen ohne:

# ls -l testdatei
-rw-r--r-- 1 beat users 1073741824 31 Jul 17:12 testdatei
# /usr/bin/time -h rm testdatei
0,15s real 0,00s user 0,15s sys

# ls -l testdatei2
-rw-r--r-- 1 beat users 1073741824 31 Jul 17:13 testdatei2
# /usr/bin/time -h rm -P testdatei2
1m27,78s real 0,03s user 4,07s sys

Mehr Informationen zu rm findet man in der Manpage rm(1).

 Permalink
1-2/2