Gıda ortamının güçlendirilmesi
Üretim ortamının güçlendirilmesi
1) Amaç ve çerçeve
Sertleştirme, olayların olasılığını ve bunların neden olduğu hasarı azaltan sistematik bir uygulama kümesidir. Odak: API çevresi, müşteri/ödeme verileri, CI/CD, konteyner platformu, erişimler, değişim kontrolü, gözlemlenebilirlik ve uyumluluk.
Temel ilkeler:- Tasarım ve Varsayılan Olarak Güvenlik: Minimum gerekli ayrıcalıklar, güvenli varsayılanlar.
- Sıfır Güven: Doğrulama olmadan ne ağa ne de kimliklere güvenin.
- Derinlemesine Savunma: Çok seviyeli koruma (ağ, servis, uygulama, veri).
- Eserlerin değişmezliği:'bir kez inşa et, çok koş ".
- E2E izleri ve denetlenebilirlik: kim, ne zaman, ne değişti - ve neden.
2) Tehdit modeli ve kritik varlıklar
Varlıklar: hesaplar ve ödeme belirteçleri, PII/pasaport verileri, RNG/oyun bakiyeleri, şifreleme anahtarları, entegrasyon sırları, boru hatları, konteyner görüntüleri dağıtın.
Vektörler: bağımlılık açıkları, belirteç sızıntıları, bulut misconfiguration/K8s, API'de SSRF/RCE, tedarik zinciri (CI/CD/depo uzlaşması), içeriden erişim, DDoS/bot trafiği.
Senaryolar: yetkisiz bir kuruluş tarafından fonların geri çekilmesi, katsayıların/bakiyelerin değiştirilmesi, taban tahliyesi, boru hattı yakalama, üründe manuel düzenlemeler.
3) Ağ mimarisi ve izolasyon
Segmentasyon: Prod/stage/dev için ayrı VPC/VNet. Inside prod - kenar (LB/WAF), API, veritabanı, analitik, yönetici hizmetleri için alt ağlar.
"Açıkça izin verilen" politika: Alt ağlar arasında tümünü reddet, yalnızca gerekli portları/yönleri aç.
Hizmetler arasında mTLS, sertifika rotasyonu otomatiktir.
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) Kimlikler ve Erişim (PAM/JIT)
Tüm insan erişimleri için SSO + MFA.
RBAC&ABAC - Bulut, küme, ad alanı ve uygulama düzeyinde roller.
PAM: atlama/bastion, JIT erişimi (sınırlı süre), oturum kaydı.
Kırık cam: Bir donanım anahtarı ile mühürlü hesaplar, günlük düzenleme.
"Kimin neye erişimi var'ın düzenli taramaları, her 30 günde bir gözden geçirilir.
5) Sırlar ve anahtarlar
Vault/KMS/Secrets Manager, Git'in sırlarını hariç tut.
Ana anahtarlar için KMS/HSM; KEK/DEK, otomatik dönüş.
TTL politikaları: Kısa ömürlü belirteçler (OIDC/JWT), CI için geçici hesaplar.
Şifreleme: Dururken (AES-256/GCM), uçuşta (TLS 1. 2 +/mTLS), PII/kart veri sütunları - ayrı bir anahtarla.
6) Tedarik zinciri и CI/CD sertleştirme
Prod için koşucuların izolasyonu (özel bir ağda kendi kendine barındırılan).
Eserlerin imzası (Sigstore/cosign), depla'da imzanın doğrulanması.
SBOM (CycloneDX/SPDX), her işlemde ve serbest bırakılmadan önce SCA/VA.
"Son etiket yok" politikaları, sadece değişmez etiketler.
4-göz prensibi: zorunlu kod incelemesi ve değişiklik onayı.
Kod Olarak Altyapı: 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) Konteynerler ve Kubernetes
Minimum görüntü tabanı (distroless), köksüz, salt okunur FS, açılır CAP'ler.
Kabul kontrolü: ayrıcalıklı inkar, hostPath, hostNetwork.
Pod Güvenlik Standartları: temel/kısıtlı для prod ns.
ImagePolicyWebhook - sadece imzalı resimleri atlamak.
Çalışma zamanı politikaları (Falco/eBPF): anormal syscalls uyarıları.
Kota/LimitRange: Düğümleri "gürültülü komşulardan" korur.
8) API çevresi: WAF, Oran Sınırları, Bot/DDoS
Ağ Geçidi API'si: kimlik doğrulama (OAuth2/JWT/HMAC), normalleştirme, mTLS, şema doğrulama.
WAF: temel kurallar + iş metrikleri için kast.
Hız limitleri: global/IP/istemci anahtarına göre; "Jetonlar've patladı.
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;
}
}
Bot yönetimi: davranışsal sinyaller, cihaz parmak izi, meydan okuma.
DDoS: CDN/kenar ovma, otomatik ölçekleme, sıcak özellikler için "karanlık başlatma".
9) Yapılandırma politikaları ve güvenli varsayılanlar
Riskli özellikleri hızlı bir şekilde devre dışı bırakmak için özellik bayrakları/kill-switchler.
Devre doğrulama ile Config-as-Code, yapılandırmalar için kanarya/mavi-yeşil.
Yapılandırmaları/anahtarları iptal ederken KPI Olarak İptal Etme Süresi.
10) Veri ve gizlilik
Sınıflandırma: PII/finans/işletme günlükleri/telemetri.
Minimizasyon: Sadece ihtiyacınız olanı saklayın, anonimleştirme/takma isimlendirme.
Yedeklemeler: ayrı hesap/proje, şifreleme, düzenli DR provaları.
Çekilme kuralları: aynı yöntem, hız limitleri, risk skoru, 4 göz.
Legal Hold/retention: depolama programları, yönetilen imha.
11) Gözlemlenebilirlik, uyarılar ve yanıt
Üçlü: günlükler (sır içermeyen), metrikler (SLO/SLA), yollar (W3C).
Güvenlik sinyalleri: girdilerin başarısı/başarısızlığı, ayrıcalıkların artması, sırlardaki değişiklikler, trafik sapmaları.
SIEM + SOAR: korelasyon ve yarı otomatik oyun kitapları.
Olay oyun kitapları: DDoS, sırların sızması, koşucunun uzlaşması, serbest bırakmanın geri alınması, ödemelerin "dondurulması".
MTTD/MTTR, yanıt vermenin birincil ölçütleri olarak.
12) Değişim ve Sürüm Yönetimi
Yüksek riskli değişiklikler için Danışma Kurulunu (hafif) değiştirin.
Prod öncesi kapılar: testler, güvenlik, perf, veritabanı geçişleri.
Kanarya/Mavi-Yeşil/Gölge depley, SLO tarafından otomatik geri alma.
Prod'daki doğrudan düzenlemeleri yasaklayın: yalnızca boru hattından geçer.
13) Güvenlik açıkları ve yamalar
Yama politikası: kritik - ASAP; yüksek - N gün boyunca.
Düzeltmeden sonra rescan; CVE-pozlama ağırlığı.
Kaos-güvenlik: periyodik tablo üstü egzersizleri ve vurgulanan pencerelerde kırmızı komut saldırıları.
14) Uyumluluk ve denetim
Kontrol çerçeveleri: PCI DSS (ödemeler), SOC 2, ISO 27001.
Artifaktlar: kontrol matrisi, değişiklik günlükleri, tarama raporları, DR test sonuçları, erişim incelemesi.
Sürekli kullanılabilirlik: "Kod olarak kanıt" - eserler boru hatlarından ve sistemlerden otomatik olarak toplanır.
15) Ekonomi ve güvenilirlik
Maliyete göre korkuluklar: kotalar, bütçeler, uyarılar, kullanılmayan kaynakların otomatik olarak kapatılması.
Kapasite: SLO odaklı planlama, yük testleri, "kaos günleri".
Kurtarma öncelikleri: Hizmete göre RTO/RPO, bağımlılık haritası.
16) Anti-desenler
Git'te v.env'nin sırları, herkes için ortak "admin", prod'da doğrudan SSH, konteynerlerde manuel düzeltmeler,'en son "etiketler, her şey için ortak bir küme, genel kovalar, prod ağında giden İnternet ile CI-runner, PII ile günlükler," sıcak "özellikler için kill-switch yok.
17) Hızlı başlangıç kontrol listesi (90 gün)
0-30 gün
MFA/SSO, erişim incelemesini etkinleştir; Tüm ağ politikalarını reddetmek; Sırlar Yöneticisi/KMS; K8s'da ayrıcalıklı yasak; WAF/Oran sınırı temel giriş/tırmanma uyarılarını etkinleştirin.
31-60 gün
Görüntü imzası + ImagePolicy; SBOM + SCA в CI; kanarya/rollback; SIEM korelasyonları; IR oyun kitapları; JIT/PAM; DR testi ile yedekleme.
61-90 gün
IaC için OPA korkulukları; eBPF/Falco; bot yönetimi; Periyodik erişim-inceleme; kaos-güvenlik tatbikatı; Yapılandırmaların ve maliyet korkuluklarının denetimi.
18) Vade metrikleri
Erişimler: MFA'lı hesapların %'si, belirteçlerin ortalama yaşı, hatırlama süresi.
Boru hattı: % imzalı/SBOM görüntüleri, SAST/DAST kapsamı.
Platform: salt okunur FS, PSS kısıtlı, NetworkPolicy kapsamına sahip bölmelerin paylaşımı.
Çevre: Oran limiti/WAF kuralları ile % API, DDoS'a ortalama yanıt.
IR: MTTD/MTTR, masa üstü frekansı, başarılı DR provalarının yüzdesi.
Uygunluk: Kontrollerin otomatik kanıtlarla oranı.
19) Ek: Politika Şablonları
AWS SCP (Genel Kova Yasağı)
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 (ad alanı-etiket)
yaml apiVersion: v1 kind: Namespace metadata:
name: prod labels:
pod-security. kubernetes. io/enforce: restricted pod-security. kubernetes. io/audit: restricted
Konteynerler için OPA (yasak ayrıcalıklı)
rego package k8s. admission deny[msg] {
input. request. object. spec. containers[_].securityContext. privileged == true msg:= "Privileged containers are not allowed in prod"
}
20) Sonuç
Gıda ortamının güçlendirilmesi devam eden bir süreçtir. Risk azaltma önlemlerine öncelik verin: erişim ve sırlar, ağ izolasyonu, eser imzalama ve boru hattı kontrolü, API çevre koruması, gözlemlenebilirlik ve değişim disiplini. Geri kalanını yinelemeli olarak oluşturun, olgunluk metriklerini yakalayın ve ekonomiyi kontrol edin.