اسکنر هوشمند آسیب‌پذیری با Nessus و Google Sheets

اسکنر هوشمند آسیب‌پذیری با Nessus و Google Sheets

12 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

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

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

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

اسکنر آسیب‌پذیری مبتنی بر هوش مصنوعی با Nessus، اولویت‌بندی ریسک و گزارش‌دهی Google Sheets

این گردش کار، اسکن آسیب‌پذیری را با استفاده از API Nessus خودکار می‌کند، ارزیابی و اولویت‌بندی ریسک مبتنی بر هوش مصنوعی را به کار می‌گیرد، هشدارهایی را برای آسیب‌پذیری‌های حیاتی ایجاد می‌کند و نتایج خلاصه‌شده را با گزارش‌دهی ایمیلی به Google Sheets صادر می‌کند. این گردش کار برای تیم‌های امنیتی طراحی شده است تا فرآیند مدیریت آسیب‌پذیری خود را با امتیازدهی ریسک هوش مصنوعی، اولویت‌بندی ساختاریافته و گزارش‌دهی مطابق با انطباق بهبود بخشند.

شما می‌توانید این گردش کار را در حساب Axeto.ai خود از کاتالوگ Axeto پیدا کرده و وارد کنید: گردش کارهای n8n Axeto.ai.

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

این گردش کار به چندین بخش منطقی تقسیم شده است:

1. راه‌اندازی و احراز هویت: اسکن را بر اساس یک برنامه زمان‌بندی شده آغاز می‌کند و یک جلسه احراز هویت شده با API Nessus برقرار می‌سازد.

2. فاز کشف: بخش‌های شبکه را آماده کرده و دارایی‌ها را در محدوده تعریف شده با استفاده از API Nessus کشف می‌کند.

3. پردازش هوش مصنوعی: داده‌های دارایی کشف شده را به فرمتی مناسب برای اسکن پردازش می‌کند.

4. فاز اسکن: دارایی‌ها را پیمایش کرده، اسکن‌های Nessus را آغاز می‌کند و یافته‌های خام آسیب‌پذیری را پردازش می‌کند.

5. ارزیابی ریسک و اولویت‌بندی هوش مصنوعی: منطق هوش مصنوعی را برای ارزیابی ریسک هر آسیب‌پذیری به کار می‌گیرد و آن‌ها را برای اولویت‌بندی دسته‌بندی می‌کند.

6. هشداردهی: هشدارهای فوری را برای آسیب‌پذیری‌های پرخطر (بحرانی) که در طول فرآیند اولویت‌بندی شناسایی شده‌اند، فعال می‌کند.

7. گزارش‌دهی و خروجی: خلاصه‌ای از ارزیابی آسیب‌پذیری را تولید می‌کند، یک گزارش ایمیلی ارسال می‌کند و یافته‌ها را به Google Sheets صادر می‌کند.

8. مدیریت خطا: هر خطایی را که در طول اجرای گردش کار رخ می‌دهد، ثبت می‌کند، اطلاعات حساس را پاکسازی کرده و آن‌ها را برای بررسی در یک Google Sheet اختصاصی ثبت می‌کند.

تحلیل گره‌های دقیق

۱. راه‌اندازی و احراز هویت

این بخش تضمین می‌کند که گردش کار در زمان‌بندی مشخص شروع شده و با استفاده از API Nessus به طور امن احراز هویت شده و یک توکن جلسه معتبر دریافت می‌کند.

  • گره‌ها (Nodes):

* Schedule Trigger (راه‌انداز زمان‌بندی)

* HTTP Request (احراز هویت - ورود به Nessus)

* Set (احراز هویت - تنظیم توکن API)

  • جزئیات:

* Schedule Trigger: گردش کار را بر اساس یک عبارت cron، روزانه ساعت ۰۷:۰۰ صبح (منطقه زمانی Australia/Sydney) آغاز می‌کند.

* HTTP Request (ورود به Nessus): با استفاده از اعتبارنامه‌های ذخیره شده در متغیرهای محیطی، به نقطه پایانی API Nessus (${NESSUS_API_URL}/session) احراز هویت می‌کند. یک درخواست POST با نام کاربری و رمز عبور ارسال می‌کند.

