Strona 1 z 1
Manipulowanie ścieżkami na serwerze
: 21 lipca 2010, 18:47
autor: shyte
Jak wyłączyć manipulowanie ścieżkami, tak żeby nikt nie przeglądał z poziomu skryptu żadnego katalogu na serwerze?
Chodzi mi o to, że np. jak ktoś by mi wgrał
powłokę php na ftp przez np. dziurę w skrypcie forum to po wgraniu php
powłoki żeby i tak nic mu to nie dało.
Ustawiłem sobie tak linijkę:
Kod: Zaznacz cały
disable_functions = phpinfo, readdir, opendir, dir, posix_getpwuid, posix_getgrgid, disk_free_space, disk_total_space, diskfreespace, disktotalspace
Co jeszcze mogę zrobić?
: 21 lipca 2010, 19:16
autor: db
Ustaw open_basedir dla vhosta oraz zainteresuj pakietem apache2-mpm-itk.
PHP ma również mechanizm, który nazywa się safe_mode. Koszmarny ideowo, ale czasami pomaga (zablokować działanie poprawnie napisanych, nikomu nieszkodzących skryptów ;-) ).
Oprócz tego -- suhosin, analiza logów i analiza do czego użytkownik ma mieć dostęp. Resztę wyciąć.
: 21 lipca 2010, 19:17
autor: shyte
open_basedir i suhosin zainstalowane oraz ustawione już dawno.
A safe_mod mieć warto włączone dla bezpieczeństwa, bo mam aktualnie włączone, ale czytałem gdzieś, że nie za bardzo bo są komplikacje czasami różne.
: 21 lipca 2010, 20:02
autor: timor
Jeżeli bardzo Ci zależy na izolacji to możesz spróbować postawić apache w chroocie.
mod_security z backportów też może się przydać aby wyłapać typowe ataki.
: 21 lipca 2010, 23:35
autor: shyte
Zainstalowałem apache2-mpm-itk, ale nie wiem czemu nie działa
tutajznalazłem jak zainstalować.
Nadal mogę przeglądać pliki z poziomu przeglądarki.
mój plik 000-default
Kod: Zaznacz cały
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /home/erobb
ServerName erobb.eu
</VirtualHost>
<Directory "/home/erobb">
php_admin_value open_basedir "/home/erobb"
</Directory>
<VirtualHost *:80>
<IfModule mpm_itk_module>
AssignUserId erobb web1
</IfModule>
</VirtualHost>