کد 71

Bot Mitigation در FortiWeb

Bot Mitigation در FortiWeb یکی از لایه‌های مهم دفاع در برابر ترافیک خودکار و رفتارهای مشکوک است. این قابلیت با Threshold، رفتارشناسی، Deception، مدیریت Known Botها و در سناریوهای پیشرفته با ML کمک می‌کند تا بین کاربر واقعی و Bot تفاوت ایجاد شود.
Bot Mitigation در FortiWeb چیست و چطور در FortiWeb 7.6 کانفیگ می‌شود؟

Bot Mitigation در FortiWeb چیست و چطور در FortiWeb 7.6 کانفیگ می‌شود؟

Bot Mitigation در FortiWeb مجموعه‌ای از قابلیت‌ها برای شناسایی، کنترل و کاهش ترافیک Bot است. این ترافیک می‌تواند از نوع Crawler، Scanner، Credential Stuffing، Content Scraping، Slow Attack، DoS Bot، Spam Bot یا حتی Search Engineهای قانونی باشد. نکته مهم این است که همه Botها بد نیستند؛ بعضی مثل Search Engineها برای کسب‌وکار مفیدند، اما Botهای مخرب می‌توانند باعث مصرف منابع، جمع‌آوری داده، تست آسیب‌پذیری، حمله به صفحه Login و خراب شدن تجربه کاربر شوند.

این مقاله بر اساس FortiWeb 7.6 و با تمرکز روی پیاده‌سازی عملیاتی نوشته شده است. هدف این است که ادمین FortiWeb بتواند قبل از فعال‌سازی Bot Mitigation بفهمد این قابلیت برای سناریوی او مناسب است یا نه، سپس مرحله‌به‌مرحله Ruleها را بسازد، آن‌ها را در Bot Mitigation Policy تجمیع کند، Policy را به Web Protection Profile وصل کند و در نهایت Log و False Positive را بررسی کند.

نکته مهم: Bot Mitigation یک دکمه جادویی نیست که یک‌باره روی کل سایت فعال شود و تمام Botها را بدون خطا Block کند. بهترین روش این است که ابتدا روی Alert و Monitor شروع کنید، لاگ‌ها را بررسی کنید، Exceptionهای لازم را بسازید و بعد برای بخش‌های حساس مثل Login، Register، Search، Product Listing یا APIهای پرترافیک Action را سخت‌گیرانه‌تر کنید.
 

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


  1. Bot Mitigation در FortiWeb دقیقاً چه کاری انجام می‌دهد؟
  2. چه زمانی باید از Bot Mitigation استفاده کنیم؟
  3. اجزای اصلی Bot Mitigation در FortiWeb
  4. پیش‌نیازهای پیاده‌سازی
  5. طراحی مرحله‌ای پیشنهادی برای Production
  6. Known Bots را چطور تنظیم کنیم؟
  7. Threshold Based Detection را چطور تنظیم کنیم؟
  8. Biometrics Based Detection را چطور تنظیم کنیم؟
  9. Bot Deception را چطور تنظیم کنیم؟
  10. Exception Policy برای جلوگیری از False Positive
  11. ساخت Bot Mitigation Policy و اتصال به Protection Profile
  12. نمونه CLI کامل برای شروع
  13. سناریوهای کاربردی
  14. لاگ، مانیتورینگ و عیب‌یابی
  15. جدول مقایسه قابلیت‌ها
  16. چک‌لیست پیاده‌سازی

1. Bot Mitigation در FortiWeb دقیقاً چه کاری انجام می‌دهد؟

FortiWeb برای مقابله با Botها فقط به یک روش تکی وابسته نیست. در مستندات Fortinet، Bot Mitigation شامل چند لایه مثل Biometrics-Based Bot Detection، Threshold-Based Bot Detection، Bot Deception، Known Bots، Machine Learning Based Bot Detection و Advanced Bot Protection معرفی شده است. هرکدام از این بخش‌ها یک نوع رفتار Bot را پوشش می‌دهد و باید بر اساس سناریوی سایت انتخاب شود.

