Дополнительная защита веб-сервера
Добавлено: 26 дек 2008, 00:20
В каждый виртуальный хост Апача добавляем такую конструкцию:
php_admin_value open_basedir /var/www/user/
Таки образом я избавимся от неприятной вещи по типу fileread(’/etc/passwd’);.
По FTP заливаем какой-нить ПХП-шный shell и тестим. Как и ожидаем - каталоги то он увидет, а вот скачать что-либо, кроме как из своего каталога - никак.
Вот теперь надо отрубить system и exec с кучей всего еще. В php.ini мы правим:
disable_functions = “apache_get_modules,apache_get_version,apache_getenv,apache_note, apache_setenv,disk_free_space,diskfreespace,dl,highlight_file,ini_alter,ini_restore,openlog, passthru,phpinfo,proc_nice,shell_exec,show_source,symlink,system,exec”
php_admin_value open_basedir /var/www/user/
Таки образом я избавимся от неприятной вещи по типу fileread(’/etc/passwd’);.
По FTP заливаем какой-нить ПХП-шный shell и тестим. Как и ожидаем - каталоги то он увидет, а вот скачать что-либо, кроме как из своего каталога - никак.
Вот теперь надо отрубить system и exec с кучей всего еще. В php.ini мы правим:
disable_functions = “apache_get_modules,apache_get_version,apache_getenv,apache_note, apache_setenv,disk_free_space,diskfreespace,dl,highlight_file,ini_alter,ini_restore,openlog, passthru,phpinfo,proc_nice,shell_exec,show_source,symlink,system,exec”