فورتی گیت

External Connectors در FortiGate

این مقاله External Connectors در FortiGate را با تمرکز بر FortiOS 7.4 توضیح می‌دهد و نشان می‌دهد چگونه می‌توان Threat Feedهای خارجی مثل IP، Domain، URL، Malware Hash و MAC Address را از طریق GUI و CLI به FortiGate اضافه کرد. همچنین تفاوت‌های مهم نسخه 7.4 با نسخه‌های قبلی، کاربرد هر نوع Feed، سناریوهای عملیاتی، نکات VDO…

18 min read
  • set
  • Feed
  • Threat
  • External
  • Policy
  • FortiGate
  • Category
  • Connector
External Connectors در FortiGate

خلاصه تخصصی مقاله

این مقاله External Connectors در FortiGate را با تمرکز بر FortiOS 7.4 توضیح می‌دهد و نشان می‌دهد چگونه می‌توان Threat Feedهای خارجی مثل IP، Domain، URL، Malware Hash و MAC Address را از طریق GUI و CLI به FortiGate اضافه کرد. همچنین تفاوت‌های مهم نسخه 7.4 با نسخه‌های قبلی، کاربرد هر نوع Feed، سناریوهای عملیاتی، نکات VDO…

موضوعات اصلی: set، Feed، Threat، External، Policy، FortiGate

External Connector در FortiGate چیست و چطور در FortiOS 7.4 تنظیم می‌شود؟

External Connector در FortiGate بخشی از Security Fabric است و برای اتصال FortiGate به منابع بیرونی استفاده می‌شود. این منابع می‌توانند لیست IPهای مخرب، دامنه‌های فیشینگ، URLهای پرریسک، Hash بدافزارها، MAC Addressها یا Feedهای استاندارد STIX/TAXII باشند. FortiGate این داده‌ها را از منبع بیرونی دریافت می‌کند و بعد می‌توان از آن‌ها در Firewall Policy، DNS Filter، Web Filter، Antivirus Profile، Local-in Policy، Proxy Policy یا ZTNA Rule استفاده کرد.

این مقاله بر اساسFortiOS 7.4نوشته شده است. در نسخه‌های قبلی مثل FortiOS 7.0 و 7.2 هم External Connector و Threat Feed وجود دارد، اما بعضی قابلیت‌ها و نوع Feedها بین نسخه‌ها متفاوت هستند. برای مثال، در FortiOS 7.2 مستندات Fortinet چهار نوع اصلی Threat Feed را معرفی می‌کند: IP Address، Domain Name، FortiGuard Category و Malware Hash. در FortiOS 7.4 قابلیتMAC Address Threat Feedهم اضافه شده و در سناریوهایی مثل Transparent Mode، Virtual Wire Pair و ZTNA کاربرد دارد.

مروری بر این مقاله


  1. External Connector در FortiGate دقیقاً چیست؟
  2. External Connector به درد چه کسانی می‌خورد؟
  3. تفاوت FortiOS 7.4 با نسخه‌های قبلی
  4. انواع مهم Threat Feed در FortiGate 7.4
  5. IP Address Threat Feed
  6. Domain Name Threat Feed
  7. FortiGuard Category Threat Feed
  8. Malware Hash Threat Feed
  9. MAC Address Threat Feed در FortiOS 7.4
  10. STIX/TAXII Threat Feed
  11. External Connector در محیط Multi-VDOM
  12. نکات مهم در فرمت فایل External Resource
  13. عیب‌یابی External Connector
  14. Best Practice برای پیاده‌سازی External Connector

1. External Connector در FortiGate دقیقاً چیست؟

External Connector به FortiGate اجازه می‌دهد داده‌ای را از بیرون دریافت کند و آن داده را در تصمیم‌گیری‌های امنیتی استفاده کند. به‌جای اینکه ادمین IPها، دامنه‌ها یا URLهای مخرب را به‌صورت دستی وارد کند، یک فایل یا Feed بیرونی به FortiGate معرفی می‌شود و FortiGate آن را به‌صورت دوره‌ای دریافت و به‌روزرسانی می‌کند.

برای مثال، تیم SOC می‌تواند هر روز یک فایل شامل IPهای مخرب تولید کند. FortiGate آن فایل را به‌عنوان IP Address Threat Feed دریافت می‌کند و سپس ادمین می‌تواند همان Feed را در Firewall Policy قرار دهد تا دسترسی کاربران یا سرورها به آن IPها مسدود شود.