در عمل، Bot Mitigation به FortiWeb کمک می‌کند رفتارهایی مثل تعداد زیاد درخواست، اسکن URLهای غیرواقعی، دریافت مکرر صفحات، نبود رفتار انسانی در مرورگر، دنبال کردن لینک مخفی، استفاده از User-Agentهای شناخته‌شده مخرب یا حمله به صفحه Login را شناسایی کند. سپس بسته به Action تعریف‌شده، FortiWeb می‌تواند فقط Alert بدهد، درخواست را Deny کند، برای مدتی Client را Block کند، CAPTCHA یا Real Browser Enforcement اعمال کند یا درخواست را به صفحه خاصی Redirect کند.

2. چه زمانی باید از Bot Mitigation استفاده کنیم؟

Bot Mitigation برای هر سایتی لازم نیست با یک سطح سخت‌گیرانه فعال شود. قبل از پیاده‌سازی باید مشخص کنید مشکل  شما چیست. اگر مشکل اصلی Search Engine نیست و فقط می‌خواهید Google و Bing را مدیریت کنید، Known Bots کافی است. اگر مشکل Scraper، Scanner یا Credential Stuffing دارید، باید Threshold و Biometrics را جدی‌تر تنظیم کنید. اگر هدف کشف Crawlerهای ساده و Botهایی است که همه لینک‌ها را دنبال می‌کنند، Bot Deception مفید است.

نشانه در لاگ یا رفتار سایت قابلیت پیشنهادی Action شروع
تعداد زیاد 404 یا تست مسیرهای غیرواقعی مثل /admin و /.env Threshold Based Detection - Vulnerability Scanning Alert سپس Alert & Deny
درخواست‌های پشت‌سرهم برای صفحات محصول، لیست قیمت یا Search Threshold Based Detection - Content Scraping Alert سپس Block Period
حمله به صفحه Login یا تست پسورد Biometrics + Threshold + CAPTCHA Real Browser Enforcement یا CAPTCHA
ربات‌هایی که همه لینک‌ها حتی لینک‌های مخفی را دنبال می‌کنند Bot Deception Alert & Deny
Search Engineهای قانونی که نباید Block شوند Known Bots Bypass یا Alert
API یا Mobile App بدون تعامل انسانی Threshold + Exception دقیق Monitor اول، سپس کنترل مرحله‌ای
 

3. اجزای اصلی Bot Mitigation در FortiWeb

Known Bots

Known Bots برای شناسایی Botهای شناخته‌شده استفاده می‌شود. در CLI Reference نسخه 7.6.7، Fortinet توضیح می‌دهد که این قابلیت هم Botهای مخرب مثل DoS، Spam و Crawler را پوشش می‌دهد و هم known good bots مثل Search Engineها را بدون اختلال در ترافیک مهم مدیریت می‌کند. این بخش برای جلوگیری از Block اشتباه Search Engineهای قانونی بسیار مهم است.

Threshold Based Detection

Threshold Based Detection رفتارهای مشکوک را بر اساس تعداد رخداد در یک بازه زمانی بررسی می‌کند. در CLI Reference نسخه 7.6.7 رفتارهایی مثل Crawler، Vulnerability Scanning، Slow Attack، Content Scraping و Illegal User Scan برای این بخش ذکر شده‌اند. این قابلیت برای سناریوهایی که Bot با سرعت بالا یا الگوی غیرعادی کار می‌کند بسیار کاربردی است.

Biometrics Based Detection

Biometrics Based Detection تلاش می‌کند رفتار Client را از نظر رویدادهای انسانی بررسی کند؛ مثل Mouse Movement، Click، Keyboard، Screen Touch، Scroll و Page Focus. Fortinet در مستندات اشاره می‌کند که FortiWeb از رویدادهای Client استفاده می‌کند تا تشخیص دهد درخواست از انسان آمده یا Bot. این روش برای صفحات وب تعاملی و Login مفید است، اما برای API یا Mobile App باید با احتیاط استفاده شود.

Bot Deception

Bot Deception با اضافه کردن یک لینک مخفی به صفحه HTML کار می‌کند. کاربر واقعی آن لینک را نمی‌بیند و کلیک نمی‌کند، اما Bot یا Crawler ممکن است لینک را دنبال کند و همین رفتار به FortiWeb نشان می‌دهد که Client احتمالاً Bot است. برای سایت‌هایی که HTML کامل دارند و Crawler مشکل اصلی است، این روش ساده و مؤثر است.