* Set (تنظیم توکن API): توکن جلسه API Nessus (که معمولاً در هدر set-cookie یافت می‌شود و اغلب به عنوان "X-Cookie" نامیده می‌شود) را از پاسخ ورود استخراج می‌کند. این توکن سپس برای استفاده در درخواست‌های API بعدی ذخیره می‌شود.

۲. فاز کشف

این بخش اهداف شبکه را آماده کرده و فرآیند کشف دارایی‌ها را با استفاده از API Nessus آغاز می‌کند.

  • گره‌ها (Nodes):

* Function (کشف - مقداردهی اولیه بخش‌های شبکه)

* HTTP Request (کشف - کشف دارایی‌ها)

* Function (هوش مصنوعی - پردازش دارایی‌ها)

  • جزئیات:

* Function (مقداردهی اولیه بخش‌های شبکه): بخش‌ها یا زیرشبکه‌های شبکه را از متغیر محیطی NETWORK_SEGMENTS (که انتظار می‌رود به صورت آرایه JSON باشد) بارگیری می‌کند. این محدوده کشف دارایی‌ها را تعریف می‌کند.

* HTTP Request (کشف دارایی‌ها): برای بازیابی اطلاعات مربوط به اسکن‌های موجود و دارایی‌های مرتبط، API Nessus (به عنوان مثال، نقطه پایانی /scans) را پرس‌وجو می‌کند. از توکن API که قبلاً به دست آمده برای احراز هویت استفاده می‌کند.

* Function (هوش مصنوعی - پردازش دارایی‌ها): داده‌های خام دارایی به دست آمده از Nessus را به یک فرمت ساختاریافته (به عنوان مثال، آرایه‌ای از اشیاء که هر کدام شامل شناسه دارایی، آدرس IP و نام میزبان است) تبدیل می‌کند که برای فاز اسکن آماده است. برای اهداف نمایشی، این ممکن است از داده‌های ایستا استفاده کند.

۳. پردازش هوش مصنوعی و ابزارها

این بخش لیست دارایی‌ها را برای فاز اسکن با تقسیم آن‌ها به بخش‌های قابل مدیریت آماده می‌کند.

  • گره‌ها (Nodes):

* SplitOut (ابزارها - تقسیم دارایی‌ها)

  • جزئیات:

* SplitOut (تقسیم دارایی‌ها): آرایه دارایی‌های پردازش شده را گرفته و آن را به موارد جداگانه تقسیم می‌کند. این امکان پردازش موازی یا متوالی هر دارایی را در طول فاز اسکن فراهم می‌کند.

۴. فاز اسکن

اینجاست که اسکن‌های آسیب‌پذیری واقعی علیه دارایی‌های کشف شده آغاز شده و نتایج پردازش می‌شوند.

  • گره‌ها (Nodes):

* HTTP Request (اسکن - اجرای Nessus)

* Function (اسکن - پردازش آسیب‌پذیری‌ها)

  • جزئیات:

* HTTP Request (اجرای Nessus): برای هر دارایی به دست آمده از گره SplitOut، این گره یک اسکن Nessus را آغاز می‌کند. یک درخواست به API Nessus (به عنوان مثال، /scans) با مشخص کردن پیکربندی اسکن، هدف (آدرس IP یا نام میزبان) و اجرای فوری اسکن، ایجاد می‌کند. از توکن API احراز هویت شده استفاده می‌کند.

* Function (اسکن - پردازش آسیب‌پذیری‌ها): خروجی خام اسکن‌های Nessus را تجزیه و تحلیل می‌کند. جزئیات مربوط به آسیب‌پذیری مانند شناسه CVE، سطح ریسک (به عنوان مثال، بحرانی، بالا، متوسط، پایین)، آدرس IP تحت تأثیر و سایر اطلاعات مرتبط را استخراج می‌کند. این تابع ممکن است برای اهداف نمایشی از داده‌های ایستا استفاده کند.

