
اسکنر هوشمند آسیبپذیری با Nessus و Google Sheets
12 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- 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 Trigger | Schedule Trigger | راهاندازی گردش کار بر اساس زمانبندی | - | HTTP Request (Login) | اسکن روزانه/هفتگی را راهاندازی کنید |
HTTP Request (Login) | HTTP Request | احراز هویت به API Nessus | Schedule Trigger | Set (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 Sheet | Code (JavaScript) | Email Send (Send Email) | گزارش خلاصه را ثبت کنید |
Email Send (Send Email) | Email Send | ارسال ایمیل گزارش نهایی | Google Sheets (Save to Sheet) | Error Trigger | گزارش نهایی را تحویل دهید |
Error Trigger | Error Trigger | گرفتن خطاهای گردش کار | Any node failure | Set (Set Grouped Data) | برای خطاها نظارت کنید |
Set (Set Grouped Data) | Set | ساختاردهی جزئیات خطا | Error Trigger | Code (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های مرتبط
- طبقهبندی خودکار حوادث امنیتی با GPT-4 و Google SheetsSecOps
- دستهبندی خودکار ایمیل جیمیل با GPT-4o و هشدار SlackAI Summarization
- دستهبندی خودکار پستهای وبلاگ با هوش مصنوعی و گیتهابContent Creation
- خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4SecOps
- تغییر نام خودکار گرههای n8n با هوش مصنوعیEngineering
- ردیابی خودکار هزینهها از LINE با GPT-4 و Google SheetsPersonal Productivity
