بسم الله الرحمن الرحيم

وظيفة هذا الموديول هو عمل فلترة للطلبات علي السيرفر SERVER والتي تتم من خلال المتصفح ...

الموديل رائع ومتعدد الوظائف ومهم جدا جدا للحد من أنواع كثيرة من الهجوم مثل تنفيذ ثغرات عن طريق المتصفح أو استغلال ثغرات الـ XSS
يعمل الموديل مع سيرفر SERVERات الأباتشي ...

والآن ندخل في الكلام الجد
نقوم بالدخول للسيرفر SERVER بالمستخدم root عن طريق الشيل ...
اكتب الأمر
رمز Code:
wget http://www.modsecurity.org/download/modsecurity-apache-1.9.2.tar.gz
لتحميل الموديول من موقعه ..
الآن اكتب الأمر
رمز Code:
tar -zvxf modsecurity-apache-1.9.2.tar.gz
لفك ضغط الموديل
سوف يظهر لك مثل هذه النتائج

رمز Code:
modsecurity-apache-1.9.2/ modsecurity-apache-1.9.2/apache1/ modsecurity-apache-1.9.2/apache1/makefile.win modsecurity-apache-1.9.2/apache1/mod_security.c modsecurity-apache-1.9.2/CHANGES modsecurity-apache-1.9.2/INSTALL modsecurity-apache-1.9.2/LICENSE modsecurity-apache-1.9.2/README modsecurity-apache-1.9.2/httpd.conf.example-minimal modsecurity-apache-1.9.2/httpd.conf.regression-v1 modsecurity-apache-1.9.2/httpd.conf.regression-v2 modsecurity-apache-1.9.2/apache2/ modsecurity-apache-1.9.2/apache2/makefile.win modsecurity-apache-1.9.2/apache2/mod_security.c modsecurity-apache-1.9.2/tests/ modsecurity-apache-1.9.2/tests/01-simple-keyword-filter.test modsecurity-apache-1.9.2/tests/02-evasion-self-referencing-directories.test modsecurity-apache-1.9.2/tests/03-evasion-traversal.test modsecurity-apache-1.9.2/tests/04-evasion-double-slash.test modsecurity-apache-1.9.2/tests/05-evasion-case-sensitivity.test modsecurity-apache-1.9.2/tests/06-evasion-via-url-encoding.test modsecurity-apache-1.9.2/tests/07-special-characters-in-path.test modsecurity-apache-1.9.2/tests/08-invalid-url-encoding-in-parameters.test modsecurity-apache-1.9.2/tests/09-directory-traversal-in-parameters.test modsecurity-apache-1.9.2/tests/10-simple-keyword-post.test modsecurity-apache-1.9.2/tests/11-xss-attack.test modsecurity-apache-1.9.2/tests/12-html-forbidden.test modsecurity-apache-1.9.2/tests/13-sql-injection.test modsecurity-apache-1.9.2/tests/14-redirect-action.test modsecurity-apache-1.9.2/tests/15-not-attack.test modsecurity-apache-1.9.2/tests/16-no-host-header.test modsecurity-apache-1.9.2/tests/17-no-user-agent.test modsecurity-apache-1.9.2/tests/18-keyword-in-post-only.test modsecurity-apache-1.9.2/tests/19-keyword-in-post-only-negative.test modsecurity-apache-1.9.2/tests/20-keyword-in-query-string-only.test modsecurity-apache-1.9.2/tests/21-keyword-in-query-string-only-negative.test modsecurity-apache-1.9.2/tests/22-keyword-in-args-get.test modsecurity-apache-1.9.2/tests/23-keyword-in-args-post.test modsecurity-apache-1.9.2/tests/24-keyword-single-variable.test modsecurity-apache-1.9.2/tests/25-keyword-single-variable-negative.test modsecurity-apache-1.9.2/tests/26-keyword-variable-exclusion.test modsecurity-apache-1.9.2/tests/27-keyword-variable-exclusion-negative.test modsecurity-apache-1.9.2/tests/28-simple-keyword-inverted-pattern.test modsecurity-apache-1.9.2/tests/29-filter-variable-names.test modsecurity-apache-1.9.2/tests/30-filter-variable-values.test modsecurity-apache-1.9.2/tests/31-url-decoding-plus-bug.test modsecurity-apache-1.9.2/tests/32-sql-injection-2.test modsecurity-apache-1.9.2/tests/33-xss-attack-2.test modsecurity-apache-1.9.2/tests/34-invalid-byte-range-in-parameters.test modsecurity-apache-1.9.2/tests/35-invalid-byte-range-in-url.test modsecurity-apache-1.9.2/tests/36-backslash-conversion-win-only.test modsecurity-apache-1.9.2/tests/37-url-decoding-bug-2.test modsecurity-apache-1.9.2/tests/38-unicode-1.test modsecurity-apache-1.9.2/tests/39-unicode-2.test modsecurity-apache-1.9.2/tests/40-unicode-3.test modsecurity-apache-1.9.2/tests/41-post-variables-bug.test modsecurity-apache-1.9.2/tests/42-post-variables-bug-2.test modsecurity-apache-1.9.2/tests/43-post-range-check-bug.test modsecurity-apache-1.9.2/tests/44-normalisation-bug.test modsecurity-apache-1.9.2/tests/45-nullbyte-attack.test modsecurity-apache-1.9.2/tests/46-multipart-form-data.test modsecurity-apache-1.9.2/tests/47-action-allow.test modsecurity-apache-1.9.2/tests/48-chained-rules-1.test modsecurity-apache-1.9.2/tests/49-chained-rules-2.test modsecurity-apache-1.9.2/tests/50-chained-rules-3.test modsecurity-apache-1.9.2/tests/51-skipnext-1.test modsecurity-apache-1.9.2/tests/52-skipnext-2.test modsecurity-apache-1.9.2/tests/53-******-1.test modsecurity-apache-1.9.2/tests/54-******-2.test modsecurity-apache-1.9.2/tests/55-******-3.test modsecurity-apache-1.9.2/tests/56-******-4.test modsecurity-apache-1.9.2/tests/57-regex-hex-escape.test modsecurity-apache-1.9.2/tests/69-bug-false-url-encoding-validation.test modsecurity-apache-1.9.2/tests/70-bug-bad-ARGS.test modsecurity-apache-1.9.2/tests/README.tests modsecurity-apache-1.9.2/tests/modsec-test.pl modsecurity-apache-1.9.2/tests/r modsecurity-apache-1.9.2/tests/run-test.pl modsecurity-apache-1.9.2/util/ modsecurity-apache-1.9.2/util/README.first modsecurity-apache-1.9.2/util/snort2modsec.pl modsecurity-apache-1.9.2/util/snortmodsec-rules.txt modsecurity-apache-1.9.2/modsecurity-manual.pdf
الآن نقوم بالدخول للمجلد عن طريق الأمر
رمز Code:
cd modsecurity-apache-1.9.2
سوف نلاحظ هنا وجود مجلدين الأول أباتشي 1 لإصدارات الأباتشي 1.3
والثاني أباتشي 2 لإصدارات الاباتشي 2.0
إذن حسب اصدار الأباتشي عندك سوف تدخل المجلد المناسب
نقوم الآن بعمل كوبايل للموديل من خلال الأمر
رمز Code:
/usr/local/apache/bin/apxs -cia mod_security.c
والآن نأتي للخطوة المهمة وهي تحرير ملف httpd.conf لضبط اعدادت الموديل الجديد ...
ملحوظة هااااامة
******************

