ممیزی خودکار هدرهای امنیتی وب با هوش مصنوعی و گزارش‌دهی

ممیزی خودکار هدرهای امنیتی وب با هوش مصنوعی و گزارش‌دهی

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

دانلود workflow

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

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

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

ممیزی هدرهای امنیتی وب‌سایت با اصلاح مبتنی بر هوش مصنوعی و گزارش‌دهی در Google Sheets

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

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

1. دریافت ورودی: جمع‌آوری URLهای هدف از طریق ارسال فرم.

2. بازیابی و تجزیه هدر: دریافت و پردازش هدرهای HTTP از URLهای ارائه شده.

3. امتیازدهی و درجه‌بندی امنیتی: تجزیه و تحلیل هدرهای تجزیه شده برای محاسبه امتیازات امنیتی و تخصیص درجه‌ها.

4. اصلاح مبتنی بر هوش مصنوعی: استفاده از هوش مصنوعی برای پیشنهاد اقدامات اصلاحی برای ضعف‌های شناسایی شده در هدرهای امنیتی.

5. قالب‌بندی و خروجی گزارش: سازماندهی نتایج ممیزی و خروجی آن‌ها به یک Google Sheet.

6. هشداردهی: جمع‌آوری و ارسال خلاصه ایمیلی از یافته‌های ممیزی و توصیه‌های اصلاحی.

---

تشریح دقیق گردش کار

۱. دریافت ورودی

این بلوک مسئول جمع‌آوری اولیه URLهایی است که نیاز به ممیزی دارند.

  • ورودی فرم

* نوع: formTrigger

* هدف: به عنوان نقطه ورود عمل می‌کند و منتظر ارسال داده‌های فرم خارجی حاوی URLهای مورد نظر برای ممیزی است.

* پیکربندی: نیاز به راه‌اندازی یک URL Webhook برای دریافت داده‌های فرم دارد.

* ورودی: داده‌های فرم HTTP خارجی.

* خروجی: لیستی از URLها برای پردازش توسط گره‌های بعدی.

* ملاحظات: برای مدیریت مواردی که ورودی ممکن است وجود نداشته باشد یا فرمت URL نامعتبر باشد، اعتبارسنجی را پیاده‌سازی کنید، زیرا این امر می‌تواند منجر به خطا در مراحل بعدی شود.

  • لیست URL

* نوع: set

* هدف: لیست URLهای دریافتی از فرم تریگر را برای مرحله بعدی پردازش سازماندهی و آماده می‌کند.

* پیکربندی: این گره احتمالاً داده‌های URL ورودی را تغییر شکل داده یا اعتبارسنجی می‌کند.

* ورودی: داده‌های URL از گره ورودی فرم.

* خروجی: لیستی پردازش شده از URLها که به فرآیند بازیابی هدر ارسال می‌شود.

* ملاحظات: اطمینان حاصل کنید که گره لیست‌های URL خالی یا بدشکل را به درستی مدیریت می‌کند تا از توقف پردازش جلوگیری شود.

۲. بازیابی و تجزیه هدر

این بخش بر روی دریافت هدرهای HTTP برای هر URL هدف و سپس تجزیه آن‌ها برای تحلیل تمرکز دارد.

  • دریافت هدرها

* نوع: httpRequest

* هدف: درخواست‌های HTTP (معمولاً HEAD یا GET) را به URLهای مشخص شده ارسال می‌کند تا هدرهای پاسخ آن‌ها را بازیابی کند.

* پیکربندی: متد HTTP را پیکربندی کنید و اطمینان حاصل کنید که گره برای بازیابی فقط هدرها در صورت امکان تنظیم شده است.

* ورودی: لیست URLها از گره لیست URL.

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

* ملاحظات: برای مشکلات احتمالی مانند timeout درخواست، خطاهای HTTP (مانند ۴۰۴، ۵۰۰)، مدیریت redirectها یا برخورد با URLهای هدف نامعتبر، مدیریت خطای قوی را پیاده‌سازی کنید.

  • تجزیه هدرها