Threat Intelligence Server | |-- malicious-ip.txt |-- phishing-domains.txt |-- malware-hashes.txt v FortiGate External Connector | |-- Firewall Policy |-- DNS Filter |-- Web Filter |-- Antivirus Profile |-- Local-in Policy |-- ZTNA Rule

نکته مهم این است کهExternal Connector به‌تنهایی ترافیک را Block نمی‌کند.Connector فقط داده را وارد FortiGate می‌کند. اثر امنیتی زمانی ایجاد می‌شود که آن Feed در Policy یا Security Profile مناسب استفاده شود.

2. External Connector به درد چه کسانی می‌خورد؟

External Connector برای سازمان‌هایی مناسب است که می‌خواهند FortiGate فقط به دیتابیس‌های داخلی خودش وابسته نباشد و بتواند از منابع Threat Intelligence بیرونی یا داخلی سازمان هم استفاده کند.

  • تیم‌های SOC که IOCهای روزانه تولید یا دریافت می‌کنند.
  • سازمان‌هایی که Feedهای Threat Intelligence خریداری کرده‌اند.
  • شرکت‌هایی که می‌خواهند IPهای مخرب را سریع روی FortiGate بلاک کنند.
  • سازمان‌هایی که دامنه‌های فیشینگ یا C2 را از منبع خارجی دریافت می‌کنند.
  • شبکه‌هایی که FortiAnalyzer، SIEM یا SOAR دارند و از آن‌ها IOC تولید می‌شود.
  • شرکت‌هایی که چند FortiGate دارند و می‌خواهند لیست‌های امنیتی یکپارچه داشته باشند.
  • تیم‌هایی که Hash بدافزارها را از Sandbox یا EDR دریافت می‌کنند.
  • محیط‌هایی که در Transparent Mode یا Virtual Wire Pair نیاز به کنترل MAC Address دارند.

در سازمان‌های حرفه‌ای، External Connector بخشی از زنجیره Threat Intelligence است. یعنی IOC از SOC، SIEM، EDR، Sandbox یا سرویس بیرونی دریافت می‌شود، روی یک Web Server یا TAXII Server قرار می‌گیرد، FortiGate آن را Pull می‌کند و سپس در Policyهای امنیتی اعمال می‌شود.

3. تفاوت FortiOS 7.4 با نسخه‌های قبلی

مسیر کلی کار با External Connector در FortiOS 7.4 از بخش زیر انجام می‌شود

Security Fabric > External Connectors

در FortiOS 7.0 و 7.2 هم Threat Feedها وجود دارند، اما همه قابلیت‌های نسخه 7.4 در نسخه‌های قبلی دیده نمی‌شوند. در FortiOS 7.2، Threat Feedهای اصلی شامل IP Address، Domain Name، FortiGuard Category و Malware Hash هستند. در FortiOS 7.4MAC Address Threat Feedبه‌عنوان قابلیت جدید معرفی شده است.

MAC Address Threat Feed شامل MAC Address، MAC Range و MAC OUI است. بعد از Import شدن، می‌توان از آن در Firewall Policy، Proxy Policy و ZTNA Rule استفاده کرد. در Transparent Mode یا Virtual Wire Pair Policy هم می‌تواند به‌عنوان Source یا Destination کاربرد داشته باشد.

STIX/TAXII هم در نسخه‌های قبلی مثل FortiOS 7.0 پشتیبانی می‌شود. در این حالت منبع Feed با Prefix زیر تعریف می‌شود

stix://

بنابراین اگر پروژه روی FortiOS 7.4 نوشته می‌شود، MAC Address Threat Feed را هم باید در طراحی در نظر گرفت. اگر سازمان هنوز روی FortiOS 7.0 یا 7.2 است، قبل از پیاده‌سازی باید بررسی شود که نوع Connector موردنظر در همان نسخه پشتیبانی می‌شود یا نه.

4. انواع مهم Threat Feed در FortiGate 7.4

ExternalConnectors01

در FortiOS 7.4 چند نوع Threat Feed کاربردی وجود دارد که هرکدام در جای متفاوتی استفاده می‌شود

نوع Feedکاربرد اصلیمحل استفاده رایج
IP Address Threat Feedلیست IP، Subnet یا Rangeهای مخربFirewall Policy، Local-in Policy، DNS Filter
Domain Name Threat Feedلیست دامنه‌های مشکوک یا مخربDNS Filter
FortiGuard Category Threat Feedلیست URLهای اختصاصیWeb Filter Remote Category
Malware Hash Threat Feedلیست Hash فایل‌های مخربAntivirus Profile
MAC Address Threat Feedلیست MAC، Range یا OUIFirewall Policy، Proxy Policy، ZTNA Rule
STIX/TAXII Threat Feedدریافت IOC از Threat Intelligence Platformبسته به نوع IOC در DNS/Web/Firewall

