امنیت و فایروال / فایروال

کانفیگ اولیه‌ی فورتی گیت (FortiGate) در FortiOS 7.6

کانفیگ فورتی گیت از اولین ورود روی 192.168.1.99 تا اینترنت؛ firmware، بستن دسترسی مدیریتی، 2FA، WAN و LAN، policy با NAT، بکاپ رمزدار و لاگ در FortiOS 7.6.

نوشته‌ی تیم پیکوگاید آخرین بازبینی فنی: ۱۳ دقیقه مطالعه
در این صفحه
  1. پیش نیازها
  2. اولین اتصال و تعویض رمز
  3. بررسی و ارتقای firmware
  4. نام دستگاه، زمان و DNS
  5. محدود کردن دسترسی مدیریتی
  6. حساب مدیر شخصی و trusted hosts
  7. پورت‌ها، timeout و قفل حساب
  8. دسترسی روی هر اینترفیس
  9. رمز دوم (2FA) برای مدیرها
  10. اینترفیس WAN و LAN
  11. مسیر پیش فرض
  12. اولین policy: LAN به اینترنت با NAT
  13. security profiles در یک نگاه
  14. بکاپ کانفیگ و revision
  15. لاگ
  16. بررسی و تست
  17. مشکلات رایج
  18. قدم بعدی

فورتی گیت نو را به پورت MGMT (یا port1 در مدل‌های رومیزی) وصل کنید، https://192.168.1.99 را باز کنید و با کاربر admin و رمز خالی وارد شوید؛ FortiOS همان لحظه رمز جدید می‌خواهد. بعد firmware را بررسی کنید، دسترسی مدیریتی را به شبکه‌ی مدیریت محدود کنید، زمان و DNS را تنظیم کنید، WAN و LAN را بسازید و با یک policy دارای NAT کاربران را به اینترنت برسانید. نتیجه فایروالی است که روی WAN سرویس مدیریتی ندارد، مدیرهایش با رمز دوم وارد می‌شوند و بکاپ رمزدار دارد.

پیش نیازها

  • لپ تاپ و کابل شبکه؛ برای CLI یک کابل کنسول RJ45 (همراه دستگاه نیست).
  • اطلاعات اتصال اینترنت: IP ثابت، نام کاربری PPPoE یا DHCP از مودم.
  • طرح آدرس دهی LAN و شبکه‌ی مدیریت؛ اگر هنوز subnetها را تقسیم نکرده‌اید، تقسیم بندی IP را ببینید.

اولین اتصال و تعویض رمز

راهنمای QuickStart مدل‌های رومیزی (مثل 70G) پورت 1 و مدل‌هایی که پورت MGMT دارند (مثل 100F) همان MGMT را برای اولین اتصال معرفی می‌کند. آدرس در هر دو https://192.168.1.99 است. اگر لپ تاپ آدرس خودکار نگرفت، به آن IP ثابت 192.168.1.1/24 بدهید. مرورگر هشدار گواهی می‌دهد، چون گواهی رابط وب self-signed است.

برای CLI، کابل کنسول را وصل کنید و ترمینال را روی 9600-8-N-1 بدون flow control بگذارید.

با admin و رمز خالی وارد شوید و رمز جدید بگذارید. از FortiOS 7.6.5 سیاست رمز به طور پیش فرض اجباری است: حداقل ۱۲ نویسه، با دست کم یک حرف بزرگ، یک حرف کوچک، یک عدد و یک نماد.

بررسی و ارتقای firmware

Fortinet توصیه می‌کند اگر firmware دستگاه همان نسخه‌ای نیست که قرار است با آن کار کنید، پیش از هر تنظیمی آن را عوض کنید. نسخه‌ی فعلی را ببینید:

get system status

خط Version مدل، نسخه و build را نشان می‌دهد. نسخه‌ی هدف را از فهرست Recommended Release در Fortinet Community انتخاب کنید؛ در ژوئن ۲۰۲۶ این فهرست برای بیشتر مدل‌ها 7.6.6، برای 30G و 80E نسخه‌ی 7.4.11 و برای 100E نسخه‌ی 7.2.11 را پیشنهاد می‌کرد. Release Notes نسخه‌ی هدف، به خصوص Known issues، را هم بخوانید.

  • Upgrade Path: بین دو نسخه‌ی دور از هم مستقیم ارتقا ندهید. ابزار docs.fortinet.com/upgrade-tool/fortigate با گرفتن مدل، نسخه‌ی فعلی و نسخه‌ی هدف، نسخه‌های میانی را نشان می‌دهد. رد شدن از نسخه‌ی میانی ممکن است بخشی از کانفیگ را از بین ببرد.
  • مسیر GUI: System → Firmware & Registration (از 7.4 به جای Fabric Management).
  • فایل firmware را فقط از support.fortinet.com بگیرید؛ checksum هر فایل در همان پورتال آمده است.

