ในทุกคำขอฉันได้รับข้อผิดพลาดต่อไปนี้:
Rule execution error - PCRE limits exceeded (-8): (null).
หลังจากผ่าน Google Googling โซลูชั่นเพียงอย่างเดียวดูเหมือนจะเป็น
a) เพิ่มสิ่งต่อไปนี้ใน httpd.conf ของคุณ
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000
b) เพิ่มสิ่งต่อไปนี้ใน php.ini ของคุณ
pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000
c) ใช้เวอร์ชันที่คอมไพล์ด้วย-disable-pcre-match-limit
ตัวเลือก
ฉันกำลังทำงานต่อไปนี้:
ModSecurity สำหรับ Apache / 2.5.12 ( http://www.modsecurity.org/ )
Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8 พร้อม Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8
สำหรับ ModSec กฎของฉันฉันใช้ OWASP ModSecurity Core กฎชุดโครงการรุ่น (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
... เพราะฉันไม่เข้าใจ / ชอบการรวบรวม
ใครมีแนวคิดอื่นบ้าง