اشتباه رایج این است که همه Feedها یکسان دیده شوند. IP Feed برای Policyهای شبکه مناسب است، Domain Feed برای DNS Filter، URL Category Feed برای Web Filter، Malware Hash برای Antivirus و MAC Feed برای سناریوهای خاص لایه 2 یا ZTNA استفاده می‌شود.

5. IP Address Threat Feed

IP Address Threat Feed یک لیست Dynamic از IPv4، IPv6، Range یا Subnet است. FortiGate این لیست را از یک External Server دریافت می‌کند و بعد از Import شدن می‌توان از آن در Source یا Destination مربوط به Firewall Policy، Proxy Policy، Local-in Policy و ZTNA Rule استفاده کرد. همچنین می‌توان آن را در DNS Filter Profile به‌عنوان External IP Block List به کار برد.

نمونه فایل IP Feed

192.168.2..1.4/16 172.16.1.2/24 172.16.8.1-172.16.8.100 2001:0db8::eade:27ff:fe04:9a01/120

تنظیم IP Threat Feed از GUI

Security Fabric > External Connectors > Create New > Threat Feeds > IP Address

مقادیر نمونه

Name: SOC_Malicious_IPs
Update Method: External Feed
URL of external resource: https://ti.example.com/feeds/malicious-ip.txt

ExternalConnectors02

بعد از ساخت Connector، گزینهView Entriesرا بررسی کنید. اگر Entries خالی است، هنوز FortiGate نتوانسته Feed را دریافت کند و قبل از Policy باید مشکل دریافت Feed رفع شود.

ExternalConnectors03

تنظیم IP Threat Feed از CLI

config system external-resource edit "SOC_Malicious_IPs" set type address set resource "https://ti.example.com/feeds/malicious-ip.txt" set server-identity-check basic set refresh-rate 5 next end

استفاده از IP Feed در Firewall Policy

Policy & Objects > Firewall Policy > Create New
Destination: SOC_Malicious_IPs
Action: DENY
Log Violation Traffic: Enable

ExternalConnectors04

4

معادل CLI

config firewall policy edit 100 set name "Block-Malicious-IP-Feed" set srcintf "LAN" set dstintf "wan1" set srcaddr "all" set dstaddr "SOC_Malicious_IPs" set action deny set schedule "always" set service "ALL" set logtraffic all next end

6. Domain Name Threat Feed

Domain Name Threat Feed برای زمانی مناسب است که سازمان می‌خواهدلیست دامنه‌ها را از بیرون وارد FortiGate کند و آن‌ها را در DNS Filter استفاده کند.این دامنه‌ها بعد از Import شدن به‌عنوان Remote Category در DNS Filter Profile دیده می‌شوند و می‌توان آن‌ها را Allow، Block یا Monitor کرد.

نمونه فایل Domain Feed

mail.*.example.com *-special.example.com www.*example.com example.com

تنظیم Domain Feed از GUI

Security Fabric > External Connectors > Create New > Threat Feeds > Domain Name
Name: SOC_Phishing_Domains
URL of external resource: https://ti.example.com/feeds/phishing-domains.txt

ExternalConnectors05

تنظیم Domain Feed از CLI

config system external-resource edit "SOC_Phishing_Domains" set type domain set category 194 set resource "https://ti.example.com/feeds/phishing-domains.txt" set server-identity-check basic set refresh-rate 5 next end

برای Domain Feed، مقدارcategoryمهم است.این Feed در DNS Filter به‌عنوان Remote Category دیده می‌شود و باید در DNS Filter Profile روی Action مناسب قرار بگیرد.

اعمال Domain Feed روی DNS Filter

Security Profiles > DNS Filter > Edit DNS Profile
FortiGuard category based filter: Enable
Remote Categories > SOC_Phishing_Domains: Block

ExternalConnectors06

در CLI ساختار کلی به این شکل است

config dnsfilter profile edit "DNS-Users" config ftgd-dns config filters edit 1 set category 194 set action block next end end next end

7. FortiGuard Category Threat Feed

FortiGuard Category Threat Feed برای URL List استفاده می‌شود و در Web Filter به‌عنوان Remote Category ظاهر می‌شود. این نوع Feed برای زمانی مناسب است کهسازمان لیستی از URLهای خاص دارد و می‌خواهد آن‌ها را در Web Filter کنترل کند.

نمونه فایل URL Feed

http://example.com/url https://example.com/url http://example.com:8080/url

تنظیم از GUI

