Назад | Перейти на главную страницу

Как включить mod_security в Ubuntu 10.04?

Краткий обзор того, что я сделал:

  1. apt-get install libapache-mod-security
  2. a2enmod mod-security
  3. Создайте /etc/apache2/mod_security_rules/ с участием base_rules и optional_rules из последних набор основных правил
  4. Создайте /etc/apache2/conf.d/mod_security как показано ниже
  5. Создайте /var/www/test.php как показано ниже

Файл conf выглядит так

<IfModule security2_module>
Include /etc/apache2/mod_security_rules/*.conf
Include /etc/apache2/mod_security_rules/base_rules/*.conf
Include /etc/apache2/mod_security_rules/optional_rules/*.conf
</IfModule>

test.php выглядит как

<?php
$secret_file = $_GET['secret_file'];
include ( $secret_file);
?>

что несколько сайтов говорят mod_security следует заблокировать.

Моя проблема в том, что доступ test.php?secret_file='whatever' показывает мне файл.

Это нормально, и это mod_security работает, а если нет, что мне нужно изменить?

У меня впереди такая же проблема, Debian 6.0.6 x64 squeeze, lipapache2-modsecurity 2.6.5-5 установлен установлен через apt-get. Похоже, работает, предотвращая все остальное, но все же позволяя получить доступ к passwd и другим файлам, таким как apache2.conf, через скрипт, опубликованный в первом посте, какие-нибудь решения, ребята?

может это быть связано с другой конфигурацией самого веб-сервера?

Смотря на /usr/share/doc/libapache-mod-security/examples/modsecurity.conf-minimal вы увидите, что есть еще кое-что, что можно добавить в conf, например SecRuleEngine On, вы уверены, что основной набор правил включает эти основные команды?

Вы можете добавить его в свой conf.d файл или, возможно, используйте файл примера, чтобы направить вас.