بسم الله الرحمن الرحيم
وظيفة هذا الموديول هو عمل فلترة للطلبات علي السيرفر والتي تتم من خلال المتصفح ...
الموديل رائع ومتعدد الوظائف ومهم جدا جدا للحد من أنواع كثيرة من الهجوم مثل تنفيذ ثغرات عن طريق المتصفح أو استغلال ثغرات الـ XSS
يعمل الموديل مع سيرفرات الأباتشي ...
والآن ندخل في الكلام الجد
نقوم بالدخول للسيرفر بالمستخدم root عن طريق الشيل ...
اكتب الأمر
كود:
wget http://www.modsecurity.org/download/modsecurity-1.8.7.tar.gz
لتحميل الموديول من موقعه ..
الآن اكتب الأمر
كود:
tar -zvxf modsecurity-1.8.7.tar.gz
لفك ضغط الموديل
سوف يظهر لك مثل هذه النتائج
كود:
modsecurity-1.8.7/
modsecurity-1.8.7/apache1/
modsecurity-1.8.7/apache1/makefile.win
modsecurity-1.8.7/apache1/mod_security.c
modsecurity-1.8.7/CHANGES
modsecurity-1.8.7/INSTALL
modsecurity-1.8.7/LICENSE
modsecurity-1.8.7/README
modsecurity-1.8.7/httpd.conf.example-minimal
modsecurity-1.8.7/httpd.conf.regression-v1
modsecurity-1.8.7/httpd.conf.regression-v2
modsecurity-1.8.7/apache2/
modsecurity-1.8.7/apache2/makefile.win
modsecurity-1.8.7/apache2/mod_security.c
modsecurity-1.8.7/tests/
modsecurity-1.8.7/tests/01-simple-keyword-filter.test
modsecurity-1.8.7/tests/02-evasion-self-referencing-directories.test
modsecurity-1.8.7/tests/03-evasion-traversal.test
modsecurity-1.8.7/tests/04-evasion-double-slash.test
modsecurity-1.8.7/tests/05-evasion-case-sensitivity.test
modsecurity-1.8.7/tests/06-evasion-via-url-encoding.test
modsecurity-1.8.7/tests/07-special-characters-in-path.test
modsecurity-1.8.7/tests/08-invalid-url-encoding-in-parameters.test
modsecurity-1.8.7/tests/09-directory-traversal-in-parameters.test
modsecurity-1.8.7/tests/10-simple-keyword-post.test
modsecurity-1.8.7/tests/11-xss-attack.test
modsecurity-1.8.7/tests/12-html-forbidden.test
modsecurity-1.8.7/tests/13-sql-injection.test
modsecurity-1.8.7/tests/14-redirect-action.test
modsecurity-1.8.7/tests/15-not-attack.test
modsecurity-1.8.7/tests/16-no-host-header.test
modsecurity-1.8.7/tests/17-no-user-agent.test
modsecurity-1.8.7/tests/18-keyword-in-post-only.test
modsecurity-1.8.7/tests/19-keyword-in-post-only-negative.test
modsecurity-1.8.7/tests/20-keyword-in-query-string-only.test
modsecurity-1.8.7/tests/21-keyword-in-query-string-only-negative.test
modsecurity-1.8.7/tests/22-keyword-in-args-get.test
modsecurity-1.8.7/tests/23-keyword-in-args-post.test
modsecurity-1.8.7/tests/24-keyword-single-variable.test
modsecurity-1.8.7/tests/25-keyword-single-variable-negative.test
modsecurity-1.8.7/tests/26-keyword-variable-exclusion.test
modsecurity-1.8.7/tests/27-keyword-variable-exclusion-negative.test
modsecurity-1.8.7/tests/28-simple-keyword-inverted-pattern.test
modsecurity-1.8.7/tests/29-filter-variable-names.test
modsecurity-1.8.7/tests/30-filter-variable-values.test
modsecurity-1.8.7/tests/31-url-decoding-plus-bug.test
modsecurity-1.8.7/tests/32-sql-injection-2.test
modsecurity-1.8.7/tests/33-xss-attack-2.test
modsecurity-1.8.7/tests/34-invalid-byte-range-in-parameters.test
modsecurity-1.8.7/tests/35-invalid-byte-range-in-url.test
modsecurity-1.8.7/tests/36-backslash-conversion-win-only.test
modsecurity-1.8.7/tests/37-url-decoding-bug-2.test
modsecurity-1.8.7/tests/38-unicode-1.test
modsecurity-1.8.7/tests/39-unicode-2.test
modsecurity-1.8.7/tests/40-unicode-3.test
modsecurity-1.8.7/tests/41-post-variables-bug.test
modsecurity-1.8.7/tests/42-post-variables-bug-2.test
modsecurity-1.8.7/tests/43-post-range-check-bug.test
modsecurity-1.8.7/tests/44-normalisation-bug.test
modsecurity-1.8.7/tests/45-nullbyte-attack.test
modsecurity-1.8.7/tests/46-multipart-form-data.test
modsecurity-1.8.7/tests/47-action-allow.test
modsecurity-1.8.7/tests/48-chained-rules-1.test
modsecurity-1.8.7/tests/49-chained-rules-2.test
modsecurity-1.8.7/tests/50-chained-rules-3.test
modsecurity-1.8.7/tests/51-skipnext-1.test
modsecurity-1.8.7/tests/52-skipnext-2.test
modsecurity-1.8.7/tests/53-cookie-1.test
modsecurity-1.8.7/tests/54-cookie-2.test
modsecurity-1.8.7/tests/55-cookie-3.test
modsecurity-1.8.7/tests/56-cookie-4.test
modsecurity-1.8.7/tests/57-regex-hex-escape.test
modsecurity-1.8.7/tests/69-bug-false-url-encoding-validation.test
modsecurity-1.8.7/tests/70-bug-bad-ARGS.test
modsecurity-1.8.7/tests/README.tests
modsecurity-1.8.7/tests/modsec-test.pl
modsecurity-1.8.7/tests/r
modsecurity-1.8.7/tests/run-test.pl
modsecurity-1.8.7/util/
modsecurity-1.8.7/util/README.first
modsecurity-1.8.7/util/snort2modsec.pl
modsecurity-1.8.7/util/snortmodsec-rules.txt
modsecurity-1.8.7/modsecurity-manual.pdf
الآن نقوم بالدخول للمجلد عن طريق الأمر
كود:
cd modsecurity-1.8.7
سوف نلاحظ هنا وجود مجلدين الأول أباتشي 1 لإصدارات الأباتشي 1.3
والثاني أباتشي 2 لإصدارات الاباتشي 2.0
إذن حسب اصدار الأباتشي عندك سوف تدخل المجلد المناسب
نقوم الآن بعمل كوبايل للموديل من خلال الأمر
كود:
/usr/local/apache/bin/apxs -cia mod_security.c
والآن نأتي للخطوة المهمة وهي تحرير ملف httpd.conf لضبط اعدادت الموديل الجديد ...
ملحوظة هااااامة
******************
يُفضل اخذ نسخة احتياطية من ملف httpd.conf قبل اجراء اي تعديل تحسبا لأي أخطاء لا قدر الله .
يمكنك أخذ نسخة احتياطية من الملف بواسطة الأمر
كود:
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.backup
والآن نبدأ في تحرير الملف مباشرة بواسطة الأمر
كود:
pico /usr/local/apache/conf/httpd.conf
قم بالبحث عن ifmodule mod_dir.c
أضف بعدها
كود:
# 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 "deny,log,status:406"
# Redirect user on filter match
SecFilter xxx redirect:http://www.d3mfny.com
# Execute the external script 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 "/cgi-bin/keyword"
# Another test filter, will be denied with 404 but not logged
# action supplied as a parameter overrides the default action
SecFilter 999 "deny,nolog,status:404"
# Prevent OS specific keywords
SecFilter /etc/password
# Prevent path traversal (..) attacks
SecFilter "\.\./"
# Weaker XSS protection but allows common HTML tags
SecFilter "<( |\n)*script"
# Prevent XSS atacks (HTML/Javascript injection)
SecFilter "<(.|\n)+>"
# Very crude filters to prevent SQL injection attacks
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
# Require HTTP_USER_AGENT and HTTP_HOST headers
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
# Forbid file upload
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
# Only watch argument p1
SecFilterSelective "ARG_p1" 555
# Watch all arguments except p1
SecFilterSelective "ARGS|!ARG_p2" 666
# Only allow our own test utility to send requests (or Mozilla)
SecFilterSelective HTTP_USER_AGENT "!(mod_security|mozilla)"
# 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
<Location /cgi-bin/FormMail>
SecFilterSelective "ARG_recipient" "!@webkreator.com$"
</Location>
# when allowing upload, only allow images
# note that this is not foolproof, a determined attacker
# could get around this
<Location /fileupload.php>
SecFilterInheritance Off
SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif)"
</Location>
يمكنك وضع كل الوظائف السابقة أو بعضها حسب حاجتك ...
الأن احفظ ما قمت به من تعديلات
بعمل crtl-X
ثم
Y
ثم اعد تشغيل الApache
بواسطة الأمر
كود:
/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpd start
وافر الاحترام والتقدير للجميع
أحمد ماستر
EnG : MaStEr