ML Based Bot Detection و Advanced Bot Protection

ML Based Bot Detection در FortiWeb رفتار Clientها را در چند بعد یاد می‌گیرد و با الگوریتم SVM رفتارهای غیرعادی را تشخیص می‌دهد. Advanced Bot Protection هم سرویس SaaS Fortinet برای Botهای پیشرفته‌تر است و طبق مستندات، ترافیک Client برای تحلیل Bot Behavior به سرویس FortiGuard ABP هدایت می‌شود. این دو بخش برای سناریوهای بزرگ‌تر یا Botهای پیچیده‌تر مناسب‌اند، اما مقاله حاضر تمرکز عملیاتی را روی Bot Mitigation Policy داخلی قرار می‌دهد.

4. پیش‌نیازهای پیاده‌سازی

  • FortiWeb باید در Modeای باشد که بتواند ترافیک HTTP/HTTPS را به‌درستی ببیند؛ در بیشتر پروژه‌ها Reverse Proxy بهترین انتخاب است.
  • برای HTTPS، Certificate و SSL Inspection/Offload باید درست پیاده‌سازی شده باشد.
  • Attack Log و Traffic Log باید فعال باشد تا بتوان False Positive را بررسی کرد.
  • برای صفحات حساس مثل Login، Register، Search و API، URLها باید دقیق شناسایی شوند.
  • اگر سایت API یا Mobile App دارد، نباید Biometrics را کورکورانه روی همه مسیرها فعال کرد.
  • قبل از Block، بهتر است حداقل چند روز Alert/Monitor انجام شود.

5. طراحی مرحله‌ای پیشنهادی برای Production

برای محیط عملیاتی، پیشنهاد می‌شود Bot Mitigation را مرحله‌ای فعال کنید. مرحله اول فقط Alert است؛ مرحله دوم بررسی لاگ و ساخت Exception؛ مرحله سوم اعمال Block روی رفتارهای واضحاً مخرب؛ و مرحله چهارم سخت‌گیری روی صفحات حساس مثل Login یا Search.

 
هشدار عملیاتی: فعال کردن همزمان Known Bots، Threshold، Biometrics و Bot Deception با Action سخت‌گیرانه روی کل سایت می‌تواند باعث Block شدن کاربران واقعی، ابزارهای Monitoring، Scannerهای داخلی، سرویس‌های Third-party، Mobile App یا API Clientها شود.

6. Known Bots را چطور تنظیم کنیم؟

از مسیر زیر وارد شوید:

Bot Mitigation > Known Bots

یک Rule جدید بسازید. برای شروع، پیشنهاد عملیاتی این است که Known Good Bots را روی Bypass یا Alert بگذارید و Botهای مخرب مثل Crawler، Scanner، Spam، DoS و Trojan را ابتدا Alert و بعد از بررسی روی Alert & Deny یا Block Period قرار دهید.

نوع Bot پیشنهاد شروع پیشنهاد بعد از بررسی لاگ
Known Search Engines Bypass یا Alert Bypass برای Botهای معتبر
Crawler مشکوک Alert Block Period
Scanner Alert Alert & Deny
DoS Bot Alert Block Period
Spam Bot Alert Alert & Deny

نمونه CLI پایه:

config waf known-bots
    edit "KB-Production"
        set known-engines-status enable
        set known-engines-action bypass
        set known-engines-severity Info

        set crawler-status enable
        set crawler-action alert
        set crawler-severity Medium

        set scanner-status enable
        set scanner-action alert_deny
        set scanner-severity High

        set spam-status enable
        set spam-action alert_deny
        set spam-severity Medium

        set dos-status enable
        set dos-action block_period
        set dos-block-period 300
        set dos-severity High
    next
end

برای مشاهده Syntax دقیق همان نسخه:

config waf known-bots
    edit "KB-Production"
        ?

7. Threshold Based Detection را چطور تنظیم کنیم؟

از مسیر زیر وارد شوید:

Bot Mitigation > Threshold Based Detection

