0Pricing
AWS Solutions Architect · درس

WAF وShield وNetwork Firewall

احظر هجمات OWASP العشرة الأكثر شيوعًا باستخدام AWS WAF، واحمِ من هجمات DDoS باستخدام Shield Standard وAdvanced، وانشر Network Firewall ذا الحالة في VPC الخاص بك

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

الدفاع المتعمق لأمن الشبكات

تتطلب حماية تطبيقاتكم من الهجمات المستندة إلى الشبكة طبقات متعددة من الحماية. توفر AWS ثلاث خدمات متكاملة: تعمل AWS WAF (جدار حماية تطبيقات الويب) على تصفية حركة HTTP في الطبقة 7، استنادًا إلى قواعد تحظر الهجمات على مستوى التطبيق. وتحمي AWS Shield من هجمات DDoS (حجب الخدمة الموزع) في الطبقتين 3 و4. أما AWS Network Firewall فهو جدار حماية شبكي ذو حالة لفحص حركة المرور على مستوى VPC وتصفيتها. وتعالج هذه الخدمات معًا متجهات تهديد مختلفة، وعادةً ما تُنشر معًا لتوفير حماية شاملة.

# Layer coverage:
# Network Firewall: Layer 3-7 VPC traffic (stateful)
# Shield Standard: Layer 3-4 DDoS (automatic, free)
# Shield Advanced: Layer 3-7 DDoS + response team
# WAF: Layer 7 HTTP/HTTPS (application attacks)

# Typical deployment:
# Internet -> CloudFront+WAF -> ALB+WAF -> EC2/ECS
# Network Firewall in VPC for egress/lateral inspection
# Shield protects all traffic automatically

AWS WAF: جدار حماية تطبيقات الويب

تعمل AWS WAF على تصفية طلبات HTTP/HTTPS استنادًا إلى القواعد التي تحددونها. تتكامل WAF مع CloudFront وALB وAPI Gateway وAppSync وCognito. ويمكن للقواعد المطابقة وفقًا لما يلي: مجموعات عناوين IP (حظر عناوين IP محددة أو السماح بها)، والمطابقة الجغرافية (حظر الطلبات الواردة من بلدان محددة)، والقواعد المستندة إلى معدل الطلبات (حظر عناوين IP التي تتجاوز معدلًا معينًا للطلبات، للحماية من الإغراق)، ومجموعات القواعد المُدارة (قواعد مُعدّة مسبقًا لأهم 10 مخاطر في OWASP، ومعلومات تهديدات AWS، والتحكم في الروبوتات)، والقواعد المخصصة (المطابقة مع أي مكوّن من مكونات HTTP). تحتوي قوائم ACL في WAF (قائمة ACL للويب) على القواعد، وتُطبّق على مورد واحد أو أكثر.

# Create WAF Web ACL
aws wafv2 create-web-acl \
  --name 'prod-web-acl' \
  --scope CLOUDFRONT \
  --region us-east-1 \
  --default-action Allow={} \
  --rules '[{
    "Name": "AWSManagedRulesCommonRuleSet",
    "Priority": 1,
    "OverrideAction": {"None": {}},
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesCommonRuleSet"
      }
    },
    "VisibilityConfig": {
      "SampledRequestsEnabled": true,
      "CloudWatchMetricsEnabled": true,
      "MetricName": "CommonRuleSet"
    }
  }]' \
  --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=web-acl-metrics

مجموعات القواعد المُدارة في WAF

