Ho riscontrato tonnellate di problemi con Mod Security. Sono impegnato a scrivere un CMS per un progetto al lavoro e mentre sviluppavo una pagina per modificare un determinato record del database continuavo a ricevere 403 errori. Dopo ore passate a sbattere la testa contro la scrivania, aggiustando bit di codice, ho finalmente modificato lo script su cui era stato pubblicato il mio modulo, per contenere un semplice echo "test";
. Anche l'invio a questa semplice pagina ha generato un errore 403. Ho incasinato il mio modulo e alla fine ho scoperto che se riducevo la quantità di dati che stavo pubblicando il modulo inviato correttamente (in particolare riduco la quantità di testo all'interno di una textarea).Limiti massimi di ModSecurity (errori di limite PCRE)
Dopo aver controllato i log (Sì, questa non era la prima cosa che ho fatto - sigh) ho notato che stavo ottenendo numerosi errori da ModSecurity, come ad esempio:
[Mon Aug 12 16:34:45 2013] [error] [client XX.XXX.XXX.XXX] ModSecurity: Failed to access DBM file "/etc/httpd/logs//global": Permission denied [hostname "XXXXXXX.XXX"] [uri "/admin/index.php"] [unique_id "UgkAlW1shFcAAHTMK80AAAAF"]
[Mon Aug 12 16:34:45 2013] [error] [client XX.XXX.XXX.XXX] ModSecurity: Failed to access DBM file "/etc/httpd/logs//ip": Permission denied [hostname "XXXXXXX.XXX"] [uri "/admin/index.php"] [unique_id "UgkAlW1shFcAAHTMK80AAAAF"]
[Mon Aug 12 17:11:33 2013] [error] [client XX.XXX.XXX.XXX] ModSecurity: Rule execution error - PCRE limits exceeded (-8): (null). [hostname "XXXXXXX.XXX"] [uri "/admin/index.php"] [unique_id "UgkJNW1shFcAAHXUMHkAAAAH"]
[Mon Aug 12 17:11:33 2013] [error] [client XX.XXX.XXX.XXX] ModSecurity: Access denied with code 403 (phase 2). Match of "streq 0" against "TX:MSC_PCRE_LIMITS_EXCEEDED" required. [file "/etc/httpd/conf.d/mod_security.conf"] [line "93"] [msg "ModSecurity internal error flagged: TX:MSC_PCRE_LIMITS_EXCEEDED"] [hostname "XXXXXXX.XXX"] [uri "/admin/index.php"] [unique_id "UgkJNW1shFcAAHXUMHkAAAAH"]
Sono stato nei guai , Googling e cambiare le regole per giorni senza successo. L'unica cosa che sembra essere in grado di fare è disattivare ModSecurity per questo vhost. Questo per me va bene mentre sto sviluppando il CMS, ma in produzione questo non è davvero qualcosa che voglio fare. Qualcuno ha qualche idea su cosa sta causando questo problema e su come ordinarlo? I log sembrano puntare a regole gentili relative ai limiti delle espressioni regolari, ma da quando cambio il mio script di ricezione per stampare semplicemente la parola test non sto facendo nulla con loro (anche se ho provato a superare i limiti attraverso SecPcreMatchLimit
e SecPcreMatchLimitRecursion
). Sembra piuttosto che ci sia qualcosa di sbagliato nella quantità di dati che sto inviando.
Sto avendo lo stesso problema e come adesso ho 2 Apache processi in esecuzione al 100% della CPU ... Su un 8 core, non è male in un modo, ma significa anche che alcuni utenti non vengono serviti! –