اصول و قواعد نوشتن رول فایروال (Firewall Rules)
0
0
0
۲۷ فروردین ۱۴۰۴

1. قانون اول: کمترین سطح دسترسی (Least Privilege)
هر رول باید فقط دسترسی مورد نیاز را بدهد؛ نه بیشتر.
مثلاً اجازه دسترسی فقط به پورت ۸۰ و ۴۴۳ به مقصد مشخص، نه "all to all".
2. قانون دوم: اجازهدهی صریح (Explicit Allow)
فایروالها معمولاً بهصورت پیشفرض ترافیک را مسدود میکنند.
بنابراین باید هر دسترسی مجاز، بهطور صریح در رول نوشته شود.
3. ترتیب اجرا (Rule Order Matters)
فایروالها از بالا به پایین رولها را بررسی میکنند.
به محض یافتن یک رول منطبق، دیگر رولها نادیده گرفته میشوند.
رولهای خاصتر را بالاتر از رولهای کلیتر بنویسید.
4. تعیین دقیق Source و Destination
از استفاده از any تا حد ممکن خودداری کنید.
مثلاً اگر فقط کارمندان واحد مالی به سرور خاصی باید دسترسی داشته باشند، Source را به IPهای همان بخش محدود کنید.
5. استفاده از Address Object و Service Object
به جای وارد کردن دستی IP یا پورت، از اشیاء قابل مدیریت استفاده کنید تا در آینده راحتتر تنظیمات را تغییر دهید و خوانایی بالاتر رود.
6. استفاده از Logging
در رولهای حساس، گزینه Log Allowed Traffic را فعال کنید تا در صورت نیاز بتوانید ترافیک را بررسی کنید.
7. توجه به NAT (در صورت نیاز)
در رولهایی که ترافیک به خارج از شبکه میرود (مثلاً از LAN به WAN)، NAT باید فعال باشد.
در رولهای داخلی (مثلاً از یک VLAN به VLAN دیگر)، معمولاً NAT غیرفعال است.
8. استفاده از Security Profiles (در FortiGate)
در رولهای خروجی به اینترنت، میتوانید از:
Web Filter
Application Control
IPS
Antivirus
استفاده کنید تا امنیت ترافیک بیشتر شود.
9. بررسی و تست پس از اعمال رول
بعد از ایجاد هر رول جدید، دسترسی آن را تست کنید.
همچنین با ابزارهایی مثل diag debug flow در FortiGate میتوان مسیر عبور ترافیک را بررسی کرد.
10. مستندسازی رولها
برای هر رول، یک توضیح (Description) مشخص وارد کنید که هدف رول چیست.
در سازمانهای بزرگ، مستندسازی باعث مدیریت بهتر و کاهش اشتباه میشود.
اجزای اصلی یک Firewall Policy در FortiGate
توضیح | بخش |
نام اختیاری برای شناسایی سیاست | Name |
اینترفیسی که ترافیک از آن وارد میشود مثلاً LAN | Incoming Interface |
اینترفیسی که ترافیک به آن میرود (مثلاً WAN) | Outgoing Interface |
آدرس IP یا آدرسهای مبدا (میتواند گروه یا شیء باشد) | Source |
آدرس مقصد یا گروه مقصد | Source |
تعیین زمان فعال بودن (همیشگی یا زمانبندیشده) | Schedule |
نوع سرویس یا پورت (مثلاً HTTP، HTTPS، SSH) | Service |
نوع عمل: Accept (اجازه)، Deny (رد) یا IPSEC (VPN) | Action |
فعال/غیرفعال بودن Network Address Translation | NAT |
قابلیتهایی مثل آنتیویروس، وب فیلترین | Security Profiles |
ایجاد یک Firewall Policy از طریق GUI
به مسیر زیر بروید:
Policy & Objects > Firewall Policy
روی Create New کلیک کنید.
موارد زیر را تنظیم کنید:
Name: مثلا Internet_Access
Incoming Interface: lan
Outgoing Interface: wan
Source: all یا گروه کاربران داخلی
Destination: all یا فقط اینترنت
Service: ALL یا خدمات خاص مثل HTTP/HTTPS
Action: ACCEPT
NAT: تیک آن را بزنید (در صورت دسترسی به اینترنت)
در صورت نیاز، پروفایلهای امنیتی مانند Web Filter یا Antivirus را نیز فعال کنید.
روی OK کلیک کنید.
معادل در CLI:
config firewall policy
edit 0
set name "Internet_Access"
set srcintf "lan"
set dstintf "wan"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
next
end
ترتیب اجرای سیاستها:
FortiGate سیاستها را از بالا به پایین بررسی میکند. به محض اینکه ترافیکی با یک سیاست مطابقت داشته باشد، آن را اجرا کرده و به پایینتر نمیرود.
بنابراین ترتیب قرارگیری سیاستها بسیار مهم است.