مجموعات القواعد المُدارة من AWS هي مجموعات قواعد WAF مُعدّة مسبقًا وتديرها AWS، وتحمي من التهديدات الشائعة من دون الحاجة إلى كتابة قواعد فردية. ومن أهم المجموعات: AWSManagedRulesCommonRuleSet — تحمي من أهم 10 مخاطر في OWASP (حقن SQL وXSS وRFI وLFI). AWSManagedRulesKnownBadInputsRuleSet — تحظر أنماط المدخلات السيئة المعروفة. AWSManagedRulesAmazonIpReputationList — تحظر عناوين IP ذات السمعة السيئة (مثل شبكات الروبوت والأجهزة المخترقة). AWSManagedRulesBotControlRuleSet — تكتشف روبوتات الكشط والمتصفحات الآلية وتحظرها. تبدأ معظم عمليات نشر WAF بهذه المجموعات المُدارة قبل إضافة القواعد المخصصة.

# Add IP reputation list managed rule group
aws wafv2 update-web-acl \
  --name 'prod-web-acl' \
  --scope CLOUDFRONT \
  --id <acl-id> \
  --lock-token <lock-token> \
  --rules '[{
    "Name": "AWSManagedRulesAmazonIpReputationList",
    "Priority": 0,
    "OverrideAction": {"None": {}},
    "Statement": {
      "ManagedRuleGroupStatement": {
        "VendorName": "AWS",
        "Name": "AWSManagedRulesAmazonIpReputationList"
      }
    }
  }, ...existing_rules...]'

القواعد المستندة إلى معدل الطلبات في WAF

تحظر القواعد المستندة إلى معدل الطلبات في AWS WAF تلقائيًا عناوين IP التي تتجاوز حدًا قابلًا للضبط لمعدل الطلبات خلال نافذة زمنية مدتها 5 دقائق. وتحمي هذه القواعد من: هجمات إغراق HTTP (إغراق خوادمكم بالطلبات)، وهجمات القوة الغاشمة (إجراء محاولات تسجيل دخول عديدة)، وإساءة استخدام واجهة برمجة التطبيقات (الكشط أو التعداد). ويمكنكم التجميع حسب عنوان IP، أو حسب عنوان IP ومسار الطلب (لتحديد معدل طلبات نقطة نهاية محددة مثل /login)، أو حسب رؤوس مخصصة. ويُرفع الحظر عن عناوين IP المحظورة تلقائيًا عندما ينخفض معدلها إلى ما دون الحد، من دون الحاجة إلى تدخل يدوي.

# Create rate-based rule for login endpoint
aws wafv2 update-web-acl \
  --rules '[{
    "Name": "RateLimitLogin",
    "Priority": 2,
    "Action": {"Block": {}},
    "Statement": {
      "RateBasedStatement": {
        "Limit": 100,
        "AggregateKeyType": "IP",
        "ScopeDownStatement": {
          "ByteMatchStatement": {
            "SearchString": "/api/login",
            "FieldToMatch": {"UriPath": {}},
            "TextTransformations": [{"Priority": 0, "Type": "LOWERCASE"}],
            "PositionalConstraint": "STARTS_WITH"
          }
        }
      }
    }
  }]'

AWS Shield Standard وAdvanced

توفر AWS Shield Standard حماية تلقائية من DDoS، وهي مشمولة لجميع عملاء AWS من دون تكلفة إضافية. وتحمي من أكثر هجمات DDoS شيوعًا في الطبقتين 3 (الشبكة) و4 (النقل)، مثل إغراق SYN وإغراق UDP وهجمات الانعكاس. توفر AWS Shield Advanced حماية محسّنة من الهجمات في الطبقات 3 و4 و7 على EC2 وALB وCloudFront وGlobal Accelerator وRoute 53. وتشمل Shield Advanced: دعم فريق الاستجابة لـ AWS DDoS (DRT)، والحماية من التكاليف (استرداد رسوم التوسع المرتبطة بـ DDoS)، والمقاييس في الوقت الفعلي، والتحليل الجنائي المتقدم للهجمات. تبلغ تكلفة Shield Advanced ‏3,000 دولار شهريًا، بالإضافة إلى رسوم نقل البيانات.

# Enable Shield Advanced protection on ALB
aws shield create-protection \
  --name 'prod-alb-protection' \
  --resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/prod-alb/abc

