Application Control در FortiGate چیست و چطور در FortiOS 7.6 تنظیم میشود؟
Application Control در FortiGate چیست و چطور در FortiOS 7.6 تنظیم میشود؟
Application Control یکی از مهمترین Security Profileهای FortiGate برای شناسایی و کنترل برنامههاست. تفاوت اصلی آن با فیلترهای ساده پورت این است که فقط به TCP/UDP Port نگاه نمیکند؛ بلکه با کمک Application Signature و IPS Decoder تلاش میکند نوع واقعی ترافیک را تشخیص دهد، حتی اگر برنامه از پورت غیرمعمول یا رفتار متفاوت استفاده کند.
این مقاله بر اساس FortiOS 7.6 نوشته شده است و هدف آن این است که ادمین شبکه بداند Application Control دقیقاً کجا کاربرد دارد، چه تفاوتی با Web Filter و DNS Filter دارد، برای کنترل VPN، Proxy، Remote Access، DoH و ابزارهای دور زدن Policy چطور باید طراحی شود و در زمان نوشتن Profile باید به چه نکاتی دقت کند.
در مستندات Fortinet، Application Control برای تشخیص ترافیک تعداد زیادی از برنامهها معرفی شده و Fortinet توضیح میدهد که Application Control از IPS Protocol Decoderها برای تحلیل ترافیک و شناسایی برنامهها استفاده میکند. همچنین در FortiOS 7.6 میتوان Application Sensor ساخت، Ruleهای مبتنی بر Category یا Application تعریف کرد و سپس Sensor را روی Firewall Policy اعمال نمود.
مروری بر این مقاله
- Application Control دقیقاً چیست؟
- Application Control با Web Filter و DNS Filter چه فرقی دارد؟
- Application Control چطور برنامهها را تشخیص میدهد؟
- Application Control در چه سناریوهایی استفاده میشود؟
- سناریوهای مهم: VPN، Proxy، Remote Access و DoH
- ساخت Application Control Profile در GUI
- ساخت Application Control Profile در CLI
- اعمال Application Control روی Firewall Policy
- طراحی Profile برای کاربران، Guest و سرورها
- نقش SSL Inspection در دقت Application Control
- لاگ، مانیتورینگ و عیبیابی
- Best Practice برای Application Control
- چکلیست پیادهسازی
1. Application Control دقیقاً چیست؟
Application Control در FortiGate پروفایلی است که ترافیک را از نظر نوع برنامه بررسی میکند و بعد بر اساس سیاست ادمین، آن برنامه را Allow، Monitor، Block، Quarantine یا محدود میکند. برای مثال ممکن است ترافیک روی TCP/443 باشد، اما FortiGate با Application Control تشخیص دهد که این ترافیک مربوط به VPN، Proxy، Remote Access، File Sharing، Social Media، GenAI یا DNS over HTTPS است.
این قابلیت برای زمانی مهم است که بستن پورت کافی نیست. امروزه بسیاری از برنامهها روی HTTPS یا پورتهای رایج کار میکنند. اگر فقط پورت را کنترل کنید، ممکن است برنامهای مثل ابزار Remote Access، VPN یا Proxy همچنان از همان مسیر مجاز عبور کند. Application Control تلاش میکند ماهیت برنامه را تشخیص دهد، نه فقط شماره پورت را.
نکته: Application Control بهتنهایی جایگزین همه Security Profileها نیست. برای طراحی درست معمولاً باید کنار Web Filter، DNS Filter، IPS، Antivirus و SSL Inspection استفاده شود.
2. Application Control با Web Filter و DNS Filter چه فرقی دارد؟
این سه قابلیت گاهی با هم اشتباه گرفته میشوند، اما هرکدام در یک لایه متفاوت تصمیم میگیرند.
| قابلیت |
مبنای تصمیمگیری |
مثال کاربردی |
| DNS Filter |
نام دامنه در مرحله DNS Query |
Block کردن دامنههای Phishing، Botnet یا Newly Registered Domain |
| Web Filter |
URL، Category، Rating و سیاست وب |
Block کردن سایتهای Gambling، Malware، Adult یا Proxy Avoidance |
| Application Control |
رفتار و Signature برنامه در ترافیک |
تشخیص و کنترل AnyDesk، TeamViewer، VPN، Proxy، DoH یا GenAI |
برای مثال اگر هدف شما بستن یک سایت خاص است، Web Filter مناسبتر است. اگر میخواهید Resolve شدن دامنههای مخرب را کنترل کنید، DNS Filter مناسبتر است. اما اگر میخواهید ابزارهای VPN، Proxy یا Remote Access را حتی روی پورتهای رایج تشخیص دهید، Application Control نقش اصلیتری دارد.
3. Application Control چطور برنامهها را تشخیص میدهد؟
FortiGate برای Application Control از Application Signatureها و IPS Decoderها استفاده میکند. یعنی ترافیک عبوری از Policy بررسی میشود و اگر با الگوی یک برنامه یا Category مشخص Match شود، Rule مربوط به آن Application Sensor اعمال میشود.
Ruleها میتوانند بر اساس Category، Technology، Popularity، Risk یا Application مشخص نوشته شوند. برای مثال میتوانید کل Category مربوط به Proxy را Block کنید، اما برای یک برنامه خاص Exception بگذارید. یا میتوانید Remote Accessها را Monitor کنید و فقط ابزارهای پرریسک را Block کنید.
هشدار: Application Control برای تشخیص دقیقتر بعضی برنامههای رمزنگاریشده ممکن است به SSL Deep Inspection نیاز داشته باشد. بدون Decryption، FortiGate ممکن است فقط بخشی از اطلاعات مثل SNI، Certificate یا الگوهای قابل مشاهده را ببیند.
4. Application Control در چه سناریوهایی استفاده میشود؟
- کنترل ابزارهای VPN و Proxy برای جلوگیری از دور زدن سیاست سازمان
- کنترل Remote Access مثل AnyDesk، TeamViewer، RustDesk و ابزارهای مشابه
- کنترل DNS over HTTPS یا DNS over TLS در کنار DNS Filter
- محدود کردن File Sharing، P2P و Cloud Storageهای غیرمجاز
- مانیتور کردن یا محدود کردن GenAI و سرویسهای هوش مصنوعی عمومی
- کنترل شبکه Guest برای جلوگیری از مصرف غیرمجاز یا ترافیک پرریسک
- کاهش Shadow IT در سازمان
- تهیه لاگ و گزارش برای SOC و FortiAnalyzer
در سازمانهای بزرگ، Application Control فقط برای Block کردن نیست. خیلی وقتها ابتدا در حالت Monitor استفاده میشود تا تیم امنیت بداند کاربران واقعاً از چه برنامههایی استفاده میکنند؛ سپس بر اساس ریسک و نیاز کسبوکار، Policy نهایی نوشته میشود.
5. سناریوهای مهم: VPN، Proxy، Remote Access و DoH
کنترل VPN و Proxy
اگر کاربران بتوانند از VPN یا Proxy استفاده کنند، ممکن است Web Filter، DNS Filter و حتی بعضی سیاستهای دسترسی دور زده شوند. در این سناریو بهتر است Categoryهای مربوط به Proxy، VPN، Anonymizer و Proxy Avoidance در Application Control بررسی و در صورت نیاز Block شوند.
پیشنهاد عملیاتی: برای شروع، VPN و Proxy را مستقیم Block نکنید. ابتدا چند روز Monitor کنید تا ابزارهای مورد استفاده کاربران و واحدهای خاص مشخص شود، سپس برای ابزارهای مجاز Exception بسازید و بقیه را Block کنید.
کنترل Remote Access
ابزارهایی مثل AnyDesk، TeamViewer، RustDesk، Chrome Remote Desktop و ابزارهای مشابه در بسیاری از سازمانها ریسک جدی ایجاد میکنند. اگر بدون کنترل استفاده شوند، ممکن است کانال دسترسی خارج از فرآیند رسمی IT ایجاد شود.
در این سناریو میتوانید Remote Accessها را برای کاربران عادی Block کنید، برای تیم IT فقط از IP یا User Group مشخص Allow کنید و همه رخدادها را Log بگیرید.
کنترل DoH و DoT
DNS over HTTPS و DNS over TLS میتوانند باعث شوند DNS Queryهای کاربران از DNS Filter کلاسیک عبور نکند. Application Control میتواند در شناسایی DoH کمک کند، اما برای تشخیص دقیقتر DoH روی HTTPS معمولاً SSL Inspection اهمیت زیادی دارد. FortiGuard برای DNS over HTTPS Signature مشخص دارد و اشاره میکند که برای تشخیص Custom DoH Serverها به Deep Inspection نیاز است.
کنترل GenAI و سرویسهای جدید
در FortiOS 7.6، Fortinet برای کنترل بعضی سرویسهای GenAI هم سناریوهای Application Control ارائه کرده است. این موضوع برای سازمانهایی مهم است که میخواهند دسترسی به سرویسهای هوش مصنوعی عمومی را Monitor یا محدود کنند.
6. ساخت Application Control Profile در GUI
برای ساخت Application Control Profile در FortiOS 7.6 از مسیر زیر وارد شوید:
Security Profiles > Application Control
سپس یک Sensor جدید بسازید و Ruleهای موردنیاز را بر اساس Category یا Application مشخص تعریف کنید.
Create New > Name: APP-Users-Control
Add Categories / Applications > Set Action: Monitor or Block
Enable Logging for matched applications
برای یک Policy کاربران سازمانی، ساختار پیشنهادی میتواند این باشد:
| گروه برنامه |
Action پیشنهادی |
توضیح |
| VPN / Proxy / Anonymizer |
ابتدا Monitor، سپس Block |
برای جلوگیری از دور زدن Policy |
| Remote Access |
Block برای کاربران عادی |
برای تیم IT میتوان Policy جدا ساخت |
| P2P / File Sharing |
Block یا Monitor |
بسته به سیاست سازمان |
| GenAI |
Monitor یا کنترلشده |
برای بررسی Shadow AI و نشت داده |
| Business Applications |
Allow |
برنامههای مورد نیاز سازمان |
7. ساخت Application Control Profile در CLI
در CLI، Application Control Sensor با دستور config application list ساخته میشود. نمونه زیر یک Sensor پایه میسازد و یک Category را در حالت Monitor قرار میدهد. شماره Categoryها باید در محیط واقعی از GUI یا خروجی FortiGate بررسی شوند.
config application list
edit "APP-Users-Control"
set comment "Application control profile for corporate users - FortiOS 7.6"
set extended-log enable
set other-application-log enable
config entries
edit 1
set category 6
set action monitor
set log enable
next
edit 2
set category 2
set action block
set log enable
next
end
next
end
برای سناریوی GenAI، Fortinet در مستندات FortiOS 7.6 نمونهای ارائه کرده که Category مربوط به GenAI را در Application Sensor مانیتور میکند. ساختار کلی به این شکل است:
config application list
edit "GenAI-Monitor"
config entries
edit 1
set category 36
set action pass
set log enable
next
end
next
end
توجه: شماره Categoryها و Application IDها را بدون بررسی روی دستگاه عملیاتی Script نکنید. بهتر است ابتدا Profile را از GUI بسازید، سپس خروجی آن را با show application list بررسی کنید.
show application list
show application list "APP-Users-Control"
8. اعمال Application Control روی Firewall Policy
بعد از ساخت Application Control Sensor، باید آن را روی Firewall Policy اعمال کنید. در GUI:
Policy & Objects > Firewall Policy > Edit Users-to-Internet
Security Profiles: Enable
Application Control: APP-Users-Control
SSL Inspection: certificate-inspection or deep-inspection
Log Allowed Traffic: All Sessions or Security Events
نمونه CLI:
config firewall policy
edit 100
set name "Users-to-Internet"
set srcintf "LAN"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set utm-status enable
set application-list "APP-Users-Control"
set ssl-ssh-profile "certificate-inspection"
set logtraffic all
set nat enable
next
end
اگر تشخیص برنامههای HTTPS برای شما مهم است، ممکن است نیاز باشد بهجای certificate-inspection از deep-inspection استفاده کنید؛ اما Deep Inspection باید با طراحی درست Certificate، استثناها و تست مرحلهای انجام شود.
9. طراحی Profile برای کاربران، Guest و سرورها
کاربران سازمانی
برای کاربران سازمانی، هدف معمولاً کنترل ابزارهای دور زدن Policy، Remote Access غیرمجاز، P2P و بعضی سرویسهای پرریسک است. پیشنهاد میشود ابتدا Profile در حالت Monitor اجرا شود و بعد از بررسی لاگها، Block مرحلهای انجام شود.
- VPN و Proxy: Monitor، سپس Block کنترلشده
- Remote Access: Block برای کاربران عادی، Allow برای تیم IT در Policy جدا
- GenAI: Monitor یا کنترل بر اساس سیاست داده
- P2P و File Sharing: معمولاً Block
Guest Network
در Guest Network معمولاً سیاست سختگیرانهتر است، چون کاربر عضو سازمان نیست و دسترسی او باید محدود باشد.
- VPN / Proxy / Anonymizer: Block
- P2P: Block
- Remote Access: Block
- DNS over HTTPS: کنترل در کنار DNS Filter
Server VLAN
برای سرورها باید با احتیاط عمل کرد. سرورها ممکن است برای Update، API، Repository یا SaaS به برنامههای مشخص نیاز داشته باشند. ابتدا Monitor کنید، برنامههای ضروری را مستند کنید و سپس Ruleهای Block را محدود و هدفمند بنویسید.
10. نقش SSL Inspection در دقت Application Control
بخش زیادی از ترافیک امروزی رمزنگاریشده است. اگر FortiGate فقط Certificate Inspection انجام دهد، ممکن است برای بعضی برنامهها اطلاعات کافی برای تشخیص دقیق نداشته باشد. Deep Inspection دید بیشتری میدهد، اما هزینه عملیاتی و فنی هم دارد.
| نوع SSL Inspection |
دید FortiGate |
اثر روی Application Control |
| Certificate Inspection |
اطلاعات Certificate، SNI و Metadata محدود |
برای تشخیص کلی بعضی برنامهها کافی است، اما برای برنامههای پیچیده محدودیت دارد |
| Deep Inspection |
Decrypt، Inspect و Re-encrypt ترافیک |
دقت تشخیص را برای بعضی برنامههای HTTPS، DoH و سرویسهای پیچیده بیشتر میکند |
هشدار: Deep Inspection را عمومی و بدون تست فعال نکنید. باید CA داخلی روی کلاینتها نصب شده باشد، استثناهای لازم تعریف شود و اثر آن روی سرویسهای حساس بررسی گردد.
11. لاگ، مانیتورینگ و عیبیابی
برای دیدن رخدادهای Application Control در GUI، مسیرهای رایج اینها هستند:
Log & Report > Security Events > Application Control
Log & Report > Forward Traffic
برای بررسی تنظیمات از CLI:
show application list
show firewall policy
اگر برنامهای تشخیص داده نمیشود، این موارد را بررسی کنید:
- Application Control روی Policy درست اعمال شده باشد.
- utm-status روی Policy فعال باشد.
- ترافیک از همان Policy عبور کند.
- SSL Inspection متناسب با نوع برنامه انتخاب شده باشد.
- Signatureهای Application Control بهروز باشند.
- Rule بالاتر در Application Sensor باعث Match اشتباه نشده باشد.
- Log برای Rule و Policy فعال باشد.
نکته عملیاتی: اگر هدف شما کنترل ابزارهای جدید VPN، Proxy، Remote Access یا DoH است، بهروز بودن Application Control Signature اهمیت زیادی دارد. Profile بدون دیتابیس بهروز ممکن است فعال باشد، اما در برابر برنامههای جدید یا نسخههای تغییرکرده دقت کافی نداشته باشد.
12. Best Practice برای Application Control
- برای Users، Guest، Servers و IT Admins پروفایل جدا بسازید.
- قبل از Block کردن گسترده، چند روز Monitor انجام دهید.
- برای Remote Access موردنیاز تیم IT، Policy جدا با Source/User محدود بسازید.
- Application Control را کنار Web Filter، DNS Filter و SSL Inspection طراحی کنید.
- برای DoH فقط به DNS Filter اکتفا نکنید؛ Application Control و SSL Inspection را هم بررسی کنید.
- نام Profileها را واضح انتخاب کنید؛ مثل APP-Users-Control یا APP-Guest-Strict.
- Ruleهای Application Sensor را از خاص به عمومی بچینید.
- Log را فعال کنید و گزارشها را در FortiAnalyzer بررسی کنید.
- Signatureهای Application Control را بهروز نگه دارید.
- بعد از Upgrade FortiOS، رفتار Profileها و لاگها را دوباره بررسی کنید.
13. چکلیست پیادهسازی Application Control در FortiGate
| مورد |
وضعیت مطلوب |
| نسخه FortiOS |
سناریو با FortiOS 7.6 و Patch Version دستگاه تطبیق داده شده باشد |
| Application Sensor |
برای هر گروه کاربری Profile جدا ساخته شده باشد |
| Monitor Phase |
قبل از Block گسترده، لاگ چند روزه بررسی شده باشد |
| Firewall Policy |
utm-status فعال و application-list روی Policy درست اعمال شده باشد |
| SSL Inspection |
برای برنامههای HTTPS، نوع Inspection درست انتخاب شده باشد |
| Remote Access |
برای کاربران عادی Block و برای تیم IT در Policy جدا کنترل شده باشد |
| VPN / Proxy |
ابزارهای دور زدن Policy شناسایی، Monitor و سپس کنترل شده باشند |
| DoH / DoT |
کنترل DoH و DoT در کنار DNS Filter و Web Filter بررسی شده باشد |
| Logging |
لاگ Application Control فعال و در FortiAnalyzer قابل گزارشگیری باشد |
| Signature Update |
Application Control Signature بهروز باشد |