External Connector در FortiGate چیست و چطور در FortiOS 7.4 تنظیم میشود؟
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 کاربرد دارد.
مروری بر این مقاله
- External Connector در FortiGate دقیقاً چیست؟
- External Connector به درد چه کسانی میخورد؟
- تفاوت FortiOS 7.4 با نسخههای قبلی
- انواع مهم Threat Feed در FortiGate 7.4
- IP Address Threat Feed
- Domain Name Threat Feed
- FortiGuard Category Threat Feed
- Malware Hash Threat Feed
- MAC Address Threat Feed در FortiOS 7.4
- STIX/TAXII Threat Feed
- External Connector در محیط Multi-VDOM
- نکات مهم در فرمت فایل External Resource
- عیبیابی External Connector
- 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.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 زیر تعریف میشود:
بنابراین اگر پروژه روی FortiOS 7.4 نوشته میشود، MAC Address Threat Feed را هم باید در طراحی در نظر گرفت. اگر سازمان هنوز روی FortiOS 7.0 یا 7.2 است، قبل از پیادهسازی باید بررسی شود که نوع Connector موردنظر در همان نسخه پشتیبانی میشود یا نه.
4. انواع مهم Threat Feed در FortiGate 7.4
در 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 استفاده میشود.
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.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
تنظیم 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
بعد از ساخت Connector، گزینه View Entries را بررسی کنید. اگر Entries خالی است، هنوز FortiGate نتوانسته Feed را دریافت کند و قبل از Policy باید مشکل دریافت Feed رفع شود.
تنظیم 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
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
تنظیم 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
در 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
تنظیم از 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
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
تنظیم از 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
در بعضی نسخهها نام دقیق پارامترهای CLI مربوط به Antivirus Profile ممکن است متفاوت باشد. روش مطمئن این است که تنظیم را از GUI انجام دهید و سپس خروجی را با دستور زیر بررسی کنید:
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
تنظیم از 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
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 زیر مشخص میشود:
نمونه 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 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
در 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 میکند؛ برای اعمال اثر امنیتی باید در جای درست به کار گرفته شود.