خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4

خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 7022 · منبع: کاتالوگ Axeto

خودکارسازی اصلاح عفونت نقطه پایانی با Wazuh، ClamAV و GPT-4

این گردش کار فرآیند اصلاح عفونت‌های نقطه پایانی شناسایی شده توسط Wazuh را خودکار می‌کند. این ابزار از ClamAV برای اسکن آنتی‌ویروس و GPT-4 برای تجزیه و تحلیل هوشمند و خلاصه‌سازی استفاده می‌کند و با شناسایی، تجزیه و تحلیل و اصلاح خودکار هشدارهای بدافزار با شدت بالا، عملیات امنیتی (SecOps) را ساده می‌سازد.

دسته‌بندی‌ها: SecOps، خلاصه‌سازی با هوش مصنوعی

کاتالوگ Axeto: https://axeto.ai/n8n

---

۱. نمای کلی گردش کار

این گردش کار برای مراکز عملیات امنیتی (SOC) و مدیران IT طراحی شده است که به دنبال بهبود قابلیت‌های پاسخ به حوادث خود هستند. این گردش کار به طور خودکار هشدارهای بدافزار با شدت بالا را از Wazuh پردازش می‌کند، تجزیه و تحلیل دقیقی را با استفاده از GPT-4 انجام می‌دهد، اسکن‌های آنتی‌ویروس هدفمند را با ClamAV اجرا می‌کند و ذینفعان مربوطه را مطلع می‌سازد.

گردش کار به بلوک‌های منطقی زیر ساختار یافته است:

1. دریافت ورودی: دریافت داده‌های هشدار از Wazuh از طریق یک Webhook.

2. فیلتر شدت: فیلتر کردن هشدارها برای اطمینان از اینکه فقط تشخیص‌های مرتبط با شدت بالا ادامه می‌یابند.

3. خلاصه‌سازی هشدار: استفاده از GPT-4 برای تولید خلاصه‌ای مختصر و در سطح متخصص از هشدار.

4. استخراج مسیر: استفاده از GPT-4 برای شناسایی دقیق مسیر فایل عفونت شناسایی شده.

5. اجرای اسکن آنتی‌ویروس: اجرای اسکن ClamAV بر روی مسیر شناسایی شده از طریق SSH.

6. اطلاع‌رسانی ذینفعان: ارسال یک پیام Telegram که خلاصه هشدار و نتایج اسکن آنتی‌ویروس را ارائه می‌دهد.

---

۲. تشریح گره‌ها (Nodes)

۲.۱. دریافت ورودی: هشدار Wazuh

  • هدف: این گره به عنوان نقطه ورود عمل می‌کند و داده‌های خام هشدار را که از سیستم هشدار Wazuh از طریق درخواست HTTP POST ارسال می‌شود، دریافت می‌کند.
  • نوع گره: Webhook
  • پیکربندی:

* متد HTTP: POST

* مسیر (Path): یک مسیر منحصر به فرد (مانند de0c6d77-ae71-4d78-9f10-502eaa851ce8) که در Wazuh برای فعال کردن این وب‌هوک پیکربندی شده است.

* بدنه خام (Raw Body): فعال شده برای دریافت کامل payload JSON از Wazuh.

  • ورودی‌ها: درخواست‌های HTTP POST خارجی از Wazuh.
  • خروجی‌ها: داده‌های خام هشدار JSON.
  • مشکلات احتمالی: بدنه درخواست نامعتبر، متدهای HTTP نادرست، یا مشکلات اتصال شبکه که مانع دریافت داده توسط وب‌هوک می‌شود.

۲.۲. فیلتر کردن شدت: بررسی شدت بالا

  • هدف: این گره هشدارهای ورودی را فیلتر می‌کند و اطمینان حاصل می‌کند که فقط هشدارهایی که به عنوان شدت "بالا" طبقه‌بندی شده‌اند و از یک قانون خاص تشخیص ویروس ClamAV (شناسه 52502) نشأت می‌گیرند، پردازش بیشتری شوند. هشدارهایی که این معیارها را برآورده نمی‌کنند، به طور موثر نادیده گرفته می‌شوند.
  • نوع گره: If Condition
  • پیکربندی:

* شرط ۱: $json.body.severity برابر با "3 high" (مقایسه غیر حساس به حروف بزرگ و کوچک توصیه می‌شود).

* شرط ۲: $json.body.rule_id برابر با "52502".

* منطق: هر دو شرط باید درست باشند (AND).

  • ورودی‌ها: خروجی از گره Wazuh Alert.
  • خروجی‌ها:

* شاخه True: برای خلاصه‌سازی به گره OpenAI Chat Model می‌رود.

