LINUX.ORG.RU
решено ФорумAdmin

Опасная консоль: webmail horde несёт угрозу для сервера

 , ,


1

2

Всем привет,

поднял на debian jessie почтовый сервер с вебмордой php-horde. Апач запускаю с плагином apache2-mpm-itk от специального для этих целей пользователя webuser, у которого настроил шелл /bin/false. В хорде есть возможность обращаться к консоли, так вот: даже с шелом /bin/false она продолжает исправно работать.

Спрашиваю консоль: whoami -> webuser. Вроде всё правильно, но кроме того можно посмотреть много чего интересного в /etc и т.д. Вопрос: каким местом он делает вызовы, если шелл /bin/false?

Ну или как защитить apache от доступа к файловой системе из horde без chroot. Благодарю за любую помощь.

★★

Вопрос: каким местом он делает вызовы, если шелл /bin/false?

Процессом apache, который работает с привилегиями этого пользователя.

Andrey_Utkin ★★
()
Ответ на: комментарий от Andrey_Utkin

А можно запретить доступ к файловой системе выше корня сайта, не повредив основной функциональности?

rmu ★★
() автор топика
Ответ на: комментарий от Andrey_Utkin

Думал над apparmor - но у меня ядро openvz, так что никак. Пойду смотреть, может selinux заработает. Спасибо за совет.

rmu ★★
() автор топика

safe mode у пхп выставить, не оно? Никогда им не пользовался, но помнится мне, что как раз для этого оно было придумано.

WARNING ★★★★
()
Ответ на: комментарий от WARNING

safe mode у пхп выставить, не оно?

Спасибо, это то, что мне нужно! Консоль в horde больше не работает.

rmu ★★
() автор топика
Ответ на: комментарий от WARNING

Гы, советчики.

Данная возможность была помечена УСТАРЕВШЕЙ начиная с версии PHP 5.3.0 и была УДАЛЕНА в версии PHP 5.4.0.

xtraeft ★★☆☆
()
Ответ на: комментарий от rmu

А можно запретить доступ к файловой системе выше корня сайта, не повредив основной функциональности?

http://php.net/manual/ru/ini.core.php#ini.open-basedir
Ну и http://php.net/manual/ru/ini.core.php#ini.disable-functions - засунуть туда все exec, system, passthru и тд.

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Ого, это уже интереснее. Ближе к ночи пойду разбираться. Правда запрет exec я уже ставил - в результате хорда не может отправить письма, потому что ей нужен /usr/bin/sendmail

rmu ★★
() автор топика
Ответ на: комментарий от xtraeft

Вроде решил задачу: в /etc/php5/apache2/php.ini прописал

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,phpinfo,ini_get_all,parse_ini_file,passthru,php_uname,proc_open,shell_exec,show_source,system,readfile
у виртуального хоста
php_admin_value open_basedir /tmp:/usr/lib:/etc/horde:/usr/share/horde:/usr/share/php:/usr/share/php5
Письма приходят и отправляются. Благодарю за совет.

rmu ★★
() автор топика
Ответ на: комментарий от xtraeft

Гы, советчики.

Ну я честно сказал, что никогда ей не пользовался.

А вот про open_basedir подзабыл.

WARNING ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.