* نوع: code

* هدف: از کد سفارشی جاوا اسکریپت برای استخراج و نرمال‌سازی هدرهای HTTP مرتبط با امنیت از داده‌های پاسخ خام استفاده می‌کند.

* ورودی: هدرهای HTTP دریافتی از گره دریافت هدرها.

* خروجی: داده‌های هدر ساختاریافته و تجزیه شده که برای امتیازدهی امنیتی آماده شده و به گره امتیازدهنده امنیتی ارسال می‌شود.

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

۳. امتیازدهی و درجه‌بندی امنیتی

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

  • امتیازدهنده امنیتی

* نوع: code

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

* ورودی: داده‌های هدر تجزیه شده از گره تجزیه هدرها.

* خروجی: امتیازات و معیارهای امنیتی دقیق که به محاسبه‌گر درجه ارسال می‌شود.

* ملاحظات: اطمینان حاصل کنید که منطق امتیازدهی دقیق است و داده‌های هدر ناقص را به درستی مدیریت می‌کند.

  • محاسبه‌گر درجه

* نوع: code

* هدف: یک درجه امنیتی کلی (مانند A، B، C) را بر اساس امتیازات تجمیع شده از امتیازدهنده امنیتی محاسبه می‌کند.

* ورودی: امتیازات امنیتی از گره امتیازدهنده امنیتی.

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

* ملاحظات: منطق محاسبه را تأیید کنید و اطمینان حاصل کنید که ورودی‌های مختلف امتیاز را به درستی مدیریت می‌کند.

  • اگر

* نوع: if

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

* ورودی: داده‌های درجه یا امتیاز از محاسبه‌گر درجه.

* خروجی: گردش کار را به گره عامل اصلاح هوش مصنوعی هدایت می‌کند اگر شرط (مانند درجه ضعیف) برآورده شود.

* ملاحظات: شرایط واضحی را برای انشعاب تعریف کنید تا از مسیرهای غیرمنتظره گردش کار جلوگیری شود.

۴. اصلاح مبتنی بر هوش مصنوعی

اینجاست که هوش مصنوعی برای تولید توصیه‌های عملی برای بهبود هدرهای امنیتی به کار گرفته می‌شود.

  • عامل اصلاح هوش مصنوعی

* نوع: agent (LangChain Agent)

* هدف: فرآیند تولید پیشنهادات اصلاحی را با تعامل با مدل هوش مصنوعی هماهنگ می‌کند. یافته‌های ممیزی را در یک prompt برای هوش مصنوعی قالب‌بندی می‌کند.

* ورودی: داده‌های ممیزی، که به طور بالقوه شامل درجه از گره اگر است.

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

* ملاحظات: تجزیه صحیح خروجی هوش مصنوعی و مدیریت خرابی‌های احتمالی فراخوانی API را تضمین کنید.

  • مدل اصلاح هوش مصنوعی

* نوع: lmChatOpenRouter (LangChain OpenAI Chat Model)

* هدف: مدل زبان اصلی که promptها را پردازش کرده و پیشنهادات اصلاحی مبتنی بر متن تولید می‌کند.

* ورودی: promptهای ساخته شده و ارسال شده توسط عامل اصلاح هوش مصنوعی.

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

* پیکربندی: نیاز به اعتبارنامه OpenAI API معتبر و انتخاب مدل مناسب دارد.

* ملاحظات: به محدودیت‌های نرخ API، مسائل مربوط به احراز هویت و تأخیر احتمالی پاسخ توجه داشته باشید.

  • تجمیع‌کننده داده

* نوع: code

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

* ورودی: خروجی اصلاح هوش مصنوعی از عامل اصلاح هوش مصنوعی.

* خروجی: داده‌های تجمیع شده که برای قالب‌بندی گزارش به گره ثابت‌های سبک ارسال می‌شود.

