Настройка mod_security2 для Apache в CentOS

baltun

Администратор
Сообщения
10.908
Реакции
2.597
Баллы
2.003
Модуль mod_security наделяет Apache возможностями брандмауэра: мы можем, задавая правила в конфигурации, определять, какие запросы являются легитимными, а какие следует запретить как потенциально опасные. По мимо это модуль позволяет создать дополнительную преграду на пути SQL-инъекций.
Установка:
Код:
yum install mod_security

Правим файл конфигурации:
Код:
nano /etc/httpd/conf.d/mod_security.conf

Обычно формат правила фильтрации выглядит следующим образом:
SecRule <Переменная> <Оператор> [<Действия>]
Переменная определяет объект для сравнения с шаблоном. Самые используемые значения:
  • ARGS – параметры запроса GET или тело запроса POST (как частные случаи – ARGS_GET и ARGS_POST).
  • ARGS_NAMES – имена параметров в запросе GET или POST
  • FILES – запрошенные файлы
  • FILES_COMBINED_SIZE – общий объем загружаемых файлов
  • FILES_NAMES – имена загружаемых файлов
  • FILES_SIZES – отдельные размеры загружаемых файлов
  • GEO – наборы параметров для управления трафиком в зависимости от региона, к которому принадлежит IP-адрес
  • PATH_INFO – путь (часть URL)
  • QUERY_STRING – полная строка запроса с аргументами
  • REMOTE_ADDR или REMOTE_HOST – IP-адрес или доменное имя удаленного пользователя
  • REMOTE_PORT – порт, с которого устанавливается соединение
  • REQUEST_BASENAME – имя запрашиваемого файла (например, index.php)
  • REQUEST_HEADERS – заголовки запроса
  • REQUEST_HEADERS_NAMES – имена заголовков
  • REQUEST_LINE – полная строка запроса, включая версию HTTP
  • REQUEST_URI – URL запроса без доменного имени
  • REQUEST_URI_RAW – URL запроса с доменным именем
В качестве оператора используется либо некоторая константа, либо регулярное выражение (оператор по умолчанию – rx), либо непосредственно оператор, использующийся для сравнения:
  • beginsWith
  • contains
  • endsWith
  • eq ge – больше или равно
  • gt le – меньше или равно
  • lt pm – сравнение по списку слов
  • pmFromFile – сравнение со списком слов из файла
  • rx – регулярное выражение
  • streq – сравнение строк на точное соответствие
  • validateByteRange – сравнение с диапазоном байтов
В поле действий мы можем задать последовательность действий для модуля в случае соответствия переменной шаблону. Поле является необязательным, и по умолчанию будут выполнены действия, указанные директивой SecDefaultAction. Действия перечисляются через запятую.
  • allow – прекратить проверку и разрешить транзакцию
  • auditlog – сделать запись в auditlog
  • deny – прекратить проверку и завершить транзакцию
  • deprecatevar – уменьшать переменную с течением времени
  • drop – завершить IP-соединение
  • exec – выполнить внешний скрипт или команду
  • expirevar – обнулять переменную через промежуток времени
  • id – уникальный id правила
  • initcol – создать набор переменных (например, для слежения за IP-адресами)
  • log – создать запись в error.log и audit.log
  • logdata – записать часть запроса в лог
  • msg – записать в лог дополнительное сообщение
  • pass – продолжить проверку pause – задержать обработку транзакции на определенное количество миллисекунд
  • phase – приписать правило к определенной фазе
  • proxy – перенаправить запрос на другой
  • web-сервер redirect – вернуть ответ 302с новым адресом
  • setvar – создание и управление переменными
  • status – ответить с данным HTTP-кодом within
 

Вложения

  • mod_security.zip
    1.1 КБ · Просмотры: 0
  • Мне нравится
Реакции: Halk
Назад
Верх Низ