في هذه المقالة
،سأناقش كيفية العثور على قواعد ModSecurity محددة وتعطيلها والتي قد تتسبب في حدوث أخطاء 406 على مواقع الويب الخاصة بك إما على خادم VPS الخاص بك (خادم خاص افتراضي) أو خادم مخصص.يمكن أن تساعد القواعد التي يستخدمها ModSecurity في منع محاولات الهجوم المحتملة من المستخدمين الضارين ، ولكن في بعض الأحيان يمكن أيضًا منع الطلبات المشروعة ، ومعرفة كيفية الدخول والبحث عن القواعد التي يتم تشغيلها وكيفية تعطيلها يمكن أن تكون مفيدة.
تفترض هذه المقالة أنك تعرف بالفعل كيفية تمكين ملف تكوين ModSecurity للمجال الخاص بك والذي تمت مناقشته في المقالة السابقة حول كيفية تعطيل ModSecurity لأحد المجالات. ولكن عندما تصل إلى الجزء الذي يتحدث عن استخدام SecRuleEngine ، لن ترغب في وضع ذلك في ملف تهيئة ModSecurity الخاص بك. بما أن ذلك يؤدي إلى إيقاف تشغيل ModSecurity تمامًا ، سنناقش في هذه المقالة استخدام الإعداد SecRuleRemoveById بدلاً من تعطيل قاعدة محددة فقط.
العثور على قواعد ModSecurity الحصول على أثارها
باتباع الخطوات أدناه ، سأوضح لك كيف يمكنك استخدام سجل أخطاء Apache لتحديد أخطاء ModSecurity التي يتم تشغيلها على مواقع الويب الخاصة بك.
-
تسجيل الدخول إلى الخادم الخاص بك عبر SSH .
قم بتشغيل الأمر التالي لتحديد قواعد ModSecurity التي يتم تشغيلها: -
grep ModSecurity /usr/local/apache/logs/error_log | sed -e 's#^.*\[id "\([0-9]*\).*hostname "\([a-z0-9\-\_\.]*\)"\].*uri "#\1 \2 #' | cut -d\" -f1 | sort -n | uniq -c | sort -n
هذا سوف يعطيك شيء مثل هذا:129 990011 example.com /feed/
4668 950004 example.com /wp-content/themes/drone/jquery.cookie.js
29070 950004 www.example.com /wp-content/themes/drone/jquery.cookie.jsحتى يمكننا أن نرى أن كود قاعدة ModSecurity 950004 قد تم تشغيله على الأقل 33،738 بين example.com و www.example.com عند محاولة طلب ملف /wp-content/themes/drone/jquery.cookie.js.لتعطيل قاعدة ModSecurity المحددة لقاعدة 95004 ، قم بتشغيل الأمر التالي:echo "SecRuleRemoveById 950004" >> /usr/local/apache/conf/userdata/std/2/userna5
يجب عليك الآن معرفة كيفية تحديد قواعد ModSecurity التي يتم تشغيلها ، وكيفية تعطيل هذه القواعد بشكل فردي لإيقاف تشغيل أخطاء ModSecurity 406 على موقع الويب الخاص بك.