مدیریت سرورمقالات وب

چگونه ModSecurity را بر روی آپاچی تنظیم و پیکربندی کنیم؟

همانطور که می دانید ModSecurity فایروالی برای وب سرور آپاچی است. این فایروال علاوه بر فراهم آوردن قابلیت های گزارش گیری و گزارش دهی، می تواند ترافیک HTTP را در زمان واقعی مانیتور کند و حملات احتمالی را شناسایی نماید. ModSecurity همچنین به عنوان  ابزار شناسایی حمله به سرور مورد استفاده قرار می گیرد و به شما اجازه می دهد در سیستم های خود به رویدادهای مشکوک واکنش نشان دهید.  اگرچه این فایروال دارای پیکربندی های پیش فرض است اما در این راهنما سعی می کنیم پیکربندی های ساده را با هم مرور کنیم. پس همراه وب ایده باشید.

 نصب  ModSecurity:

قبل از اینکه بخواهید این فایروال را نصب کنید باید آپاچی را بر روی سرور خود نصب کرده باشید. در این راهنما از LAMP Stack استفاده خواهیم کرد.

 اوبونتو/ دبیان:

sudo apt install libapache2-modsecurity

 

آپاچی را ریستارت کنید:

/etc/init.d/apache2 restart

 

مطمئن شوید که نسخه فایروال شما 2.8.0 یا بالاتر از آن است:

apt-cache show libapache2-modsecurity

 

سنت او اس:

yum install mod_security

 

آپاچی را با وارد کردن دستور زیر ریستارت کنید:

/etc/init.d/httpd restart

 

مطمئن شوید که نسخه ModSecurity  بالاتر از 2.8.0 یا خودِ 2.8.0 است:

yum info mod_fcgid

 

 

مجموعه قوانین ModSecurity:

مراحل زیر برای توزیع لینوکسی مبتنی بر دبیان خواهد بود.  مسیر فایل ها و دستوراتی که مورد استفاده قرار می گیرد  برای RHEL متفاوت خواهد بود.

نام فایل پیش فرض ModSecurity را تغییر دهید و آن را منتقل کنید:

mv /etc/modsecurity/modsecurity.conf-recommended  modsecurity.conf

 

اگر لازم بود git را به کمک دستور زیر نصب کنید:

sudo apt install git

از Github مواردی همچون OWASP ModSecurity CRS را دانلود کنید:

git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

 

حالا به دایرکتوری دانلود شده بروید. crs-setup.conf.example  را به crs-setup.conf تغییر نام دهید و سپس rules/  را نیز منتقل کنید:

cd owasp-modsecurity-crs
mv crs-setup.conf.example /etc/modsecurity/crs-setup.conf
mv rules/ /etc/modsecurity/

 

فایل پیکربندی باید با مسیر بالا منطبق و هماهنگ باشد. Include directive دیگری که به مجموعه قوانین فایروال اشاره دارد را  اضافه کنید:

 

etc/apache2/mods-available/security2.conf

<IfModule security2_module>
        # Default Debian dir for modsecurity's persistent data
        SecDataDir /var/cache/modsecurity

        # Include all the *.conf files in /etc/modsecurity.
        # Keeping your local configuration in that directory
        # will allow for an easy upgrade of THIS file and
        # make your life easier
        IncludeOptional /etc/modsecurity/*.conf
        Include /etc/modsecurity/rules/*.conf
</IfModule>

 

آپاچی را ریستارت کنید و تا تغییرات ایجاد شده، اعمال شوند:

/etc/init.d/apache2 restart

 

تست و بررسی فایروال:

خوب در این مرحله باید بدانید که قوانین فعلی ممکن است توسعه یافته باشد. به پیکربندی پیش فرض آپاچی بروید و  دو دستوردهنده اضافی دیگر را به آن اضافه کنید. از فایل پیکربندی پیش فرض  به عنوان نمونه استفاده کنید:

/etc/apache2/sites-available/000-default.conf

 

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SecRuleEngine On
    SecRule ARGS:testparam "@contains test" "id:1234,deny,status:403,msg:'Our test rule has triggered'"
</VirtualHost>

 

آپاچی را ریستارت کنید و سپس دستور زیر را وارد نمایید:

curl localhost/index.html?testparam=test

 

کد پاسخی که دریافت می کنید باید 403 باشد. باید پیامی در لاگ شما وجود داشته باشد که نشان دهد قوانین تعریف شده فایروال به درستی کار می کند. برای بررسی این مورد می توانید از دستور زیر استفاده کنید:

sudo tail -f /var/log/apache2/error.log

 

Rate this post
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن