بسم الله الرحمن الرحيم
وظيفة هذا الموديول هو عمل فلترة للطلبات علي السيرفر والتي تتم من خلال المتصفح ...
الموديل رائع ومتعدد الوظائف ومهم جدا جدا للحد من أنواع كثيرة من الهجوم مثل تنفيذ ثغرات عن طريق المتصفح أو استغلال ثغرات الـ 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
سوف نلاحظ هنا وجود مجلدين الأول أباتشي 1 لإصدارات الأباتشي 1.3كود:cd modsecurity-1.8.7
والثاني أباتشي 2 لإصدارات الاباتشي 2.0
إذن حسب اصدار الأباتشي عندك سوف تدخل المجلد المناسب
نقوم الآن بعمل كوبايل للموديل من خلال الأمر
والآن نأتي للخطوة المهمة وهي تحرير ملف httpd.conf لضبط اعدادت الموديل الجديد ...كود:/usr/local/apache/bin/apxs -cia mod_security.c
ملحوظة هااااامة
******************
يُفضل اخذ نسخة احتياطية من ملف httpd.conf قبل اجراء اي تعديل تحسبا لأي أخطاء لا قدر الله .
يمكنك أخذ نسخة احتياطية من الملف بواسطة الأمر
والآن نبدأ في تحرير الملف مباشرة بواسطة الأمركود:cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.backup
قم بالبحث عن ifmodule mod_dir.cكود:pico /usr/local/apache/conf/httpd.conf
أضف بعدها
يمكنك وضع كل الوظائف السابقة أو بعضها حسب حاجتك ...كود:# 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


رد مع اقتباس

