آذرسیس

How to install and configure ModSecurity for Apache on Ubuntu
5/5 - (1 امتیاز)

در این مقاله، نحوه نصب ModSecurity برای آپاچی در سیستم عامل اوبونتو و همچنین محافظت از وب سرور Apache در برابر حملات مخرب را گام به گام برای شما آموزش خواهیم داد. ModSecurity یا (Modsec) یک برنامه فایروال متن باز (WAF) است که در ابتدا به عنوان ماژولی برای سرور HTTP Apache طراحی شده، اما با رشد و بهبود در طی چند سال به یک برنامه فایروال کاملا پیشرفته تبدیل شده است. امروزه Modsec توسط پلتفرم های مختلف مثل NeginX ،Apache HTTP Server و حتی Microsoft IIS پشتیبانی می شود. Modsec درخواست های دریافتی وب سرور را براساس مجموعه قوانینی که از پیش تعریف شده است، بررسی می کند.

این افزونه امنیتی مجموعه قوانینی شناخته شده به نام CRS را برای محافظت از یک وب سایت در برابر مجموعه ای از حملات احتمالی برنامه های وب مانند XSS و SQL ارائه می دهد و آنها را برای جلوگیری از ربوده شدن session، به کار می گیرد. برنامه فایروال ModSecurity بخش جدایی ناپذیر PCI DSS سایت ها در برابر حملات خارجی است. زمانی که ماژول فعال می شود، سرور خطای Forbidden 403 را نشان می دهد که این خطا به معنای نداشتن مجوز برای دسترسی به منبع در سرور وب است.

آموزش نصب ModSecurity برای وب سرور آپاچی در اوبونتو

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

پیش نیازهای نصب ModSecurity

  • ایجاد کردن حساب کاربری AWS
  • وجود یک حساب کاربری استاندارد با دستور امتیاز Sudo
  • نصب اوبونتو 18.04

مرحله اول نصب وب سرور آپاچی

در ابتدا SSH از راه دور خود را به سرور اوبونتو با استفاده از کنسول ترمینال مورد علاقه تان، راه اندازی کنید. در ادامه شما نیاز دارید که یک وب سرور آپاچی را برای فعال کردن ماژول Modsecurity و همچنین پیکربندی مجموع قوانین امنیتی، نصب کنید. برای نصب این وب سرور از دستور زیر استفاده کنید.

sudo add-apt-repository ppa:ondrej/apache2
sudo apt update
sudo apt-get install apache2 -y

مرحله دوم نصب Modsecurity در اوبونتو

با فرض این که شما قبلا وب سرور آپاچی را بر روی سرور خود نصب کرده اید، اکنون می توانید برای نصب Modsecurity در اوبونتو، ابتدا لیست بسته ها را با استفاده از دستور زیر بروز رسانی کنید:

 sudo apt update

در ادامه، بسته Modsecurity را در کنار سایر وابستگی ها و کتابخانه ها، با استفاده از دستور زیر نصب کنید:

 sudo apt install libapache2-mod-security2

سپس، ماژول مورد نظر را با استفاده از دستور زیر فعال کنید.

 sudo a2enmod security2

اکنون وب سرور آپاچی را با استفاده از دستور زیر ریستارت کنید تا تغییرات اعمال شود.

 sudo systemctl restart apache2

پس از انجام دادن مراحل توضیح داده شده، Modsecurity بر روی سرور اوبونتو شما نصب می شود. اکنون می خواهیم در مرحله بعدی چگونگی پیکربندی Modsecurity را بررسی کنیم.

مرحله سوم پیکربندی Modsecurity در اوبونتو

به طور پیش فرض، Modsec فقط برای شناسایی و ثبت فعالیت های مشکوک پیکربندی شده است. اما ما باید یک مرحله اضافی تر طی کنیم و آن را طوری پیکربندی کنیم که نه تنها بتواند فعالیت های مشکوک را تشخیص دهد، بلکه بتواند مانع از ایجاد آنها شود. پس از نصب Modsecurity، یک فایل تنظیمات پیش فرض وجود دارد که باید آن را فعال و پیکربندی کنید. برای فعال کردن این فایل دستور زیر را اجرا کنید:

sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf

