|
Strona 7 z 7
9. Apache chroot
Dbając o bezpieczeństwo naszego serwera, idealnym pomysłem
będzie umieszczenie naszego serwera httpd apache w chroot,
przedstawiam krotki opis jak tego dokonać.
9.1. Tworzenie katalogów
Jako pierwsza czynność powinniśmy zatrzymać serwer apache.
Następnie tworzymy katalogi, które będą nam niezbędne.
UWAGA: Poniższy opis jest w założeniu ze stosowałeś/aś
się do kompilacji i instalacji serwera tak jak w tym artykule
opisano.
# mkdir /chroot # mkdir /chroot/httpd/ # mkdir /chroot/httpd/dev # mkdir /chroot/httpd/etc # mkdir /chroot/httpd/tmp # mkdir -p /chroot/httpd/var/run # mkdir -p /chroot/httpd/usr/lib # mkdir -p /chroot/httpd/usr/libexec # mkdir -p /chroot/httpd/usr/local/apache # mkdir -p /chroot/httpd/usr/local/apache/bin # mkdir -p /chroot/httpd/usr/local/apache/logs # mkdir -p /chroot/httpd/usr/local/apache/conf # mkdir -p /chroot/httpd/usr/local/apache/cgi-bin # mkdir -p /chroot/httpd/usr/local/apache/icons # mkdir -p /chroot/httpd/usr/local/apache/htdocs # mkdir -p /chroot/httpd/usr/local/lib # mkdir /chroot/httpd/var/log
# mknod /chroot/httpd/dev/null c 2 2
# chown root:sys /chroot/httpd/dev/null # chmod 666 /chroot/httpd/dev/null # mknod /chroot/httpd/dev/random c 2 3 # chown root:wheel /chroot/httpd/dev/random # chmod 755 /chroot/httpd/dev/random # cd /chroot/httpd/dev # ln -s random urandom
Wyedytujmy nasz plik /etc/rc.conf i wstawmy linijkę :
syslogd_flags="-l /chroot/httpd/dev/log" |
9.2. Kopiowanie potrzebnych plików, bibliotek
W tym momencie warto sprawdzić z czego korzysta binarka httpd a więc :
# ldd /usr/local/apache/bin/httpd
Wynik:
/usr/local/apache/bin/httpd: libpam.so.1 => /usr/lib/libpam.so.1 (0x281bf000) libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x281c9000) libm.so.2 => /usr/lib/libm.so.2 (0x281e2000) libc.so.4 => /usr/lib/libc.so.4 (0x281fd000)
Przystępujemy do instalowania niezbędnych plików.
# install -C /usr/local/apache/bin/httpd /chroot/httpd/usr/local/apache/bin/ # install -C /var/run/ld-elf.so.hints /chroot/httpd/var/run # install -C /usr/lib/libcrypt.so.2 /chroot/httpd/usr/lib/ # install -C /usr/lib/libc.so.4 /chroot/httpd/usr/lib/ # install -C /usr/libexec/ld-elf.so.1 /chroot/httpd/usr/libexec/ # install -C /usr/local/lib/libexpat.so.4 /chroot/httpd/usr/local/lib/ # install -C /usr/lib/libpam.so.1 /chroot/httpd/usr/lib/ # install -C /usr/lib/libm.so.2 /chroot/httpd/usr/lib/
Następnie kopiujemy:
# cp /etc/master.passwd /chroot/httpd/etc/ # cp /etc/hosts /chroot/httpd/etc/ # cp /etc/resolv.conf /chroot/httpd/etc/ # cp /etc/group /chroot/httpd/etc/
# cd /chroot/httpd/etc/
Edytujemy plik group, i zostawiamy tylko i wyłącznie grupe spod jakiej będzie
uruchamiany apache w naszym przypadku "www":
Dalej edytujemy plik master.passwd i zostawiamy tylko użytkownika, w naszym przypadku
"apache":
apache:*:1009:80::0:0:Serwer httpd:/home/apache:/usr/bin/false |
Tworzymy bazę plik "pwd.db" poleceniem :
# pwd_mkdb -p -d /chroot/httpd/etc master.passwd
Możemy usunąć już plik master.passwd
# rm master.passwd
Pozostało nam skopiować jeszcze kilka plików:
# cp /usr/local/apache/conf/* /chroot/httpd/usr/local/apache/conf/ # cp /usr/local/apache/icons/* /chroot/httpd/usr/local/apache/icons/ # cp /usr/local/apache/htdocs/* /chroot/httpd/usr/local/apache/htdocs/ # cp /usr/local/apache/cgi-bin/* /chroot/httpd/usr/local/apache/cgi-bin/ # cp /usr/local/apache/logs/* /chroot/httpd/usr/local/apache/logs
9.3. Testowanie
# chroot /chroot/httpd/ /usr/local/apache/bin/apachectl
Aby apache w ten sposób był uruchamiany automatycznie, należy lekko zmodyfikować
skrypt startowy, aby uruchamiał się za pomocą komendy "chroot".
10. Zakończenie
Jeżeli masz pytania / sugestie dotyczące tego artykułu napisz na adres oziq[at]vastnet.co.uk
Copyright (c) 2004 by Przemysław Ozga (oziq)
Mailto: ozi[at]auto-gielda.pl
Autor: Przemysław "oziq" Ozga
ozi(at)auto-gielda.pl |
błąd w opisie Dodane przez piker w dniu - 2005-11-26 01:39:56 | zapomniałeś powiedzieć że najpierw trzeba zrobić Krok 1 ./configure w Apachu Krok 2 ./configure w PHP Krok3 ./configure -- with--mysql jeszcze raz w Apache tym razem z opcjami Jeśli nie ma "kroku 1" to jest błąd: ---------------------- Configuring SAPI modules configure: error: Please run Apache\'s configure or src/Configure program once and try again -------------------------------- |
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment!
|