0Pricing
AWS Solutions Architect · درس

CloudTrail Insights وسلامة ملفات السجل

مكّن CloudTrail Insights لاكتشاف نشاط API غير المعتاد، واستخدم ملفات الملخص للتحقق من سلامة ملفات السجل لأغراض التحليل الجنائي

CloudTrail Insights وسلامة ملفات السجل درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

ما هي CloudTrail Insights؟

CloudTrail Insights ميزة اختيارية تستخدم تعلّم الآلة لاكتشاف نشاط API غير المعتاد في حساب AWS تلقائيًا. فهي تنشئ خطًا أساسًا لمعدلات استدعاءات API المعتادة وأحجام أحداث الإدارة الخاصة بالكتابة لكل API، ثم تنبهك عندما ينحرف النشاط بدرجة كبيرة عن ذلك الخط الأساسي. تُسلَّم أحداث Insights إلى حاوية S3 نفسها التي تحتوي على سجلات Trail، ويمكنها أيضًا تشغيل قواعد EventBridge للاستجابة التلقائية.

تفعيل CloudTrail Insights

يُفعَّل CloudTrail Insights لكل مسار Trail على حدة. ويمكنك اختيار اكتشاف حالات الشذوذ في معدل استدعاءات API (عدد غير معتاد من أحداث إدارة الكتابة في الثانية) أو حالات الشذوذ في معدل أخطاء API (عدد غير معتاد من أخطاء رفض الوصول أو الاختناق). يتطلب Insights وجود مسار Trail نشط مع تفعيل أحداث الإدارة. تفرض AWS رسومًا على أحداث Insights بالإضافة إلى رسوم أحداث المسار العادية. ويحتاج Insights إلى مدة تتراوح بين 24 و36 ساعة لإنشاء خط أساس أولي قبل أن يتمكن من بدء اكتشاف حالات الشذوذ.

# Enable CloudTrail Insights for API call rate and error rate anomalies
aws cloudtrail put-insight-selectors \
  --trail-name OrgAuditTrail \
  --insight-selectors \
    InsightType=ApiCallRateInsight \
    InsightType=ApiErrorRateInsight

# Verify insights configuration
aws cloudtrail get-insight-selectors \
  --trail-name OrgAuditTrail

فهم أحداث Insights

يتضمن حدث Insights حدث بدء وحدث انتهاء. يُطلِق حدث البدء عند بدء حالة الشذوذ — مثل الارتفاع غير المعتاد في استدعاءات TerminateInstances — ويُطلِق حدث الانتهاء عندما يعود معدل استدعاءات API إلى طبيعته. يتضمن كل حدث Insights واجهة API المتأثرة، ومعدل الخط الأساسي المعتاد، ومعدل الذروة المرصود، والمدة. ويساعدك ذلك على معرفة ما إذا كانت حالة الشذوذ هجومًا مستمرًا أم دفعة قصيرة.

# Search for Insights events in the last 30 days
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventCategory,AttributeValue=insight \
  --start-time $(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%SZ) \
  --query 'Events[].{Time:EventTime,Name:EventName,Source:EventSource}' \
  --output table

ما الذي يكتشفه Insights عمليًا

من حالات الشذوذ الشائعة التي يحددها CloudTrail Insights: اختراق بيانات الاعتماد، حيث يستخدم مهاجم مفاتيح مسروقة لحصر جميع حاويات S3 بسرعة عالية؛ وبرنامج نشر تمت تهيئته بشكل خاطئ، يكرر استدعاء EC2 API آلاف المرات؛ وتهديد من الداخل يحذف الموارد بوتيرة أسرع من المعتاد؛ أو هجوم على سلسلة التوريد، حيث تبدأ دالة Lambda فجأة بإجراء استدعاءات STS غير معتادة. يوفر Insights نافذة اكتشاف أسرع من مراجعة سجلات CloudTrail يدويًا.

تكامل EventBridge للاستجابة التلقائية