حالا فایلی را که کپی کرده اید، با استفاده از ویرایشگر vim تصحیح کنید.

sudo vim /etc/modsecurity/modsecurity.conf

اکنون در این مرحله، SecRuleEngine DetectionOnly را پیدا کنید و SecRuleEngine On را جایگزین آن کنید.

 SecRuleEngine DetectionOnly
SecRuleEngine On

 پس از ذخیره کردن تغییرات ایجاد شده، فایل را ببندید.

در مرحله آخر، برای مشاهده تغییرات انجام شده، سرویس آپاچی را با دستور زیر مجددا راه اندازی کنید.

sudo service apache2 restart

 

مرحله چهارم قوانین پیش فرض برای راه اندازی Modsecurity

Modsecurity دارای قوانین پیش فرض است که در پوشه /usr/share/modsecurity-crs/ قرار دارد. برای ایجاد یک پوشه جدید در دایرکتوری آپاچی دستور زیر را اجرا کنید:

sudo mkdir /etc/apache2/modsecurity.d

اکنون، مجموعه قوانین هسته Modsecurity را از Github دانلود کنید:

sudo git clone https://github.com/coreruleset/coreruleset.git /etc/apache2/modsecurity.d/owasp-modsecurity-crs

پس از اتمام فرآیند دانلود، پوشه Modsecurity را در پوشه آپاچی با استفاده از دستور زیر باز کنید.

cd /etc/apache2/modsecurity.d/owasp-modsecurity-crs

در مرحله بعد، فایل پیکربندی نمونه را از مجموعه قوانین دانلود شده کپی کنید و دستور زیر را تایپ کنید:

sudo cp crs-setup.conf.example crs-setup.conf

سپس، فایل پیکربندی آپاچی را با استفاده از موارد زیر ویرایش کنید:

sudo vim /etc/apache2/apache2.conf

سپس، خط های دستوری زیر را اضافه کنید:

<IfModule security2_module>
Include modsecurity.d/owasp-modsecurity-crs/crs-setup.conf
Include modsecurity.d/owasp-modsecurity-crs/rules/*.conf
</IfModule>

حال تغییرات را ذخیره کنید و فایل را ببندید.

در مرحله بعد، فایل را در /etc/apache2/mods-available/security2.conf/ باز کنید و روی خط نظر دهید:

 IncludeOptional /usr/share/modsecurity-crs/owasp-crs.load

تغییرات را ذخیره کرده سپس فایل را ببندید.

در این مرحله، تنظیمات آپاچی خود را با استفاده از دستور زیر تایید کنید:

sudo apache2ctl configtest

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

sudo service apache2 restart 

حتماً وب سایت خود را بررسی کنید تا ببینید آیا هنوز به درستی کار می کند یا خیر.

مرحله پنچم تست کردن Modsecurity 

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

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

حال می توانید یک قانون مسدود سازی ایجاد می کنید که دسترسی به یک URL خاص را توسط یک مرورگر وب مسدود می کند. دستور زیر را برای انجام این کار اجرا کنید.

SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:254,deny,status:403,msg:'Test Successful'"

سپس وب سرور آپاچی را مجددا راه اندازی کنید تا تغییرات ایجاد شده در فایل پیکربندی میزبان اعمال شود.

 sudo systemctl restart apache2

در مرورگر وب خود، باید URL نشان داده شده با testparam=test? را در انتها مشاهده کنید.

http://server-ip/?testparam=test

پس از اجرای URL در مرورگر، باید یک پیغام خطای Forbidden دریافت کنید:

https://azarsys.com/index.html?exec=/bin/bash

نحوه نصب و پیکربندی ModSecurity برای آپاچی در اوبونتو

همچنین می‌توانید با بررسی گزارش‌های خطا به‌ صورت زیر تأیید کنید که کلاینت مسدود شده است یا خیر.

 cat /var/log/apache2/error.log | grep "Test Successful"

نحوه اجرای دستور کنسول ترمینال

curl -I https://azarsys.com/index.html?exec=/bin/bash

بعد از اجرای دستور کنسول ترمینال، پیام خطای Forbidden به صورت زیر خواهد بود:

نحوه نصب جاوا در اوبونتو با استفاده از مخزن PPA

نتیجه گیری

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

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

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