تعزيز البيئة الغذائية
تعزيز بيئة الإنتاج
1) الغرض والإطار
التصلب هو مجموعة منهجية من الممارسات التي تقلل من احتمالية وقوع الحوادث والأضرار التي تسببها. التركيز: محيط واجهة برمجة التطبيقات، بيانات العملاء/الدفع، CI/CD، منصة الحاويات، عمليات الوصول، التحكم في التغيير، إمكانية الملاحظة والامتثال.
المبادئ الرئيسية:- الأمان حسب التصميم والافتراضي: الحد الأدنى من الامتيازات المطلوبة، الافتراضات الآمنة.
- Zero Trust: ثق لا بشبكة ولا هويات دون التحقق.
- Defense-in-Depth: multi-level protection (network → service → application → data).
- ثبات القطع الأثرية: «بناء مرة واحدة، تشغيل العديد».
- آثار E2E وقابلية المراجعة: من، متى، ما الذي تغير - ولماذا.
2) نموذج التهديد والأصول الحرجة
الأصول: الحسابات ورموز الدفع، بيانات PII/جواز السفر، أرصدة RNG/اللعبة، مفاتيح التشفير، أسرار التكامل، خطوط الأنابيب المنشورة، صور الحاويات.
النواقل: نقاط ضعف التبعية، التسريبات الرمزية، misconfiguration/K8s السحابية، SSRF/RCE في واجهة برمجة التطبيقات، سلسلة التوريد (CI/CD/مستودع التسوية)، الوصول من الداخل، DDoS/bot traffic.
السيناريوهات: سحب الأموال بواسطة كيان غير مأذون به، واستبدال المعاملات/الأرصدة، وتصريف القاعدة، والتقاط خطوط الأنابيب، وإجراء تعديلات يدوية في المنتج.
3) بنية الشبكة وعزلتها
التجزئة: VPC/VNet منفصل لـ prod/stage/dev. داخل prod - شبكات فرعية للحافة (LB/WAF)، واجهة برمجة التطبيقات، قاعدة بيانات، تحليلات، خدمات إدارية.
السياسة «مسموح بها صراحة»: رفض كل شيء بين الشبكات الفرعية، وفتح الموانئ/الاتجاهات اللازمة فقط.
مTLS بين الخدمات، يتم تدوير الشهادات آليًا.
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: default-deny namespace: prod spec:
podSelector: {}
policyTypes: ["Ingress","Egress"]
apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata:
name: allow-api-to-db namespace: prod spec:
podSelector:
matchLabels: {app: db}
ingress:
- from:
- podSelector: {matchLabels: {app: api}}
ports: [{protocol: TCP, port: 5432}]
4) الهويات والوصول (PAM/JIT)
SSO + MFA لجميع الوصولات البشرية.
RBAC&ABAC - الأدوار على مستوى السحابة والمجموعة وفضاء الاسم ومستوى التطبيق.
PAM: القفز/المعقل، الوصول إلى JIT (وقت محدود)، تسجيل الجلسة.
كسر الزجاج: حسابات مختومة بمفتاح جهاز، إصدار سجل.
الفحوصات المنتظمة لـ «من يمكنه الوصول إلى ماذا»، راجع مرة كل 30 يومًا.
5) الأسرار والمفاتيح
Vault/KMS/Secrets Manager، استثني الأسرار من Git.
KMS/HSM للمفاتيح الرئيسية ؛ KEK/DEK، التناوب التلقائي.
سياسات TTL: رموز قصيرة الأجل (OIDC/JWT)، حسابات مؤقتة لـ CI.
التشفير: في حالة الراحة (AES-256/GCM)، أثناء الرحلة (TLS 1. 2 +/mTLS)، أعمدة بيانات PII/البطاقة - بمفتاح منفصل.
6) سلسلة التوريد и تصلب CI/CD
عزل العدائين من أجل الحث (يتم استضافتهم ذاتيًا في شبكة خاصة).
توقيع القطع الأثرية (Sigstore/cosign)، التحقق من التوقيع على depa.
SBOM (CycloneDX/SPDX)، SCA/VA في كل التزام وقبل الإصدار.
سياسات «لا علامة أحدث»، فقط علامات ثابتة.
مبدأ العين الأربع: مراجعة القانون الإلزامي والموافقة على التغيير.
البنية التحتية كرمز: Terraform/Helm с policy-as-code (OPA/Conftest).
rego package iac. guardrails
deny[msg] {
input. resource. type == "storage_bucket"
input. resource. acl == "public-read"
msg:= sprintf("Public bucket forbidden: %s", [input. resource. name])
}
7) الحاويات و Kubernetes
الحد الأدنى من قاعدة الصورة (غير مجزأة)، بدون جذور، FS للقراءة فقط، إسقاط CAPs.
التحكم في القبول: رفض الامتيازات، hostPath، hostNetwork.
Pod Security Standards: basine/restricted для prod ns.
ImagePolicyWebhook - تخطي الصور الموقعة فقط.
سياسات وقت التشغيل (Falco/eBPF): تنبيهات إلى syscalls غير الطبيعية.
Cota/LimiteRange: حماية العقد من «الجيران الصاخبين».
8) محيط واجهة برمجة التطبيقات: WAF، حدود المعدل، Bot/DDoS
واجهة برمجة التطبيقات البوابة: المصادقة (OAuth2/JWT/HMAC)، التطبيع، mTLS، التحقق من صحة المخطط.
WAF: القواعد الأساسية + الطبقة لمقاييس الأعمال.
حدود الأسعار: على الصعيد العالمي/حسب الملكية الفكرية/حسب مفتاح العميل ؛ «الرموز» والانفجار.
nginx limit_req_zone $binary_remote_addr zone=api:20m rate=10r/s;
server {
location /api/ {
limit_req zone=api burst=30 nodelay;
proxy_pass http://api_backend;
}
}
إدارة الروبوت: إشارات سلوكية، بصمة الجهاز، التحدي.
DDoS: CDN/edge scruping، autoscaling، «dark-launch» للميزات الساخنة.
9) سياسات التكوين وتأمين التخلف عن السداد
احصل على أعلام/مفاتيح قتل لتعطيل الميزات الخطرة بسرعة.
إعدادName
وقت الإلغاء كمؤشر أداء رئيسي عند إلغاء التكوينات/المفاتيح.
10) البيانات والخصوصية
التصنيف: PII/finance/operation logs/telemetry.
التقليل: تخزين ما تحتاجه فقط، إخفاء الهوية/الاسم المستعار.
النسخ الاحتياطية: حساب/مشروع منفصل، تشفير، بروفات DR منتظمة.
قواعد الانسحاب: نفس الطريقة، حدود السرعة، تسجيل المخاطر، 4 عيون.
الاحتفاظ/الاحتفاظ القانوني: جداول التخزين، التخلص المنظم.
11) إمكانية الرصد والتنبيهات والاستجابة
ثالوث: سجلات (لا تحتوي على أسرار)، مقاييس (SLO/SLA)، مسارات (W3C).
إشارات الأمن: نجاح/فشل المدخلات، تصعيد الامتيازات، تغييرات في الأسرار، انحرافات المرور.
SIEM + SOAR: الترابط وكتب اللعب شبه التلقائية.
كتب لعب الحوادث: DDoS، تسريب الأسرار، تسوية العداء، التراجع عن الإصدار، «تجميد» المدفوعات.
MTTD/MTTR كمقاييس أساسية للاستجابة.
12) إدارة التغيير والإصدار
المجلس الاستشاري للتغيير (خفيف الوزن) للتغييرات عالية المخاطر.
بوابات ما قبل الدفع: الاختبارات، الأمن، البيرف، هجرات قاعدة البيانات.
Canary/Blue-Green/Shadow debey، التراجع التلقائي بواسطة SLO.
حظر التعديلات المباشرة في الحث: التغييرات فقط من خلال خط الأنابيب.
13) نقاط الضعف والرقع
سياسة التصحيح: حاسمة - في أسرع وقت ممكن ؛ مرتفع - لأيام N.
Rescan بعد الإصلاح ؛ ترجيح التعرض لـ CVE.
الفوضى الأمنية: تمارين دورية على قمة الطاولة وهجمات القيادة الحمراء في النوافذ المميزة.
14) الامتثال ومراجعة الحسابات
أطر المراقبة: PCI DSS (المدفوعات)، SOC 2، ISO 27001.
القطع الأثرية: مصفوفة التحكم، سجلات التغيير، تقارير المسح، نتائج اختبار DR، مراجعة الوصول.
التوافر المستمر: «دليل كرمز» - يتم جمع القطع الأثرية تلقائيًا من خطوط الأنابيب والأنظمة.
15) الاقتصاد والموثوقية
حواجز الحماية حسب التكلفة: الحصص والميزانيات والتنبيهات والإغلاق التلقائي للموارد غير المستخدمة.
السعة: التخطيط الموجه إلى SLO، واختبارات التحميل، «أيام الفوضى».
أولويات الإنعاش: المكتب الإقليمي للتكنولوجيا/المكتب الإقليمي لسواتل الملاحة حسب الخدمات وخريطة الإعالة.
16) الأنماط المضادة
أسرار v.env in Git، «إدارة» شائعة للجميع، «توجيه SSH في الحث،» إصلاحات يدوية في الحاويات، «أحدث» العلامات، مجموعة واحدة مشتركة لكل شيء، دلاء عامة، عداء CI مع إنترنت خارجي في شبكة عازفة، سجلات مع PII، لا مفتاح قتل لـ «ساخن» ميزات.
17) قائمة مراجعة البداية السريعة (90 يومًا)
0-30 أيام
تمكين وزارة الخارجية/مكتب الإحصاء، استعراض الوصول ؛ وحرمان الجميع من سياسات الشبكات ؛ مدير الأسرار/KMS ؛ المحظور امتيازه في K8s ؛ تمكين WAF/تنبيهات الدخول/التصعيد الأساسية بحد المعدل.
31-60 يومًا
توقيع الصورة + ImagePolicy ؛ SBOM + SCA в CI; الكناري/التراجع ؛ والعلاقات المتبادلة بين التصنيف الصناعي الدولي الموحد ؛ دفاتر اللعب الخاصة بالأشعة تحت الحمراء ؛ JIT/PAM ؛ النسخ الاحتياطي مع اختبار DR.
61-90 يومًا
حواجز حماية OPA لـ IaC ؛ eBPF/Falco ؛ وإدارة الروبوتات ؛ والاستعراض الدوري للوصول ؛ والفوضى الأمنية ؛ مراجعة التشكيلات وحواجز حماية التكاليف.
18) مقاييس النضج
الوصول:٪ من الحسابات مع MFA، متوسط عمر الرموز، وقت الاستدعاء.
خط الأنابيب:٪ صور موقعة/SBOM، تغطية SAST/DAST.
المنصة: مشاركة القرون مع تغطية FS للقراءة فقط، PSS المقيدة، NetworkPolicy.
المحيط:% واجهة برمجة التطبيقات مع قواعد حد المعدل/WAF، متوسط الاستجابة إلى DDoS.
IR: MTTD/MTTR، تردد أعلى الجدول، النسبة المئوية لبروفات DR الناجحة.
الامتثال: نسبة الضوابط بالأدلة التلقائية.
19) الملحق: نماذج السياسة
AWS SCP (حظر الدلو العام)
json
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyPublicS3",
"Effect": "Deny",
"Action": ["s3:PutBucketAcl","s3:PutBucketPolicy"],
"Resource": "",
"Condition": {"StringEquals": {"s3:x-amz-acl": "public-read"}}
}]
}
Kubernetes PodSecurity (namespace-label)
yaml apiVersion: v1 kind: Namespace metadata:
name: prod labels:
pod-security. kubernetes. io/enforce: restricted pod-security. kubernetes. io/audit: restricted
OPA للحاويات (ممنوع امتياز)
rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}
20)
إن تعزيز البيئة الغذائية عملية مستمرة. إعطاء الأولوية لتدابير التخفيف من المخاطر: الوصول والأسرار، وعزل الشبكة، وتوقيع القطع الأثرية ومراقبة خطوط الأنابيب، وحماية محيط واجهة برمجة التطبيقات، وإمكانية المراقبة، وانضباط التغيير. قم ببناء الباقي بشكل متكرر، والتقاط مقاييس النضج والتحكم في الاقتصاد.