* شاخه False: به گره No Operation, do nothing متصل می‌شود.

  • مشکلات احتمالی: تغییرات در فرمت فیلدهای severity یا rule_id در JSON هشدار Wazuh می‌تواند باعث شکست شرط شود.

۲.۳. مدیریت هشدارهای غیر بحرانی: انجام هیچ عملیاتی

  • هدف: این گره به عنوان یک نقطه پایانی برای هشدارهایی عمل می‌کند که معیارهای شدت بالا تعریف شده در گره If Condition قبلی را برآورده نمی‌کنند. این اطمینان را می‌دهد که گردش کار بدون ایجاد خطا به طور موثر متوقف می‌شود.
  • نوع گره: NoOp (No Operation)
  • ورودی‌ها: خروجی false از گره Check High Severity.
  • خروجی‌ها: هیچ.

۲.۴. خلاصه‌سازی هشدار: خلاصه‌سازی هشدار

  • هدف: از GPT-4 برای ایجاد خلاصه‌ای دقیق اما مختصر از هشدار، که از دیدگاه یک تحلیلگر ارشد SOC ارائه می‌شود، استفاده می‌کند.
  • گره‌های درگیر:

* OpenAI Chat Model (برای پردازش هوش مصنوعی)

* Summarize Alert (برای اعمال منطق خلاصه‌سازی)

  • جزئیات گره:

* گره OpenAI Chat Model:

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi

* مدل: gpt-4.1-mini

* اعتبارنامه‌ها (Credentials): نیاز به اعتبارنامه‌های پیکربندی شده OpenAI API دارد.

* ورودی‌ها: داده‌های هشدار را از شاخه true گره Check High Severity دریافت می‌کند.

* خروجی‌ها: نتایج پردازش هوش مصنوعی را به گره Summarize Alert ارسال می‌کند.

* مشکلات احتمالی: خطاهای احراز هویت API، محدودیت نرخ (rate limiting)، یا تاخیر در پاسخ‌های API.

* گره Summarize Alert:

* نوع: @n8n/n8n-nodes-langchain.chainSummarization

* پیکربندی Prompt: یک prompt سفارشی به هوش مصنوعی دستور می‌دهد تا به عنوان یک تحلیلگر ارشد SOC عمل کند و بر هشدارهای تشخیص ویروس ClamAV تمرکز کند. این باید هوش مصنوعی را راهنمایی کند تا دستورات اسکن ClamAV مربوطه و دستورالعمل‌های اطلاع‌رسانی را شامل شود و به جزئیات JSON هشدار ورودی ارجاع دهد.

* ورودی‌ها: داده‌های متنی از گره OpenAI Chat Model.

* خروجی‌ها: متن خلاصه تولید شده، که به گره Extract Path ارسال می‌شود.

* مشکلات احتمالی: تفسیر نادرست prompt توسط هوش مصنوعی، یا پردازش متن هشدار خالی/نامعتبر.

۲.۵. استخراج مسیر: استخراج مسیر

  • هدف: این گره از GPT-4 برای استخراج مسیر دقیق فایل که ویروس در آن شناسایی شده است، از متن خلاصه شده هشدار استفاده می‌کند.
  • گره‌های درگیر:

* OpenAI Chat Model1 (برای پردازش هوش مصنوعی)

* Extract Path (برای اعمال منطق استخراج)

  • جزئیات گره:

* گره OpenAI Chat Model1:

* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi

* مدل: gpt-4.1-mini

* اعتبارنامه‌ها (Credentials): از همان اعتبارنامه‌های پیکربندی شده OpenAI API استفاده می‌کند.

* ورودی‌ها: متن خلاصه شده را از گره Summarize Alert دریافت می‌کند.

* خروجی‌ها: داده‌ها را به گره Extract Path ارسال می‌کند.

* مشکلات احتمالی: مشابه گره قبلی OpenAI (خطاهای API، محدودیت نرخ).

* گره Extract Path:

* نوع: @n8n/n8n-nodes-langchain.agent

* پیکربندی Prompt: یک prompt خاص به هوش مصنوعی دستور می‌دهد تا به عنوان یک دستیار هوش مصنوعی Wazuh عمل کند و مسیر تشخیص ویروس را در یک فرمت دقیق و تعریف شده استخراج کند. نمونه‌ای از فرمت خروجی مورد انتظار باید ارائه شود.

* ورودی‌ها: متن هشدار خلاصه شده از گره Summarize Alert.

* خروجی‌ها: رشته مسیر فایل استخراج شده، که به گره Run AV Scan ارسال می‌شود.

* مشکلات احتمالی: اطلاعات مسیر مبهم یا گمشده در متن ورودی، یا تجزیه نادرست توسط هوش مصنوعی.