Security Fabric > External Connectors > Create New > Threat Feeds > FortiGuard Category
Name: SOC_Blocked_URLs
URL of external resource: https://ti.example.com/feeds/blocked-urls.txt

ExternalConnectors07

تنظیم از CLI

config system external-resource edit "SOC_Blocked_URLs" set type category set category 192 set resource "https://ti.example.com/feeds/blocked-urls.txt" set server-identity-check basic set refresh-rate 5 next end

اعمال روی Web Filter

Security Profiles > Web Filter > Edit Web Filter Profile
FortiGuard category based filter: Enable
Remote Categories > SOC_Blocked_URLs: Block

ExternalConnectors08

config webfilter profile edit "WF-Users" config ftgd-wf config filters edit 1 set category 192 set action block next end end next end

8. Malware Hash Threat Feed

Malware Hash Threat Feed زمانی استفاده می‌شود کهسازمان Hash فایل‌های مخرب را از SOC، Sandbox، EDR یا سرویس Threat Intelligence دریافت می‌کند و می‌خواهد FortiGate آن Hashها را در Antivirus Profile بررسی کند.

نمونه Hash Feed

275a021bbfb6489e54d471899f7db9d1 7f138a09169b250e9dcb378140907378

تنظیم از GUI

Security Fabric > External Connectors > Create New > Threat Feeds > Malware Hash
Name: SOC_Malware_Hashes
URL of external resource: https://ti.example.com/feeds/malware-hashes.txt

ExternalConnectors09

تنظیم از CLI

config system external-resource edit "SOC_Malware_Hashes" set type malware set resource "https://ti.example.com/feeds/malware-hashes.txt" set server-identity-check basic set refresh-rate 5 next end

اعمال روی Antivirus Profile

Security Profiles > AntiVirus > Edit AV Profile
Use external malware block list: Enable
Select: SOC_Malware_Hashes

ExternalConnectors10

در بعضی نسخه‌ها نام دقیق پارامترهای CLI مربوط به Antivirus Profile ممکن است متفاوت باشد. روش مطمئن این است که تنظیم را از GUI انجام دهید و سپس خروجی را با دستور زیر بررسی کنید

show antivirus profile

9. MAC Address Threat Feed در FortiOS 7.4

MAC Address Threat Feed یکی از نکات مهم FortiOS 7.4 است. این Feed شامل MAC Address، MAC Range و MAC OUI است و بعد از Import شدن می‌تواند در Firewall Policy، Proxy Policy و ZTNA Rule استفاده شود. در Transparent Mode یا Virtual Wire Pair Policy نیز می‌تواند به‌عنوان Source یا Destination کاربرد داشته باشد.

نمونه فایل MAC Feed

01:01:01:01:01:01 01:01:01:01:01:01-01:01:02:50:20:ff 8c:aa:b5

تنظیم از GUI

Security Fabric > External Connectors > Create New > Threat Feeds > MAC Address
Name: SOC_Blocked_MACs
URL of external resource: https://ti.example.com/feeds/mac-list.txt

ExternalConnectors11

تنظیم از CLI

config system external-resource edit "SOC_Blocked_MACs" set type mac-address set resource "https://ti.example.com/feeds/mac-list.txt" set server-identity-check basic set refresh-rate 5 next end

استفاده در Firewall Policy

ExternalConnectors12

config firewall policy edit 120 set name "Block-MAC-Feed" set srcintf "LAN" set dstintf "wan1" set srcaddr "SOC_Blocked_MACs" set dstaddr "all" set action deny set schedule "always" set service "ALL" set logtraffic all next end

برای بررسی MACهای دریافت‌شده

diagnose sys external-mac-resource list SOC_Blocked_MACs

10. STIX/TAXII Threat Feed

اگر سازمان از Threat Intelligence Platform یا TAXII Server استفاده می‌کند، FortiGate می‌تواند IOCها را با فرمت STIX/TAXII دریافت کند. در این مدل، منبع Feed با Prefix زیر مشخص می‌شود

stix://

نمونه CLI

config system external-resource edit "SOC_STIX_URLs" set type category set category 195 set username "taxii-user" set password "StrongPassword" set resource "stix://taxii.example.com/api/v1/collections/indicators/objects/" set server-identity-check full next end

از GUI هم مسیر کلی مشابه سایر Threat Feedهاست، با این تفاوت که در URI منبع، آدرس TAXII با Prefix مربوط به STIX وارد می‌شود و در صورت نیاز Authentication فعال می‌گردد.

11. External Connector در محیط Multi-VDOM