از 7.6.1 auto-patch به طور پیش فرض روشن است و فقط patch همان شاخه را نصب می‌کند (مثلاً 7.6.6 به 7.6.7). پیش فرض آن ۳ روز تأخیر و بازه‌ی ساعت ۲ تا ۴ است. اگر ارتقا باید در پنجره‌ی نگهداری انجام شود، روز و ساعت را خودتان تعیین کنید:

config system fortiguard
    set auto-firmware-upgrade enable
    set auto-firmware-upgrade-delay 0
    set auto-firmware-upgrade-day friday
    set auto-firmware-upgrade-start-hour 2
    set auto-firmware-upgrade-end-hour 4
end

از 7.6.4 اگر لایسنس Firmware & General Updates معتبر نباشد یا شاخه به پایان پشتیبانی مهندسی (EOES) رسیده باشد، این ارتقای patch اجباری است و فقط ۷ روز عقب می‌افتد.

نام دستگاه، زمان و DNS

این تنظیم‌ها در GUI در System → Settings هستند (در 8.0 این صفحه تب بندی شده است). hostname در prompt خط فرمان، SNMP و HA استفاده می‌شود؛ نام معنادار بگذارید:

config system global
    set hostname "FGT-HQ-01"
    set timezone "Asia/Tehran"
end

از 7.4.2 منطقه‌ی زمانی با نام IANA (مثل Asia/Tehran) تنظیم می‌شود، نه با عدد؛ فهرست کامل با set timezone ? می‌آید. لاگ، گواهی‌ها و FortiToken به زمان درست وابسته‌اند. NTP پیش فرض FortiGuard است؛ برای سرور داخلی:

config system ntp
    set ntpsync enable
    set type custom
    config ntpserver
        edit 1
            set server "ntp1.corp.example.com"
        next
        edit 2
            set server "ntp2.corp.example.com"
        next
    end
end

وضعیت همگام سازی را با diagnose sys ntp status ببینید.

DNS پیش فرض FortiGate سرورهای FortiGuard (96.45.45.45 و 96.45.46.46) با DNS over TLS است. اگر DNS داخلی یا DNS ارائه دهنده‌ی اینترنت را می‌گذارید و آن سرور DoT ندارد، پروتکل را هم cleartext کنید (GUI: Network → DNS):

config system dns
    set primary 192.168.10.53
    set secondary 192.168.10.54
    set protocol cleartext
end

محدود کردن دسترسی مدیریتی

توصیه‌ی Fortinet این است که مدیریت فقط از یک اینترفیس یا VLAN مدیریتی انجام شود و روی WAN یا هر اینترفیس عمومی بسته باشد، چون آن اینترفیس دائم زیر حمله است.

حساب مدیر شخصی و trusted hosts

برای هر مدیر حساب جدا بسازید؛ حساب مشترک قابل ممیزی نیست. با یک حساب super_admin تازه وارد شوید و بعد حساب admin را حذف کنید تا نام کاربری شناخته شده‌ای نماند:

config system admin
    edit "netadmin-r"
        set accprofile "super_admin"
        set password <strong-password>
        set trusthost1 192.168.99.0 255.255.255.0
        set trusthost2 10.10.50.0 255.255.255.0
    next
end

trusted hosts (در GUI: System → Administrators → Restrict login to trusted hosts) ورود با این حساب را فقط از همین آدرس‌ها ممکن می‌کند. پیش فرض 0.0.0.0 0.0.0.0 یعنی هر آدرسی، و هر حساب محلی حداکثر ۱۰ آدرس یا subnet می‌پذیرد.

پورت‌ها، timeout و قفل حساب

config system global
    set admintimeout 5
    set admin-sport 8443
    set admin-ssh-port 2222
    set admin-telnet disable
    set admin-lockout-threshold 3
    set admin-lockout-duration 300