۵. ارزیابی ریسک و اولویت‌بندی هوش مصنوعی

این بخش حیاتی از هوش مصنوعی برای ارزیابی ریسک مرتبط با هر آسیب‌پذیری استفاده کرده و آن‌ها را برای اولویت‌بندی مؤثر دسته‌بندی می‌کند.

  • گره‌ها (Nodes):

* Function (هوش مصنوعی - ارزیابی ریسک)

* Function (هوش مصنوعی - اولویت‌بندی آسیب‌پذیری‌ها)

  • جزئیات:

* Function (هوش مصنوعی - ارزیابی ریسک): داده‌های آسیب‌پذیری را با تخصیص معیارهای ریسک تولید شده توسط هوش مصنوعی غنی‌سازی می‌کند. این می‌تواند شامل یک امتیاز ریسک خاص هوش مصنوعی، امتیاز "احتمال بهره‌برداری" (LEV) و مسیرهای اصلاح پیشنهادی باشد. منطق در اینجا ممکن است امتیازات و مسیرهای ریسک از پیش تعریف شده را نگاشت کند یا از مدل‌های پیچیده‌تر هوش مصنوعی استفاده کند.

* Function (هوش مصنوعی - اولویت‌بندی آسیب‌پذیری‌ها): آسیب‌پذیری‌ها را بر اساس امتیازات LEV محاسبه شده به گروه‌های مجزا دسته‌بندی می‌کند:

* گروه کارشناسان (بحرانی): LEV > ۰.۹

* گروه مدیریت شده (بالا): LEV > ۰.۵

* گروه نظارت (پایین): در غیر این صورت

خروجی یک شیء حاوی آرایه‌هایی برای هر یک از این گروه‌های اولویت‌بندی است.

۶. هشداردهی

این بخش هشدار شرطی را برای آسیب‌پذیری‌های بحرانی شناسایی شده در طول فرآیند اولویت‌بندی هوش مصنوعی پیاده‌سازی می‌کند.

  • گره‌ها (Nodes):

* If (هشدار - راه‌انداز LEV)

* Email Send (هشدار تیم امنیتی)

  • جزئیات:

* If (راه‌انداز LEV): ارزیابی می‌کند که آیا هیچ آسیب‌پذیری در "گروه کارشناسان" (LEV > ۰.۹) قرار می‌گیرد یا خیر. اگر آرایه expert خالی نباشد، گردش کار را برای ارسال هشدار هدایت می‌کند.

* Email Send (هشدار تیم امنیتی): در صورت شناسایی آسیب‌پذیری‌های بحرانی، این گره یک اعلان ایمیلی فوری به تیم امنیتی ارسال می‌کند. ایمیل شامل یک مُهر زمانی، نام گردش کار و جزئیات یافته‌های بحرانی است.

۷. گزارش‌دهی و خروجی

این بخش یافته‌ها را تجمیع کرده، یک گزارش خلاصه تولید می‌کند و آن را از طریق ایمیل و یک صفحه گسترده Google Sheets توزیع می‌کند.

  • گره‌ها (Nodes):

* Function (گزارش - تولید خلاصه)

* Set (ابزارها - ویرایشگر فیلد)

* Code (JavaScript)

* Google Sheets (خروجی - ذخیره در صفحه)

* Email Send (ارسال ایمیل)

  • جزئیات:

* Function (تولید خلاصه): داده‌های اولویت‌بندی شده آسیب‌پذیری را برای محاسبه معیارهای کلیدی تجمیع می‌کند: تعداد در هر گروه اولویت‌بندی، کل یافته‌ها، بالاترین امتیاز LEV و احتمالاً شناسایی CVEهای تحت تأثیر قرار گرفته برتر. همچنین محتوای HTML را برای گزارش خلاصه ایمیل آماده می‌کند.

* Set (ویرایشگر فیلد): داده‌های خلاصه تجمیع شده (تعداد در هر گروه) را به یک آرایه ساختاریافته قالب‌بندی می‌کند، که اغلب شامل یک مُهر زمانی برای پردازش آسان‌تر و خروجی به صفحه گسترده Google Sheets است.