# Associate with a WAF Web ACL for layer-7 protection
aws shield associate-drt-log-bucket \
  --log-bucket my-shield-logs

# With Shield Advanced:
# - DDoS events detected and mitigated automatically
# - DRT can tune WAF rules during active attacks
# - Real-time CloudWatch dashboard
# - AWS will refund EC2/ELB/CloudFront scaling costs from DDoS

AWS Network Firewall

تُعد AWS Network Firewall خدمة جدار حماية شبكي مُدارة وذات حالة، تُنشر في VPC لفحص حركة المرور وتصفيتها. وعلى خلاف مجموعات الأمان (ذات حالة وعلى مستوى المورد) وNACLs (عديمة الحالة وعلى مستوى الشبكة الفرعية)، يوفر Network Firewall ما يلي: الفحص العميق للحزم (DPI)، وتتبّع الاتصالات ذات الحالة، وتصفية النطاقات (الحظر حسب اسم النطاق أو نمطه)، وقواعد IPS (نظام منع التطفل) باستخدام تنسيق قواعد متوافق مع Suricata، وتصفية حركة الخروج (التحكم في ما يمكن لمثيلات EC2 استدعاؤه عبر الإنترنت). انشروا Network Firewall في شبكة فرعية مخصصة لجدار الحماية في كل AZ.

# Create Network Firewall
aws network-firewall create-firewall \
  --firewall-name prod-vpc-firewall \
  --firewall-policy-arn arn:aws:network-firewall:us-east-1:123:firewall-policy/my-policy \
  --vpc-id vpc-12345 \
  --subnet-mappings '[{"SubnetId":"subnet-firewall-AZ1"},{"SubnetId":"subnet-firewall-AZ2"}]'

# Network Firewall topology:
# Internet -> IGW -> Firewall subnet (Network FW) -> App subnet
# Egress: App subnet -> Firewall subnet (Network FW) -> IGW -> Internet

مجموعات قواعد Network Firewall

يستخدم Network Firewall مجموعات القواعد لتحديد منطق التصفية. تعالج مجموعات القواعد عديمة الحالة الحزم من دون تتبّع الاتصالات، وهي شبيهة بـ NACLs لكنها أكثر مرونة. أما مجموعات القواعد ذات الحالة فتتتبّع حالة اتصال TCP وتفحص جلسات HTTP/TLS الكاملة. ويمكنكم كتابة القواعد بثلاث طرق: قواعد الخماسية (عنوان IP المصدر، وعنوان IP الوجهة، والبروتوكول، ومنفذ المصدر، ومنفذ الوجهة)، وقواعد قائمة النطاقات (السماح أو الرفض حسب FQDN)، وقواعد IPS المتوافقة مع Suricata (وهي الأقوى، إذ تدعم مطابقة الأنماط وفحص البروتوكولات). توفر AWS مجموعات قواعد مُدارة للتهديدات الشائعة.

# Create domain list rule group (egress filtering)
aws network-firewall create-rule-group \
  --rule-group-name 'allow-egress-domains' \
  --type STATEFUL \
  --capacity 100 \
  --rules-source '{
    "RulesSourceList": {
      "Targets": [
        "amazonaws.com",
        "example.com",
        "*.npmjs.com"
      ],
      "TargetTypes": ["HTTP_HOST","TLS_SNI"],
      "GeneratedRulesType": "ALLOWLIST"
    }
  }'

# Block all other egress traffic by default
# Prevents EC2 from calling malicious external domains

مقارنة WAF وShield وNetwork Firewall

