Introdução
Desde abril de 1996 o servidor Web
Apache é o servidor web mais conhecido e utilizado no mundo.
O Apache HTTP Server ("httpd ou apache2") é um projeto da Apache Software Foundation, que pode ser encontrado na URL
http://httpd.apache.org/, e utilizado livremente.
E o
chroot é um módulo para o apache, que possibilita a execução do apache em um ambiente encapsulado e seguro.
O módulo chroot está incluído nos repositórios das distribuições
FreeBSD,
DarwinPorts,
PLD Linux,
Gentoo Linux,
Debian e
NetBSD.
Nas outras distribuições os fontes podem ser baixados em:
http://core.segfault.pl/~hobbit/mod_chroot/dist, e a mais recente no momento da criação deste artigo foi
http://core.segfault.pl/~hobbit/mod_chroot/dist/mod_chroot-0.5.tar.gz.
Preparando o ambiente
Criando o volume, com 100M:
# mkdir -vp /mnt/vm /httpdjail;
# dd if=/dev/zero of=/mnt/vm/httpdjail.img bs=1k seek=100k count=1;
# mke2fs /mnt/vm/httpdjail.img;
# mount -o loop,noexec,nodev,nosuid -t ext4 /mnt/vm/httpdjail.img /httpdjail;
Criando os diretórios necessários:
# mkdir -vp /httpdjail/var/www/html /httpdjail/{tmp,home} /httpdjail/var/{run,www,log} /httpdjail/var/run/{apache2,httpd};
Ou:
# mkdir -vp /httpdjail/var/{run,www};
# chown -R root.root /httpdjail/var/run;
# chmod 1777 /httpdjail/tmp;
Editando /etc/fstab:
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/mnt/vm/httpdjail.img /httpdjail ext4 loop,nodev,noexec,nosuid 0 0
Instalando o módulo chroot no Apache através dos fontes no Debian-Like:
# aptitude install apache2-mpm-prefork apache2-threaded-dev;
# wget http://core.segfault.pl/~hobbit/mod_chroot/dist/mod_chroot-0.5.tar.gz
# tar -zxvf mod_chroot-0.5.tar.gz -C /tmp
# apxs2 -cia /tmp/mod_chroot-0.5/mod_chroot.c
Instalação repositório Debian:
Instalação repositório Ubuntu:
Instalando o modulo chroot no Apache através dos fontes no RedHat-Like:
# yum install httpd-devel;
# wget http://core.segfault.pl/~hobbit/mod_chroot/dist/mod_chroot-0.5.tar.gz
# tar -zxvf mod_chroot-0.5.tar.gz -C /tmp
# apxs -cia /tmp/mod_chroot-0.5/mod_chroot.c