* Code (JavaScript): آرایه ساختاریافته groupData را به موارد جداگانه مناسب برای افزودن ردیف به ردیف به صفحه گسترده Google Sheets نگاشت می‌کند.

* Google Sheets (ذخیره در صفحه): داده‌های گزارش خلاصه تولید شده را به یک صفحه مشخص (به عنوان مثال، "summary") در یک سند Google Sheets اضافه می‌کند. این امر به اعتبارنامه‌های OAuth2 مناسب برای دسترسی به Google Sheets نیاز دارد.

* Email Send (ارسال ایمیل): گزارش جامع ارزیابی آسیب‌پذیری را به گیرندگان تعیین شده (به عنوان مثال، تیم امنیتی) ارسال می‌کند.

۸. مدیریت خطا

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

  • گره‌ها (Nodes):

* Error Trigger (خطا - در صورت شکست)

* Set (ابزارها - تنظیم داده‌های گروه‌بندی شده)

* Code (JavaScript)

* Google Sheets (خروجی - افزودن به صفحه)

  • جزئیات:

* Error Trigger (در صورت شکست): این گره طوری پیکربندی شده است که هر زمان که هر گره‌ای در گردش کار با شکست مواجه شود، فعال شود. جزئیات خطا را ثبت می‌کند.

* Set (تنظیم داده‌های گروه‌بندی شده): اطلاعات خطا را که از Error Trigger دریافت شده، ساختار می‌دهد. این معمولاً شامل مُهر زمانی خطا، نام گردش کار، گره خاصی که خطا در آن رخ داده و پیام خطا است.

* Code (JavaScript): پیام خطا را پاکسازی می‌کند. این یک مرحله امنیتی حیاتی برای حذف هرگونه اطلاعات حساس (مانند آدرس‌های IP، کلیدهای API، رمزهای عبور یا اطلاعات قابل شناسایی شخصی) قبل از ثبت آن است. عبارات منظم معمولاً برای این منظور استفاده می‌شوند.

