برنامه نویسی

ModSecurity + SafeLine WAF برای دفاع چند لایه (2)

Summarize this content to 400 words in Persian Lang مقاله کمی طولانی است، بنابراین من آن را در دو قسمت ارسال کردم، نیمه دیگر اینجاست:ModSecurity + SafeLine WAF برای دفاع چند لایه (1)

بخش 4: سخت شدن سیستم

1.پورت‌ها را در iptables مجاز کنید

من از iptables به‌عنوان فایروال استفاده کردم و باید پورت‌های 8080 و 9443 را مجاز کنم. مراحل در اینجا آمده است:

بررسی وضعیت iptables: iptables -L -n

یک قانون برای باز کردن یک پورت اضافه کنید (مثلاً برای پورت 80): iptables -I INPUT -p tcp –dport 80 -j ACCEPT

تنظیمات را ذخیره کنید: service iptables save یا iptables-save > /etc/iptables.rules

راه اندازی مجدد iptables: service iptables restart

بررسی وضعیت: service iptables status

2.IP ها را با iptables مسدود کنید

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

iptables -A INPUT -s IP_address -j DROP
service iptables save
systemctl restart iptables
iptables -nvxL –line

به عنوان مثال، پس از اعمال این قوانین، ترافیک از IP 45.148.10.174 مسدود شده است.

قسمت 5: اجرای دفاع در عمق

در اینجا، من ModSecurity را با SafeLine WAF ترکیب می‌کنم و از iptables برای کنترل دسترسی به پورت خارجی استفاده می‌کنم و امنیت قوی‌تری را به دست می‌آورم. من از WAF های دوگانه استفاده می کنم زیرا نرخ های تشخیص SafeLine از ابزار تست خودکار WAF نشان می دهد که ModSecurity نرخ تشخیص بالایی دارد اما موارد مثبت کاذب بسیار زیادی دارد. ModSecurity فاقد رابط گرافیکی است که آن را برای تعمیر و نگهداری و ممیزی ترافیک چالش برانگیز می کند. SafeLine با نرخ مثبت کاذب پایین و رابط کاربری گرافیکی خود، دید آسان تری را در حملات فراهم می کند.

1.آدرس سرور بالادستی SafeLine را پیکربندی کنید

سرور بالادست را روی 127.0.0.1 (localhost)، و تمام ترافیک به جز از را مسدود کنید 127.0.0.1.

2.قوانین گروه امنیتی Cloud را تنظیم کنید

فایروال ابری را طوری پیکربندی کنید که فقط ترافیک از آن مجاز باشد 127.0.0.1 در پورت 8080

3.قوانین iptables را اعمال کنید

همانطور که قبلاً پورت 8080 را برای همه IP ها باز کرده بودم، قوانین زیر را برای محدود کردن دسترسی اعمال کردم:

iptables -A INPUT -i lo -p tcp –dport 8080 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i lo -p tcp –dport 8080 -j DROP
iptables -D INPUT 2

توضیح دستورات:

-A INPUT: یک قانون به زنجیره INPUT (برای ترافیک ورودی) اضافه می کند.

-i lo: با رابط Loopback محلی (lo) مطابقت دارد.

-p tcp: پروتکل را به عنوان TCP مشخص می کند.

–dport 8080: پورت 8080 را به عنوان مقصد مشخص می کند.

-s 127.0.0.1: فقط به ترافیک از 127.0.0.1 اجازه می دهد.

-j ACCEPT: اتصال را می پذیرد.

قانون دوم ترافیکی را که با 127.0.0.1 مطابقت ندارد حذف می کند. فرمان سوم قانون قبلی پورت 8080 را حذف می کند.

بخش 6: مسائل و راه حل ها

1.nginx: [alert] kill(30127, 1) ناموفق (3: چنین فرآیندی وجود ندارد)

راه حل:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

مسیر /usr/local/nginx/sbin/nginx به فایل اجرایی Nginx اشاره می کند و -c /usr/local/nginx/conf/nginx.conf فایل پیکربندی را مشخص می کند.

2.nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” ناموفق بود (2: چنین فایل یا دایرکتوری وجود ندارد)

برای تولید، دستور قبلی را دوباره اجرا کنید nginx.pid. اگر هنگام اجرا دوباره با این خطا مواجه شدید nginx -s reload، بررسی کنید که آیا PID موجود در فایل با شناسه فرآیند پورت مطابقت دارد یا خیر:

netstat -ntlp

به روز رسانی PID در nginx.pid فایل و Nginx را مجددا راه اندازی کنید.

3.مشکلات رایج SafeLine

برای عیب یابی می توانید به اسناد رسمی مراجعه کنید که در آدرس زیر موجود است:سوالات متداول

نتیجه گیری

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