end
  • admintimeout: پیش فرض ۵ دقیقه است (بازه‌ی ۱ تا ۴۸۰). Fortinet کمتر از ۱۰ دقیقه را توصیه می‌کند.
  • admin-sport و admin-ssh-port: پیش فرض 443 و 22 است و Fortinet پورت غیر استاندارد را توصیه می‌کند. از 7.6.1 در نصب‌های جدید IKE روی TCP هم پورت 443 را می‌گیرد و روی اینترفیس دارای تونل IPsec با GUI تداخل دارد.
  • admin-telnet: Telnet به طور سراسری روشن است (تا روی اینترفیس فعال نشود کار نمی‌کند)؛ کامل خاموشش کنید.
  • قفل حساب: پیش فرض بعد از ۳ تلاش ناموفق، ۶۰ ثانیه قفل است.

دسترسی روی هر اینترفیس

روی هر اینترفیس فقط سرویس لازم را باز بگذارید؛ روی WAN نه HTTPS، نه SSH، نه HTTP و نه Telnet:

config system interface
    edit "wan1"
        set allowaccess ping
    next
    edit "mgmt"
        set allowaccess ping https ssh
    next
end

set allowaccess کل فهرست را جایگزین می‌کند؛ برای افزودن یک مورد از append allowaccess استفاده کنید. اگر مدیریت از بیرون لازم است، از VPN استفاده کنید یا با local-in policy (از 7.6.0 در GUI هم هست) فقط IPهای مشخص را راه بدهید. برای اسکریپت‌ها کلید SSH (set ssh-public-key1 روی حساب مدیر) بهتر از رمز است؛ اصول کلی در سخت سازی SSH آمده است.

رمز دوم (2FA) برای مدیرها

Fortinet برای ورود مدیرها MFA را توصیه می‌کند. روش رایج FortiToken Mobile است و طبق Fortinet Community هر FortiGate یا کلاستر دو توکن رایگان FortiToken Mobile دارد.

  1. NTP را همگام کنید؛ کد یک بار مصرف به زمان درست وابسته است.
  2. یک حساب super_admin پشتیبان با trusted host محدود نگه دارید تا با مشکل توکن قفل نشوید.
  3. در System → Administrators حساب را ویرایش کنید، ایمیل را وارد و Two-factor Authentication را روشن کنید و توکن را انتخاب کنید. FortiGate برای فرستادن کد فعال سازی به اینترنت نیاز دارد و کد باید ظرف ۳ روز در اپ FortiToken Mobile فعال شود.
config system admin
    edit "netadmin-r"
        set email-to "netadmin@corp.example.com"
        set two-factor fortitoken
        set fortitoken <FortiToken-serial>
    next
end

اگر FortiToken در دسترس نیست، two-factor گزینه‌ی email هم دارد؛ برای آن سرور ایمیل را در config system email-server تنظیم کنید.

اینترفیس WAN و LAN

در Network → Interfaces برای هر اینترفیس Role (WAN، LAN، DMZ یا Undefined)، حالت آدرس دهی و دسترسی مدیریتی را تعیین کنید. نام اینترفیس‌ها در مدل‌ها فرق دارد (wan1، wan، internal، lan، port1)؛ نام دقیق را با get system interface ببینید.

حالت WAN کاربرد CLI
Manual IP ثابت از ارائه دهنده set mode static و set ip
DHCP مودم یا روتر بالادست آدرس می‌دهد set mode dhcp
PPPoE اتصال با نام کاربری و رمز set mode pppoe، set username، set password

WAN با IP ثابت:

config system interface
    edit "wan1"
        set alias "ISP1"
        set role wan
        set mode static
        set ip 203.0.113.2 255.255.255.248
        set allowaccess ping
    next
end

در حالت DHCP و PPPoE مسیر پیش فرض خودکار از سرور گرفته می‌شود (defaultgw پیش فرض روشن است و distance این مسیر 5 است).

LAN با DHCP server:

config system interface
    edit "lan"
        set role lan
        set ip 192.168.10.1 255.255.255.0
        set allowaccess ping
    next
end
config system dhcp server
    edit 1
        set interface "lan"
        set default-gateway 192.168.10.1
        set netmask 255.255.255.0
        set dns-service default
        config ip-range
            edit 1
                set start-ip 192.168.10.100
                set end-ip 192.168.10.199
            next
        end
    next
end

