PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چگونگی نصب mod_security برای آپاچ



Vahid
August 9th, 2008, 14:45
What is mod_security or modsecurity?
ModSecurity is an open source intrusion detection and prevention engine for web applications. It operates embedded into the web server, acting as a powerful umbrella - shielding applications from attacks. ModSecurity supports both branches of the Apache web server.
Rfx Networks Recommended:
"mod_security is great and I encourage it be used by everyone; it does have the potential to break some web applications but so far iv seen very few issues to say the least. Likewise it is easy to fix any applications that may break with the granular filter rules that can be setup to either deny or allow certain content. Overall mod_security is a needed addition to apache, providing a layer of security yet unseen for apache. I highly encourage you read the reference document on the modsecurity.org site (under documentation) to better understand each directive and the role it plays in protecting your server and sites."

Requirements:
Apache Web Server 1.3x or 2.x

Note: We have confirmed this security addon works with Cpanel based servers.

UPDATE: Sept. 15, 2004:
Changed # Prevent path traversal (..) attacks rules to fix a typo in tutorial.
How to install?
1. Login to your server through SSH and su to the root user.


2. First your going to start out by grabbing the latest version of mod_security
wget ModSecurity: Open Source Web Application Firewall - Requested file not found (http://www.modsecurity.org/download/mod_security-1.7.4.tar.gz)

3. Next we untar the archive and cd into the directory:
tar zxvf mod_security-1.7.4.tar.gz
cd mod_security-1.7.4/ 4. Now you need to determine which version of apache you use:
APACHE 1.3.x users
cd apache1/
APACHE 2.x users
cd apache2/

5.Lets Compile the module now:
/usr/local/apache/bin/apxs -cia mod_security.c

6. Ok, now its time to edit the httpd conf file. First we will make a backup just incase something goes wrong:
cp /usr/local/apache/conf/httpd.conf /usr/local/apache/conf/httpd.conf.backup

7. Now that we have backed it all up, we can edit the httpd.conf. Replace pico with nano depending on what you have
pico /usr/local/apache/conf/httpd.conf

8. Lets look for something in the config, do this by holding control and pressing W and you are going to search for
<IfModule mod_dir.c> (altho any of the IfModules would work fine)
9. Now add this

<IfModule mod_security.c>
# Turn the filtering engine On or Off
SecFilterEngine On
# Change Server: string
SecServerSignature " "
# Make sure that URL encoding is valid
SecFilterCheckURLEncoding On
# This setting should be set to On only if the Web site is
# using the Unicode encoding. Otherwise it may interfere with
# the normal Web site operation.
SecFilterCheckUnicodeEncoding Off
# Only allow bytes from this range
SecFilterForceByteRange 1 255
# The audit engine works independently and
# can be turned On of Off on the per-server or
# on the per-directory basis. "On" will log everything,
# "DynamicOrRelevant" will log dynamic requests or violations,
# and "RelevantOnly" will only log policy violations
SecAuditEngine RelevantOnly
# The name of the audit log file
SecAuditLog /var/log/httpd/audit_log
# Should mod_security inspect POST payloads
SecFilterScanPOST On
# Action to take by default
SecFilterDefaultAction "deny,log,status:500"
# Require HTTP_USER_AGENT and HTTP_HOST in all requests
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
# Prevent path traversal (..) attacks
SecFilter "../"
# Weaker XSS protection but allows common HTML tags
SecFilter "<[[:space:]]*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"
# Protecting from XSS attacks through the PHP session cookie
SecFilterSelective ARG_PHPSESSID "!^[0-9a-z]*$"
SecFilterSelective COOKIE_PHPSESSID "!^[0-9a-z]*$"
</IfModule>
10. Save the file Ctrl + X then Y

11. Restart Apache

/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpd start

You've successfully installed mod_security!

Nikihost
August 11th, 2008, 15:59
با سلام . مدير عزيز نسخه فعلي modsecurity apache چيزي من در سايت اصليشون ديدم modsecurity-apache_2.5.6 مي باشد .كه دوستان عزيز مي تونند براي نصب به لينك زير مراجعه كنند.


https://bsn.breach.com/downloads/t=584e39e76579321bbb36e828a3c32d76/modsecurity-apache/modsecurity-core-rules_2.5-1.6.1.tar.gz

Nikihost
August 11th, 2008, 16:10
سلام مجدد.
مدير عزيز در مورد دستور عمل هشتم يه توضيحي ميتونيد بديد.


8. Lets look for something in the config, do this by holding control and pressing w and you are going to search for
<ifmodule mod_dir.c> (altho any of the ifmodules would work fine)

Vahid
August 11th, 2008, 16:14
سلام ببین کلا نصب هر ورژنی دستورات خاص به خودش رو داره که باید ببینی چی هست و نصب کنید
خوب العان شما دستورات config رو باز کردی و باید دنبال ifmodule mod_dir.c بگردی
وقتی پیدا کردی چیزای زیرش رو بهش اضافه کن

Nikihost
August 11th, 2008, 16:23
خوب العان شما دستورات config رو باز کردی و باید دنبال ifmodule mod_dir.c بگردی
وقتی پیدا کردی چیزای زیرش رو بهش اضافه کن

الان من دنبال ifmodule mod_dir.c كه ميگردم در اديتور ميگه اصلا وجود نداره . به نظر شما چيكار كنم ؟
و دستور العمل نسخه جديد را از كجا ميتونم پيدا كنم. ببخشيد اينقدر مزاحم ميشم

Vahid
August 11th, 2008, 19:53
yum install mod_security
بزن اصلا به ورژنش هم اهمیت نده فکر کنم اخریو ورژن هم نصب کنه برات
من برا این ورژنی که خودت گزاشتی دستورات خواصی پیدا نکردم خودم هم نصب دارم رو سرور و نمیتونم نصب کنم دوباره ببینم باید چی کار کرد شاید از بچه ها بدونند
با تشکر

emim2
December 31st, 2008, 14:57
سلام
ببخشید من تاپیک جدید باز نکردم .
من در نصب mod_security با مشکل روبه رو شدم
من آپاچی ۲.۲.۱۰ را به این صورت کامپایل کردم
[root@localhost apache2]# ./configure --prefix=/usr/local/apache2 --with-ssl=/usr/local/openssl --with-php --with-mysql --with-suexec --with-phpsuexec --with-mpm=prefork --disable-charset-lite --disable-include--disable-env --disable-setenvif --disable-status --disable-autoindex --disable-asis --disable-cgi --disable-negotiation --disable-imap --disable-actions --disable-userdir --disable-alias --disable-so --enable-unique-id --with-pcre=/usr

بعد از این که مطمپن شدم درست کار می کند.
طبق دستورالعمل ای که در این سایت نوشته بود پیش رفتم
http://www.modsecurity.org/documentation/modsecurity-apache/2.0.2/html-multipage/02-installation.html
در بند ۱۲ که موقع کامفیگ mod_security بود با مشکل روبه رو شدم
من مطمپن نیستم به چه صورت باید کانفیک کرد ولی این کار را کردم
cd /usr/src/modsecurity-apache_2.1.5/apache2
بعد نوشتم
# /usr/local/apache/bin/apxs -DUSE_PCRE -cia mod_security2.c
بعدا با این error مواجه شدم
apxs:Error: Sorry, no shared object support for Apache.
apxs:Error: available under your platform. Make sure.
apxs:Error: the Apache module mod_so is compiled into.
apxs:Error: your server binary `/usr/local/apache/bin/httpd'..
اگه به من کمک کنید ممنون می شوم

مشکل دوم
کلا آپاچی که خودم کامپایل کردم را stop نمودم و آپاچی را با yum نصب کردم . تست کردم دیدم درست نصب شده . بعد از آن از این دستور برای نصب استفاده کردم
yum install mod_security
ولی بعد از آن که آپاچی را restart کردم و در browser زدم . http://127.0.0.1
پیام Bad Request را داد .
من با این دو مشکل چه کار باید بکنم؟

Vahid
January 3rd, 2009, 14:53
اگه cpanel داری میتونی با خوده اون نصب کنی

Vahid
January 3rd, 2009, 14:53
من با این دو مشکل چه کار باید بکنم؟
العان Apache رانه؟

emim2
January 4th, 2009, 09:57
بله الان هر دو مشکل بر طرف شده
هم آپاچی و mod_security که کامپایل کردم درست کار می کنند وهم آپاچی و mod_security که با yum نصب کردم کار می کنند.
یک سری rull هم در سایت gotroot.org بود به آن اضافه کردم
حالا می خوام بدونم کدام یکی بهتر هست البته برای داشتن یک سرور امن
ممنون

Vahid
January 4th, 2009, 11:03
منظور شما http://www.gotroot.com بود؟
سرور امن؟ شما هاست فروشی میکنید؟ یعنی سروری که استفده میکنید برای هاستینگه یا سرویس دادن به 1 یا 2 تا سایت؟

emim2
January 4th, 2009, 23:47
نه من روی یک پروژه دانشجوئی کار می کنم . عنوان آن هست چگونه یک سرور لینوکسی را امن کنیم .

Vahid
January 5th, 2009, 08:11
سرور با نصب چند تا ماژول امنیتی امن نمیشه
کلا نباید بگیم امن چون کلا سروری امن نیست باید بگیم Hardening درست گفم؟