راهنمای عملی تشخیص و مقابله با افشای کلیدهای دسترسی AWS با استفاده از Wazuh

۶ دقیقه مطالعهشواهد ممیزی و انطباق

این راهنما نحوه پیکربندی و استفاده از Wazuh برای شناسایی زنجیره حمله افشای کلیدهای دسترسی AWS را با بهره‌گیری از داده‌های CloudTrail و GuardDuty شرح می‌دهد. تمرکز بر مدیریت دارایی‌های عملیاتی، سخت‌سازی، ثبت لاگ‌ها و تولید شواهد فنی برای ممیزی امنیتی است.

کلیدهای دسترسی AWS، شامل شناسه کلید و کلید مخفی، برای احراز هویت کاربران و برنامه‌ها در AWS استفاده می‌شوند. در صورت افشای این کلیدها، مهاجمان می‌توانند با هویت مرتبط به کلید، عملیات مخرب انجام دهند که تشخیص آن از فعالیت‌های قانونی دشوار است. این راهنما بر اساس مستندات رسمی Wazuh، روش‌های شناسایی زنجیره حمله افشای کلیدهای دسترسی AWS را با استفاده از داده‌های CloudTrail و GuardDuty آموزش می‌دهد. همچنین نحوه پیکربندی AWS و Wazuh، اجرای سناریوی عملی حمله و اعتبارسنجی نتایج را پوشش می‌دهد.

سناریوی عملی و مراحل زنجیره حمله افشای کلیدهای دسترسی AWS

زنجیره حمله افشای کلیدهای دسترسی AWS شامل چهار مرحله اصلی است که هر کدام در سرویس‌های AWS ثبت می‌شوند و توسط Wazuh قابل شناسایی هستند:

1. اعتبارسنجی کلید: فراخوانی‌های sts:GetCallerIdentity و sts:GetSessionToken از آدرس‌های IP ناشناخته یا با User-Agent اسکنر ثبت می‌شوند.

2. شناسایی و بررسی مجوزها: درخواست‌های متعدد خواندنی مانند iam:ListUsers و دریافت خطاهای AccessDenied که نشان‌دهنده تلاش مهاجم برای کشف مجوزها است.

3. حفظ دسترسی (Persistence): ایجاد کلیدهای دسترسی جدید، کاربران یا سیاست‌های جدید توسط مهاجم ثبت می‌شود.

4. استخراج داده‌ها (Exfiltration): GuardDuty هشدارهایی مانند Exfiltration:S3/AnomalousBehavior صادر می‌کند و فعالیت‌های سنگین s3:GetObject ثبت می‌شود.

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

پیش‌نیازها و پیکربندی سرویس‌های AWS

برای جمع‌آوری داده‌های لازم، باید سرویس‌های AWS زیر فعال و پیکربندی شوند:

– AWS CloudTrail برای ثبت تمام فراخوانی‌های API در حساب AWS و ارسال لاگ‌ها به یک باکت S3 امن.

– Amazon GuardDuty برای تشخیص تهدیدات و رفتارهای مشکوک در حساب AWS.

– AWS KMS برای رمزنگاری یافته‌های GuardDuty در باکت S3 با کلید مدیریت شده توسط مشتری.

– Amazon S3 برای ذخیره لاگ‌های CloudTrail و GuardDuty.

مراحل کلیدی پیکربندی شامل ایجاد باکت S3 با رمزنگاری SSE-S3، ایجاد CloudTrail با ارسال لاگ به باکت، فعال‌سازی GuardDuty با تنظیم فرکانس انتشار یافته‌ها به 15 دقیقه، ایجاد کلید KMS و تنظیم سیاست‌های دسترسی مناسب برای سرویس‌ها و کاربران است.

ایجاد کاربر IAM برای یکپارچه‌سازی Wazuh و تنظیم مجوزها

یک کاربر IAM مخصوص Wazuh ایجاد کنید که دسترسی خواندن به باکت S3 و مجوز رمزگشایی کلید KMS GuardDuty را داشته باشد.

سیاست IAM زیر را ایجاد و به این کاربر اختصاص دهید تا Wazuh بتواند لاگ‌ها را بازیابی و رمزگشایی کند:

– دسترسی s3:GetObject و s3:ListBucket به باکت لاگ‌ها

– مجوز kms:Decrypt برای کلید KMS GuardDuty

کلیدهای دسترسی این کاربر را ذخیره کنید و در فایل /root/.aws/credentials روی سرور Wazuh قرار دهید تا ماژول AWS بتواند به داده‌ها دسترسی داشته باشد.

پیکربندی ماژول AWS در Wazuh برای جمع‌آوری و تحلیل لاگ‌ها

در فایل پیکربندی /var/ossec/etc/ossec.conf، ماژول aws-s3 را فعال و تنظیم کنید تا لاگ‌های CloudTrail و GuardDuty را از باکت S3 جمع‌آوری کند.

فایل‌های فهرست (CDB lists) برای آدرس‌های IP مورد اعتماد و شناسه‌های سرویس AWS ایجاد کنید تا هشدارهای کاذب از فعالیت‌های قانونی جلوگیری شود.

قوانین همبستگی سفارشی در فایل aws_iam_compromise_rules.xml تعریف کنید که مراحل مختلف زنجیره حمله را شناسایی و به هم مرتبط می‌کند. این قوانین شامل شناسایی فراخوانی‌های غیرمجاز، خطاهای مکرر AccessDenied، ایجاد کلیدهای جدید و هشدارهای GuardDuty است.