* Google Sheets (افزودن به صفحه): ورودی ثبت خطای پاکسازی شده را به یک صفحه ثبت خطای اختصاصی در همان سند Google Sheets که برای گزارش‌دهی استفاده می‌شود، اضافه می‌کند. این یک رکورد متمرکز و قابل حسابرسی از شکست‌های گردش کار را فراهم می‌کند.

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت (Sticky Note)
Schedule TriggerSchedule Triggerراه‌اندازی گردش کار بر اساس زمان‌بندی-HTTP Request (Login)اسکن روزانه/هفتگی را راه‌اندازی کنید
HTTP Request (Login)HTTP Requestاحراز هویت به API NessusSchedule TriggerSet (Set API Token)به API اسکنر وارد شوید
Set (Set API Token)Setاستخراج توکن API از پاسخ ورودHTTP Request (Login)Function (Initialize Segments)توکن را به صورت امن برای جلسه ذخیره کنید
Function (Initialize Segments)Functionبارگذاری بخش‌های شبکه از متغیر محیطیSet (Set API Token)HTTP Request (Discover Assets)دامنه اسکن را تعریف کنید
HTTP Request (Discover Assets)HTTP Requestپرس‌وجو از Nessus برای اطلاعات داراییFunction (Initialize Segments)Function (Process Assets)دارایی‌ها را از Nessus دریافت کنید
Function (Process Assets)Functionقالب‌بندی داده‌های دارایی برای اسکنHTTP Request (Discover Assets)SplitOut (Split Assets)دارایی‌ها را برای اسکن آماده کنید
SplitOut (Split Assets)SplitOutتقسیم لیست دارایی‌ها برای تکرارFunction (Process Assets)HTTP Request (Run Nessus)دارایی‌ها را به صورت جداگانه پردازش کنید
HTTP Request (Run Nessus)HTTP Requestراه‌اندازی اسکن Nessus برای هر داراییSplitOut (Split Assets)Function (Process Vulnerabilities)اسکن Nessus را اجرا کنید
Function (Process Vulnerabilities)Functionتجزیه نتایج اسکنHTTP Request (Run Nessus)Function (Risk Evaluation)جزئیات آسیب‌پذیری را استخراج کنید
Function (Risk Evaluation)Functionامتیازدهی ریسک و مسیرهای مبتنی بر هوش مصنوعیFunction (Process Vulnerabilities)Function (Triage Vulnerabilities)ارزیابی ریسک مبتنی بر هوش مصنوعی
Function (Triage Vulnerabilities)Functionدسته‌بندی آسیب‌پذیری‌ها بر اساس ریسکFunction (Risk Evaluation)If (LEV Trigger)آسیب‌پذیری‌ها را اولویت‌بندی کنید (بحرانی، بالا، پایین)
If (LEV Trigger)If Nodeبررسی آسیب‌پذیری‌های بحرانیFunction (Triage Vulnerabilities)Email Send (Alert) / Function (Generate Summary)در صورت وجود یافته‌های بحرانی، هشدار را راه‌اندازی کنید
Email Send (Alert)Email Sendارسال هشدار آسیب‌پذیری بحرانیIf (LEV Trigger)Function (Generate Summary)تیم امنیتی را از مسائل بحرانی مطلع کنید
Function (Generate Summary)Functionتجمیع یافته‌ها برای گزارشIf (LEV Trigger) / Email Send (Alert)Set (Field Editor)نتایج اسکن را خلاصه کنید
Set (Field Editor)Setقالب‌بندی داده‌ها برای صادراتFunction (Generate Summary)Code (JavaScript)داده‌ها را برای Google Sheets آماده کنید
Code (JavaScript)Code Nodeنگاشت داده‌ها برای افزودن به شیتSet (Field Editor)Google Sheets (Save to Sheet)ردیف‌ها را برای شیت قالب‌بندی کنید
Google Sheets (Save to Sheet)Google Sheetsافزودن خلاصه به Google SheetCode (JavaScript)Email Send (Send Email)گزارش خلاصه را ثبت کنید
Email Send (Send Email)Email Sendارسال ایمیل گزارش نهاییGoogle Sheets (Save to Sheet)Error Triggerگزارش نهایی را تحویل دهید
Error TriggerError Triggerگرفتن خطاهای گردش کارAny node failureSet (Set Grouped Data)برای خطاها نظارت کنید
Set (Set Grouped Data)Setساختاردهی جزئیات خطاError TriggerCode (JavaScript)زمینه خطا را ثبت کنید
Code (JavaScript)Code Nodeپاکسازی پیام‌های خطاSet (Set Grouped Data)Google Sheets (Sheet Append)اطلاعات حساس را از گزارش‌ها حذف کنید
Google Sheets (Sheet Append)Google Sheetsافزودن خطاهای پاکسازی شده به شیتCode (JavaScript)-خطاها را به شیت ثبت کنید

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

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

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار، اسکن آسیب‌پذیری را با استفاده از Nessus خودکار می‌کند، با هوش مصنوعی ریسک‌ها را ارزیابی و اولویت‌بندی می‌کند، هشدارهای حیاتی را ایجاد کرده و نتایج را در Google Sheets گزارش می‌دهد.

چگونه می‌توانم این گردش کار را در n8n پیاده‌سازی کنم؟

شما می‌توانید این گردش کار را از کاتالوگ Axeto.ai پیدا کرده و در حساب n8n خود وارد کنید. برای جزئیات بیشتر به [گردش کارهای n8n Axeto.ai](https://axeto.ai/n8n) مراجعه کنید.

چه بخش‌هایی در این گردش کار وجود دارد؟

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

مزایای استفاده از هوش مصنوعی در این گردش کار چیست؟

هوش مصنوعی برای ارزیابی ریسک هر آسیب‌پذیری و دسته‌بندی آن‌ها جهت اولویت‌بندی به کار می‌رود، که به تیم‌های امنیتی در تمرکز بر تهدیدات حیاتی کمک می‌کند.

workflowهای مرتبط

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