يُفضل اخذ نسخة احتياطية من ملف httpd.conf قبل اجراء اي تعديل تحسبا لأي أخطاء لا قدر الله .
يمكنك أخذ نسخة احتياطية من الملف بواسطة الأمر
رمز Code:
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.backup
والآن نبدأ في تحرير الملف مباشرة بواسطة الأمر
رمز Code:
pico /usr/local/apache/conf/httpd.conf
قم بالبحث عن ifmodule mod_dir.c
أضف بعدها

رمز Code:
# Turn the filtering engine On or Off SecFilterEngine On # Make sure that URL encoding is valid SecFilterCheckURLEncoding On # Only allow bytes from this range SecFilterForceByteRange 32 126 # The audit engine works independently and # can be turned On of Off on the per-server or # on the per-directory basis SecAuditEngine RelevantOnly # The name of the audit log file SecAuditLog logs/audit_log SecFilterDebugLog logs/modsec_debug_log SecFilterDebugLevel 0 # Should mod_security inspect POST payloads SecFilterScanPOST On # Action to take by default SecFilterDefaultAction &quot;deny,log,status:406&quot; # Redirect user on filter match SecFilter xxx redirect:http://www.d3mfny.com # Execute the external ****** on filter match SecFilter yyy log,exec:/home/ivanr/apache/bin/report-attack.pl # Simple filter SecFilter 111 # Only check the QUERY_STRING variable SecFilterSelective QUERY_STRING 222 # Only check the body of the POST request SecFilterSelective POST_PAYLOAD 333 # Only check arguments (will work for GET and POST) SecFilterSelective ARGS 444 # Test filter SecFilter &quot;/cgi-bin/keyword&quot; # Another test filter, will be denied with 404 but not logged # action supplied as a parameter overrides the default action SecFilter 999 &quot;deny,nolog,status:404&quot; # Prevent OS specific keywords SecFilter /etc/password # Prevent path traversal (..) attacks SecFilter &quot;\.\./&quot; # Weaker XSS protection but allows common HTML tags SecFilter &quot;<( |\n)*******&quot; # Prevent XSS atacks (HTML/Java****** injection) SecFilter &quot;<(.|\n)+>&quot; # Very crude filters to prevent SQL injection attacks SecFilter &quot;delete[[:space:]]+from&quot; SecFilter &quot;insert[[:space:]]+into&quot; SecFilter &quot;select.+from&quot; # Require HTTP_USER_AGENT and HTTP_HOST headers SecFilterSelective &quot;HTTP_USER_AGENT|HTTP_HOST&quot; &quot;^$&quot; # Forbid file upload SecFilterSelective &quot;HTTP_CONTENT_TYPE&quot; multipart/form-data # Only watch argument p1 SecFilterSelective &quot;ARG_p1&quot; 555 # Watch all arguments except p1 SecFilterSelective &quot;ARGS|!ARG_p2&quot; 666 # Only allow our own test utility to send requests (or Mozilla) SecFilterSelective HTTP_USER_AGENT &quot;!(mod_security|mozilla)&quot; # Do not allow variables with this name SecFilterSelective ARGS_NAMES 777 # Do now allow this variable value (names are ok) SecFilterSelective ARGS_VALUES 888 # Stop spamming through FormMail # note the exclamation mark at the beginning # of the filter - only requests that match this regex will # be allowed <******** /cgi-bin/FormMail> SecFilterSelective &quot;ARG_recipient&quot; &quot;!@webkreator.com$&quot; </********> # when allowing upload, only allow images # note that this is not foolproof, a determined attacker # could get around this <******** /fileupload.php> SecFilterInheritance Off SecFilterSelective POST_PAYLOAD &quot;!image/(jpeg|bmp|gif)&quot; </********>
يمكنك وضع كل الوظائف السابقة أو بعضها حسب حاجتك ...


الأن احفظ ما قمت به من تعديلات
بعمل crtl-X



ثم
Y
ثم اعد تشغيل الApache



بواسطة الأمر
رمز Code:
/etc/rc.d/init.d/httpd stop /etc/rc.d/init.d/httpd start
وافر الاحترام والتقدير للجميع
أخوكم
ibm4host





©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©