همانطور که می دانید ModSecurity فایروالی برای وب سرور آپاچی است. این فایروال علاوه بر فراهم آوردن قابلیت های گزارش گیری و گزارش دهی، می تواند ترافیک HTTP را در زمان واقعی مانیتور کند و حملات احتمالی را شناسایی نماید. ModSecurity همچنین به عنوان ابزار شناسایی حمله به سرور مورد استفاده قرار می گیرد و به شما اجازه می دهد در سیستم های خود به رویدادهای مشکوک واکنش نشان دهید. اگرچه این فایروال دارای پیکربندی های پیش فرض است اما در این راهنما سعی می کنیم پیکربندی های ساده را با هم مرور کنیم. پس همراهامید احمدیانی باشید.
نصب ModSecurity:
قبل از اینکه بخواهید این فایروال را نصب کنید باید آپاچی را بر روی سرور خود نصب کرده باشید. در این راهنما از LAMP Stack استفاده خواهیم کرد.
اوبونتو/ دبیان:
sudo apt install libapache2–modsecurity |
آپاچی را ریستارت کنید:
/etc/init.d/apache2 restart |
مطمئن شوید که نسخه فایروال شما ۲٫۸٫۰ یا بالاتر از آن است:
apt–cache show libapache2–modsecurity |
سنت او اس:
آپاچی را با وارد کردن دستور زیر ریستارت کنید:
/etc/init.d/httpd restart |
مطمئن شوید که نسخه ModSecurity بالاتر از ۲٫۸٫۰ یا خودِ ۲٫۸٫۰ است:
مجموعه قوانین ModSecurity:
مراحل زیر برای توزیع لینوکسی مبتنی بر دبیان خواهد بود. مسیر فایل ها و دستوراتی که مورد استفاده قرار می گیرد برای RHEL متفاوت خواهد بود.
نام فایل پیش فرض ModSecurity را تغییر دهید و آن را منتقل کنید:
mv /etc/modsecurity/modsecurity.conf–recommended modsecurity.conf |
اگر لازم بود 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
# 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 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
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 *: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 |
کد پاسخی که دریافت می کنید باید ۴۰۳ باشد. باید پیامی در لاگ شما وجود داشته باشد که نشان دهد قوانین تعریف شده فایروال به درستی کار می کند. برای بررسی این مورد می توانید از دستور زیر استفاده کنید:
sudo tail –f /var/log/apache2/error.log |
چگونه ModSecurity را بر روی آپاچی تنظیم و پیکربندی کنیم؟
امتیاز دهید
در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید
۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani