أمان التخزين السحابي ومخاطر كشف البيانات
تعلّم كيف تؤدي إعدادات S3 buckets وAzure Blob containers وGCS buckets غير الصحيحة إلى كشف البيانات، وكيفية فرض سياسات الحاويات وضوابط الوصول.
أمان التخزين السحابي ومخاطر كشف البيانات درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
أساسيات تخزين الكائنات السحابي
يخزن تخزين الكائنات السحابي، مثل AWS S3 وAzure Blob Storage وGoogle Cloud Storage (GCS)، الملفات على هيئة كائنات في مساحات أسماء مسطحة تُسمى حاويات أو مستودعات. وعلى خلاف أنظمة الملفات التقليدية، تتحكم السياسات المرفقة بالحاويات والكائنات في الأذونات بدلًا من قوائم التحكم بالوصول إلى نظام الملفات. ويُعد تخزين الكائنات مناسبًا للبيانات واسعة النطاق، لكنه يتطلب تهيئة دقيقة للأذونات، لأن حاوية واحدة سيئة التهيئة قد تكشف تيرابايتات من البيانات الحساسة على الإنترنت العام.
سوء تهيئة الحاويات العامة
تتمثل الثغرة الأكثر شيوعًا في التخزين السحابي في حاوية متاحة للعامة، وهي حاوية تخزين تسمح سياسة الوصول فيها بالقراءة المجهولة (أو الكتابة المجهولة). تسبب سوء التهيئة هذا في عشرات الاختراقات الكبرى، منها Verizon (14 مليون سجل عميل)، وFedEx (119,000 جواز سفر)، وCapital One (100 مليون طلب بطاقة ائتمان). ويستخدم المهاجمون أدوات فحص مؤتمتة لاكتشاف الحاويات العامة عبر جميع أنماط تسمية حسابات AWS المعروفة، مما يجعل اكتشافها سهلًا بمجرد حدوث سوء التهيئة.
# Check if S3 bucket is publicly accessible
aws s3api get-bucket-policy --bucket my-bucket
aws s3api get-bucket-acl --bucket my-bucket
# Block all public access (AWS recommended default)
aws s3api put-public-access-block \
--bucket my-bucket \
--public-access-block-configuration \
'BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true'سياسات الحاويات مقابل قوائم ACL
يستخدم التخزين السحابي نوعين من عناصر التحكم في الوصول قد يتعارضان. سياسات الحاويات هي مستندات JSON مرفقة بالحاوية، وتحدد العمليات التي يمكن لكل أصل تنفيذها. أما قوائم التحكم بالوصول (ACLs) فهي منح أذونات قديمة على مستوى كل كائن. توصي AWS بتعطيل قوائم ACLs وتفضيل سياسات الحاويات لتحقيق الاتساق. وعند وجود النوعين معًا، تسود السياسة الأكثر سماحًا، ما يعني أن قائمة ACL شديدة السماح قد تمنح وصولًا عامًا حتى إذا كانت سياسة الحاوية تقيّده.
# S3 bucket policy example — restrict to specific account
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': { 'AWS': 'arn:aws:iam::123456789012:root' },
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}
# All other principals implicitly deniedالتشفير أثناء السكون في تخزين الكائنات
يوفر مزودو التخزين السحابي تشفيرًا من جانب الخادم للكائنات أثناء سكونها. يستخدم SSE-S3 (في AWS) مفاتيح تديرها AWS تلقائيًا. أما SSE-KMS فيستخدم مفاتيح يديرها العميل في AWS Key Management Service، مما يوفر مسارات تدقيق أفضل (إذ يُسجل كل فك تشفير في CloudTrail) وتحكمًا في تدوير المفاتيح. ويستخدم SSE-C مفاتيح يوفرها العميل ويديرها بالكامل خارج AWS. وبالنسبة إلى البيانات الحساسة، يوفر SSE-KMS مع المفاتيح التي يديرها العميل أقوى تحكم وأفضل أدلة على الامتثال.
# Enforce encryption on S3 bucket (deny unencrypted uploads)
{
'Effect': 'Deny',
'Principal': '*',
'Action': 's3:PutObject',
'Resource': 'arn:aws:s3:::my-secure-bucket/*',
'Condition': {
'StringNotEquals': {
's3:x-amz-server-side-encryption': 'aws:kms'
}
}
}التشفير أثناء النقل
حتى البيانات المشفرة بشكل صحيح أثناء السكون قد تتعرض للكشف إذا نُقلت عبر قنوات غير مشفرة. يجب الوصول إلى جميع واجهات برمجة تطبيقات التخزين السحابي حصريًا عبر HTTPS/TLS. وبالنسبة إلى S3، يمكن لسياسات الحاويات فرض استخدام HTTPS من خلال رفض الطلبات التي تحتوي على aws:SecureTransport: false. ويجب أن تستخدم عناوين URL الموقعة مسبقًا، وهي عناوين URL موثقة مؤقتة تمنح وصولًا محدود المدة إلى الكائنات، HTTPS دائمًا، وأن تُهيأ بأوقات انتهاء قصيرة لتقليل فترة التعرض في حال اعتراضها.
# S3 bucket policy — deny HTTP (require HTTPS)
{
'Effect': 'Deny',
'Principal': '*',
'Action': 's3:*',
'Resource': ['arn:aws:s3:::my-bucket', 'arn:aws:s3:::my-bucket/*'],
'Condition': {
'Bool': { 'aws:SecureTransport': 'false' }
}
}تصنيف البيانات وطبقات التخزين
لا تتطلب جميع البيانات المستوى نفسه من الحماية. يجب تخزين البيانات الحساسة (PII وPHI والسجلات المالية) في حاويات مشفرة ومقيّدة الوصول مع تفعيل تسجيل التدقيق. وقد يكون للبيانات الأقل حساسية وصول أوسع. ينبغي تطبيق تصنيفات البيانات عند إنشاء الكائن، واستخدامها لتوجيه البيانات تلقائيًا إلى تخزين مهيأ وفقًا لمستوى الحماية المناسب. وتقلل السياسات التي تنقل البيانات تلقائيًا إلى تخزين أكثر أمانًا استنادًا إلى وسوم التصنيف من احتمال وصول البيانات الحساسة إلى حاويات منخفضة الأمان.
تسجيل ومراقبة الوصول إلى التخزين السحابي
يُعد تسجيل الوصول أمرًا بالغ الأهمية لاكتشاف الوصول غير المصرح به بعد وقوعه ولتدقيق الامتثال. تسجل سجلات وصول AWS S3 وتسجيل أحداث البيانات في CloudTrail كل استدعاء API على مستوى الكائن، بما في ذلك من طلب الكائن، ومن أي عنوان IP، وفي أي وقت. وتوفر سجلات التشخيص في Azure Blob وسجلات التدقيق في GCS إمكانات مماثلة. ومن دون هذه السجلات، لا يوجد دليل جنائي رقمي عند اكتشاف اختراق للبيانات، مما يجعل تحديد نطاق الكشف أمرًا مستحيلًا.
# Enable S3 access logging
aws s3api put-bucket-logging \
--bucket my-bucket \
--bucket-logging-status '{
"LoggingEnabled": {
"TargetBucket": "my-access-logs-bucket",
"TargetPrefix": "my-bucket-logs/"
}
}'مخاطر الوصول بين الحسابات
غالبًا ما تتم مشاركة التخزين السحابي بين الحسابات (التطوير والتهيئة المرحلية والإنتاج والشركاء الخارجيين). وقد يؤدي الوصول بين الحسابات إذا تمت تهيئته بلا عناية إلى منح أذونات مفرطة. تشمل أفضل الممارسات: استخدام معرّفات الحسابات صراحةً في سياسات الحاويات بدلًا من الأصول البديلة، واستخدام AWS Organizations SCPs لتقييد الحسابات الخارجية التي يمكن منحها الوصول أصلًا، وتدقيق المنح بين الحسابات بانتظام، وتفضيل AWS PrivateLink على الوصول عبر الإنترنت العام لنقل البيانات بين الحسابات.
الحماية من الإصدار والحذف
يحتفظ إصدار الكائنات بجميع إصدارات الكائن، بما في ذلك الإصدارات المحذوفة. ويحمي ذلك من الحذف العرضي، وتشفير الكائنات بواسطة برمجيات الفدية، وتهديدات المطلعين. وبالنسبة إلى البيانات المهمة، اجمعوا بين ميزة الإصدار وObject Lock (المكافئ لـ S3 Glacier Vault Lock)، وهي سياسة WORM (الكتابة مرة واحدة والقراءة مرات عديدة) تمنع أي حذف أو تعديل خلال فترة احتفاظ محددة. ويمكن لـ Object Lock تلبية المتطلبات التنظيمية الخاصة بالسجلات غير القابلة للتغيير في القطاعين المالي والصحي.
# Enable S3 versioning
aws s3api put-bucket-versioning \
--bucket my-critical-bucket \
--versioning-configuration Status=Enabled
# Enable Object Lock (immutable storage)
aws s3api put-object-lock-configuration \
--bucket my-critical-bucket \
--object-lock-configuration \
'ObjectLockEnabled=Enabled,Rule={DefaultRetention={Mode=COMPLIANCE,Days=365}}'اكتشاف CSPM لسوء تهيئة التخزين
تفحص أدوات Cloud Security Posture Management (CSPM) تهيئات التخزين السحابي تلقائيًا مقارنةً بالمعايير الأمنية. وتشمل فحوص CSPM ما يلي: هل توجد حاويات متاحة للعامة؟ هل التشفير أثناء السكون مفعّل؟ هل التسجيل مفعّل؟ هل ميزة الإصدار مفعّلة في الحاويات المهمة؟ هل سياسات الحاويات شديدة السماح؟ توفر أدوات CSPM مثل Prisma Cloud وWiz وAWS Security Hub مراقبة مستمرة للامتثال، وتنبه إلى انحراف التهيئة قبل أن يكتشفه المهاجمون أولًا.
عناوين URL الموقعة مسبقًا والوصول المؤقت
تمنح عناوين URL الموقعة مسبقًا وصولًا محدود المدة إلى كائنات محددة من دون حاجة المستلم إلى امتلاك بيانات اعتماد AWS. وهي مفيدة لمشاركة الملفات مع جهات خارجية. وتشمل مخاطرها الأمنية: عناوين URL ذات أوقات انتهاء طويلة جدًا تستمر بعد فترة المشاركة المقصودة، وإعادة توجيه المستلمين للعناوين إلى أشخاص خارج الجمهور المقصود، وظهور الرموز المضمنة في عناوين URL داخل سجلات الخوادم. اضبطوا دائمًا أقصر وقت انتهاء عملي، وتجنبوا تسجيل عناوين URL الموقعة مسبقًا.
# Generate a pre-signed URL (expires in 3600 seconds)
aws s3 presign s3://my-bucket/report.pdf \
--expires-in 3600
# Returns a URL valid for 1 hour
# After expiry, the URL returns 403 Forbidden
# Best practice: shortest expiry viable for the use caseتحقق سريع
اختبر مدى فهمك لمفاهيم CompTIA Security+ (SY0-701) الواردة في هذا الدرس.
مراجعة الدرس
تعلمتم في هذا الدرس أن سوء تهيئة الحاويات العامة هو السبب الأكثر شيوعًا لاختراقات بيانات التخزين السحابي، وأن SSE-KMS يوفر أقوى تحكم في التشفير مع تسجيل التدقيق عبر CloudTrail، وأن إصدار الكائنات، عند دمجه مع Object Lock، يحمي من برمجيات الفدية وحذف المطلعين للبيانات المهمة. بعد ذلك، سنستكشف هوية السحابة باستخدام أدوار IAM وحسابات الخدمة.
تعلم Cloud & IT Cert Prep مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 150
- الدروس
- 600
الأسئلة الشائعة
هل درس «أمان التخزين السحابي ومخاطر كشف البيانات» مجاني؟
نعم — نص درس «أمان التخزين السحابي ومخاطر كشف البيانات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «أمان التخزين السحابي ومخاطر كشف البيانات»؟
تعلّم كيف تؤدي إعدادات S3 buckets وAzure Blob containers وGCS buckets غير الصحيحة إلى كشف البيانات، وكيفية فرض سياسات الحاويات وضوابط الوصول. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أمان التخزين السحابي ومخاطر كشف البيانات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نموذج المسؤولية المشتركة: IaaS وPaaS وSaaS
- أمان التخزين السحابي ومخاطر كشف البيانات
- هوية السحابة: أدوار IAM وحسابات الخدمة
- إدارة الوضع الأمني للسحابة (CSPM)