dns-service default همان DNSهای خود FortiGate را به کلاینت‌ها می‌دهد و local آدرس اینترفیس را. در مدل‌های رومیزی معمولاً از کارخانه DHCP server روی اینترفیس داخلی هست؛ پیش از edit 1 با show system dhcp server شماره‌ی موجود را ببینید. DHCP server روی اینترفیسی با Role برابر DMZ کار نمی‌کند. برای چند VLAN، روی پورت trunk برای هر VLAN یک اینترفیس VLAN بسازید (راهنمای VLAN).

مسیر پیش فرض

برای WAN با IP ثابت، مسیر پیش فرض را بسازید (GUI: Network → Static Routes):

config router static
    edit 0
        set gateway 203.0.113.1
        set device "wan1"
    next
end

edit 0 شماره‌ی آزاد بعدی را برمی‌دارد و وقتی dst را نمی‌دهید، مقصد 0.0.0.0/0 است. distance پیش فرض مسیر static برابر 10 است. جدول مسیریابی را با get router info routing-table all ببینید.

اولین policy: LAN به اینترنت با NAT

FortiGate هیچ ترافیکی را بدون policy عبور نمی‌دهد؛ ترافیکی که با هیچ policy جور نشود به implicit deny می‌خورد. Fortinet توصیه می‌کند از all فقط برای مقصد اینترنت استفاده کنید و مبدأ مشخص باشد:

config firewall address
    edit "LAN-192.168.10.0"
        set subnet 192.168.10.0 255.255.255.0
    next
end
config firewall policy
    edit 0
        set name "LAN-to-Internet"
        set srcintf "lan"
        set dstintf "wan1"
        set srcaddr "LAN-192.168.10.0"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable
        set logtraffic all
    next
end

nat enable بدون IP pool آدرس مبدأ را با IP اینترفیس خروجی عوض می‌کند؛ همان کاری که masquerade در فایروال میکروتیک می‌کند، با این تفاوت که در FortiGate اجازه‌ی عبور و NAT در یک policy هستند. logtraffic پیش فرض utm است و فقط ترافیک دارای security profile را لاگ می‌کند؛ در شروع کار all نشان می‌دهد چه عبور می‌کند. GUI: Policy & Objects → Firewall Policy → Create New. ترتیب policyها، IP pool و port forwarding در Policy و NAT در فورتی گیت آمده است.

security profiles در یک نگاه

profile روی policy اعمال می‌شود، نه روی اینترفیس. Fortinet توصیه می‌کند فقط profileهای لازم برای همان ترافیک را روشن کنید.

profile خروجی (کاربر به اینترنت) ورودی (اینترنت به سرور با VIP)
Antivirus جلوگیری از دانلود بدافزار جلوگیری از آپلود فایل آلوده
Web Filter و DNS Filter کنترل وب گردی با دسته و دامنه معمولاً لازم نیست
Application Control کنترل برنامه‌ها روی هر پورت فقط پروتکل درست روی هر پورت
IPS بستن ارتباط با botnetها محافظت در برابر exploitهای شناخته شده
  • inspection mode: پیش فرض policy حالت flow است؛ proxy دقیق‌تر ولی سنگین‌تر است. در مدل‌های ۲ گیگابایتی (40F، 60F، 50G و انواعشان) بیشتر قابلیت‌های proxy حذف شده است.
  • SSL inspection: certificate-inspection فقط گواهی و نام سایت را می‌بیند. deep-inspection ترافیک را باز و دوباره با گواهی FortiGate امضا می‌کند؛ اگر CA آن روی کلاینت‌ها نصب نباشد، کاربر برای هر سایت هشدار گواهی می‌گیرد.
  • امضاها از FortiGuard و با لایسنس معتبر به روز می‌شوند؛ وضعیت در System → FortiGuard است.

بکاپ کانفیگ و revision

فایل کانفیگ ساختار شبکه، کاربران و کلیدها را دارد و Fortinet توصیه می‌کند بکاپ همیشه با Encryption گرفته شود. در GUI از منوی نام کاربری (بالا سمت راست) Configuration → Backup را بزنید، Encryption را روشن کنید و رمز بدهید. Password masking برای فایلی است که به دیگران می‌دهید. در CLI، آخرین آرگومان رمز رمزنگاری فایل است:

