On Fri, 12 Dec 2008, Wojciech Błaszkowski wrote:

Dnia piątek 12 grudzień 2008, Jacek Osiecki napisał:
Witam,

Czy ktoś przerabiał temat zrobienia bezpiecznego hostingu php?
Chodzi o to, by uniemożliwić klientom zaglądanie do katalogów sąsiadów...

Uzywam pure-ftpd. Loginy zakładane są przez interfejs php i trzymane w bazie
danych. pure-ftpd pobiera sobie te dane i umozliwia logowanie.
Flaga "ChrootEveryone" ustawiona na "yes".

To akurat nie problem, w vsftpd mam to samo :) Niedługo przesiądę się na
proftpd, bo tam mam już ładnie ujęte wszystkie konta ftp w mysqlu i obsługę
quoty również przy użyciu wpisów w mysql - wtedy bym mógł w ogóle
zrezygnować z różnych kont rzeczywistych dla poszczególnych userów.

Niby nie zabezpiecza to fizycznie przed wejściem do sąsiada, teoretycznie
"wystarczy" się wstrzelić w nazwę katalogu (oczywiście katalog w
/home/clients
jest generowany dla każdego klienta) ale biorąc pod uwagę ilość możliwych
kombinacji to jest to mało prawdopodobne.

Bardziej martwiłbym się tym, że jeśli klient będzie marudził o safe_mode=off w
php.ini bo nie może zainstalować sobie osCommerce (lub inny powód) to mu się
to da. Jeśli już mu się da, to może sobie zrobić skrypt myszkujący
po /home/vhosts/ który to skrypt będzie szukał config.php i zapisywał/wysyłał
gdzieś jego zawartość.

O safe_mode nie ma mowy, bo po pierwsze wiążą się z nim dodatkowe problemy
a po drugie w php6 już nie będzie safe_mode (nie mogę się nigdzie doczytać co
chcą dać w zamian).

Rozwiązanie AppArmor.

Ale co konkretnie da mi AppArmor - to, że apache nie będzie mógł odczytać
zawartości /home/clients? Przecież to mogę zrobić uprawnieniami 111 dla
/home/clients... Jak ktoś ma stronę duperele.pl i widzi że jest w
/home/clients/duperele, to domyśli się że bzdury.pl są w
/home/clients/bzdury - i "zabezpieczenie" na nic. Sprawę rozwiązuje moje
dodanie losowego katalogu po drodze - czyli /home/clients/<hash>/nazwa -
czy w takim układzie AppArmor może mi cokolwiek dać, poza zabronieniem
userowi apache dostępu do czegokolwiek poza /home/clients? Bo zakładam że
system sam w sobie jest bezpieczny i nie ma możliwości by ktoś skryptem PHP
namieszał gdziekolwiek...

Pozdrawiam,
--
Jacek Osiecki [email protected] GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wyrwigroszem 2006
_______________________________________________
pld-users-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym