2010-07-20 4 views
3

J'utilise mod_security avec les dernières règles de base.trigger mod_sec sur la règle CSR _23

Il se déclenche sur toutes mes pages chaque fois que j'utilise une chaîne de requête .. ie.

www.mypage.com/index.php?querystring=1

je reçois un avertissement qu'il dépasse le nombre maximum autorisé de arguements, mais la configuration de base définit max_numb_args à = 255 qui bien sûr, il ne le fait pas dépasser.

Des idées pourquoi?

Base de conf:

SecRuleEngine Sur
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/modsec_audit.log
SecDebugLog/var/log/apache2/modsec_debug_log
SecDebugLogLevel 3
SecDefaultAction "phase: 2, passe, journal, statut: 500"
SecRule REMOTE_ADDR "^ 127.0.0.1 $" nolog, autoriser
SecRequestBo dyAccess Sur
SecResponseBodyAccess Sur
SecResponseBodyMimeType (null) text/html text/texte brut/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir/tmp
SecUploadKeepFiles Off
SecAuditLogParts ABIFHZ
SecArgumentSeparator "&"
SecCookieFormat 0
SecRequestBodyInMemoryLimit 131072
SecDataDir/tmp
SecTmpDir/tmp
SecAuditLogStorageDir/var/log/apache2/audit
SecResponseBodyLimitAction ProcessPartial
SecAction "phase 1, t: aucun, nolog, passe, setvar: tx.max_num_args = 255"

règle qui déclenche:

# Maximum number of arguments in request limited 
SecRule &TX:MAX_NUM_ARGS "@eq 1" "chain,phase:2,t:none,pass,nolog,auditlog,msg:'Maximum number of arguments in request reached',id:'960335',severity:'4',rev:'2.0.7'" 
    SecRule &ARGS "@gt %{tx.max_num_args}" "t:none,setvar:'tx.msg=%{rule.msg}',setvar:tx.anomaly_score=+%{tx.notice_anomaly_score},setvar:tx.policy_score=+%{tx.notice_anomaly_score},setvar:tx.%{rule.id}-POLICY/SIZE_LIMIT-%{matched_var_name}=%{matched_var}" 

Et le journal ouput:

--ad5dc005-C-- queryString = 2 --ad5dc005-F-- HTTP/1.1 200 OK
X-Powered-By: PHP/5.3
Expire: Jeu, 19 novembre 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, doit-revalidate, rétrocontrôle = 0, pré-check = 0
Pragma: no -cache
Set-Cookie: SESSION = ak19oq36gpi94rco2qbi6j2k20; path =/
Variez: Accept-Encoding
Content-Encoding: gzip
Content-Length: 1272
Keep-Alive: timeout = 15, max = 99
Connection: Keep-Alive
Content-Type: text/html; charset = utf-8

--ad5dc005-H--
Message: L'opérateur GT correspond à 0 à ARGS. [fichier "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_23_request_limits.conf"] [ligne "30"] [id "960335"] [rev "2.0.7"] [msg "Nombre maximal d'arguments dans la requête atteint" ] [gravité "WARNING"]
Message: L'opérateur GE correspond à 0 à TX: anomaly_score. [file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_49_inbound_blocking.conf"] [line "18"] [msg "Score d'anomalie entrante dépassé (Score total: 5, SQLi =, XSS =): Nombre maximal d'arguments dans request received "]
Message: Avertissement. L'opérateur GE correspond à 0 à TX: inbound_anomaly_score. [file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "35"] [msg "Score de l'anomalie entrante dépassé (Score total des appels entrants: 5, SQLi =, XSS =): Nombre maximal d'arguments à la demande atteint "]
Apache Handler: application/x-httpd-php
Chronomètre: 1279667800315092 76979 (1546 * 7522 72931)
Producteur: ModSeurity pour Apache/2.5.11 (http://www.modsecurity.org/); core ruleset/2.0.7. Serveur: Apache

Répondre

3

J'utilisais la lib d'Ubuntu .. qui avait la version .11. Je l'ai désinstallé, compilé à partir de la version .12 version et maintenant il est vivant, coups de pied et crier!

Les dernières règles CSR requièrent la version .12. À votre santé.