۲.۶. اجرای اسکن آنتی‌ویروس: اجرای اسکن AV

  • هدف: با استفاده از SSH، اسکن ClamAV را بر روی مسیر فایل استخراج شده برای تلاش در جهت رفع عفونت شناسایی شده آغاز می‌کند.
  • نوع گره: SSH
  • پیکربندی:

* دستور (Command): clamscan -r {{ $json.output }} --bell -i (که در آن {{ $json.output }} مسیر فایل استخراج شده را به طور پویا درج می‌کند).

* اعتبارنامه‌ها (Credentials): اعتبارنامه‌های SSH (مانند رمز عبور یا احراز هویت مبتنی بر کلید) برای مدیر Wazuh یا نقطه پایانی هدف.

  • ورودی‌ها: رشته مسیر فایل استخراج شده از گره Extract Path.
  • خروجی‌ها: خروجی استاندارد (stdout) دستور clamscan که شامل نتایج اسکن است.
  • مشکلات احتمالی: خرابی اتصال SSH، خطاهای اجرای دستور، مسیرهای فایل نادرست یا گمشده، مجوزهای ناکافی در سیستم هدف.

۲.۷. اطلاع‌رسانی به ذینفعان: اطلاع‌رسانی به ذینفعان از طریق تلگرام

  • هدف: یک اعلان جامع به ذینفعان از طریق تلگرام ارسال می‌کند، شامل خلاصه هشدار تولید شده توسط هوش مصنوعی و نتایج اسکن ClamAV.
  • نوع گره: Telegram
  • پیکربندی:

* متن پیام (Message Text): یک پیام قالب‌بندی شده که متن خلاصه هشدار و خروجی clamscan را ترکیب می‌کند.

* اعتبارنامه‌ها (Credentials): اعتبارنامه‌های پیکربندی شده Telegram API.

* شناسه چت (Chat ID): شناسه چت خاص تلگرام برای اعلان‌ها.

  • ورودی‌ها:

* نتایج اسکن (stdout) از گره Run AV Scan.

* متن هشدار خلاصه شده از گره Summarize Alert.

  • خروجی‌ها: هیچ (این یک گره پایانی است).
  • مشکلات احتمالی: خطاهای Telegram API، شناسه چت نامعتبر، یا محدودیت نرخ توسط تلگرام.

---

۳. جدول خلاصه گردش کار

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Wazuh AlertWebhookدریافت payload هشدار WazuhExternal HTTP POSTCheck High Severity
Check High SeverityIf Conditionفیلتر برای هشدارهای ClamAV با شدت بالاWazuh AlertSummarize Alert, No Operation
No Operation, do nothingNoOpتوقف گردش کار در هشدارهای نامربوطCheck High Severity (false)None
OpenAI Chat Model@n8n/n8n-nodes-langchain.lmChatOpenAiتولید متن هوش مصنوعی برای خلاصه‌سازیCheck High Severity (true)Summarize Alert (ai\_languageModel)
Summarize Alert@n8n/n8n-nodes-langchain.chainSummarizationتولید خلاصه هشدار برای تحلیلگر SOCOpenAI Chat ModelExtract Path
OpenAI Chat Model1@n8n/n8n-nodes-langchain.lmChatOpenAiاستخراج مسیر تشخیص ویروس توسط هوش مصنوعیSummarize AlertExtract Path (ai\_languageModel)
Extract Path@n8n/n8n-nodes-langchain.agentاستخراج مسیر فایل آلودگیSummarize AlertRun AV Scan
Run AV ScanSSHاجرای اسکن ClamAV بر روی مسیر استخراج شدهExtract PathNotify Stateholders via Telegram
Notify Stateholders via TelegramTelegramارسال اعلان تلگرامRun AV ScanNone

---

۴. ساخت گردش کار از ابتدا

برای بازسازی گردش کار در رابط کاربری Axeto n8n، مراحل زیر را دنبال کنید:

1. ایجاد گره Wazuh Alert:

* یک گره Webhook اضافه کنید.

* HTTP Method را روی POST تنظیم کنید.

* یک Path منحصر به فرد تنظیم کنید (به عنوان مثال، de0c6d77-ae71-4d78-9f10-502eaa851ce8).

* گزینه Raw Body را فعال کنید.

2. ایجاد گره Check High Severity:

* یک گره If Condition اضافه کنید.

* شرایط را با استفاده از منطق AND پیکربندی کنید:

* $json.body.severity برابر با "3 high" باشد

* $json.body.rule_id برابر با "52502" باشد

* خروجی اصلی Wazuh Alert را به ورودی Check High Severity متصل کنید.

3. ایجاد گره No Operation, do nothing:

* یک گره NoOp اضافه کنید.

* خروجی false گره Check High Severity را به ورودی این گره NoOp متصل کنید.

