ปิดใช้งานการรักษาความปลอดภัยสำหรับไดเรกทอรีเฉพาะ


11

คุณจะปิดการใช้งาน modsecurity ได้อย่างไรสำหรับไดเรกทอรีที่เฉพาะเจาะจง ฉันได้รับข้อผิดพลาดใน phpMyAdmin ที่เกิดจากการปรับเปลี่ยน modsecurity ตามกฎ ฉันได้ตั้งค่าไฟล์ต่อไปนี้:

# /etc/httpd/modsecurity.d/modsecurity_crs_15_customrules.conf
<LocationMatch "^/phpMA/">
    SecRuleEngine Off
</LocationMatch>

# /etc/httpd/modsecurity.d/modsecurity_crs_60.custom.conf
<LocationMatch '^/phpMA/*'>
    SecRuleRemoveById 950004
    SecRuleRemoveById 950005
    SecRuleRemoveById 950006
    SecRuleRemoveById 960010
    SecRuleRemoveById 960012
</LocationMatch>

จากสิ่งที่ฉันสามารถค้นหาไฟล์แรกควรปิดการใช้งาน แต่ยังคงเดินทางดังนั้นฉันลองเพิ่มกฎ ID มันสะดุดในไฟล์ 60 แต่ก็ยังบ่น

ฉันใช้แพ็คเกจต่อไปนี้บน CentOS 5.3:

  • mod_security-2.5.0-jason.2
  • httpd-2.2.8-jason.3
  • mod-php5-apache2-Zend-CE-5.2.10-65

คำตอบที่อนุมัติไม่ปลอดภัย อ้างถึง: serverfault.com/a/766395/345813
SherloxTV

คำตอบ:


17

SecRuleEngine Off ต้องทำงาน คุณได้ลองวาง SecRuleEngine ไว้ในไดเรกทอรีแล้วหรือยัง:

<Directory /var/www/site/phpMA>
SecRuleEngine Off
</Directory>

แทน LocationMatch หรือไม่


1
พยายามเพิ่มไฟล์ดังกล่าวใน 15 ไฟล์และยังคงได้รับข้อผิดพลาดเดียวกันที่ติดอยู่ใน modsecurity_audit.log
dragonmantank

ไฟล์ modsecurity_crs_15_customrules.conf และ modsecurity_crs_60.custom.conf รวมอยู่ด้วย (ไม่ได้แสดงความคิดเห็น) ใน /etc/httpd/conf.d/mod_security.conf ของคุณหรือไม่
hdanniel

Facepalmไม่พวกเขาไม่ได้ ที่ดูแลมัน
dragonmantank

3

ในบางเซิร์ฟเวอร์และโฮสต์เว็บเป็นไปได้ที่จะปิดการใช้งาน ModSecurity ผ่าน.htaccessแต่เฉพาะในทั้งหมด (ไม่ใช่กฎแต่ละข้อ)

เพื่อ จำกัด ให้เฉพาะ URL คุณสามารถระบุ regex ใน<If>คำสั่งด้านล่าง ...

### DISABLE mod_security firewall
### Some rules are currently too strict and are blocking legitimate users
### We only disable it for URLs that contain the regex below
### The regex below should be placed between "m#" and "#" 
### (this syntax is required when the string contains forward slashes)
<IfModule mod_security.c>
  <If "%{REQUEST_URI} =~ m#/admin/#">
    SecFilterEngine Off
    SecFilterScanPOST Off
  </If>
</IfModule>

2

อย่าปิดการใช้งานกฎทั้งหมด !! นี่อาจทำให้เกิดปัญหาด้านความปลอดภัยที่ร้ายแรง!

คุณต้องตรวจสอบ logfile ของ modsecurity ด้วย

tail -f /var/log/apache2/modsec_audit.log

และแยกแต่ละกฎทีละหนึ่งทำซ้ำข้อผิดพลาดในอินเทอร์เฟซ phpmyadmin

ถัดไปเพิ่ม:

<Directory /path/to/phpmyadmin>
    <IfModule security2_module>
        SecRuleRemoveByTag "WEB_ATTACK/SQL_INJECTION"
        {And other rules you need to disable ...}
    </IfModule>
</Directory>

ถึง /etc/apache2/mods-enabled/modsecurity.conf

แท็กที่คุณต้องลบจะอยู่ในแฟ้มบันทึกเช่นนี้ สำหรับคำอธิบายที่เต็มรูปแบบของการลบกฎสำหรับโฟลเดอร์โดยเฉพาะอย่างยิ่งให้ดูที่วิกิพีเดีย Github ของโครงการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.