Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #75, МАРТ 2005 г.

На лезвии ножа

Andrey Matveev

Хакер, номер #075, стр. 075-052-4


# pkg_add mini_sendmail-chroot-1.3.4.tgz

Тут возникает еще одна неприятность: PHP пытается запустить mini_sendmail с помощью библиотечной функции popen(3), которая занимается тем, что создает программный канал, форкает дочерний процесс и вызывает в нем оболочку. Соответственно, в /var/www/bin придется разместить еще и копию командного интерпретатора:

# cp -p /bin/sh /var/www/bin/sh

Разобравшись с этой нетривиальной задачей, возвращаемся к прикручиванию PHP: скопируем в chroot'ный каталог /var/www статическую библиотеку libphp4.so и рекомендуемую версию файла php.ini:

# mkdir -p /var/www/php/includes

# cp /usr/local/lib/php/libphp4.so /var/www/php/includes

# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini

# chown root:www /var/www/conf/php.ini /var/www/php/includes/libphp4.so

# chmod 640 /var/www/conf/php.ini

В конфиге php.ini отредактируем пути для правильной работы PHP:

# vi /var/www/conf/php.ini

include_path = ".:/pear/lib:/var/www/pear/lib:/php/includes:/var/www/php/includes"

sendmail_path = "/bin/mini_sendmail -t -i"

И активируем PHP-расширение mysql:

# /usr/local/sbin/phpxs -a mysql

Сажаем индейца в песочницу

Прежде чем разбирать httpd.conf, установим систему обнаружения вторжений mod_security, выполненную в виде динамически загружаемого модуля для Apache:

# pkg_add mod_security-1.8.3.tgz

# /usr/local/sbin/mod_security-enable

Вот теперь непосредственно переходим к главному конфигурационному файлу индейца:

# vi /var/www/conf/httpd.conf

// Здесь приведен не весь файл, а только кусок. Полную версию забирай с диска.

// Подгружаем необходимые модули

LoadModule php4_module /usr/lib/apache/modules/libphp4.so

LoadModule security_module /usr/lib/apache/modules/mod_security.so

// Включаем IDS

<IfModule mod_security.c>

SecAuditEngine On

SecAuditLog logs/audit_log

SecFilterEngine On

// Выявляем атаки типа Command Execution

SecFilter /etc/passwd

SecFilter /bin/ls

// Выявляем атаки типа Directory Traversal

SecFilter "\.\./"

// Выявляем атаки типа Cross-Site Scripting

SecFilter "<(.|\n)+>"

SecFilter "'"

SecFilter "\" "

SecFilter "<[[:space:]]*script"

SecFilter "<.+>"

// Выявляем атаки типа SQL Injection

SecFilter "delete[[:space:]]+from"

SecFilter "insert[[:space:]]+into"

SecFilter "select.+from"

</IfModule>

Визуальная админка

PHPMyAdmin представляет собой набор PHP-скриптов для полного управления сервером MySQL. Идеально подходит для поклонников визуального администрирования и тех, у кого синтаксис SQL-запросов вызывает затруднения. Также с помощью PHPMyAdmin удобно выполнять рутинные операции по бэкапу, созданию и модификации баз данных, таблиц, пользователей и т.д.

# pkg_add phpMyAdmin-2.5.7-pl1.tgz

Назад на стр. 075-052-3  Содержание  Вперед на стр. 075-052-5