* ملاحظات: عدم تطابق داده‌ها یا خطاهای احتمالی را در طول فرآیند تجمیع مدیریت کنید.

۵. قالب‌بندی و خروجی گزارش

این بلوک داده‌های جمع‌آوری شده را برای ارائه و ذخیره‌سازی آماده می‌کند.

  • ثابت‌های سبک

* نوع: code

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

* ورودی: داده‌های تجمیع شده از تجمیع‌کننده داده.

* خروجی: داده‌های سبک‌دهی شده که به سازنده محتوا ارسال می‌شود.

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

  • سازنده محتوا

* نوع: code

* هدف: محتوای متنی و HTML نهایی را هم برای گزارش و هم برای ایمیل هشدار، با استفاده از سبک‌دهی، می‌سازد.

* ورودی: داده‌های سبک‌دهی شده از ثابت‌های سبک.

* خروجی: محتوای قالب‌بندی شده که به قالب‌بندی ایمیل ارسال می‌شود.

* ملاحظات: اطمینان حاصل کنید که محتوا به خوبی ساختار یافته و خوانا است.

  • قالب‌بندی ایمیل

* نوع: code

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

* ورودی: محتوا از سازنده محتوا.

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

* ملاحظات: سازگاری کلاینت ایمیل و استانداردهای قالب‌بندی را بررسی کنید.

  • قالب‌بندی گزارش

* نوع: set

* هدف: نتایج ممیزی و درجه‌ها را در قالبی مناسب برای خروجی به Google Sheets سازماندهی می‌کند.

* ورودی: خروجی محاسبه‌گر درجه.

* خروجی: داده‌های قالب‌بندی شده برای گره خروجی به Sheets.

* ملاحظات: اطمینان حاصل کنید که ساختار با ستون‌های مورد انتظار در Google Sheet مطابقت دارد.

  • خروجی به Sheets

* نوع: googleSheets

* هدف: نتایج ممیزی را به یک صفحه گسترده Google Sheets اختصاص داده شده اضافه یا به‌روزرسانی می‌کند.

* ورودی: داده‌های گزارش قالب‌بندی شده از قالب‌بندی گزارش.

* پیکربندی: نیاز به اعتبارنامه Google Sheets OAuth2 و شناسه صفحه گسترده و نام برگه خاص دارد.

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

۶. هشداردهی

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

  • ارسال هشدار

* نوع: gmail

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

* ورودی: محتوای ایمیل قالب‌بندی شده از قالب‌بندی ایمیل.

* پیکربندی: نیاز به اعتبارنامه Gmail OAuth2 برای احراز هویت دارد.

* ملاحظات: خطاهای احراز هویت، خرابی‌های احتمالی تحویل ایمیل را مدیریت کنید و اطمینان حاصل کنید که آدرس‌های ایمیل گیرنده معتبر هستند.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش کاربردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
دریافت ورودی
Form InputformTriggerدریافت URLهای هدف از طریق فرم خارجیExternal HTTP triggerURL List
URL Listsetآماده‌سازی لیست URL برای پردازشForm InputFetch Headers
بازیابی هدر
Fetch HeadershttpRequestبازیابی هدرهای HTTP از URLهاURL ListParse Headers
Parse Headerscodeتجزیه هدرهای خام HTTPFetch HeadersSecurity Scorer
امتیازدهی و درجه‌بندی
Security Scorercodeامتیازدهی به هدرهای امنیتی مجزاParse HeadersGrade Calculator
Grade Calculatorcodeمحاسبه درجه کلی امنیتSecurity ScorerIf, Format Report
Ififانشعاب شرطی بر اساس درجه ممیزیGrade CalculatorAI Remediation Agent
اصلاح مبتنی بر هوش مصنوعی
AI Remediation Agentagent (LangChain)سازماندهی پیشنهادات اصلاحی با هوش مصنوعیIfData Aggregator
AI Remediation ModellmChatOpenRouter (LangChain)مدل زبان هوش مصنوعی برای تولید اصلاحاتAI Remediation AgentAI Remediation AgentRequires OpenAI credentials
Data Aggregatorcodeتجمیع داده‌های اصلاحی هوش مصنوعی و ممیزیAI Remediation AgentStyle Constants
گزارش‌دهی
Style Constantscodeتعریف ثابت‌های استایل برای گزارش‌ها/ایمیل‌هاData AggregatorContent Builder
Content Buildercodeساخت محتوا برای ایمیل و گزارش‌هاStyle ConstantsEmail Formatter
Email Formattercodeقالب‌بندی محتوای نهایی ایمیلContent BuilderSend Alert
Format Reportsetقالب‌بندی داده‌ها برای خروجی Google SheetsGrade CalculatorExport to Sheets
Export to SheetsgoogleSheetsخروجی دادن داده‌های گزارش به Google SheetsFormat Report-Requires Google Sheets OAuth2 credentials
هشداردهی
Send Alertgmailارسال هشدار ایمیلیEmail Formatter-Requires Gmail OAuth2 credentials