مقاله کمی طولانی است، بنابراین من آن را در دو قسمت ارسال کردم، نیمه دیگر اینجاست:ModSecurity + SafeLine WAF برای دفاع چند لایه (1)

بخش 4: سخت شدن سیستم

1.پورت‌ها را در iptables مجاز کنید

من از iptables به‌عنوان فایروال استفاده کردم و باید پورت‌های 8080 و 9443 را مجاز کنم. مراحل در اینجا آمده است:

  • بررسی وضعیت iptables: iptables -L -n
  • یک قانون برای باز کردن یک پورت اضافه کنید (مثلاً برای پورت 80): iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  • تنظیمات را ذخیره کنید: service iptables save یا iptables-save > /etc/iptables.rules
  • راه اندازی مجدد iptables: service iptables restart
  • بررسی وضعیت: service iptables status

2.IP ها را با iptables مسدود کنید

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

iptables -A INPUT -s IP_address -j DROP
service iptables save
systemctl restart iptables
iptables -nvxL --line

توضیحات تصویر

به عنوان مثال، پس از اعمال این قوانین، ترافیک از IP 45.148.10.174 مسدود شده است.

قسمت 5: اجرای دفاع در عمق

در اینجا، من ModSecurity را با SafeLine WAF ترکیب می‌کنم و از iptables برای کنترل دسترسی به پورت خارجی استفاده می‌کنم و امنیت قوی‌تری را به دست می‌آورم. من از WAF های دوگانه استفاده می کنم زیرا نرخ های تشخیص SafeLine از ابزار تست خودکار WAF نشان می دهد که ModSecurity نرخ تشخیص بالایی دارد اما موارد مثبت کاذب بسیار زیادی دارد. ModSecurity فاقد رابط گرافیکی است که آن را برای تعمیر و نگهداری و ممیزی ترافیک چالش برانگیز می کند. SafeLine با نرخ مثبت کاذب پایین و رابط کاربری گرافیکی خود، دید آسان تری را در حملات فراهم می کند.

1.آدرس سرور بالادستی SafeLine را پیکربندی کنید

توضیحات تصویر

سرور بالادست را روی 127.0.0.1 (localhost)، و تمام ترافیک به جز از را مسدود کنید 127.0.0.1.

2.قوانین گروه امنیتی Cloud را تنظیم کنید

توضیحات تصویر

فایروال ابری را طوری پیکربندی کنید که فقط ترافیک از آن مجاز باشد 127.0.0.1 در پورت 8080

3.قوانین iptables را اعمال کنید

توضیحات تصویر

همانطور که قبلاً پورت 8080 را برای همه IP ها باز کرده بودم، قوانین زیر را برای محدود کردن دسترسی اعمال کردم:

iptables -A INPUT -i lo -p tcp --dport 8080 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i lo -p tcp --dport 8080 -j DROP
iptables -D INPUT 2

توضیح دستورات:

  • -A INPUT: یک قانون به زنجیره INPUT (برای ترافیک ورودی) اضافه می کند.
  • -i lo: با رابط Loopback محلی (lo) مطابقت دارد.
  • -p tcp: پروتکل را به عنوان TCP مشخص می کند.
  • --dport 8080: پورت 8080 را به عنوان مقصد مشخص می کند.
  • -s 127.0.0.1: فقط به ترافیک از 127.0.0.1 اجازه می دهد.
  • -j ACCEPT: اتصال را می پذیرد.

قانون دوم ترافیکی را که با 127.0.0.1 مطابقت ندارد حذف می کند. فرمان سوم قانون قبلی پورت 8080 را حذف می کند.

بخش 6: مسائل و راه حل ها

1.nginx: [alert] kill(30127, 1) ناموفق (3: چنین فرآیندی وجود ندارد)

توضیحات تصویر

راه حل:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

مسیر /usr/local/nginx/sbin/nginx به فایل اجرایی Nginx اشاره می کند و -c /usr/local/nginx/conf/nginx.conf فایل پیکربندی را مشخص می کند.

2.nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” ناموفق بود (2: چنین فایل یا دایرکتوری وجود ندارد)

توضیحات تصویر

برای تولید، دستور قبلی را دوباره اجرا کنید nginx.pid. اگر هنگام اجرا دوباره با این خطا مواجه شدید nginx -s reload، بررسی کنید که آیا PID موجود در فایل با شناسه فرآیند پورت مطابقت دارد یا خیر:

netstat -ntlp

به روز رسانی PID در nginx.pid فایل و Nginx را مجددا راه اندازی کنید.

3.مشکلات رایج SafeLine

توضیحات تصویر

برای عیب یابی می توانید به اسناد رسمی مراجعه کنید که در آدرس زیر موجود است:سوالات متداول

نتیجه گیری

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

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

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

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

دکمه بازگشت به بالا