تُسلَّم أحداث CloudTrail Insights تلقائيًا إلى Amazon EventBridge، مما يتيح الاستجابة التلقائية. يمكنك إنشاء قاعدة EventBridge تشغّل دالة Lambda عند اكتشاف حدث Insights — مثل إرسال رسالة إلى Slack، أو إنشاء تذكرة Jira، أو حتى إبطال مفاتيح وصول مستخدم IAM تلقائيًا إذا تطابقت حالة الشذوذ مع نمط هجوم معروف. ينشئ ذلك مسارًا آليًا أمنيًا فوريًا حول نتائج Insights.

# EventBridge rule to trigger Lambda when a CloudTrail Insights event fires
aws events put-rule \
  --name CloudTrailInsightsAlert \
  --event-pattern '{
    "source": ["aws.cloudtrail"],
    "detail-type": ["AWS Insight via CloudTrail"]
  }' \
  --state ENABLED

# Add Lambda as the target
aws events put-targets \
  --rule CloudTrailInsightsAlert \
  --targets Id=LambdaTarget,Arn=arn:aws:lambda:us-east-1:111122223333:function:SecurityResponder

التحقق من سلامة ملفات السجل

يضمن التحقق من سلامة ملفات السجل عدم تعديل ملفات سجل CloudTrail أو حذفها أو تزويرها بعد تسليمها إلى S3. عند تفعيله (باستخدام --enable-log-file-validation)، ينشئ CloudTrail ملف ملخص كل ساعة، يحتوي على تجزئات SHA-256 لجميع ملفات السجل التي سُلّمت خلال تلك الساعة، بالإضافة إلى تجزئة الملخص السابق. ويُوقَّع ملف الملخص نفسه باستخدام المفتاح الخاص بـ CloudTrail. ويمكنك التحقق من السجلات باستخدام الأمر validate-logs في AWS CLI.

# Enable log file validation when creating or updating a trail
aws cloudtrail update-trail \
  --name OrgAuditTrail \
  --enable-log-file-validation

# Validate log file integrity for a specific time range
aws cloudtrail validate-logs \
  --trail-arn arn:aws:cloudtrail:us-east-1:111122223333:trail/OrgAuditTrail \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-02T00:00:00Z \
  --verbose

آلية عمل ملفات الملخص