---

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

مراحل زیر را برای بازسازی گردش کار دنبال کنید:

1. گره ورودی فرم:

* نوع: formTrigger

* پیکربندی: Webhook را برای دریافت ارسال‌های فرم حاوی URLها تنظیم کنید. نیازی به اعتبارنامه نیست.

* خروجی: داده‌های فرم را به گره بعدی منتقل می‌کند.

2. گره لیست URL:

* نوع: set

* پیکربندی: این گره را برای استخراج، اعتبارسنجی و ذخیره URLها از داده‌های ورودی فرم پیکربندی کنید.

* ورودی: از گره Form Input متصل شوید.

* خروجی: URLهای پردازش شده را به گره Fetch Headers منتقل می‌کند.

3. گره Fetch Headers:

* نوع: httpRequest

* پیکربندی: متد HTTP را روی HEAD یا GET تنظیم کنید. آن را برای دریافت فقط هدرهای پاسخ پیکربندی کنید. مکانیزم‌های مهلت زمانی و تلاش مجدد قوی را پیاده‌سازی کنید.

* ورودی: از گره URL List متصل شوید.

* خروجی: هدرهای پاسخ خام را به گره Parse Headers منتقل می‌کند.

4. گره Parse Headers:

* نوع: code

* پیکربندی: کد جاوا اسکریپت را برای تجزیه هدرهای پاسخ اضافه کنید. بر استخراج هدرهای امنیتی کلیدی مانند Content-Security-Policy، Strict-Transport-Security، X-Frame-Options و غیره تمرکز کنید.

* ورودی: از گره Fetch Headers متصل شوید.

* خروجی: داده‌های هدر تجزیه شده را به گره Security Scorer منتقل می‌کند.

5. گره Security Scorer:

* نوع: code

* پیکربندی: منطق جاوا اسکریپت را برای ارزیابی هر هدر امنیتی استخراج شده در برابر بهترین شیوه‌های امنیتی از پیش تعریف شده پیاده‌سازی کنید. بر اساس انطباق امتیاز تخصیص دهید.

* ورودی: از گره Parse Headers متصل شوید.

* خروجی: نتایج امتیازدهی را به گره Grade Calculator منتقل می‌کند.

6. گره Grade Calculator:

* نوع: code

* پیکربندی: کد جاوا اسکریپت را برای تجمیع امتیازات از Security Scorer و محاسبه یک درجه امنیتی کلی (به عنوان مثال، A+، B-، C) بنویسید.

* ورودی: از گره Security Scorer متصل شوید.

* خروجی: درجه محاسبه شده را هم به گره If و هم به گره Format Report منتقل می‌کند.

7. گره If:

* نوع: if

* پیکربندی: شرطی را بر اساس درجه محاسبه شده توسط Grade Calculator تنظیم کنید. به عنوان مثال، اگر درجه کمتر از یک آستانه مشخص (مثلاً 'B-') باشد، به سمت AI Remediation ادامه دهید.

