التحكم في الوصول والتشفير
احموا البيانات الساكنة
التحكم في الوصول والتشفير درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
حماية البيانات الساكنة
تحتوي قواعد البيانات على أثمن الأصول، ولذلك يهم ضابطان أكثر من غيرهما: التحكم في الوصول (من يمكنه الوصول إلى البيانات) والتشفير (جعل البيانات عديمة الفائدة إذا سُرقت).
يحمي الضابطان البيانات أثناء تشغيل النظام، وكذلك في حال استخراج الأقراص أو النسخ الاحتياطية.
المصادقة مقابل التفويض
احرص على التمييز بين الفكرتين:
- تثبت المصادقة هويتك (تسجيل الدخول أو الشهادة أو رمز IAM).
- يحدد التفويض ما يمكنك فعله بعد التحقق من هويتك.
يتطلب أمن قواعد البيانات القوي كليهما: هويات تم التحقق منها وصلاحيات محددة بدقة.
مبدأ أقل قدر من الصلاحيات
امنح كل حساب الصلاحيات التي يحتاج إليها فقط، ولا تمنحه أكثر من ذلك. ينبغي أن تكون خدمة إعداد التقارير للقراءة فقط، وألا يتمكن التطبيق الذي يكتب البيانات من تنفيذ DROP على الجداول.
CREATE ROLE report_reader;
GRANT SELECT ON sales.* TO report_reader;
GRANT report_reader TO 'analytics_svc'@'%';التحكم في الوصول المستند إلى الأدوار
يجمع RBAC الصلاحيات في أدوار، ثم يعيّن الأدوار للمستخدمين. ويتسع نطاقه بصورة أفضل من منح الصلاحيات لكل مستخدم على حدة، كما يجعل عمليات التدقيق واضحة.
- عرّف الأدوار:
read_onlyوapp_writerوdba. - عيّن المستخدمين إلى الأدوار.
- راجع عضوية الأدوار بانتظام.
الأمان على مستوى الصفوف والأعمدة
يحد التحكم الدقيق من الوصول داخل الجدول.
- على مستوى الأعمدة: إخفاء أعمدة الراتب أو SSN عن بعض الأدوار.
- الأمان على مستوى الصفوف (RLS): لا يرى المستأجر سوى صفوفه الخاصة.
-- PostgreSQL row-level security
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON orders
USING (tenant_id = current_setting('app.tenant')::int);التشفير أثناء السكون
يحمي التشفير أثناء السكون البيانات الموجودة على القرص. فإذا سرق شخص ما محرك الأقراص أو ملفًا احتياطيًا، فلن يمكن قراءة المحتوى من دون المفتاح.
تشمل الخيارات تشفير القرص بالكامل، وتشفير نظام الملفات، وتشفير البيانات الشفاف (TDE) الأصلي في قاعدة البيانات.
تشفير البيانات الشفاف
يشفّر TDE ملفات قاعدة البيانات تلقائيًا. ولا تحتاج التطبيقات إلى أي تغييرات؛ إذ يشفّر المحرك البيانات عند الكتابة ويفك تشفيرها عند القراءة. ويحمي ذلك من سرقة الملفات، لكنه لا يحمي من مهاجم لديه جلسة DB صالحة بالفعل.
-- SQL Server example concept
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE tde_cert;
ALTER DATABASE appdb SET ENCRYPTION ON;التشفير على مستوى الأعمدة
بالنسبة إلى الحقول الحساسة جدًا، مثل أرقام البطاقات والبيانات الصحية، شفّر الأعمدة الفردية. فلا يبقى النص الصريح في قاعدة البيانات، حتى بالنسبة إلى مسؤول DB.
المقابل هو أن فهرسة الأعمدة المشفرة والبحث فيها صعبان، ولذلك طبّق هذا الأسلوب بصورة انتقائية.
التشفير أثناء النقل
تحتاج البيانات أيضًا إلى الحماية أثناء نقلها. افرض استخدام TLS لجميع الاتصالات بين العملاء وقاعدة البيانات، حتى لا يمكن التنصت على بيانات الاعتماد ومجموعات النتائج.
-- PostgreSQL: force SSL in pg_hba.conf
hostssl appdb webapp 0.0.0.0/0 scram-sha-256
-- reject non-TLS:
hostnossl appdb all 0.0.0.0/0 rejectإدارة المفاتيح
لا يكون التشفير قويًا إلا بقدر قوة التعامل مع مفاتيحه. لا تخزن المفاتيح أبدًا بجوار البيانات التي تحميها.
- استخدم خدمة إدارة المفاتيح (KMS) أو HSM.
- بدّل المفاتيح وفق جدول زمني.
- افصل المهام: ينبغي ألا يحتفظ مسؤول DB بالمفتاح الرئيسي أيضًا.
جمع العناصر معًا
نموذج متعدد الطبقات للبيانات الساكنة:
- صادق على كل اتصال (TLS مع بيانات اعتماد قوية).
- طبّق التفويض عبر RBAC ومبدأ أقل قدر من الصلاحيات.
- طبّق أمان RLS والأعمدة عند الحاجة إلى تحكم دقيق.
- شفّر البيانات الساكنة (TDE) والأعمدة الحساسة تحديدًا.
- أدر المفاتيح في KMS منفصل عن قاعدة البيانات.
تحقق سريع
فكّر في الحماية التي يوفرها كل ضابط.
مراجعة
تُحمى البيانات الساكنة بالجمع بين التحكم في الوصول والتشفير:
- ميّز بين المصادقة والتفويض.
- طبّق مبدأ أقل قدر من الصلاحيات وRBAC، بالإضافة إلى أمان الصفوف والأعمدة عند الحاجة.
- شفّر البيانات الساكنة (TDE وعلى مستوى الأعمدة) وأثناء النقل (TLS).
- أدر المفاتيح بشكل منفصل في KMS وبدّلها بانتظام.
الأسئلة الشائعة
هل درس «التحكم في الوصول والتشفير» مجاني؟
نعم — نص درس «التحكم في الوصول والتشفير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
ماذا ستتعلم في «التحكم في الوصول والتشفير»؟
احموا البيانات الساكنة تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟
لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «التحكم في الوصول والتشفير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟
نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الدفاع ضد حقن SQL
- التحكم في الوصول والتشفير
- التدقيق والمراقبة
- أمان النسخ الاحتياطي والاسترداد