تعالج الخدمات الثلاث حالات استخدام مختلفة، وهي متكاملة وليست بدائل لبعضها: WAF — فحص HTTP في الطبقة 7، وحظر هجمات التطبيقات (SQLi وXSS)، وتحديد معدل الطلبات، والتحكم في الروبوتات. تُنشر عند CloudFront أو ALB. Shield — التخفيف من هجمات DDoS وحماية البنية التحتية من الهجمات الحجمية. تكون Shield Standard مفعّلة دائمًا، بينما تضيف Advanced دعم الفريق. Network Firewall — التحكم في حركة مرور VPC في الطبقات 3 إلى 7، والفحص ذو الحالة، وتصفية النطاقات، وIPS/IDS. تُنشر داخل الشبكات الفرعية لـ VPC. استخدموا الخدمات الثلاث معًا: يتحكم Network Firewall في حركة المرور على مستوى VPC، وتصفّي WAF طلبات التطبيق، وتخفف Shield من هجمات DDoS.

# Comparison table:
# Service          Scope     Layer  Use Case
# AWS WAF          Edge/ALB  7      App attacks, rate limits, bots
# Shield Standard  All       3-4    Auto DDoS mitigation (free)
# Shield Advanced  All       3-7    Enhanced DDoS + DRT support
# Network Firewall VPC       3-7    Stateful inspection, IPS, egress

# SAA-C03 exam keywords:
# 'SQL injection protection' -> WAF
# 'DDoS protection' -> Shield
# 'Block EC2 from calling external IPs' -> Network Firewall
# 'Block requests from country X' -> WAF geo-match

تسجيل WAF وتحليل السجلات

يمكن لـ WAF تسجيل جميع الطلبات التي جرى أخذ عينات منها (طلب واحد من كل 5 طلبات) أو جميع الطلبات في CloudWatch Logs أو S3 أو Kinesis Data Firehose. وتتضمن السجلات رؤوس الطلب الكاملة، وعنوان IP، والبلد، والقواعد التي تحققت مطابقتها، والإجراء المتخذ (ALLOW/BLOCK/COUNT). استخدموا سجلات WAF من أجل: التحقيق في الهجمات — لمعرفة الطلبات التي جرى حظرها بدقة. ضبط القواعد — لتحديد النتائج الإيجابية الكاذبة (حظر طلبات مشروعة) وإضافة الاستثناءات. اكتشاف التهديدات الجديدة — فقد تكشف الأنماط في الطلبات المحظورة عن متجهات هجوم جديدة. فعّلوا وضع COUNT للقواعد الجديدة قبل التبديل إلى BLOCK، للتحقق من أنها لا تحظر حركة المرور المشروعة.

# Enable WAF logging to Kinesis Firehose
aws wafv2 put-logging-configuration \
  --logging-configuration '{
    "ResourceArn": "arn:aws:wafv2:us-east-1:123:global/webacl/prod-web-acl/abc",
    "LogDestinationConfigs": [
      "arn:aws:firehose:us-east-1:123:deliverystream/waf-logs"
    ],
    "LoggingFilter": {
      "DefaultBehavior": "KEEP",
      "Filters": [{
        "Behavior": "KEEP",
        "Conditions": [{"ActionCondition":{"Action":"BLOCK"}}],
        "Requirement": "MEETS_ANY"
      }]
    }
  }'

أنماط بنية نشر WAF

يتطلب نشر AWS WAF بشكل صحيح فهم الموضع الذي يجب إرفاقه فيه ضمن بنيتكم. بالنسبة إلى التطبيقات المواجهة للإنترنت، أرفقوا WAF بـ CloudFront حتى تتم عملية الفحص عند الحافة قبل وصول حركة المرور إلى المصدر — وبذلك تُحجب الهجمات قبل أن تستهلك النطاق الترددي للمصدر. بالنسبة إلى واجهات API الداخلية أو عند عدم استخدام CloudFront، أرفقوا WAF بـ ALB. أما واجهات API المكشوفة عبر API Gateway، فيمكن إرفاق WAF بها على مستوى API Gateway. يمكنكم إرفاق WAF بعدة موارد في الوقت نفسه — بتوزيعة CloudFront وبـ ALB الموجود خلفها — لتطبيق دفاع متعدد الطبقات، إلا أن ذلك يضاعف تكاليف الفحص.