* ورودی: از گره Grade Calculator متصل شوید.

* خروجی: گردش کار را در صورت برآورده شدن شرط به AI Remediation Agent هدایت می‌کند.

8. گره AI Remediation Agent:

* نوع: agent (LangChain)

* پیکربندی: عامل را برای استفاده از AI Remediation Model پیکربندی کنید. ساختار اعلان را که شامل یافته‌های حسابرسی (هدرها، امتیازات، درجه) است که باید به هوش مصنوعی ارسال شود، تعریف کنید.

* ورودی: از گره If متصل شوید.

* خروجی: پیشنهادات اصلاحی تولید شده توسط هوش مصنوعی را به گره Data Aggregator منتقل می‌کند.

9. گره AI Remediation Model:

* نوع: lmChatOpenRouter (LangChain)

* پیکربندی: کلید API OpenAI خود را تنظیم کرده و مدل زبان مورد نظر (به عنوان مثال، gpt-3.5-turbo، gpt-4) را انتخاب کنید.

* ورودی: اعلان‌ها را از AI Remediation Agent دریافت می‌کند.

* خروجی: متن تولید شده توسط هوش مصنوعی را به AI Remediation Agent برمی‌گرداند.

10. گره Data Aggregator:

* نوع: code

* پیکربندی: کد جاوا اسکریپت را برای ترکیب متن اصلاحی تولید شده توسط هوش مصنوعی با داده‌های حسابرسی اصلی (URL، هدرها، امتیازات، درجه) در یک شیء واحد و ساختاریافته اضافه کنید.

* ورودی: از گره AI Remediation Agent متصل شوید.

* خروجی: داده‌های تجمیع شده را به گره Style Constants منتقل می‌کند.

11. گره Style Constants:

* نوع: code

* پیکربندی: متغیرهایی را برای قالب‌بندی سازگار، مانند کدهای رنگ، سبک‌های فونت، یا عبارات استاندارد گزارش تعریف کنید.

* ورودی: از گره Data Aggregator متصل شوید.

* خروجی: داده‌های استایل‌بندی شده را به گره Content Builder منتقل می‌کند.

12. گره Content Builder:

* نوع: code

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

* ورودی: از گره Style Constants متصل شوید.

* خروجی: محتوای تولید شده را به گره Email Formatter منتقل می‌کند.

13. گره Email Formatter:

* نوع: code

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

* ورودی: از گره Content Builder متصل شوید.

* خروجی: محتوای نهایی ایمیل را به گره Send Alert منتقل می‌کند.

14. گره Format Report:

* نوع: set

* پیکربندی: داده‌های دریافتی از Grade Calculator را به قالبی آرایه‌ای یا شیء مناسب برای گره googleSheets (به عنوان مثال، تعریف ستون‌هایی مانند URL، Grade، Security Score) ساختاربندی کنید.

* ورودی: از گره Grade Calculator متصل شوید.

* خروجی: داده‌های قالب‌بندی شده را به گره Export to Sheets منتقل می‌کند.

15. گره Export to Sheets:

* نوع: googleSheets

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

* ورودی: از گره Format Report متصل شوید.

* خروجی: داده‌ها را در Google Sheets می‌نویسد.

16. گره Send Alert:

* نوع: gmail

* پیکربندی: با استفاده از Gmail OAuth2 احراز هویت کنید. فرستنده، گیرنده(ها)، موضوع و بدنه (با استفاده از خروجی Email Formatter) را پیکربندی کنید.

* ورودی: از گره Email Formatter متصل شوید.

* خروجی: ایمیل هشدار را ارسال می‌کند.

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

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

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

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

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

گردش کار هدرهای HTTP را بازیابی، تجزیه و تحلیل کرده و بر اساس بهترین شیوه‌های امنیتی، امتیازدهی و درجه‌بندی می‌کند.

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

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

خروجی این گردش کار چیست؟

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

workflowهای مرتبط

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