در این بخش باید مشخص کنید FortiWeb کدام رفتارهای مشکوک را بررسی کند. مهم‌ترین رفتارها عبارت‌اند از Crawler، Vulnerability Scanning، Slow Attack، Content Scraping و Illegal User Scan. برای شروع، عددها را خیلی سخت‌گیرانه نگذارید. اول Alert بگیرید، سپس بر اساس لاگ واقعی سایت مقدارها را کم یا زیاد کنید.

پیشنهاد برای سایت عمومی

  • Crawler Detection: فعال، ابتدا Alert
  • Scanner Detection: فعال، Action روی Alert & Deny بعد از تست
  • Content Scraping: فعال روی صفحات لیستی، نه کل سایت
  • Slow Attack: فعال برای محافظت از منابع سرور
  • Bot Recognition: برای صفحات حساس Real Browser Enforcement یا CAPTCHA

نمونه CLI شروع محافظه‌کارانه:

config waf threshold-based-detection
    edit "TBD-Production-Monitor"
        set bot-recognition real-browser-enforcement
        set validation-timeout 20
        set max-attempt-times 3

        set crawler-detection enable
        set crawler-action alert
        set crawler-severity Medium
        set crawler-occurrence-num 80
        set crawler-within 60

        set scanner-detection enable
        set scanner-action alert_deny
        set scanner-severity High
        set scanner-occurrence-num 20
        set scanner-within 60

        set slow-attack-detection enable
        set slow-attack-action alert
        set slow-attack-severity Medium
        set slow-attack-occurrence-num 10
        set slow-attack-within 60
        set slow-attack-HTTP-transaction-timeout 30
        set slow-attack-packet-interval-timeout 10

        set content-scraping-detection enable
        set content-scraping-action alert
        set content-scraping-severity Medium
        set content-scraping-occurrence-num 120
        set content-scraping-within 60
    next
end
توضیح عددها: مقدارهای بالا نسخه نهایی نیستند؛ نقطه شروع محافظه‌کارانه‌اند. برای سایتی با ترافیک بالا باید Thresholdها بیشتر شوند. برای صفحه Login یا Search ممکن است عددها کمتر و Action سخت‌گیرانه‌تر شود.

8. Biometrics Based Detection را چطور تنظیم کنیم؟

از مسیر زیر وارد شوید:

Bot Mitigation > Biometrics Based Detection

در این بخش FortiWeb از Client Eventها استفاده می‌کند. پیش‌فرض‌های مهم شامل Mouse Movement، Click و Keyboard هستند. برای صفحه Login، Register و فرم‌های مهم، این قابلیت ارزشمند است. برای API، Webhook و Mobile App ممکن است باعث False Positive شود؛ چون آن‌ها الزاماً Mouse یا Keyboard ندارند.

نمونه GUI پیشنهادی برای صفحه Login:

گزینه مقدار پیشنهادی توضیح
Mouse Movement Enable برای تشخیص رفتار انسانی
Click Enable برای فرم‌ها و دکمه‌ها
Keyboard Enable برای Login و Search
Screen Touch Enable در صورت وجود Mobile Web برای کاربران موبایل
Bot Traits Enable لایه اضافه برای Headless Browser و Scriptها
URL List محدود به Login/Register فعال‌سازی روی کل سایت توصیه نمی‌شود

نمونه CLI:

config waf biometrics-based-detection
    edit "BBD-Login"
        set mouse-movement enable
        set click enable
        set keyboard enable
        set screen-touch enable
        set scroll disable
        set page-focus enable
        set bot-traits enable
        set bot-traits-num 5
        set event-collection-time 15
        set bot-effective-time 5
        set action alert
        set severity medium
        set bot-access-rate 5
        config url-list
            edit 1
                set host-status enable
                set host "www.example.com"
                set type simple-string
                set url "/login"
            next
            edit 2
                set host-status enable
                set host "www.example.com"
                set type simple-string
                set url "/register"
            next
        end
    next
end

9. Bot Deception را چطور تنظیم کنیم؟

از مسیر زیر وارد شوید:

Bot Mitigation > Bot Deception

