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 را تکمیل می کند.