2009/05/26

правила mod_security

статья от 2007-10-24: www.opennet.ru/base/sec/mod_security_slack.txt.html

Настройка правил

Век живи - век учись(L)

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

modsecurity_crs_10_config.conf
modsecurity_crs_30_http_policy.conf

        SecServerSignature
        SecAuditLog
        SecDebugLog

Ведение отдельных журналов имеет смысл при отладке, т.к. все события с блокировкой записываются в журнал веб-сервера ErrorLog.

В файле набора правил

modsecurity_crs_20_protocol_violations.conf
неверное правило - проверка utf8-кодирования параметров передаваемых формой:
SecRule REQUEST_FILENAME|ARGS|ARGS_NAMES|REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer "@validateUtf8Encoding" "deny,log,auditlog,status:400,msg:'UTF8 Encoding Abuse Attack Attempt',,id:'950801',severity:'4'"
заменить, например, на
SecRule REQUEST_FILENAME|REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer "@validateUtf8Encoding" "deny,log,auditlog,status:400,msg:'UTF8 Encoding Abuse Attack Attempt',,id:'950801',severity:'4'"

В файле набора правил

modsecurity_crs_21_protocol_anomalies.conf
для обработки запросов по IP-адресу необходимо закомментировать строки правил:
SecRule REMOTE_ADDR "^127\.0\.0\.1$" "chain"
SecRule REQUEST_HEADERS:Host "^[\d\.]+$" "deny,log,auditlog,status:400,msg:'Host header is a numeric IP address', severity:'2',,id:'960017',"

В файле набора правил

modsecurity_crs_30_http_policy.conf
для обработки скачивания файлов может понадобиться откорректировать правило фильтрации имен файлов. Например, для файлов сертификатов *.cer
###SecRule REQUEST_BASENAME "\.(?:c(?:o(?:nf(?:ig)?|m)|s(?:proj|r)?|dx|er|fg|md)|p(?:rinter|ass|db|ol|wd)|v(?:b(?:proj|s)?|sdisco)|a(?:s(?:ax?|cx)|xd)|d(?:bf?|at|ll|os)|i(?:d[acq]|n[ci])|ba(?:[kt]|ckup)|res(?:ources|x)|s(?:h?tm|ql|ys)|l(?:icx|nk|og)|\w{0,5}~|webinfo|ht[rw]|xs[dx]|key|mdb|old)$" \
###    "phase:2,t:none,t:urlDecodeUni, t:lowercase, deny,log,auditlog,status:500,msg:'URL file extension is restricted by policy', severity:'2',id:'960035',tag:'POLICY/EXT_RESTRICTED'"
SecRule REQUEST_BASENAME "\.(?:c(?:o(?:nf(?:ig)?|m)|s(?:proj|r)?|dx|fg|md)|p(?:rinter|ass|db|ol|wd)|v(?:b(?:proj|s)?|sdisco)|a(?:s(?:ax?|cx)|xd)|d(?:bf?|at|ll|os)|i(?:d[acq]|n[ci])|ba(?:[kt]|ckup)|res(?:ources|x)|s(?:h?tm|ql|ys)|l(?:icx|nk|og)|\w{0,5}~|webinfo|ht[rw]|xs[dx]|key|mdb|old)$" \
    "phase:2,t:none,t:urlDecodeUni, t:lowercase, deny,log,auditlog,status:500,msg:'URL file extension is restricted by policy', severity:'2',id:'960035',tag:'POLICY/EXT_RESTRICTED'"

Комментариев нет:

Отправить комментарий