الدرس 8 من 24

أمان IAM والهوية

تقوية المصادقة والوصول المشروط

4 دقيقة للقراءة

مع تسبب بيانات الاعتماد المسروقة في 36% من حوادث السحابة، المصادقة القوية هي خط دفاعك الأول. وصل اعتماد MFA إلى 53% في المؤسسات (2024)، لكن جودة التنفيذ تختلف بشكل كبير.

المصادقة متعددة العوامل (MFA)

أنواع MFA وقوتها

النوع مستوى الأمان حالة الاستخدام
مفتاح أمان مادي (FIDO2) الأعلى حسابات Root، المديرين
رمز TOTP مادي عالي البيئات المنظمة
تطبيق المصادقة (TOTP) متوسط المستخدمين العامين
رموز SMS/Email منخفض (تجنب) قديم فقط، يتم التخلص منه
إشعار الدفع متوسط توازن الراحة

تكوين AWS MFA

حساب Root (إلزامي):

# MFA مادي لـ root حرج - CIS Benchmark 1.5
aws iam create-virtual-mfa-device --virtual-mfa-device-name root-mfa

# تفعيل لمستخدم root
aws iam enable-mfa-device \
    --user-name root \
    --serial-number arn:aws:iam::123456789012:mfa/root-mfa \
    --authentication-code-1 123456 \
    --authentication-code-2 654321

مستخدمي IAM مع فرض السياسة:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyAllExceptListedIfNoMFA",
      "Effect": "Deny",
      "NotAction": [
        "iam:CreateVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:GetUser",
        "iam:ListMFADevices",
        "iam:ListVirtualMFADevices",
        "iam:ResyncMFADevice",
        "sts:GetSessionToken"
      ],
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws:MultiFactorAuthPresent": "false"
        }
      }
    }
  ]
}

الوصول المشروط Azure

Azure يوفر تحكماً متطوراً في الوصول يتجاوز MFA البسيط:

سياسة MFA أساسية:

{
  "displayName": "Require MFA for All Users",
  "state": "enabled",
  "conditions": {
    "users": {
      "includeUsers": ["All"]
    },
    "applications": {
      "includeApplications": ["All"]
    }
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": ["mfa"]
  }
}

الوصول المشروط المبني على المخاطر:

{
  "displayName": "Block High Risk Sign-ins",
  "state": "enabled",
  "conditions": {
    "users": {
      "includeUsers": ["All"]
    },
    "signInRiskLevels": ["high", "medium"]
  },
  "grantControls": {
    "operator": "OR",
    "builtInControls": ["block"]
  }
}

القيود المبنية على الموقع:

{
  "displayName": "Admin Access from Named Locations Only",
  "conditions": {
    "users": {
      "includeRoles": [
        "62e90394-69f5-4237-9190-012177145e10"
      ]
    },
    "locations": {
      "includeLocations": ["All"],
      "excludeLocations": ["TrustedOfficeLocations"]
    }
  },
  "grantControls": {
    "builtInControls": ["block"]
  }
}

الوصول الواعي بالسياق GCP

# مستوى وصول يتطلب امتثال الجهاز
accessLevels:
  - name: "accessPolicies/123/accessLevels/corporate_devices"
    basic:
      conditions:
        - devicePolicy:
            requireCorpOwned: true
            osConstraints:
              - osType: DESKTOP_CHROME_OS
                minimumVersion: "100"
        - ipSubnetworks:
            - "10.0.0.0/8"

أمان الجلسة

حدود مدة الجلسة

المزود الافتراضي الموصى به
AWS IAM 12 ساعة 1-4 ساعات للمديرين
Azure قابل للتكوين 1 ساعة للعمليات الحساسة
GCP 12 ساعة جلسات قصيرة، إعادة مصادقة متكررة

AWS: تحديد مدة جلسة الدور:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws:iam::123456789012:user/dev"},
    "Action": "sts:AssumeRole",
    "Condition": {
      "NumericLessThan": {
        "sts:MaxSessionDuration": "3600"
      }
    }
  }]
}

الوصول في الوقت المناسب (JIT)

Azure Privileged Identity Management (PIM):

  • المستخدمون يطلبون وصولاً مرتفعاً
  • سير عمل الموافقة يبدأ
  • الوصول يُمنح لوقت محدود
  • مسار تدقيق كامل
# تفعيل دور PIM (Azure CLI)
az rest --method POST \
    --uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests" \
    --body '{
        "principalId": "user-guid",
        "roleDefinitionId": "admin-role-guid",
        "directoryScopeId": "/",
        "action": "SelfActivate",
        "scheduleInfo": {
            "expiration": {
                "type": "afterDuration",
                "duration": "PT4H"
            }
        }
    }'

تنفيذ الثقة الصفرية

نموذج الثقة الصفرية: "لا تثق أبداً، تحقق دائماً."

المبادئ الأساسية

المبدأ التنفيذ
التحقق الصريح MFA، امتثال الجهاز، الموقع
أقل صلاحيات في الوقت المناسب، وصول كافٍ فقط
افتراض الاختراق التجزئة الدقيقة، المراقبة

معمارية الثقة الصفرية

┌─────────────────────────────────────────────────────────┐
│                    قرار الوصول                           │
├─────────────────────────────────────────────────────────┤
│  هوية المستخدم → صحة الجهاز → الموقع → السياق           │
│       ↓              ↓             ↓          ↓         │
│  مصادقة قوية     امتثال      سياج جغرافي   الوقت/المخاطر │
│       ↓              ↓             ↓          ↓         │
│  ──────────────── محرك السياسة ────────────────        │
│                        ↓                                │
│              سماح / رفض / مصادقة إضافية                  │
└─────────────────────────────────────────────────────────┘

قائمة تدقيق المصادقة

الضابط الحالة الأولوية
حسابات Root/admin لديها MFA مادي حرج
جميع المستخدمين يتطلبون MFA عالي
سياسات الوصول المشروط منشورة عالي
مهل الجلسات مكونة متوسط
كشف السفر المستحيل مفعّل متوسط
وصول JIT للأدوار المميزة متوسط
امتثال الجهاز مطلوب متوسط
المصادقة القديمة محظورة عالي

الوحدة التالية: سنؤمن خدمات التخزين السحابي—المصدر الأكثر شيوعاً لكشف البيانات. :::

اختبار

الوحدة 2: أمان IAM والهوية

خذ الاختبار