یک Deception URL تعریف کنید؛ یعنی URLای که برای کاربر عادی قابل مشاهده نیست و فقط داخل HTML به‌صورت مخفی تزریق می‌شود. اگر Bot آن URL را درخواست کند، FortiWeb آن را به‌عنوان رفتار Bot تشخیص می‌دهد. برای نام URL از مسیر واقعی، مهم یا قابل حدس استفاده نکنید. بهتر است اسم آن طبیعی ولی غیرواقعی باشد.

نمونه‌های خوب برای Deception URL:

/assets/cache/customer-map.js
/static/report/health-check.html
/resource/legacy/catalog-sync.php

نمونه CLI:

config waf bot-deception
    edit "BD-General"
        set deception-url "/assets/cache/customer-map.js"
        set action alert_deny
        config url-list
            edit 1
                set url "/"
            next
            edit 2
                set url "/products"
            next
            edit 3
                set url "/blog"
            next
        end
    next
end
توجه: Bot Deception برای پاسخ‌های HTML مناسب است. برای APIهای JSON، فایل‌های Static یا مسیرهایی که HTML ندارند، نتیجه آن مثل صفحات عادی سایت نخواهد بود. بعد از ساخت Policy با ابزارهایی مثل مرورگر و Log بررسی کنید که لینک مخفی باعث اختلال در UI یا SEO نشود.

10. Exception Policy برای جلوگیری از False Positive

Exception Policy زمانی لازم است که یک مسیر، IP، Host یا پارامتر خاص در حالت عادی باعث Trigger شدن Bot Mitigation می‌شود. برای مثال Monitoring داخلی، Scanner مجاز، Health Check، API Gateway، سرویس پرداخت، Callback بانک، CDN یا مسیرهای Mobile App ممکن است رفتار انسانی نداشته باشند و باید از بعضی چک‌ها مستثنی شوند.

از مسیر زیر وارد شوید:

Bot Mitigation > Exception Policy

نمونه CLI برای Exception یک IP مانیتورینگ و یک URI:

config waf bot-mitigate-exception
    edit "BOT-EXC-Internal-Monitoring"
        config exception-element-list
            edit 1
                set match-target CLIENT_IP
                set operator EQ
                set ip-range "192.168.10.50"
                set concatenate-type OR
            next
            edit 2
                set match-target URI
                set operator STRING_MATCH
                set value "/health"
                set concatenate-type OR
            next
        end
    next
end

11. ساخت Bot Mitigation Policy و اتصال به Protection Profile

بعد از اینکه Known Bots، Threshold، Biometrics، Bot Deception و Exception را ساختید، باید همه را در Bot Mitigation Policy انتخاب کنید. Fortinet در مستندات توضیح می‌دهد که Bot Mitigation Policy این بخش‌ها را تجمیع می‌کند و سپس در Web Protection Profile اعمال می‌شود.

 

مسیر GUI ساخت Policy:

Bot Mitigation > Bot Mitigation Policy > Create New

سپس این Policy را در Web Protection Profile انتخاب کنید:

Policy > Web Protection Profile > Inline Protection Profile > Edit > Bot Mitigation > Bot Mitigation Policy

نمونه CLI برای تجمیع Ruleها:

config waf bot-mitigate-policy
    edit "BMP-Production"
        set known-bots "KB-Production"
        set threshold-based-detection "TBD-Production-Monitor"
        set biometrics-based-detection "BBD-Login"
        set bot-deception "BD-General"
    next
end

نمونه اتصال به Web Protection Profile:

config waf web-protection-profile inline-protection
    edit "WPP-Production"
        set bot-mitigation-policy "BMP-Production"
    next
end
نکته: اگر روی نسخه شما نام دقیق گزینه داخل Web Protection Profile متفاوت بود، داخل همین Context از علامت سؤال استفاده کنید و نام فیلد مربوط به Bot Mitigation Policy را بررسی کنید.

12. نمونه CLI کامل برای شروع

نمونه زیر یک سناریوی پایه برای سایت Production است. این نمونه برای شروع طراحی است، نه نسخه نهایی همه سایت‌ها. قبل از اعمال در Production، نام Host، URLها، Thresholdها، Actionها و Exceptionها باید با ترافیک واقعی سازمان تطبیق داده شوند.

