الدرس 15 من 24

أمان الشبكة والبنية التحتية

WAF وحماية DDoS وأمان الحافة

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

جدران حماية تطبيقات الويب (WAF) وخدمات حماية DDoS تدافع ضد هجمات طبقة التطبيق التي لا تستطيع مجموعات الأمان حظرها. خدمات أمان الحافة هذه ضرورية للتطبيقات المواجهة للإنترنت.

جدار حماية تطبيقات الويب (WAF)

قدرات WAF

الميزةالغرضأمثلة على القواعد
حماية SQL injectionحظر محاولات SQLi' OR 1=1, UNION SELECT
حماية XSSحظر حقن السكربتات<script>، معالجات الأحداث
تحديد المعدلمنع القوة الغاشمة100 طلب/دقيقة
الحظر الجغرافيقيود إقليميةحظر دول محددة
كشف الروبوتاتتصفية الهجمات الآليةتوقيعات الروبوتات المعروفة
قواعد مخصصةخاصة بالتطبيقحظر أنماط محددة

AWS WAF

# Terraform - AWS WAF مع القواعد المُدارة
resource "aws_wafv2_web_acl" "main" {
  name        = "production-waf"
  description = "Production WAF ACL"
  scope       = "REGIONAL"

  default_action {
    allow {}
  }

  # القواعد المُدارة من AWS - مجموعة القواعد الأساسية
  rule {
    name     = "AWSManagedRulesCommonRuleSet"
    priority = 1

    override_action {
      none {}
    }

    statement {
      managed_rule_group_statement {
        name        = "AWSManagedRulesCommonRuleSet"
        vendor_name = "AWS"
      }
    }

    visibility_config {
      cloudwatch_metrics_enabled = true
      metric_name               = "CommonRuleSetMetric"
      sampled_requests_enabled  = true
    }
  }

  # القواعد المُدارة من AWS - SQL Injection
  rule {
    name     = "AWSManagedRulesSQLiRuleSet"
    priority = 2

    override_action {
      none {}
    }

    statement {
      managed_rule_group_statement {
        name        = "AWSManagedRulesSQLiRuleSet"
        vendor_name = "AWS"
      }
    }

    visibility_config {
      cloudwatch_metrics_enabled = true
      metric_name               = "SQLiRuleSetMetric"
      sampled_requests_enabled  = true
    }
  }

  # قاعدة تحديد المعدل
  rule {
    name     = "RateLimitRule"
    priority = 3

    action {
      block {}
    }

    statement {
      rate_based_statement {
        limit              = 2000
        aggregate_key_type = "IP"
      }
    }

    visibility_config {
      cloudwatch_metrics_enabled = true
      metric_name               = "RateLimitMetric"
      sampled_requests_enabled  = true
    }
  }

  visibility_config {
    cloudwatch_metrics_enabled = true
    metric_name               = "ProductionWAF"
    sampled_requests_enabled  = true
  }
}

Azure WAF

# إنشاء سياسة WAF
az network application-gateway waf-policy create \
    --name myWAFPolicy \
    --resource-group myRG

# تفعيل قواعد OWASP المُدارة
az network application-gateway waf-policy managed-rule-set add \
    --policy-name myWAFPolicy \
    --resource-group myRG \
    --type OWASP \
    --version 3.2

# إضافة تحديد معدل مخصص
az network application-gateway waf-policy custom-rule create \
    --policy-name myWAFPolicy \
    --resource-group myRG \
    --name RateLimitRule \
    --priority 1 \
    --rule-type RateLimitRule \
    --action Block \
    --rate-limit-threshold 100 \
    --rate-limit-duration OneMin

GCP Cloud Armor

# إنشاء سياسة أمان
gcloud compute security-policies create my-policy \
    --description="Production WAF policy"

# إضافة قواعد OWASP
gcloud compute security-policies rules create 1000 \
    --security-policy=my-policy \
    --expression="evaluatePreconfiguredExpr('xss-stable')" \
    --action=deny-403

gcloud compute security-policies rules create 1001 \
    --security-policy=my-policy \
    --expression="evaluatePreconfiguredExpr('sqli-stable')" \
    --action=deny-403

# إضافة تحديد المعدل
gcloud compute security-policies rules create 1002 \
    --security-policy=my-policy \
    --expression="true" \
    --action=rate-based-ban \
    --rate-limit-threshold-count=100 \
    --rate-limit-threshold-interval-sec=60 \
    --ban-duration-sec=600

حماية DDoS

خدمات DDoS من مزودي السحابة

المزودأساسي (مجاني)متقدم (مدفوع)
AWSShield StandardShield Advanced ($3,000/شهر)
AzureDDoS Protection BasicDDoS Protection Standard
GCPحماية دائمةCloud Armor Managed Protection

AWS Shield Advanced

# Terraform - تفعيل Shield Advanced
resource "aws_shield_protection" "alb" {
  name         = "alb-protection"
  resource_arn = aws_lb.main.arn
}

resource "aws_shield_protection" "cloudfront" {
  name         = "cloudfront-protection"
  resource_arn = aws_cloudfront_distribution.main.arn
}

Azure DDoS Protection

# إنشاء خطة حماية DDoS
az network ddos-protection create \
    --name myDDoSPlan \
    --resource-group myRG

# الربط مع VNet
az network vnet update \
    --name myVNet \
    --resource-group myRG \
    --ddos-protection true \
    --ddos-protection-plan myDDoSPlan

معمارية أمان الحافة

فوائد أمان CDN

المستخدم → حافة CDN (WAF + DDoS) → خادم الأصل
    - حركة الهجوم تُمتص في الحافة
    - IP الأصل مخفي
    - إنهاء SSL/TLS
    - التخزين المؤقت يقلل حمل الأصل

CloudFront مع WAF

resource "aws_cloudfront_distribution" "main" {
  enabled = true

  origin {
    domain_name = aws_lb.main.dns_name
    origin_id   = "alb-origin"

    custom_origin_config {
      http_port              = 80
      https_port             = 443
      origin_protocol_policy = "https-only"
      origin_ssl_protocols   = ["TLSv1.2"]
    }
  }

  web_acl_id = aws_wafv2_web_acl.main.arn

  default_cache_behavior {
    allowed_methods        = ["GET", "HEAD", "OPTIONS", "PUT", "POST", "PATCH", "DELETE"]
    cached_methods         = ["GET", "HEAD"]
    target_origin_id       = "alb-origin"
    viewer_protocol_policy = "redirect-to-https"

    forwarded_values {
      query_string = true
      cookies {
        forward = "all"
      }
    }
  }

  restrictions {
    geo_restriction {
      restriction_type = "blacklist"
      locations        = ["CN", "RU"]  # مثال على الحظر الجغرافي
    }
  }

  viewer_certificate {
    acm_certificate_arn      = aws_acm_certificate.main.arn
    ssl_support_method       = "sni-only"
    minimum_protocol_version = "TLSv1.2_2021"
  }
}

أفضل ممارسات WAF

الممارسةالتنفيذ
ابدأ في وضع العدراقب قبل الحظر
استخدم القواعد المُدارةOWASP، خاصة بالمورد
تحديثات القواعد المنتظمةاشترك في نشرات الأمان
قواعد مخصصة للتطبيقأنماط خاصة بالتطبيق
سجل جميع الطلباتفعّل تسجيل الطلبات الكامل
تنبيه على الشذوذإعداد تنبيهات CloudWatch/Azure Monitor

التالي، سنستكشف التسجيل والمراقبة وكشف التهديدات لشبكات السحابة. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 4: أمان الشبكة والبنية التحتية

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.