mod_security - PCRE sınırları aşıldı


11

Hemen hemen her istek üzerine aşağıdaki hatayı alıyorum:

Rule execution error - PCRE limits exceeded (-8): (null).

Bir sürü Google'dan sonra tek çözüm

a) Aşağıdakileri httpd.conf dosyasına ekleyin

SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

b) php.ini'nize aşağıdakileri ekleyin

pcre.backtrack_limit = 10000000
pcre.recursion_limit = 10000000

c) -disable-pcre-match-limitSeçenekle derlenmiş bir sürüm kullanın .


Aşağıdaki çalıştırıyorum:

Apache için ModSecurity / 2.5.12 ( http://www.modsecurity.org/ ).

Suhosin-Patch mod_ssl / 2.2.16 OpenSSL / 0.9.8 ile Apache / 2.2.16 (Debian) PHP / 5.3.3-7 + squeeze8

Benim kurallarım ModSec için, bu yazı en yeni OWASP ModSecurity Çekirdek Kural Seti Proje sürümü (CRS) sürüm 2.2.3 kullanıyorum.

Benim httpd.conf temelde oluşur:

<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>

Hangi benim modsecurity.ddizin içinde CRS kendi yükleme dosyasında sadece tüm varsayılan kurallar vardır. Ayrıca pcre sınırlarını 150000000 ve 100000000000 ve daha fazlasına ayarladım, ancak mevcut değil.

Sonuç olarak:

çözümler ave bçalışmıyor, ben yapmak değil büyük ölçüde tercih cGerçekten anlamıyorum olarak derleme gibi / ....

Başka fikri olan var mı?


Ben de son çekirdek kuralları ve ben sadece indirdiğim mod_security kaynak kodunu kullanarak var. PHP için değil, bir Rails uygulaması için bu hataları alıyorum.
Dogweather

Yanıtlar:


7

Kutsal özyineleme, Batman!

Mod_security kurallarınızla ilgili bir sorun olduğunu iddia ediyorum. Bu tür özyineleme gereksiz görünüyor ve büyük olasılıkla sunucunuz için ciddi bir yüke neden olacaktır. Kuralları ve / veya Apache yapılandırmasını düzeltin ve bu sorunu keyfi olarak büyük sayılarla "düzeltmeye" çalışmayın.


4

Tam olarak aynı sorunu yaşadığım ve yapılandırmanız benimkine benzediğinden bunu yakından izliyorum. Modsecurity için ilk zamanlayıcıyım, tam olarak noob dostu değil!

Janne ile aynı fikirde. Şimdiye kadar sahip olduğum tek tavsiye, tüm temel kuralları kaldırmak ve sorunu daraltmaya başlamak için bunları 1'e 1 tanıtmaktır. Bunu şimdi yapmak üzereyim.

Ayrıca kural motoru ayarınızı

SecRuleEngine DetectionOnly

yapılandırma sorunları üzerinde çalışırken bu, zorlamadan izlemenize olanak tanır - hala istediğinizi yaptığından emin olmadığınız halde kuralları uygulamak istemezsiniz.

Bir çözüm bulursanız, lütfen öğrendiklerinizi geri gönderin.


0
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

Bazı * nix sürümlerinde mod_security yapılandırma dosyalarında bulunmalı ve değiştirilmelidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.