در محیط Multi-VDOM باید از ابتدا مشخص شود Feed در Global ساخته می‌شود یا خیر.Feedهای Global در همه VDOMها قابل استفاده هستند، اما از داخل VDOM قابل ویرایش نیستند. Feedهای داخل VDOM فقط در همان VDOM کاربرد دارند.

  • اگر Feed برای کل سازمان مشترک است، بهتر است در Global تعریف شود.
  • اگر Feed مخصوص یک Tenant، واحد یا VDOM خاص است، داخل همان VDOM ساخته شود.
  • نام Feedهای Global بهتر است با Prefix مشخص مثلgتعریف شود.
  • برای Domain و Category Feedها، شماره Category باید مستند شود.

نمونه Global Feed

config global config system external-resource edit "g-SOC-Global-IP-Blocklist" set status enable set type address set resource "https://ti.example.com/global/ip-blocklist.txt" set server-identity-check full set refresh-rate 5 next end end

نمونه Feed داخل VDOM

config vdom edit "VDOM-USERS" config system external-resource edit "SOC-Users-Domain-Feed" set status enable set type domain set category 194 set resource "https://ti.example.com/users/domain-feed.txt" set server-identity-check basic set refresh-rate 5 next end next end

12. نکات مهم در فرمت فایل External Resource

کیفیت Feed مستقیماً روی عملکرد Connector اثر دارد. فایل باید ساده، قابل دریافت و مطابق فرمت همان نوع Feed باشد.

نوع Feedفرمت قابل قبول
IP Feedیک IP، Subnet یا Range در هر خط
Domain Feedیک دامنه یا Wildcard در هر خط
URL Feedیک URL کامل در هر خط
Hash Feedیک Hash در هر خط
MAC Feedیک MAC، Range یا OUI در هر خط

در فایل Feed از متن اضافه، Headerهای غیرضروری، کامنت‌های نامعتبر و کاراکترهای عجیب استفاده نکنید. اگر FortiGate نتواند فایل را Parse کند، Connector ساخته می‌شود اما Entries درست نمایش داده نمی‌شوند.

13. عیب‌یابی External Connector

اگر External Connector درست کار نمی‌کند، معمولاً مشکل در یکی از این بخش‌هاست

  • FortiGate به URL منبع دسترسی ندارد.
  • DNS یا Route خود FortiGate مشکل دارد.
  • Certificate سرور Feed معتبر نیست.
  • فرمت فایل اشتباه است.
  • Feed خالی یا غیرقابل خواندن است.
  • Proxy یا Authentication نیاز است ولی تنظیم نشده است.
  • Category Number برای Domain یا FortiGuard Category اشتباه است.
  • Feed در VDOM اشتباه ساخته شده است.
  • Policy یا Security Profile از Feed استفاده نمی‌کند.

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

show system external-resource get system external-resource

بررسی یک Feed خاص

show system external-resource "SOC_Malicious_IPs"

بررسی MAC Feed

diagnose sys external-mac-resource list SOC_Blocked_MACs

بررسی Match شدن ترافیک با Policy

diagnose debug reset diagnose debug flow filter addrdiagnose debug flow show function-name enable diagnose debug enable diagnose debug flow trace start 50

بعد از تست، Debug را غیرفعال کنید

diagnose debug disable diagnose debug reset
در GUI همیشه بعد از ساخت Connector، گزینه View Entries را بررسی کنید. اگر Entries خالی است، Policy را عیب‌یابی نکنید؛ اول باید مطمئن شوید خود Feed با موفقیت دریافت شده است.

14. Best Practice برای پیاده‌سازی External Connector

  • Feed Server باید پایدار، قابل دسترس و مانیتور شده باشد.
  • ترجیحاً از HTTPS به‌جای HTTP استفاده شود.
  • server-identity-checkروی Basic یا Full باشد.
  • برای هر نوع IOC، Connector جدا ساخته شود.
  • قبل از Block کردن، Feedهای جدید ابتدا در حالت Monitor تست شوند.
  • در Multi-VDOM، محل ساخت Feed از ابتدا مشخص شود.
  • Category Numberها مستند شوند.
  • Log روی Policyها و Security Profileها فعال باشد.
  • برای گزارش‌گیری و Incident Response از FortiAnalyzer استفاده شود.
  • Refresh Rate بیش از حد کوتاه تنظیم نشود.

یک اشتباه رایج این است که ادمین Feed را می‌سازد اما آن را در هیچ Policy یا Security Profileای استفاده نمی‌کند. External Connector فقط منبع داده را وارد FortiGate می‌کند؛ برای اعمال اثر امنیتی باید در جای درست به کار گرفته شود.

برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.