پس از اعمال تغییرات، سرویس Wazuh Manager را ریستارت کنید و از اجرای صحیح ماژول AWS و بارگذاری قوانین اطمینان حاصل کنید.

اجرای سناریوی حمله و اعتبارسنجی تشخیص‌ها

یک کاربر IAM جدید با دسترسی محدود ایجاد کنید که نماینده هویت به سرقت رفته باشد.

از یک نقطه انتهایی اوبونتو به عنوان مهاجم، AWS CLI را نصب و پیکربندی کنید تا با کلیدهای دسترسی این کاربر کار کند.

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

– مرحله اعتبارسنجی: فراخوانی sts get-caller-identity

– مرحله شناسایی: ارسال چندین درخواست iam list-users که منجر به خطای AccessDenied می‌شود

– مرحله حفظ دسترسی: تلاش برای ایجاد کلید دسترسی جدید (که ممکن است رد شود)

برای اعتبارسنجی مرحله استخراج داده‌ها، نمونه‌ای از یافته‌های GuardDuty را با دستور aws guardduty create-sample-findings ایجاد کنید.

Wazuh باید هر مرحله را شناسایی و در نهایت هشدارهای همبسته با سطح بالا را تولید کند.

بازبینی و مشاهده هشدارها در داشبورد Wazuh

برای مشاهده هشدارهای مربوط به افشای کلیدهای دسترسی AWS در داشبورد Wazuh:

– به بخش Threat intelligence > Threat Hunting بروید.

– تب Events را انتخاب کنید.

– فیلتر جدیدی با گروه قوانین aws_iam_compromise اضافه کنید.

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

توصیه‌های عملی برای سخت‌سازی و بهبود امنیت

برای کاهش ریسک افشای کلیدهای دسترسی و افزایش اثربخشی تشخیص، اقدامات زیر توصیه می‌شود:

– استفاده از نقش‌های IAM و اعتبارنامه‌های کوتاه‌مدت به جای کلیدهای دسترسی بلندمدت.

– جمع‌آوری لاگ‌ها از طریق SQS به جای فقط polling از S3 برای جلوگیری از از دست رفتن داده‌ها.

– اعمال سیاست‌های کنترل سرویس (SCP) برای محدود کردن استفاده از کلیدها به محدوده‌های شبکه مشخص.

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

– چرخش منظم کلیدهای دسترسی و اسکن مخازن کد و تنظیمات CI/CD برای جلوگیری از انتشار کلیدها.

– به‌روزرسانی منظم فهرست IPهای مورد اعتماد و شناسه‌های سرویس برای جلوگیری از هشدارهای کاذب.

– استفاده از سیاست AWSCompromisedKeyQuarantineV2 برای غیرفعال‌سازی خودکار کلیدهای به سرقت رفته.

– فعال‌سازی IAM Access Analyzer برای شناسایی مجوزهای اضافی و دسترسی‌های ناخواسته.

چک‌لیست بررسی فنی

  • فعال‌سازی و پیکربندی AWS CloudTrail با ارسال لاگ‌ها به باکت S3 رمزنگاری شده
  • فعال‌سازی Amazon GuardDuty و تنظیم فرکانس انتشار یافته‌ها به 15 دقیقه
  • ایجاد کلید KMS برای رمزنگاری یافته‌های GuardDuty و تنظیم سیاست‌های دسترسی
  • ایجاد کاربر IAM برای Wazuh با مجوزهای خواندن باکت و رمزگشایی کلید KMS
  • پیکربندی ماژول aws-s3 در Wazuh برای جمع‌آوری لاگ‌ها و تعریف قوانین همبستگی
  • ایجاد فهرست‌های IPهای مورد اعتماد و شناسه‌های سرویس در Wazuh برای کاهش هشدارهای کاذب
  • اجرای سناریوی حمله شبیه‌سازی شده و بررسی تولید هشدارهای مرتبط در داشبورد Wazuh
  • بازبینی و به‌روزرسانی سیاست‌های امنیتی AWS برای سخت‌سازی و کاهش ریسک افشا

جمع‌بندی

با استفاده از داده‌های بومی AWS مانند CloudTrail و GuardDuty و تحلیل آن‌ها توسط Wazuh، می‌توان زنجیره کامل حمله افشای کلیدهای دسترسی AWS را شناسایی کرد. این رویکرد با همبستگی رویدادها، هشدارهای با اطمینان بالا تولید می‌کند که به تیم‌های امنیتی امکان واکنش سریع و جلوگیری از تسلط کامل مهاجم بر حساب AWS را می‌دهد. اجرای توصیه‌های سخت‌سازی و نگهداری منظم فهرست‌های مورد اعتماد، اثربخشی این روش را افزایش می‌دهد و به حفظ امنیت دارایی‌های عملیاتی در فضای ابری کمک می‌کند.

امن‌یار چطور به اجرای این مسیر کمک می‌کند؟

امن‌یار برای تیم‌های امنیت، مدیران سیستم و DevSecOps مسیر ثبت دارایی، پیگیری وضعیت سخت‌سازی، نگهداری شواهد فنی و آماده‌سازی ممیزی را شفاف‌تر می‌کند.

درخواست دموی سازمانی امن‌یار