Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей. |
Технологии аутентификации и шифрования
Встроенные действия
pass
Позволяет запросу продолжать анализироваться на соответствие фильтру. Данное действие используется, когда нужно занести в лог информацию о запросе, но никаких других действий выполнять не требуется.
SecFilter KEYWORD "log, pass"
allow
Это усиленная версия предыдущего фильтра. После того как данное действие выполнится, запрос далее не будет проходить через другие фильтры. Например, завершение обработки запроса, пришедшего с рабочей станции администратора:
SecFilterSelective REMOTE_ADDR "^192\.168\.2\.99$" allow
deny
Прерывает обработку запроса, который соответствует фильтру. Если не используется действие status, ModSecurity возвращает код ошибки HTTP 500. Если запрос запрещен, заголовок mod_security_action будет добавлен в список заголовков запроса. Данный заголовок будет содержать используемый код статуса.
status
Использует указанный код статуса НТТР при прерывании запроса. Пример:
SecFilter KEYWORD "deny, status:404"
Будет возвращать ответ "Page not found" при соответствии фильтру. Директива Apache ErrorDocument будет использована, если она присутствует в конфигурации. Следовательно, если имеется заранее определенная страница для сообщения об ошибке для данного статуса, она будет выполняться, и ее выходные значения будут показаны пользователю.
redirect
При соответствии фильтру происходит перенаправление запроса пользователя на данный URL. Например:
SecFilter KEYWORD "redirect:http://www.modseciruty.org"
Данная конфигурационная директива всегда перекрывает код статуса НТТР или ключевое слово deny.
proxy
При соответствии фильтру запрос попускается через внутренний реверсный прокси.
SecFilter KEYWORD "proxy:http://www.example.ru"
Для выполнения данного действия должен быть инсталлирован mod_proxy.
exec
При соответствии происходит выполнение бинарного файла. Требуется указывать полный путь к этому бинарному файлу.
SecFilter KEYWORD "exec:/home/my/report-attack.pl"
Данная директива не влияет на первичное действие, если оно существует. Данное действие всегда вызывает скрипт без параметров, но предоставляя всю информацию через окружение. Можно использовать все обычные CGI-переменные окружения.
На каждый фильтр можно иметь только один выполняемый бинарный файл. Выполнение будет добавлять заголовок mod_security-executed в список заголовков запроса.
Замечание. Выполняемый скрипт должен что-либо записать в stdout. Если он этого не делает, то ModSeciruty предполагает, что скрипт не работает.
log
При соответствии фильтру информация заносится в error log Apache.
nolog
Не заносится ничего в лог при соответствии фильтру.
skipnext
Данное действие позволяет пропустить одно или более правил. Это используется, когда установлено, что нет необходимости выполнять некоторые проверки для конкретного запроса. По умолчанию действие пропускает следующее правило. Можно перепрыгнуть через несколько правил, если указать дополнительный параметр.
SecFilterSelective ARG_p value1 skipnext:2 SecFilterSelective ARG_p value2 SecFilterSelective ARG_p value3
chain
Правило позволяет создавать цепочку из нескольких правил для получения большего теста. Только последнее правило в цепочке будет воздействовать на запрос, но для того чтобы его достигнуть, для всех правил до него также должно выполняться соответствие. Приведем пример того, как можно использовать данную возможность.
Предположим, что необходимо ограничить аккаунт администратора, чтобы он мог заносить в лог информацию, войдя только с определенных IP-адресов. Однако панель входа администратор разделяет с другими пользователями, поэтому нельзя использовать стандартные возможности Apache. Следует применить следующие два правила:
SecFilterSelective ARG_username admin chain SecFilterSelective REMOTE_ADDR "!^YOUR_IP_ADDRESS_HERE$"
Для первого правила выполняется соответствие только тогда, когда существует параметр username, и его значение есть admin. Только при этом будет выполняться второе правило, которое проверяет соответствие удаленного адреса в запросе с указанным IP-адресом. Если соответствие не выполняется (так как указан восклицательный знак перед адресом), запрос отвергается.
pause
Указывается количество миллисекунд перед тем, как будет выдан ответ на запрос. Используется для того, чтобы замедлить или полностью остановить некоторые web-сканеры.
auditlog
Занесение информации о транзакции в лог аудита.
noauditlog
Информация о транзакции не заносится в лог аудита.
id, rev, msg, severity
Существует четыре действия, имеющие один параметр, который затем передается в каждое лог-сообщение. Идея состоит в том, чтобы дать возможность классифицировать проблемы и поместить эту информацию в лог.
- id – уникальный ID правила.
- rev – пересмотр правила; если опущено, то предполагается 1; всякий раз, когда правило изменяется, значение пересмотра должно быть увеличено.
- msg – текстовое сообщение, которое появляется в логах ошибок.
-
severity – целое значение или имя, как определено syslog. Могут использоваться следующие уровни: 2 (большая строгость), 3 (средняя строгость), 4 (маленькая строгость) и 5 (нормальная, но важная). Уровни 0-1 и 5-7 могут применяться только конечными пользователями для своих целей.
- 0 EMERGENCY – система не используется.
- 1 ALERT – действие должно быть выполнено немедленно.
- 2 CRITICAL – критичные условия.
- 3 ERROR – ошибочные условия.
- 4 WARNING – предупреждающие условия.
- 5 NOTICE – нормальные, но важные условия.
- 6 INFO – информационное.
- 7 DEBUG – сообщение отладочного уровня.
Замечание. Данные действия могут использоваться только в отдельном правиле или в правиле, которое начинает цепочку.
Хотя id действия может содержать произвольный текст, рекомендуется, чтобы были задействованы только целые числа.
mandatory
Данное действие можно использовать для того, чтобы пометить правило или цепочку правил для обязательного наследования в подконтекстах.
Замечание. Действие может применяться только для отдельного правила или в начале цепочке.
SecFilter 111 mandatory
Или
SecFilter 111 mandatory, chain SecFilter 222
setenv, setnote
Данные два действия устанавливают и удаляют поименованную переменную окружения или Apache. Существует три формата, которые могут использоваться.
Указание имени и значения:
SecFilter KEYWORD setenv:name=value
Указание только имени, значение предполагается равным "1":
SecFilter KEYWORD setenv:name
Удаление существующей переменной указывается с помощью восклицательного знака перед именем переменной:
SecFilter KEYWORD setenv:!name