Często się zdarza że ludzie instalują Apache PHP MySQL bo to taki standard. Zostawiają standardową instalację i wszystko działa do czasu aż nie znajdzie się ktoś... Podstawa to zawsze jak najmniej usług, używać tylko tego co jest konieczne i nic poza tym.
Apache nie lubię za względów, że jest wielką krową, wolę lighttpd a ostatnimi czasy to rządzi u mnie nginx. Jeśli potrzebujesz PHP to wysoce zalecane używanie Suhosin (
http://www.hardened-php.net/suhosin/) dodatkowo w PHP wyłączyć funkcje, których nie będziesz używał (
użytkownicy raczej też nie powinni) no chyba, że taka specyfika aplikacji, czyli
od razu w php.ini wyłączyć funkcje jak (shell_exec, exec, system, passthru itp.). W zasadzie wszystkie z grupy programów wykonywalnych.
Nadać odpowiednie prawa dostępu, chroot, itp. partycję, na której znajduje się uruchomiona strona montować z parametrami noexec, nodev itp. czyli ograniczać jak tylko się da.
No, ale tak zazwyczaj kończą się przygody administrowania przez niekompetentne osoby. Przeczytanie ,,HOWTO instaling LAMP on Debian'' nie czyni nikogo adminem.
PS.
Żeby była jasność, ja nie jestem administratorem tylko amatorem pasjonatem ale to co mam uruchomione u mnie w domu staram się zabezpieczyć na tyle ile potrafię.