execute backup config sftp FGT-HQ-01.conf 192.168.99.20 backupuser <sftp-password> <encryption-password>
  • Revision: Configuration → Revisions نسخه‌های ذخیره شده روی خود دستگاه را نگه می‌دارد و برای برگشت سریع بعد از تغییر اشتباه مفید است. در 8.0 revision فقط روی مدل‌های دارای دیسک هست و ساخت revision هنگام logout (revision-backup-on-logout) پیش فرض روشن است.
  • private-data-encryption: اگر روشن باشد، بکاپ فقط روی دستگاهی با همان کلید بازگردانی می‌شود. از 7.6.1 کلید تصادفی است و با خاموش و روشن کردن دوباره‌ی گزینه، بکاپ‌های قبلی دیگر بازگردانی نمی‌شوند.

بکاپ را فقط روی خود دستگاه یا لپ تاپ مدیر نگه ندارید؛ قاعده‌ی بکاپ ۳-۲-۱ را اجرا کنید.

لاگ

مقصدهای لاگ در Log & Report → Log Settings تنظیم می‌شوند:

  • دیسک محلی: فقط در مدل‌های دارای دیسک.
  • FortiAnalyzer: لاگ را نگه می‌دارد و تحلیل می‌کند؛ ارتباطش به طور پیش فرض رمزنگاری شده است.
  • syslog: فقط ذخیره می‌کند؛ پیش فرض UDP روی پورت 514. برای مقصد شخص ثالث کانال امن (TLS یا VPN) بگذارید.
config log fortianalyzer setting
    set status enable
    set server 192.168.99.30
end
config log syslogd setting
    set status enable
    set server 192.168.99.31
    set mode reliable
end

diagnose log test لاگ آزمایشی تولید می‌کند تا رسیدن آن را در مقصد ببینید.

بررسی و تست

execute ping 203.0.113.1
execute ping example.com
get router info routing-table all
diagnose sys ntp status
execute dhcp lease-list

از یک کلاینت LAN اینترنت را باز کنید و در Log & Report → Forward Traffic ببینید ترافیک از policy LAN-to-Internet عبور کرده است.

مشکلات رایج

  • 192.168.1.99 باز نمی‌شود: کابل به پورت اشتباه وصل است (در مدل‌های دارای MGMT همان MGMT)، یا لپ تاپ در همان subnet نیست.
  • قفل شدن پشت trusted host: از کنسول وارد شوید و در config system admin آدرس خود را اضافه کنید.
  • کلاینت‌ها اینترنت ندارند: به ترتیب مسیر پیش فرض، policy از LAN به WAN، nat enable و DNS را بررسی کنید. اگر ping به IP کار می‌کند ولی نام حل نمی‌شود، سرور DNS شما احتمالاً DoT ندارد و protocol باید cleartext باشد.
  • DHCP server ذخیره نمی‌شود: Role اینترفیس DMZ است؛ آن را LAN یا Undefined کنید.

قدم بعدی

بعد از کانفیگ پایه، policyهای بین LAN، DMZ و سرورها را با آبجکت‌های دقیق بنویسید و سرویس‌های داخلی را با VIP منتشر کنید (Policy و NAT در فورتی گیت). اگر از میکروتیک می‌آیید، کانفیگ اولیه‌ی روتر میکروتیک را برای مقایسه ببینید.

منابع

  1. FortiOS 7.6.0 Best Practices fortinetweb.s3.amazonaws.com
  2. FortiOS 7.6.7 CLI Reference fortinetweb.s3.amazonaws.com
  3. FortiOS 7.6.7 Release Notes fortinetweb.s3.amazonaws.com
  4. FortiOS 8.0.0 Release Notes fortinetweb.s3.amazonaws.com
  5. FortiGate 70G Series QuickStart Guide fortinetweb.s3.amazonaws.com
  6. FortiGate 100F Series QuickStart Guide fortinetweb.s3.amazonaws.com
  7. FAQ: Registration before device configuration fortinetweb.s3.amazonaws.com
  8. FortiOS 7.6 Troubleshooting Cheat Sheet fortinetweb.s3.amazonaws.com
  9. Fortinet Community — Technical Tip: Recommended Release for FortiOS community.fortinet.com
  10. Fortinet Community — Technical Tip: FortiGate/FortiOS Upgrade Path community.fortinet.com
  11. Fortinet Community — Technical Tip: System administrator best practices for FortiGate and FortiProxy community.fortinet.com
  12. Fortinet Community — Technical Tip: Add Two-Factor Authentication for FortiGate Administrators using FortiToken community.fortinet.com
  13. Fortinet Community — Technical Tip: System DNS server setup - 504 DNS lookup error community.fortinet.com