4. ایجاد گره OpenAI Chat Model (برای خلاصه‌سازی):

* یک گره @n8n/n8n-nodes-langchain.lmChatOpenAi اضافه کنید.

* مدل gpt-4.1-mini را انتخاب کنید.

* Credentials مربوط به OpenAI API خود را پیکربندی کنید.

* خروجی true گره Check High Severity را به ورودی این گره متصل کنید.

5. ایجاد گره Summarize Alert:

* یک گره @n8n/n8n-nodes-langchain.chainSummarization اضافه کنید.

* Prompt: یک prompt مشابه زیر تعریف کنید:

```

Write a detailed concise summary of the following as a Senior SOC Analyst:

"{text}"

CONCISE SUMMARY:

```

* Custom combineMapPrompt: به هوش مصنوعی دستور دهید تا به عنوان یک دستیار هوش مصنوعی Wazuh عمل کند، دستورات اسکن ClamAV را پیشنهاد دهد، خروجی را تجمیع کند و برای اطلاع‌رسانی تلگرام آماده شود و به جزئیات هشدار ارجاع دهد.

* خروجی ai_languageModel گره OpenAI Chat Model را به ورودی Summarize Alert متصل کنید.

6. ایجاد گره OpenAI Chat Model1 (برای استخراج مسیر):

* یک گره دیگر @n8n/n8n-nodes-langchain.lmChatOpenAi اضافه کنید.

* مدل gpt-4.1-mini را انتخاب کنید.

* از همان Credentials مربوط به OpenAI API استفاده کنید.

* خروجی ai_languageModel گره Summarize Alert را به ورودی این گره متصل کنید.

7. ایجاد گره Extract Path:

* یک گره @n8n/n8n-nodes-langchain.agent اضافه کنید.

* Prompt: یک prompt تعریف کنید که به هوش مصنوعی دستور دهد مسیر فایل را که ویروس در آن شناسایی شده است از متن ارائه شده استخراج کند و فرمت خروجی مورد نظر را مشخص کند. به عنوان مثال:

```

You are the Wazuh AI Assistant. Your primary task is to understand the text below and extract the exact file path where the virus was detected. Output ONLY the file path.

Example Input:

A high-severity WAZUH alert was triggered on July 30, 2025, indicating ClamAV detected malware at /var/tmp/infected_file.exe.

Example Output:

/var/tmp/infected_file.exe

```

* خروجی ai_languageModel گره OpenAI Chat Model1 را به ورودی Extract Path متصل کنید.

8. ایجاد گره Run AV Scan:

* یک گره SSH اضافه کنید.

* Command را به صورت زیر پیکربندی کنید: clamscan -r {{ $json.output }} --bell -i

* SSH Credentials لازم برای سیستم هدف خود را تنظیم کنید.

* خروجی گره Extract Path را به ورودی Run AV Scan متصل کنید.

9. ایجاد گره Notify Stateholders via Telegram:

* یک گره Telegram اضافه کنید.

* Message Text را طوری پیکربندی کنید که هم هشدار خلاصه‌شده و هم نتایج clamscan را شامل شود. از عبارات برای ارجاع به داده‌های گره‌های قبلی استفاده کنید (به عنوان مثال، {{ $json.summarizedAlert }}, {{ $json.scanResults }}).

* Credentials مربوط به Telegram API خود را تنظیم کرده و Chat ID را مشخص کنید.

* خروجی گره Run AV Scan را به ورودی این گره Telegram متصل کنید.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه به خودکارسازی اصلاح نقطه پایانی کمک می‌کند؟

این گردش کار با دریافت هشدارهای آلودگی از Wazuh، تحلیل هوشمند آن‌ها با GPT-4، اجرای اسکن آنتی‌ویروس با ClamAV و اطلاع‌رسانی به ذینفعان، فرآیند اصلاح را خودکار می‌کند.

نقش GPT-4 در این گردش کار چیست؟

GPT-4 برای خلاصه‌سازی دقیق هشدارهای امنیتی و استخراج مسیر فایل‌های آلوده به کار می‌رود تا تحلیل و اقدام سریع‌تر انجام شود.

چگونه ClamAV در این فرآیند استفاده می‌شود؟

ClamAV از طریق SSH برای اجرای اسکن آنتی‌ویروس بر روی مسیر فایل‌های آلوده شناسایی شده توسط GPT-4 استفاده می‌شود تا تأیید و حذف بدافزار انجام گیرد.

این گردش کار برای چه کسانی مفید است؟

این گردش کار برای مراکز عملیات امنیتی (SOC) و مدیران IT که به دنبال بهبود فرآیندهای پاسخ به حوادث و خودکارسازی وظایف تکراری هستند، بسیار مفید است.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.