# WAF attachment points:
# 1. CloudFront distribution (global edge, CLOUDFRONT scope)
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123:global/webacl/my-acl/abc \
  --resource-arn arn:aws:cloudfront::123:distribution/EXAMPLEID

# 2. ALB (regional, REGIONAL scope)
aws wafv2 associate-web-acl \
  --web-acl-arn arn:aws:wafv2:us-east-1:123:regional/webacl/my-acl/xyz \
  --resource-arn arn:aws:elasticloadbalancing:us-east-1:123:loadbalancer/app/my-alb/abc

# 3. API Gateway REST API
# 4. AppSync GraphQL API
# 5. Amazon Cognito User Pool

Firewall Manager لإدارة WAF عبر حسابات متعددة

تعمل خدمة AWS Firewall Manager على توحيد سياسات WAF وShield Advanced وNetwork Firewall ومجموعات الأمان عبر جميع الحسابات في AWS Organization. عرّفوا قواعد WAF مرة واحدة في Firewall Manager، وستُطبَّق تلقائيًا على جميع موازنات ALB وتوزيعات CloudFront وبوابات API في حسابات الأعضاء — بما في ذلك الموارد التي تُنشأ حديثًا. إذا نشر حساب عضو موازن ALB جديدًا، فسيقرن Firewall Manager تلقائيًا قائمة التحكم بالوصول إلى الويب الخاصة بـ WAF. ويضمن ذلك فرض سياسة أمان متسقة عبر المؤسسة دون الاعتماد على الفرق الفردية لتهيئة WAF بشكل صحيح.

# Create Firewall Manager WAF policy
aws fms put-policy \
  --policy '{
    "PolicyName": "org-wide-waf-policy",
    "SecurityServicePolicyData": {
      "Type": "WAFV2",
      "ManagedServiceData": "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"managedRuleGroupIdentifier\":{\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesCommonRuleSet\"},\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"excludeRules\":[],\"ruleGroupType\":\"ManagedRuleGroup\"}]}"
    },
    "ResourceType": "AWS::ElasticLoadBalancingV2::LoadBalancer",
    "IncludeMap": {"ACCOUNT": []},
    "ExcludeResourceTags": false,
    "RemediationEnabled": true
  }'

تحقق سريع

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

مراجعة الدرس

تعلمتم في هذا الدرس أن: AWS WAF يرشّح حركة مرور HTTP في الطبقة 7 لحظر حقن SQL وXSS والروبوتات، ويفرض حدودًا على معدل الطلبات لعناوين IP المسيئة، وأن Shield Standard يوفر حماية تلقائية من هجمات DDoS في الطبقتين 3 و4، بينما يضيف Shield Advanced دعم فريق الاستجابة والحماية من التكاليف، وأن Network Firewall يوفر فحصًا لحركة المرور مع تتبع الحالة على مستوى VPC، مع ترشيح النطاقات وقواعد IPS. يفرض Firewall Manager السياسات عبر جميع الحسابات في المؤسسة. تهانينا على إكمال قسم بنية الأمان!

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

هل درس «WAF وShield وNetwork Firewall» مجاني؟

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

ماذا ستتعلم في «WAF وShield وNetwork Firewall»؟

احظر هجمات OWASP العشرة الأكثر شيوعًا باستخدام AWS WAF، واحمِ من هجمات DDoS باستخدام Shield Standard وAdvanced، وانشر Network Firewall ذا الحالة في VPC الخاص بك تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «WAF وShield وNetwork Firewall»؟

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

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

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

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

  1. KMS وACM وأنماط التشفير
  2. GuardDuty وInspector وMacie
  3. Secrets Manager وParameter Store
  4. WAF وShield وNetwork Firewall
← العودة إلى AWS Solutions Architect