모든 요청에 대해 다음과 같은 오류가 발생합니다.
Rule execution error - PCRE limits exceeded (-8): (null).
많은 인터넷 검색 후 유일한 해결책은
a) httpd.conf에 다음을 추가하십시오.
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) php.ini에 다음을 추가하십시오
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) -disable-pcre-match-limit
옵션 으로 컴파일 된 버전을 사용하십시오 .
다음을 실행 중입니다.
Apache / 2.5.12 용 ModSecurity ( http://www.modsecurity.org/ ).
Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8을 사용하는 Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8
ModSec 규칙에 대해서는이 게시물의 최신 OWASP ModSecurity 핵심 규칙 세트 프로젝트 버전 (CRS) 버전 2.2.3을 사용하고 있습니다.
내 httpd.conf는 본질적으로 다음과 같이 구성됩니다.
<IfModule security2_module>
SecUploadDir /var/asl/data/suspicious
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
Include modsecurity.d/modsecurity_crs_10_config.conf
Include modsecurity.d/activated_rules/*.conf
SecRuleEngine On
# Debug log
SecDebugLog /var/log/apache2/modsec_debug.log
SecDebugLogLevel 3
# Serial audit log
SecAuditEngine RelevantOnly
SecAuditLogRelevantStatus ^5
SecAuditLogParts ABIFHZ
SecAuditLogType Serial
SecAuditLog /var/log/apache2/modsec_audit.log
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
</IfModule>
<IfModule mod_php5.c>
php_admin_flag pcre.backtrack_limit 10000000
php_admin_flag pcre.recursion_limit 10000000
</IfModule>
내 modsecurity.d
디렉토리 안에 CRS가 설치 파일에있는 모든 기본 규칙이 있습니다. 또한 pcre 제한을 150000000 및 100000000000 이상으로 설정했지만 사용할 수 없습니다.
결론적으로 :
솔루션을 사용 a
하고 b
작동 c
하지 않으며 컴파일을 실제로 이해하지 못하기 때문에 수행하지 않는 것이 좋습니다.
다른 아이디어가 있습니까?