مدیریت سرورمقالات وب
چگونه 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