سياسات جدار الحماية و ACLs
1) الأهداف والمبادئ
جدار الحماية/الرباط الصليبي الأمامي هو التحكم في مستوى البيانات: من وأين ومتى وعلى أي بروتوكول يسير. المبادئ الأساسية:- أقل امتياز: السماح بالضرورة فقط (السماح الصريح، الإنكار الضمني).
- التجزئة: عزل البيئات (prod/stage/dev)، المستأجرين، الملامح الحرجة (PCI/KMS/DB).
- التحكم في الخروج: تقتصر حركة المرور الخارجية على قوائم FQDN/IP ونقاط النهاية الخاصة.
- إدراك الهوية (L7): يتم اتخاذ القرارات بواسطة كيان موثق (SPIFFE/OIDC)، وليس فقط IP.
- البنية التحتية كمدونة: قواعد كمدونة، استعراض/CI/CD، تغييرات مراجعة الحسابات.
2) التصنيف: أين وماذا نقوم بالتصفية
2. 1 طبقات وحالة
L3/L4 عديمي الجنسية: الرباط الصليبي الأمامي الكلاسيكي (CIDR، البروتوكول، الميناء).
L3/L4 الدولة: المجموعات الأمنية/NSG، مراقبة الاتصالات.
L7-aware: الوكيل/WAF/الشبكة RBAC (الطرق، المسارات، JWT-claims، SNI).
Inline vs out-band: Inline firewall routs traffic; خارج النطاق - تحليل/تنبيه.
2. 2 ملامح
المحيط: edge/WAF/Anti-DDoS.
Core: transit hub/ меж -VPC/VNet.
عبء العمل: SG/NSG на VM/ENI/POD.
مستوى التطبيق: سياسة المبعوث/Istio/NGINX، خدمة إلى خدمة mTLS.
3) نماذج السحابة
AWS
مجموعة الأمن (SG): دولة на ENI/Secret/LB.
شبكة ACL (NACL): عديمو الجنسية على الشبكات الفرعية، ترتيب القواعد، الإدخالات ثنائية الاتجاه.
AWS Network Firewall/GWLB: L7 Inspection/IDS.
التوصية: "SG - basic control, NACL - carse-ground bening/deny-list'.
أزور
NSG (stateful)، ASG (مجموعات التطبيق حسب العلامة)، Azure FW L7/IDS، نقاط النهاية الخاصة.
التوصية: NSG على sabnet + NIC، بطاقات الخدمة عبر ASG.
GCP
VPC Firewall Rules (stateful)، Hierarchical FW (تنظيمي/مجلد)، Cloud Armor (L7)، Private Service Connect.
التوصية: تسمح حواجز الحماية على مستوى org + المشروع.
4) تصميم القواعد: الأنماط
4. 1 مجموعات أساسية
رفض جميع → الخروج المسموح بها عبر FQDN/IP إلى: مستودعات الدفعات، وسجلات القطع الأثرية، وواجهات برمجة التطبيقات التابعة لجهات خارجية (عبر المخرجات الخاصة/الثابتة).
الحد الأدنى بين الشرق والغرب: لا تتصل الخدمات إلا بالتبعيات الضرورية.
الوصول الإداري: عبر معقل/JIT مع MFA، جلسات التسجيل.
4. 2 علامات ومجموعات
استخدم الملصقات/العلامات بدلاً من IP: «env» و «service» و «tier» و «المستأجر» و «pci = true».
تحديث السياسة عند تغيير العلامة - لا يوجد تحرير يدوي لشبكات IP.
4. 3 دورة الحياة
اقتراح → تقييم (انطلاق) → تطبيق (prod)، مع سجلات التشغيل الجاف/الضرب.
الشيخوخة: TTL/المالك لكل قاعدة، التحقق التلقائي غير المستخدم.
5) Kubernetes وشبكة الخدمة
5. 1 NetworkPolicy (L3/L4)
الحد الأدنى هو «حظر كل شيء باستثناء ما هو مطلوب».
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata: { name: deny-all, namespace: core }
spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
kind: NetworkPolicy metadata: { name: api-egress }
spec:
podSelector: { matchLabels: { app: api } }
egress:
- to:
- namespaceSelector: { matchLabels: { ns: db } }
ports: [{ protocol: TCP, port: 5432 }]
- to:
- ipBlock: { cidr: 10. 100. 0. 0/16 } # Private endpoints ports: [{ protocol: TCP, port: 443 }]
5. 2 L7 RBAC в شبكة (إستيو/مبعوث)
MTLS + إذن JWT/المطالبات/النطاقات/المسارات.
yaml apiVersion: security. istio. io/v1 kind: AuthorizationPolicy metadata: { name: api-rbac }
spec:
selector: { matchLabels: { app: api } }
rules:
- from:
- source:
principals: ["spiffe://svc. payments"]
to:
- operation: { methods: ["POST"], paths: ["/v1/payouts"] }
when:
- key: request. headers[x-tenant]
values: ["eu-1","eu-2"]
6) مراقبة الخروج والمحيط الخاص
افضل PrivateLink/Private Service الاتصال على PaaS/السجلات/المستودعات.
بقية الخروج عبر NAT/الوكيل مع FQDN Fallowist و IP الثابت (لـ allowist من طرف ثالث).
منع الوصول المباشر للقرون/VM إلى الإنترنت ؛ الاستثناءات فقط من خلال بوابة الخروج.
7) قواعد DNS و SNI الواعية
انقسام الأفق: المناطق الداخلية لا تحل من الخارج.
FW/Proxy مع دعم FQDN/SNI لـ HTTPS المنتهية ولايته (يسمح SNI).
إصلاح التعلق بنطاقات محددة للبائعين ؛ رصد التغييرات في بروتوكول الإنترنت الخاص بهم.
8) السجلات والتدقيق وقابلية الملاحظة
تمكين سجلات التدفق (VPC/VNet/NSG/NACL)، إرسال إلى SIEM.
ارتبط بالتطبيقات عبر «تتبع _ معرف» في السجلات.
المقاييس: قواعد الضرب/الخطأ، كبار المتحدثين، معدلات الإسقاط، عدم تناسق حركة المرور، تسريبات الخروج.
التقارير: «قواعد غير مستخدمة»، «أوسع أذونات».
9) الإدارة كرمز (IaC) والفحوصات
Terraform/CloudFormation + السياسات المعيارية حسب القوالب.
Policy as Code (OPA/Gatekeeper/Conftest): no '0. 0. 0. 0/0 '، اشتراط' وصف/مالك/tl '، حظر خلط prod/dev.
CI: الوبر، التحليل الثابت، محلل إمكانية الوصول، عرض الخطة، مراجعة النظراء الإلزامية.
10) اختبار إمكانية الوصول والفوضى
عينات اصطناعية من شبكات فرعية مختلفة/AZ/مناطق: TCP/443، موانئ محددة لقاعدة البيانات/السماسرة.
الرفض المؤقت للتحقق من مسارات DR: يجب أن يؤدي تعطيل الاعتماد على → إلى إعادة التشغيل/الدائرة/الاحتياطي.
MTU/MSS: تأكد من عدم وجود تجزئة على المحيط (خاصة IPsec/NAT-T).
11) الأداء والموثوقية
تجنب عنق الزجاجة المركزي: مقياس inline-FW (GWLB/scale sets).
ECMP/AS-path/BGP للتوزيع بين المحاور.
موجزات تفتيش TLS: تشمل النقطة (باهظة الثمن)، وتخزين المطبوعات الرئيسية بشكل منفصل، والامتثال للامتثال.
12) أمثلة على التكوينات (مراجع، مختصرة)
12. 1 AWS SG: API → Postgres + S3 PrivateLink
hcl resource "aws_security_group" "api" {
name = "sg-api"
description = "Ingress from ALB, egress to DB and PrivateLink"
vpc_id = var. vpc_id
ingress { from_port=8080 to_port=8080 protocol="tcp" security_groups=[aws_security_group. alb. id] }
egress { from_port=5432 to_port=5432 protocol="tcp" security_groups=[aws_security_group. db. id] }
egress { from_port=443 to_port=443 protocol="tcp" prefix_list_ids=[aws_vpc_endpoint. s3. prefix_list_id] }
tags = { owner="team-api", env=var. env, ttl="2026-01-01" }
}
12. 2 Azure NSG: الرفض الافتراضي + السماح بمعقل
bash az network nsg rule create -g rg -n allow-bastion --nsg-name nsg-app \
--priority 100 --direction Inbound --access Allow --protocol Tcp \
--source-address-prefixes 10. 0. 0. 10 --source-port-ranges "" \
--destination-port-ranges 22 --destination-address-prefixes 10. 1. 0. 0/16
12. 3 جدار الحماية الهرمي GCP: org-guardrail
yaml direction: INGRESS priority: 1000 action: deny enableLogging: true match:
layer4Configs: [{ ipProtocol: "all" }]
srcIpRanges: ["0. 0. 0. 0/0"]
targetResources: ["organizations/123456"]
12. 4 مبعوث RBAC (يسمح L7)
yaml
- name: envoy. filters. http. rbac typed_config:
rules:
action: ALLOW policies:
payments-post:
permissions: [{ url_path: { path: "/v1/payouts", ignore_case: true } }]
principals: [{ authenticated: { principal_name: { exact: "spiffe://svc. payments" } } }]
13) أنتيباترن
`0. 0. 0. 0/0 'في الدخول/الخروج «مؤقتًا» → يبقى إلى الأبد.
«رقاقات الثلج» (تعديلات يدوية في وحدة التحكم) بدون رمز ومراجعة.
'1' مجموعة موظفين موحدين/مجموعة موظفين موظفين موظفين موظفين موظفين موظفين موظفين موظفين موظفين موظفين وطنيين من فئة الخدمات العامة/المرحلة/التطوير ؛ الخلط بين الشبكات الفرعية الحرجة وغير الحرجة.
الافتقار إلى التحكم في الخروج ونقاط النهاية الخاصة → تسريب المفاتيح/الأسرار.
تجاهل DNS/SNI: سمح لـ IP للمورد - غدًا تغير وفتح النطاق بأكمله.
لا توجد سجلات تدفق وكتب تشغيل → المراحل مستحيلة.
14) تفاصيل iGaming/Finance (PCI/Regulatory)
PCI CDE في VRF/جزء منفصل، لا إنترنت ؛ الوصول إلى PSP/logs - عبر الاتصال الخاص/الوكيل مع mTLS و HMAC.
الإقامة في مجال البيانات: مؤشر الاستثمار الاستثماري/أحداث الدفع - داخل البلد/المنطقة ؛ بين الأقاليم - فقط المجاميع/المجهولة الهوية.
KMS/Vault/HSM: شبكات فرعية/SG، فقط عملاء mTLS بشهادات قصيرة.
تدقيق WORM: سجلات FW/التدفق في التخزين غير المتغير (Object Lock)، الاحتفاظ ≥ الحد الأدنى التنظيمي.
الشركاء (PSP/KYC): FQDN allowist، خروج ثابت IP، مراقبة SLA بواسطة مزود.
15) قائمة التحقق من الاستعداد
- نموذج التجزئة الموحد (المحور والكلام، VRF)، CIDR بدون تقاطعات.
- الرفض الافتراضي на الخروج ؛ نقاط النهاية الخاصة إلى PaaS/التخزين.
- SG/NSG مكلف بعبء العمل، NACL/مرشحات الطريق - على الشبكات الفرعية/المحاور.
- K8s: NetworkPolicy "deny-all', mesh mTLS + L7 RBAC.
- العلامات/المجموعات بدلاً من الملكية الفكرية ؛ / TTL/وصف لكل قاعدة.
- IaC + Policy-as-Code ؛ CI مع محاكاة إمكانية الوصول ؛ استعراض النظراء الإلزامي.
- تمكين سجلات التدفق ؛ لوحات القيادة كبار المتحدثين، معدلات التسرب ؛ تنبيهات إلى «تسرب الخروج».
- معقل/JIT للوصول إلى الإدارة ؛ ووزارة الخارجية ؛ جلسات قطع الأشجار.
- Runbook 'و: كيفية إضافة/إزالة قاعدة، وكيفية العمل في حادث ما ؛ تنقيحات منتظمة للقواعد «الميتة».
- بالنسبة لـ PCI/Finance: عزل CDE، تدقيق WORM، FQDN-leave for PSP/KYC، خروج ثابت IP.
16) TL ؛ د
بناء الحماية حسب الطبقات: SG/NSG مكثف على أعباء العمل، NACL/مرشحات المسار على الشبكات الفرعية، L7 RBAC في الشبكة/الوكيل، WAF/الحافة على المحيط. افتراضيًا - الرفض الافتراضي، الخروج فقط من خلال النقاط الخاضعة للرقابة أو نقاط النهاية الخاصة. وصف القواعد على أنها رمز، تحقق منها باستخدام السياسات وأجهزة المحاكاة القابلة للوصول، وجمع سجلات التدفق. بالنسبة إلى iGaming/Finance، أضف تجزئة PCI وتدقيق WORM وسمح FQDN الصارم إلى PSP/KYC.