پارتیان
پارتیان ابتکار پایداردانشنامهپایگاه دانشApplication Control در FortiGate

پایگاه دانش

Application Control در FortiGate

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

۲۱ خرداد ۱۴۰۵

0

0
8
Application Control در FortiGate
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 اعمال نمود.

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


  1. Application Control دقیقاً چیست؟
  2. Application Control با Web Filter و DNS Filter چه فرقی دارد؟
  3. Application Control چطور برنامه‌ها را تشخیص می‌دهد؟
  4. Application Control در چه سناریوهایی استفاده می‌شود؟
  5. سناریوهای مهم: VPN، Proxy، Remote Access و DoH
  6. ساخت Application Control Profile در GUI
  7. ساخت Application Control Profile در CLI
  8. اعمال Application Control روی Firewall Policy
  9. طراحی Profile برای کاربران، Guest و سرورها
  10. نقش SSL Inspection در دقت Application Control
  11. لاگ، مانیتورینگ و عیب‌یابی
  12. Best Practice برای Application Control
  13. چک‌لیست پیاده‌سازی

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 به‌روز باشد

مطالب مرتبط

پرسش و پاسخ

بله، در Guest Network معمولاً Application Control باید سخت‌گیرانه‌تر باشد. ابزارهای VPN، Proxy، Remote Access، P2P و DoH بهتر است کنترل یا Block شوند تا کاربر مهمان نتواند سیاست‌های امنیتی سازمان را دور بزند.
دلایل رایج شامل اعمال نشدن Profile روی Policy درست، غیرفعال بودن utm-status، نبود SSL Inspection مناسب، قدیمی بودن Signatureها، Match شدن Rule بالاتر یا عبور ترافیک از Policy دیگر است.
بله، کنترل ابزارهای Remote Access یکی از کاربردهای مهم Application Control است. پیشنهاد می‌شود برای کاربران عادی این ابزارها محدود شوند و برای تیم IT، دسترسی فقط از Source، User Group یا Policy مشخص مجاز باشد.
Web Filter بیشتر روی URL، Category و Rating وب‌سایت‌ها تصمیم می‌گیرد، اما Application Control روی نوع برنامه و رفتار ترافیک تمرکز دارد. برای مثال Web Filter برای کنترل سایت‌ها مناسب است، اما Application Control برای کنترل VPN، Proxy و Remote Access کاربرد بیشتری دارد.
Application Control نوع واقعی ترافیک برنامه‌ها را شناسایی می‌کند و بر اساس سیاست ادمین، آن‌ها را Allow، Monitor یا Block می‌کند. این قابلیت فقط به پورت نگاه نمی‌کند و می‌تواند برنامه‌هایی را که روی پورت‌های رایج مثل HTTPS کار می‌کنند هم تشخیص دهد.
همیشه نه. بعضی برنامه‌ها با Certificate Inspection یا Metadata قابل تشخیص هستند، اما برای تشخیص دقیق‌تر بعضی برنامه‌های HTTPS، DoH یا سرویس‌های پیچیده، Deep Inspection می‌تواند لازم باشد. البته Deep Inspection باید با احتیاط و تست مرحله‌ای فعال شود.

امتیاز و دیدگاه کاربران

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

طراحی سایت : رادکام