config waf known-bots
    edit "KB-Production"
        set known-engines-status enable
        set known-engines-action bypass
        set crawler-status enable
        set crawler-action alert
        set scanner-status enable
        set scanner-action alert_deny
        set dos-status enable
        set dos-action block_period
        set dos-block-period 300
    next
end

config waf threshold-based-detection
    edit "TBD-Production-Monitor"
        set bot-recognition real-browser-enforcement
        set validation-timeout 20
        set max-attempt-times 3
        set crawler-detection enable
        set crawler-action alert
        set crawler-occurrence-num 80
        set crawler-within 60
        set scanner-detection enable
        set scanner-action alert_deny
        set scanner-occurrence-num 20
        set scanner-within 60
        set content-scraping-detection enable
        set content-scraping-action alert
        set content-scraping-occurrence-num 120
        set content-scraping-within 60
    next
end

config waf biometrics-based-detection
    edit "BBD-Login"
        set mouse-movement enable
        set click enable
        set keyboard enable
        set screen-touch enable
        set bot-traits enable
        set bot-traits-num 5
        set event-collection-time 15
        set action alert
        config url-list
            edit 1
                set host-status enable
                set host "www.example.com"
                set type simple-string
                set url "/login"
            next
        end
    next
end

config waf bot-deception
    edit "BD-General"
        set deception-url "/assets/cache/customer-map.js"
        set action alert_deny
        config url-list
            edit 1
                set url "/"
            next
            edit 2
                set url "/products"
            next
        end
    next
end

config waf bot-mitigate-policy
    edit "BMP-Production"
        set known-bots "KB-Production"
        set threshold-based-detection "TBD-Production-Monitor"
        set biometrics-based-detection "BBD-Login"
        set bot-deception "BD-General"
    next
end

config waf web-protection-profile inline-protection
    edit "WPP-Production"
        set bot-mitigation-policy "BMP-Production"
    next
end

13. سناریوهای کاربردی

سناریوی فروشگاه اینترنتی

در فروشگاه اینترنتی معمولاً مشکل اصلی Scraping قیمت، Product Enumeration، Search Abuse و Credential Stuffing است. برای این سناریو، Threshold روی Product Listing و Search فعال شود، Biometrics فقط روی Login و Register فعال شود، Known Good Bots بایپس شوند و Bot Deception روی صفحات HTML عمومی قرار بگیرد.

سناریوی پرتال سازمانی

در پرتال سازمانی، تمرکز روی Login، Session، اسکن مسیرهای مدیریتی و جلوگیری از Password Guessing است. Biometrics و Real Browser Enforcement برای Login مفید است. Scanner Detection باید سریع‌تر سخت‌گیرانه شود، اما Health Checkها و مانیتورینگ داخلی باید Exception شوند.

سناریوی API یا ESB

برای API، Biometrics معمولاً انتخاب خوبی نیست چون Clientها مرورگر انسانی نیستند. در این سناریو بیشتر روی Threshold، Rate/DoS Protection، Signature، API Protection، Client Certificate، JWT یا Authentication بیرونی تمرکز کنید. Bot Mitigation می‌تواند کمک کند، اما باید URLها و Exceptionها دقیق باشد.

سناریوی سایت خبری یا محتوایی

مشکل اصلی معمولاً Crawler و Scraper است. Bot Deception و Content Scraping Detection مفید هستند. Known Good Bots باید با دقت Bypass شوند تا SEO آسیب نبیند.

14. لاگ، مانیتورینگ و عیب‌یابی

برای بررسی رخدادها از مسیرهای زیر استفاده کنید:

Log & Report > Log Access > Attack
FortiView > Threats
Bot Mitigation > ML Based Bot Detection > Violations

دستورهای مفید برای بررسی Config:

show waf known-bots
show waf threshold-based-detection
show waf biometrics-based-detection
show waf bot-deception
show waf bot-mitigate-policy
show waf web-protection-profile inline-protection