كل ساعة، يسلّم CloudTrail ملف ملخص إلى S3 في مسار منفصل عن ملفات السجل (s3://bucket/CloudTrail-Digest/...). يحتوي الملخص على تجزئة SHA-256 لكل ملف سجل سُلّم خلال الساعة الماضية، وعلى S3 URI لكل ملف، وعلى تجزئة الملخص السابق (مما ينشئ سلسلة تجزئات). إذا عدّل مهاجم ملف سجل بعد تسليمه، فلن تتطابق التجزئة الموجودة في الملخص بعد ذلك — وسيفشل التحقق، مع الإبلاغ عن الملفات التي تم العبث بها.

# View the structure of a CloudTrail digest file (JSON)
# {
#   "digestStartTime": "2024-01-01T00:00:00Z",
#   "digestEndTime": "2024-01-01T01:00:00Z",
#   "logFiles": [
#     {
#       "s3Bucket": "my-cloudtrail-logs",
#       "s3Object": "AWSLogs/.../CloudTrail/.../2024/01/01/file.json.gz",
#       "hashValue": "sha256:abc123...",
#       "hashAlgorithm": "SHA-256"
#     }
#   ],
#   "previousDigestHashValue": "sha256:xyz789..."
# }

حماية مسار التدقيق من العبث

لا تكون سلامة السجل مفيدة إلا إذا تمت حماية ملفات الملخص وملفات السجل نفسها. من أفضل الممارسات: تفعيل S3 MFA Delete في حاوية CloudTrail بحيث لا يمكن حذف الملفات دون MFA، وتطبيق نهج حاوية يمنع الحذف لمنع أي كيان رئيسي من حذف الكائنات، وتفعيل S3 Object Lock (وضع Compliance) للاحتفاظ بالسجلات غير القابلة للتغيير، واستخدام مسار مؤسسة حتى لا تتمكن حسابات الأعضاء من تعطيل التسجيل. تجعل هذه الضوابط مجتمعةً محو أدلة التدقيق من قِبل شخص من الداخل شبه مستحيل.

# Deny-delete policy on the CloudTrail S3 bucket
# {
#   "Sid": "DenyDeleteCloudTrailLogs",
#   "Effect": "Deny",
#   "Principal": {"AWS": "*"},
#   "Action": [
#     "s3:DeleteObject",
#     "s3:DeleteObjectVersion"
#   ],
#   "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333/*"
# }

Insights مقابل GuardDuty: خدمتان متكاملتان

يُعد CloudTrail Insights وAmazon GuardDuty خدمتين متكاملتين وليستا مكررتين. يركز Insights على حالات الشذوذ في حجم استدعاءات API — أي الارتفاعات المفاجئة في استدعاءات إدارة محددة. يحلل GuardDuty مجموعة أوسع من مصادر البيانات، بما في ذلك أحداث CloudTrail وVPC Flow Logs وسجلات DNS، لاكتشاف أنماط التهديد مثل بيانات الاعتماد المخترقة، وتعدين العملات المشفرة، واستخراج البيانات، وعناوين IP الضارة المعروفة. ولتطبيق دفاع متعدد الطبقات، فعّل الخدمتين معًا — Insights لاكتشاف حالات الشذوذ القائمة على الحجم، وGuardDuty لاكتشاف التهديدات القائمة على معلومات التهديدات.

عرض Insights في وحدة تحكم CloudTrail

في وحدة تحكم CloudTrail، تسرد علامة تبويب Insights جميع حالات الشذوذ المكتشفة مع وقتي البدء والانتهاء، واسم API، ورسم بياني يقارن معدل الخط الأساسي بالمعدل المرصود أثناء حالة الشذوذ. يؤدي النقر على حدث Insights إلى ربطك مباشرةً بأحداث الإدارة ذات الصلة في سجل الأحداث ضمن الإطار الزمني نفسه، مما يساعدك على الربط بين «حدثت حالة شذوذ» و«هذه هي استدعاءات API المحددة التي سببتها». وتكمن فائدة Insights العملية في إمكانية التعمق هذه.

حالات الاستخدام المتعلقة بالامتثال

يفرض عدد من أطر الامتثال التحقق من سلامة ملفات السجل: يتطلب PCI-DSS إثبات عدم تغيير سجلات التدقيق؛ ويفرض HIPAA ضوابط تدقيق تكشف العبث ببيانات الرعاية الصحية؛ ويتطلب SOC 2 ضوابط سلامة لسجلات الأمان. يفي الجمع بين التحقق من ملفات سجل CloudTrail وS3 Object Lock ومسارات المؤسسة بهذه المتطلبات، ويُذكَر عادةً في وثائق الامتثال الخاصة بـ AWS. عندما تذكر أسئلة الاختبار «إثبات عدم العبث بالسجلات»، فالإجابة هي التحقق من سلامة ملفات السجل.

تحقق سريع

اختبر مدى فهمك لمفاهيم AWS Solutions Architect (SAA-C03) من هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن: CloudTrail Insights يستخدم تعلّم الآلة لاكتشاف حالات الشذوذ في معدل استدعاءات API ومعدل الأخطاء، مع أحداث بدء وانتهاء؛ وأن التحقق من سلامة ملفات السجل يستخدم ملفات ملخص SHA-256 ضمن سلسلة تجزئات لاكتشاف أي عبث بملفات السجل أو حذفها؛ وأن S3 Object Lock، مقترنًا بسياسات منع الحذف، يحمي سلامة مسار التدقيق. بعد ذلك سنستكشف قواعد AWS Config والمعالجة التلقائية.

الأسئلة الشائعة

هل درس «CloudTrail Insights وسلامة ملفات السجل» مجاني؟

نعم — نص درس «CloudTrail Insights وسلامة ملفات السجل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

ماذا ستتعلم في «CloudTrail Insights وسلامة ملفات السجل»؟

مكّن CloudTrail Insights لاكتشاف نشاط API غير المعتاد، واستخدم ملفات الملخص للتحقق من سلامة ملفات السجل لأغراض التحليل الجنائي تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟

لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «CloudTrail Insights وسلامة ملفات السجل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟

نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مسارات CloudTrail وسجل الأحداث
  2. CloudTrail Insights وسلامة ملفات السجل
  3. قواعد AWS Config والمعالجة
  4. حزم التوافق ومسارات Organisation
← العودة إلى AWS Solutions Architect