Gizlin dolandyryş
Syr dolandyryşy
1) Näme üçin we nämäni "syr" hasaplaýarys?
Syr - ýüze çykarylmagy ulgamyň ýa-da maglumatlaryň bozulmagyna getirýän islendik material: parollar, API-tokenler, OAuth/JWT private keys, SSH-açarlar, şahadatnamalar, şifrlemek açarlary (KEK/DEK), webhuklaryň gol açarlary, DSN bazalary/keşleri, üpjün edijileriň açarlary (tölegler, poçta üpjün edijileri/SMS), cookie-duzlar/pepper, botlaryň/söhbetdeşlikleriň bellikleri, ygtyýarnamalar.
Syrlar kodda, konfigada, gurşawda, konteýner şekillerinde, CI/CD, Terraform/Ansible, loglarda/bamplarda ýaşaýarlar - syrlary dolandyrmagyň wezipesi: hasaba almak → saklamak → eltip bermek → ulanmak → aýlanmak → yzyna almak → audit → ýok etmek.
2) Binagärlik ýörelgeleri
Merkezleşdirme. Saklamak, bermek we audit üçin bir ygtybarly gatlak (Vault/Cloud Secret Manager/KMS).
Iň az artykmaçlyklar (PoLP). Diňe zerur bolan hyzmatlara/rollara iň az möhlete elýeterlilik.
Gysga ömür. TTL/lease bilen dinamiki/wagtlaýyn syrlar has gowudyr.
Crypto-agility. Algoritmleri/açarlaryň uzynlyklaryny işlemezden üýtgetmek mümkinçiligi.
Syrlary koddan/şekillerden aýyrmak. Ammarlarda parol ýa-da Docker şekilleri ýok.
Gözegçilik we audit. Syrlary bermek/okamak boýunça her bir amal ýazylýar we alerte edilýär.
Awtomatiki aýlanyş. Aýlanmak - el bilen aksiýa däl-de, pipeline prosesi.
3) Nusgawy çözgütler we komponentleriň rollary
KMS/HSM. Kök ynam, şifrlemek/açar gaplamak amallary (envelope).
Secret Manager/Vault. Gizlin wersiýalary, ACL, audit, dinamiki syrlar (DB, cloud-IAM, PKI), aýlaw şablonlary.
PKI/CA. mTLS/SSH/JWT gol şahadatnamalaryny bermek.
Agent/sidecar. Rantime syrlary ibermek (tmpfs, in-memory k/v, hot-reload faýllary).
CSI sürüjileri/operatorlary. Kubernetes (Secret Store CSI Driver, cert-manager) bilen integrasiýa.
Gidde şifrlemek gatlagy. SOPS/age, git-crypt (infrastruktura kody üçin).
4) Klassifikasiýa we syýasat
Kritiklik (P0/P1/P2) we zyýan mukdary (tenant-scoped, environment-scoped, org-wide) boýunça syrlary bölüň. Her synp üçin:- TTL/lease we aýlanyş ýygylygy;
- bermek usuly (statikanyň dinamikasy vs), format, daşaýjy;
- giriş syýasaty (kim/nirede/haçan/näme üçin), mTLS we özara аутentifikasiýa talaplary;
- audit (nämäni logika edýäris, näçeräk saklaýarys, kim revýuit edýär);
- break-glass proseduralary we yzyna çagyryş.
5) Gizlin durmuş sikli
1. Metadata (owner, tags, skope) bilen Gizlin Dolandyryjy API arkaly.
2. Saklamak: şifrlenen görnüşde (envelope: DEK KMS/HSM-den KEK bilen örtülendir).
3. Eltip bermek: ygtyýarly subýektiň haýyşy boýunça (OIDC/JWT, SPIFFE/SVID, mTLS).
4. Ulanmak: diňe ýatda/tmpfs; loging/damping gadaganlygy.
5. Aýlanyş: TTL ýa-da waka boýunça (eglişik); paralel wersiýalary goldamak (N-1).
6. Yzyna almak/blokirlemek: maksatly ulgamda derrew lease, dizabl hasaby/açary gutarýar.
7. Utilizasiýa: wersiýalary/materiallary ýok etmek, auditiň anyk zynjyry.
6) Dinamiki syrlar (adaty maslahat berilýär)
Pikir: gizlin gysga möhlete berilýär we awtomatiki usulda gutarýar. Mysal üçin:- TTL bilen DB (Postgres/MySQL) hasap maglumatlary 15-60 minut.
- Hyzmatyň roly boýunça bulutlaryň wagtlaýyn açarlary (AWS/GCP/Azure).
- SSH-şahadatnamalar (möhleti 5-30 min), X.509-şahadatnamalar (sagat/gün).
- Haýyşlara gol çekmek üçin wagtlaýyn JWT, brokerleriň session-tickets.
- Artykmaçlyklary: iň az blast radius, ýönekeýleşdirilen jogap (dünýäde hiç zat "galmaz").
7) Rentaime syrlary eltmek
Kubernetes:- Secret Store CSI Driver → daşarky dolandyryjydan pod-a gizlinleri faýl hökmünde redaktirlemek (tmpfs).
- Kubernetes Secretden ýeke-täk çeşme hökmünde gaça duruň (base64 ≠ şifrlemek); zerur bolsa - etcd üçin KMS üpjün edijisini açyň.
- Sidecar-agent (Vault Agent/Secrets Store) bilen awto-renewal lease we hot-reload.
- VM/Bare-metal: ulgam agenti + mTLS to Vault/Secret Manager, ýatda saklamak, iň az TCB.
- Serverless: daşky gurşawyň üýtgemeleri/faýllar hökmünde aç-açan gizlin çalyşma bilen bulutlary birleşdiriň, ýöne uzak ömürli envvars - has gowusy ýatda/faýllardan gaça duruň.
Mysal (Kubernetes CSI, konseptual)
yaml apiVersion: v1 kind: Pod metadata: { name: app }
spec:
serviceAccountName: app-sa # is associated with a role in Secret Manager volumes:
- name: secrets csi:
driver: secrets-store. csi. k8s. io readOnly: true volumeAttributes:
secretProviderClass: app-spc containers:
- name: app volumeMounts:
- mountPath: /run/secrets name: secrets readOnly: true
8) CI/CD we IaC integrasiýalary
CI: Workers OIDC (Workload Identity) boýunça gysga ömürli tokenleri alýarlar. Girelgelere düşýän "gizlenen" syrlary gadagan etmek; "syzdyryş skany" ädimi (trufflehog/gitleaks).
CD: deploý syrlary ýerleşdirilen pursadynda alýar, olary artefaktlara ýazmaýar.
IaC: Terraform üýtgewleri Gizlin Dolandyryjyda saklaýar; ýagdaýy (state) şifrlenýär we elýeterliligi çäklidir.
SOPS/age: repo üçin - şifrlenen manifestleri, açarlary - KMS-iň gözegçiliginde saklamak.
Mysal (SOPS-bölek)
yaml apiVersion: v1 kind: Secret metadata: { name: app }
data:
PASSWORD: ENC[AES256_GCM,data:...,sops:...]
sops:
kms:
- arn: arn:aws:kms:...
encrypted_regex: '^(data stringData)$'
version: '3. 8. 0'
9) Giriş syýasaty we iş ýüklerini tassyklamak
Workload identity: SPIFFE/SPIRE, Kubernetes SA→OIDC→IAM-роль, mTLS.
Wagtlaýyn bellikler: gysga TTL, dar skope.
ABAC/RBAC in Secret Manager: "Kim Y gurşawynda X syryny okap biler" "Kim döredip/öwrüp biler".
Köp kärende: kärendeçi üçin aýratyn namespaces/key-rings; aýry-aýry syýasatlar we hasabatlylyk.
10) Aýlanyş, wersiýalar we gabat gelmek
Gizlin şahsyýeti we onuň wersiýasyny bölüň ('secret/app/db #v17').
Üznüksiz aýlanmak üçin iki sany işjeň wersiýany (N we N-1) saklaň.
Wakanyň aýlanmagy: işden aýrylanda, eglişikde, üpjün edijiniň çalşygynda, algoritmleriň göçmeginde.
Awtomatlaşdyryň: Vault/Secret Manager + webhook-trigger programmalaryny täzeden başlamak/täzeden açmak.
Mini-resept "iki açar" webhuk aýlawy
text
T0: we publish two secrets in the provider: current, next
T1: the application starts accepting signatures by both current and next
T2: external system switches signature to next
T3: we do next -> current, re-release new next
11) Kärendäniň daşynda saklamak: ätiýaçlyk nusgalary we artefaktlar
Hiç haçan artefaktlara (şekiller, ýazgylaryň arhiwleri, dampalar) girmäň.
Gizlin Dolandyryjynyň yzlary - şifrlemek, şol bir konturdan daşarda saklamak açarlary (separation of duties).
Bellikler we DLP skanlar: S3/Blob/GCS, Git, CI artefaktlarynda syrlary tapmak.
12) Gözegçilik, audit we SLO
Metrikler: berlen/gizlin/hyzmat, möhleti geçen lease paýy, ortaça TTL, aýlanma wagty, konwergensiýa wagty (täze wersiýany "kabul etmezden" sekunt/minut öň).
Audit-log: kim/näme/haçan/nireden/näme üçin; aýratyn saklamak, şeýle hem şifrlenen.
SLO: 99% emissiýa <200 ms; 0 syzmak; 100% syr owner/TTL/bellikleri bar; 100% möhüm syrlar - dinamiki ýa-da aýlanyş ≤ 30 gün.
Alertler: syr gutarýar <7 gün (statikler üçin), ammar üçin autentifikasiýa şowsuzlyklarynyň köpelmegi, hiç hili syr okalmaýar> N gün (öli), garaşylmadyk geo/ASN çeşmeleri.
13) Ýygy-ýygydan ýalňyşlyklar we olardan nädip gaça durmaly
Git/şekillerdäki syrlar. SOPS/age we skanerleri ulanyň; "ýalaňaç" setirleri gadagan etmek syýasaty.
Envvars uzak möhletli daşaýjy hökmünde. tmpfs/in-memory faýllaryny has gowy görüň; forkalarda/dampalarda gurşawy arassalaň.
dev/stage/prod üçin birmeňzeş syrlar. Daş-töweregiňize bölüň.
Dowamly statiki parollar. Dinamik/gysgaça
"Hemme zat üçin" ýeke-täk esasy açar. Kärendeçiler/taslamalar/hyzmatlar boýunça bölüň.
Hot-reload ýok. Programma aýlanylanda gowşak penjireleri → täzeden başlamagy talap edýär.
14) Integrasiýanyň mysallary (shematiki)
Postgres üçin Vault dinamiki giriş
hcl
Vault: role -> issues the user to the database with TTL 30m and privileges only to the app path "database/creds/app-role" {
capabilities = ["read"]
}
Application requests/database/creds/app-role -> receives (user, pass, ttl)
JWT-haýyşlaryň goly (gysga möhlet)
Şahsy açar Gizlin dolandyryjyda saklanýar; hyzmat gysga ömürli signing-token soraýar we ýerli agent payload gol çekýär (açar setirde programma geçirilmeýär).
Administratorlar üçin SSH şahadatnamalary
Hemişelik açarlary paýlamazdan SSO (OIDC) boýunça 10 minutlyk SSH-cert bermek.
15) Gyralarda howpsuzlyk
Logy/Trace/Metrics: sanitizatorlar, belli açarlar/patternler üçin süzgüçler; "gizlin" meýdanlar - APM-de gizlemek.
Damp/crash-reports: default kesmek; zerur bolsa - şifrlemek we arassalamak.
Müşderi programmalary/mobilleri: oflayn syrlary minimallaşdyrmak, platforma ammarlaryny (Keychain/Keystore) ulanmak, enjamy baglanyşdyrmak, TLS-pinning gyssagly aýlawly.
16) Utgaşma
PCI DSS: PAN/syrlary şifrlemezden saklamagy gadagan etmek; girmäge we aýlanmaga berk gözegçilik etmek.
ISO 27001/SOC 2: aktiwleri dolandyrmak, magazineurnallaşdyrmak, elýeterlilige gözegçilik etmek, konfigurasiýalary üýtgetmek üçin talaplar.
GDPR/ýerli düzgünleşdirijiler: minimallaşdyrmak, zerurlyk boýunça elýeterlilik, audit.
17) Amallar we runbook
Işe girizilmegi
1. Syrlaryň sanawy (repozitoriýalar, CI, şekiller, runtime, bekaplar).
2. Klassifikasiýa we bellikler (owner, environment, tenant, rotation-policy).
3. Ammar saýlamak (Vault/Cloud SM) + KMS/HSM bilen integrasiýa.
4. Workload identity (OIDC/SPIRE) boýunça çykaryşy sazlamak.
5. DB/bulutlar/PKI üçin dinamiki syrlary goşmak.
6. Awto-rotasiýa we hot-reload; ekspirasiýadaky aladalar.
7. Syzdyryş skanerlerini we Data Catalog/DS sazlamak.
Gyssagly ssenariler
Syzdyrma şübhesi: giriş sanawyny duruzmak, haýal etmän aýlanmak, şahadatnamalary/açarlary yzyna almak, bellikleri gaýtadan çykarmak, ýokary auditi goşmak, RCA.
Gizlin Dolandyryjy elýeterli däl: kiçi TTL bilen ýatda ýerli keşd, funksiýalaryň zaýalanmagy, täze baglanyşyklaryň çäklendirilmegi, el bilen döwülýän glass ädimleri.
Kök açarynyň barlagy: key-hierarchy, rewrap ähli DEK-leriň regenerasiýasy, töwekgelçilik penjiresiniň aňyrsyndaky ähli tölegleri barlamak.
18) Çek-listler
Önümden öň
- Syrlar koddan/şekillerden aýryldy; syzdyryş skanerleri açyldy.
- Möhüm syrlar üçin dinamiki mehanizmler açylýar.
- Çydamly envvars bolmazdan, gyzgyn reload bilen sidecar/CSI/tmpfs arkaly eltip bermek.
- IAM/ABAC syýasatlary, iş ýüklemek identity baglanyşygy.
- Awto-rotasiýa we gabat gelmek üçin goşa wersiýalar (N, N-1).
- Metrikler/alertler/audit girizildi; pese gaçmak synaglary geçdi.
Amal
- Aýlyk hasabat: eýeler, TTL, möhleti geçen syrlar, ulanylmaýan.
- Wagtal-wagtal aýlanmalar we syzmak ýollarynyň pentestleri (loglar, dampalar, artefaktlar).
- Crypto-agility meýilnamasy we SA/kökleri gyssagly çalyşmak.
19) FAQ
S: KMS-siz Secret Manager ýeterlikmi?
O: Esasy dereje üçin - hawa, ýöne envelope-şifrlemäni ulanmak has gowudyr: KMS/HSM-de KEK, syrlar - örtülen. Bu bolsa seslenmäni we gabat gelmegi ýönekeýleşdirýär.
S: Näme saýlamaly - statik ýa-da dinamika?
A: Adaty dinamika. Statiki diňe üpjün edijileri goldamaýan ýerlerde goýuň we TTL-i gün/sagada çenli + awtomatiki aýlanyş bilen ýakyň.
S: Mikroservise syrlary nädip howpsuz zyňmaly?
О: Workload identity → mTLS к Secret Manager → sidecar/CSI → файлы в tmpfs + hot-reload. Blogsyz, envvars "hemişelik".
S: Kubernetes Secret-de syrlary saklamak mümkinmi?
O: Diňe KMS-üpjün ediji we berk syýasatlar bilen etcd şifrlemek açylanda. Daşarky ammar we CSI-ni has gowy görüň.
S: Kärendeçiniň elýeterliligi nädip "kripto-silmek"?
A: Secret Manager-daky syýasatlaryny yzyna almak/petiklemek, ähli leases-i maýyp etmek, açarlary aýlamak/dikeltmek; KMS ulanylanda - degişli KEK-leriň unwrapyny öçürmek.
- "At Rest şifrlemek"
- "In Transit Şifrlemek"
- "Açarlary dolandyrmak we rotasiýa"
- "S2S-tassyklama"
- "Haýyşlara gol çekmek we barlamak"