اصول و قواعد نوشتن رول فایروال (Firewall Rules)

0
0
0
۲۷ فروردین ۱۴۰۴
Policy
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 کلیک کنید.

CreateNewPolicy1

معادل در 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 سیاست‌ها را از بالا به پایین بررسی می‌کند. به محض اینکه ترافیکی با یک سیاست مطابقت داشته باشد، آن را اجرا کرده و به پایین‌تر نمی‌رود.
بنابراین ترتیب قرارگیری سیاست‌ها بسیار مهم است.