مدت زمان مطالعه:
0

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 کاربرد دارد.
مروری بر این مقاله
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 مناسب استفاده شود.
External Connector برای سازمانهایی مناسب است که میخواهند FortiGate فقط به دیتابیسهای داخلی خودش وابسته نباشد و بتواند از منابع Threat Intelligence بیرونی یا داخلی سازمان هم استفاده کند.
در سازمانهای حرفهای، External Connector بخشی از زنجیره Threat Intelligence است. یعنی IOC از SOC، SIEM، EDR، Sandbox یا سرویس بیرونی دریافت میشود، روی یک Web Server یا TAXII Server قرار میگیرد، FortiGate آن را Pull میکند و سپس در Policyهای امنیتی اعمال میشود.
مسیر کلی کار با External Connector در FortiOS 7.4 از بخش زیر انجام میشود:
در FortiOS 7.0 و 7.2 هم Threat Feedها وجود دارند، اما همه قابلیتهای نسخه 7.4 در نسخههای قبلی دیده نمیشوند. در FortiOS 7.2، Threat Feedهای اصلی شامل IP Address، Domain Name، FortiGuard Category و Malware Hash هستند. در FortiOS 7.4، MAC 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 موردنظر در همان نسخه پشتیبانی میشود یا نه.
در 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 یا OUI | Firewall 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 استفاده میشود.
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.100 172.200.1.4/16 172.16.1.2/24 172.16.8.1-172.16.8.100 2001:0db8::eade:27ff:fe04:9a01/120
مقادیر نمونه:
بعد از ساخت Connector، گزینه View Entries را بررسی کنید. اگر Entries خالی است، هنوز FortiGate نتوانسته Feed را دریافت کند و قبل از Policy باید مشکل دریافت Feed رفع شود.
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
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
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
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 مناسب قرار بگیرد.
در 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
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
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
config webfilter profile
edit "WF-Users"
config ftgd-wf
config filters
edit 1
set category 192
set action block
next
end
end
next
end
Malware Hash Threat Feed زمانی استفاده میشود که سازمان Hash فایلهای مخرب را از SOC، Sandbox، EDR یا سرویس Threat Intelligence دریافت میکند و میخواهد FortiGate آن Hashها را در Antivirus Profile بررسی کند.
نمونه Hash Feed:
275a021bbfb6489e54d471899f7db9d1 7f138a09169b250e9dcb378140907378
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
در بعضی نسخهها نام دقیق پارامترهای CLI مربوط به Antivirus Profile ممکن است متفاوت باشد. روش مطمئن این است که تنظیم را از GUI انجام دهید و سپس خروجی را با دستور زیر بررسی کنید:
show antivirus profile
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
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
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
اگر سازمان از 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 فعال میگردد.
در محیط Multi-VDOM باید از ابتدا مشخص شود Feed در Global ساخته میشود یا خیر. Feedهای Global در همه VDOMها قابل استفاده هستند، اما از داخل VDOM قابل ویرایش نیستند. Feedهای داخل VDOM فقط در همان VDOM کاربرد دارند.
نمونه 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
کیفیت 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 درست نمایش داده نمیشوند.
اگر External Connector درست کار نمیکند، معمولاً مشکل در یکی از این بخشهاست:
دستورهای مفید:
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 addr <source-or-destination-ip> diagnose debug flow show function-name enable diagnose debug enable diagnose debug flow trace start 50
بعد از تست، Debug را غیرفعال کنید:
diagnose debug disable diagnose debug reset
یک اشتباه رایج این است که ادمین Feed را میسازد اما آن را در هیچ Policy یا Security Profileای استفاده نمیکند. External Connector فقط منبع داده را وارد FortiGate میکند؛ برای اعمال اثر امنیتی باید در جای درست به کار گرفته شود.