Повышение безопасности в Plesk 9

Plesk - это веб-панель управления хостингом. Позволяет создавать сайты, домен, базы данных, почтовые ящики и т.п.

Панель Plesk не выставляет safe_mode в on при конфигурации php-fastcgi+apache, а также open_basedir оставляет по-умолчанию пустым.
Панель Plesk может выставить safe_mode в on при наличии конфигурации mod_php+apache, а также выставляет open_basedir=/var/www/vhosts/имя_сайта:/tmp

Выполним ряд шагов по повышению безопасности связки LAMP (Linux Apache MySQL PHP):

Правка /etc/php.ini

 safe_mode = On // директива накладывает ограничения на выполнение системных команд, например, ls, pwd, cat и т.д.
 safe_mode_gid = On // директива разрешает писать/открывать в файл при совпадении владельца группы файла с владельцем группы запущенного процесса. Выставляется группа psacln для /var/log/baxtep, иначе safe_mode не даст записать лог.
 open_basedir = /var/www/vhosts:/tmp:/var/log/baxtep // директива разрешает выполнение php-команд (fopen) только в указанных каталогах.

Установка baxtep

baxtep - это модуль для PHP, который логирует вызовы системных PHP-функций (например, ls, pwd, cat) в /var/log/baxtep/baxtep_log
Установим пакет php-baxtep-0.1.0-4.svn20100112.i386.rpm

Выполним

 # apachectl configtest
 # apachectl restart

пакеты собраны для php 5.2.9 OS СentOS 5.4

Установка последней версии baxtep из исходников

Выполним

 # svn checkout http://baxtep.googlecode.com/svn/trunk/ baxtep
 # cd baxtep
 # phpize
 # ./configure
 # make

После сборки вытаскиваем baxtep.so из директории ./modules/ и кладём в extension_dir, и в php.ini добавляем примерно такие строки:

 ;;;;;;;;;;
 ; BAXTEP ;
 ;;;;;;;;;;
 ; Load extension
 extension=baxtep.so
 
 ; Absolute path to logfile. File must exist and have write access for php
 baxtep.logfile = "/tmp/baxtep_messages"

Ссылки

Комментарии

 
blog/2011/12/20-повышение_безопасности_в_plesk_9.txt · Последние изменения: 2014/10/01 12:13 — Антон Бугреев · []