اگر Bot Mitigation کار نمی‌کند، این موارد را بررسی کنید:

  • Bot Mitigation Policy ساخته شده اما به Web Protection Profile وصل نشده است.
  • Web Protection Profile به Server Policy درست متصل نیست.
  • ترافیک HTTPS Decrypt نمی‌شود و FortiWeb رفتار HTTP را کامل نمی‌بیند.
  • URL List در Biometrics یا Bot Deception با مسیر واقعی سایت Match نمی‌شود.
  • Action روی Alert است و انتظار Block دارید.
  • Exception Policy بیش از حد گسترده نوشته شده و همه چیز را مستثنی کرده است.
  • برای API از Biometrics استفاده شده و False Positive ایجاد شده است.
  • Known Good Bots اشتباه Block شده‌اند و SEO یا Indexing آسیب دیده است.

15. جدول مقایسه قابلیت‌ها

قابلیت مناسب برای نامناسب یا پرریسک برای Action پیشنهادی شروع نکته مهم
Known Bots تفکیک Bot خوب و بد زمانی که دیتابیس/Update در دسترس نیست Good Bots: Bypass، Bad Bots: Alert برای SEO حیاتی است
Threshold Based Detection Scanner، Scraper، Slow Attack، Crawler سایت‌هایی با Burst طبیعی زیاد بدون تیونینگ Alert Threshold باید با لاگ واقعی تنظیم شود
Biometrics Based Detection Login، Register، فرم‌های تعاملی API، Webhook، Mobile App بدون Browser Event Alert یا Real Browser روی کل سایت فعال نشود
Bot Deception Crawlerهای ساده و Scraperهای HTML API و مسیرهای غیر HTML Alert & Deny بعد از تست Deception URL نباید واقعی باشد
ML Based Bot Detection ترافیک زیاد و الگوهای پیچیده سایت کم‌ترافیک یا تازه راه‌اندازی‌شده Learning سپس Monitor به زمان یادگیری نیاز دارد
Advanced Bot Protection Botهای حرفه‌ای و سناریوهای Enterprise محیط‌های آفلاین یا بدون امکان ارتباط Cloud Sample Collection سپس Enforce سرویس SaaS و نیازمند طراحی جداست

Bot Mitigation در FortiWeb دقیقاً چه کاری انجام می‌دهد؟

Bot Mitigation رفتارهای خودکار و مشکوک را شناسایی می‌کند و بر اساس تنظیمات می‌تواند فقط Alert بدهد، درخواست را Deny کند، برای مدتی Client را Block کند یا از روش‌هایی مثل CAPTCHA و Real Browser Enforcement استفاده کند.

آیا Bot Mitigation برای API هم مناسب است؟

بله، اما باید با احتیاط تنظیم شود. برای API خام، Bot Deception و Biometrics معمولاً انتخاب اصلی نیستند. برای API بهتر است Threshold، Rate Control، API Protection، Token Validation و Exception برای Clientهای مجاز استفاده شود.

Bot Deception چه زمانی کاربرد دارد؟

وقتی سایت HTML دارید و می‌خواهید Crawlerهای بدرفتار را شناسایی کنید. FortiWeb لینک مخفی در صفحه HTML قرار می‌دهد؛ کاربر واقعی آن را نمی‌بیند اما بعضی Botها لینک را دنبال می‌کنند و شناسایی می‌شوند.

آیا باید از اول Action را روی Block بگذاریم؟

خیر. در بیشتر محیط‌های Production بهتر است ابتدا Alert و لاگ فعال شود، سپس بعد از بررسی False Positiveها، Actionهای سخت‌گیرانه مثل Alert & Deny یا Period Block فعال شوند.

چرا بعضی Botهای سالم ممکن است Block شوند؟

اگر Thresholdها سخت‌گیرانه باشند یا Known Botها و ابزارهای مانیتورینگ Exception نشده باشند، Botهای سالم مثل موتورهای جست‌وجو یا سرویس‌های مانیتورینگ ممکن است اشتباه Block شوند.

برای Login چه تنظیمی بهتر است؟

برای Login بهتر است Illegal User Scan، Threshold برای تلاش‌های پرتکرار، Real Browser Enforcement و در صورت نیاز CAPTCHA شرطی استفاده شود. همچنین IP واقعی Client و لاگ‌ها باید درست دیده شوند.
آخرین بروزرسانی
۴ خرداد ۱۴۰۵ 
تعداد کلیک
۲