GH GambleHub

Konfigurasiýalary we syrlary dolandyrmak

Konfigurasiýalary we syrlary dolandyrmak

1) Bu näme üçin zerur?

Konfigurasiýalar we syrlar - prod-platformanyň "gany". Konfigadaky ýalňyşlyk p95-e düşýär, syr P1 derejesindäki hadysadyr. Maksat gizlin/gizlin etmek:
  • Öňünden aýdyp boljak (shemalar, tassyklama, wersiýalar).
  • Howpsuz (şifrlemek, iň az hukuklar, aýlaw).
  • Dolandyrylýan (GitOps, audit, yzyna gaýtarmalar).
  • Aklanan ýerinde dinamiki (feature flags, çäkleri parametrleşdirmek).

2) Artefaktlaryň klassifikasiýasy

Köpçüligiň gapdalynda: fiçler, bosagalar, wagtlar, feature flags (syrsyz).
Duýgur gapma-garşylyklar: möhüm ýollaryň özüni alyp barşyny üýtgedýän parametrler (mysal üçin, töleg çäkleri).
Syrlar: parollar/açarlar/bellikler/şahadatnamalar/şifrlemek materiallary.
Ynam artefaktlary: kök/aralyk şahadatnamalary, PKI syýasatlary, KMS açarlary.

Aýry-aýry saklamak we hukuklar ýörelgesi: köpçüligiň ≠ duýgur ≠ syrlary.

3) Konfigurasiýa iýerarhiýasy

Gatlaklaryň "piramidasyny" guruň:

1. Global defaults (org-wide).

2. Environment (`prod/stage/dev`).

3. Region (`eu-central-1`, `us-east-1`).

4. Tenant/Brand (köp tenantlar üçin).

5. Service (anyk mikroservis).

6. Override (runtime) - wagtlaýyn açarlar.

Birleşmegiň düzgünleri: "aşakda ýeňiş gazanýar", gapma-garşylyk - diňe MR/approval arkaly.

Mysal (YAML)

yaml defaults:
http:
timeout_ms: 800 retry: 2 prod:
http:
timeout_ms: 1200 service: payments-api overrides:
eu-central-1:
http:
timeout_ms: 1500

4) Shemalar we tassyklama

Her bir zat - shema bilen şertnama (JSON Schema/OPA/CI-de walidatorlar).

Görnüşler, diapazonlar, hökmany meýdanlar, adaty bahalar.
"Guard-düzgünler" ('retry> 5', 'p95 _ target <50ms' goýup bolmaýar).
CI-de we ulanylanda awtomatiki barlamak (admission-webhook/KRM).

JSON Shema bölegi

json
{
"type":"object",
"properties":{
"http":{"type":"object","properties":{"timeout_ms":{"type":"integer","minimum":100,"maximum":10000},"retry":{"type":"integer","minimum":0,"maximum":5}},"required":["timeout_ms"]},
"feature_flags":{"type":"object","additionalProperties":{"type":"boolean"}}
},
"required":["http"]
}

5) Konfigurasiýalary eltmegiň modelleri

Static (image-baked): ygtybarly, ýöne täzeden başlamagy talap edýär.
Push/Watch: agentler/sidecar täzelenmeleri (akym/poll) alýarlar we programma signal berýärler.
Pull on startup: Başlaýanymyzda snapshot alýarys (hot-path ýönekeýleşdiriň).
Geo-paýlanan ýükler üçin Edge cache/proxy.

Esasy zat: atomarlyk we snapshotlaryň wersiýasy, gabat gelýänlige gözegçilik we çalt yza gaýdyp gelmek.

6) Gurallar we rollar

Konfigurasiýa ammarlary: Git (hakykat çeşmesi) + GitOps (Argo/Flux), Parameter Store/Config Service.
Gizlin ammarlar: Vault, AWS Secrets Manager/SSM, GCP Secrets, Azure KV.
Şifrlemek: KMS/HSM, SOPS (age/GPG/KMS), Sealed Secrets, Transit-şifrlemek (Vault).
Eltip bermek: CSI Secrets Store, Vault Agent Injector/Sidecar, init-konteýnerler.
Baýdaklar/dinamika: Ficha-baýdaklar platformasy (şol sanda gyssagly öldürmek-switch).

7) Şifrlemek: modeller we amallar

At rest: Taslamanyň/gurşawyň KMS-açarlary, envelope-şifrlemek.
In transit: Özara tassyklama bilen TLS/mTLS.
At use: deşifrlemek mümkin boldugyça soňrak, has gowusy - prosesiň ýadynda/sidecar (diske ýazylmazdan).
Esasy iýerarhiýa: root (HSM) → KMS CMK → data keys (DEK).
Aýlanyş: senenama (90/180 gün) + waka boýunça (işgäriň eglişigi/gitmegi).

8) Syrlary dolandyrmak: patternler

8. 1 GitOps + SOPS (statik snapshot)

Gidde diňe şifrlenen tekst saklanýar.
Şifrlemek CI/CD ýa-da klaster (KMS/age).
Dolandyryjy arkaly ulanmak (Flux/Argo) → Kubernetes Secret.

yaml apiVersion: v1 kind: Secret metadata: { name: psp-keys, namespace: payments }
type: Opaque data:
apiKey: ENC[AES256_GCM,data:...,sops]

8. 2 Vault Agent Injector (dinamiki çykyş)

Hyzmat hasaby (JWT/SA) Vault-da tassyklanýar.
Sidecar tmpfs-de kredtleri goýýar we TTL boýunça täzelenýär.
Dinamiki kredileri goldamak (DB, cloud - izolýasiýa we gysga möhlet).

yaml annotations:
vault. hashicorp. com/agent-inject: "true"
vault. hashicorp. com/role: "payments-api"
vault. hashicorp. com/agent-inject-secret-db: "database/creds/payments"

8. 3 CSI Secrets Store

Syry üýtgetmek, aýlanmak aç-açan.
PKI üçin - şahadatnamalary/açarlary awtomatiki täzelemek.

9) Kubernetes: amaly taraplary

ConfigMap - diňe köpçülige açyk/duýgur däl maglumatlar.
Secret - duýgur (base64 - şifrlemek däl; Encryption at Rest-i etcd üçin açyň).
Checksum-annotasiýa: konfig üýtgäninde Deployment-i täzeden başlamak.
Admission-control: "ak sanawdan" däl syrlary redaktirlemegi gadagan etmek, manifestlerdäki "plain" parollary gadagan etmek.
NetworkPolicy: Gizlin üpjün edijilere girişi çäklendirmek (Vault/CSI).

Checksum mysaly (Helm)

yaml annotations:
checksum/config: {{ include (print $.Template. BasePath "/configmap. yaml"). sha256sum }}

10) Giriş syýasaty (RBAC/ABAC)

Least privilege: hyzmat diňe öz syrlaryny görýär; namespace/label/prefix.
Split duties: syry döretmek ≠ mazmuny okamak; islendik okamagyň barlagy.
Wagtlaýyn kodlar: TTL we awtomatiki aýlanyş bilen dinamiki loginler (DB, cloud).
Segmentasiýa: prod/stage dürli taslamalarda/hasaplarda/KMS-açarlarda.

11) Audit, žurnallaşdyrma, gözegçilik etmek

Syr okamak/bermek ýazgylary: kim/haçan/näme/nireden; relizler we hadysalar bilen baglanyşyk.
Metrikler: ýüz tutmalaryň ýygylygy, gutarýan syrlar, möhleti geçen şahadatnamalar, dinamiki kredileriň paýy.
Howpsuzlyk wakalary: kwotalaryň artykmaçlygy, IP/wagt boýunça anomaliýalar, köp şowsuz autentifikasiýalar.

12) Syrlaryň we şahadatnamalaryň aýlanmagy

Möhletleri standartlaşdyryň: API-açarlar - 90 gün, DB-parollar - 30 gün, TLS-sertlar - 60-90 gün.
Aýlanyş kontury: nesil → synag → goşa neşir (grace) → geçiş → köne gözden geçirmek → tassyklamak.
Işlemezlik: konfigurasiýalary/syrlary goşa ýazmak, müşderileriň laýyklygy (accept new + old).
PKI: öz CA ýa-da daşarky bilen integrasiýa; mTLS materiallaryny CSI/Vault arkaly awtomatiki täzelemek.

13) Dinamiki gapma-garşylyklar we feature flags

"Gyzgyn" parametrleri (çäkleri, wagtlary) hyzmat/baýdak platformasyndan alyň.
Lokal keş we stickiness (heş opsiýasyny hasaplamak), gysga TTL.
Duýgur parametrleri üýtgetmek üçin SLO goragçylary (awto-yza gaýdmak we öldürmek-switch).

14) CI/CD we GitOps bilen integrasiýa

Pre-commit/CI: shema linterleri, SOPS-barlaglar, "ýalaňaç" syrlary gadagan etmek (skanerler: gitleaks/trufflehog).
Policy Gate: OPA/Conftest - şemasyz/eýesiniň düşündirişsiz/daşky gurşaw bellikleri bolmazdan konfigurasiýalara gadaganlyk.
Progressive delivery: konfigurasiýalary artefaktlar (semver), parametrleri üýtgetmek üçin canary hökmünde mahabatlandyrmak.
Relizleriň düşündirişleri: kim/näme/syr üýtgetdi; p95/5xx bilen çalt baglanyşyk.

15) Mysallar

15. 1 OPA syýasaty: konfigada açyk SG gadaganlygy

rego package policy. config

deny[msg] {
input. kind == "SecurityGroupRule"
input. cidr == "0. 0. 0. 0/0"
input. port = = 5432 msg: = "Postgres open internet banned"
}

15. 2 Konfiganyň "snapshot" mysaly (wersiýalanýan)

yaml version: 1. 12. 0 owner: payments-team appliesTo: [ "payments-api@prod" ]
http:
timeout_ms: 1200 retry: 2 withdraw:
limits:
per_txn_eur: 5000 per_day_eur: 20000 flags:
new_withdrawal_flow: false

15. 3 Vault - dinamiki CD-ler

hcl path "database/creds/payments" {
capabilities = ["read"]
}
role issues user/password with TTL = 1h and auto-rollover

16) Anti-patternler

Gizlinlikler Git-de açyk/Helm/Ansible üýtgeýjilerinde şifrlenmezden.
Ähli hyzmatlar/gurşaw üçin ýeke-täk "mega-syr".
TTL/rotasiýa bolmazdan uzak ömürli tokenler; "ölmez-ýitmez" şahadatnamalar.
Shemasyz/tassyklamasyz we auditsiz dinamiki konfigikler.
mTLS-siz etcd/KMS we tor üçin Encryption at Rest ýok.
Konsoldaky konfigurasiýalary el bilen düzetmek (GitOps-dan aýlanyp geçmek).
Işläp düzüjileriň "mümkin boldugyça" proto-syrlara elýeterliligi.

17) Giriş çek-sanawy (0-60 gün)

0-15 gün

Konweýler üçin shemalary/tassyklaýjylary açyň; "configs" reposyny we GitOps akymyny başla.
KMS we şifrlemäni göteriň: Etcd.
CI (skanerlerde) plaintext syrlaryny gadagan etmek, owners/approvals girizmek.

16-30 gün

Ammarlary bölmek: köpçüligiň gapma-garşylygy vs duýgur vs syrlar.
"Vault/Secrets Manager" -y ornaşdyryň, gowşuryş ýoluny saýlaň (Agent/CSI/SOPS).
TLS/DB/PSP-krediniň aýlanyşyny sazla; dashbordlar "ömürlik/gutarýan".

31-60 gün

SLO-geýting we awto-yza gaýdýan dinamiki gapma-garşylyklar we baýdaklar.
OPA/Conftest syýasaty; zero-trust (namespace/label-scoped access).
Game-day: gizlin syzmak we fors-rotasiýa simulýasiýasy.

18) Kämillik ölçegleri

Git = 100% -den gönüden-göni elýeterli däl we şifrlenen syrlaryň% -i.
Konwensiýalary shema/tassyklama bilen ýapmak ≥ 95%.
Möhüm syrlary aýlamagyň ortaça wagty (maksady: sagat, gün däl).
Dinamiki kredileriň paýy (DB/cloud) ≥ 80%.
"plain secrets "/möhleti geçen şahadatnamalar sebäpli 0 hadysalar.
MTTR ýalňyşlyk ýüze çykan halatynda <5 minut.

19) Toparlaýyn rollar we prosesler

Config Owner: domen/shemalar/syýasatçy.
Howpsuzlyk: syýasatlar, esasy iýerarhiýa, giriş barlagy.
Platform/SRE: GitOps, eltip bermek/injeksiýa, telemetriýa.
App Teams: konfigurasiýalary/syrlary sarp etmek, laýyklyk synaglary.

20) Netijenama

Konfigurasiýalaryň we syrlaryň ygtybarly kontury - bu shemalar + GitOps + şifrlemek + rotasiýa + syýasat. Köpçülige we gizlinlige bölüniň, hemme zady şifrläň, konfiguralary atom we wersiýa arkaly ulanyň, kredileriň hukuklaryny we ömrüni azaldyň, rotasiýalary we auditi awtomatlaşdyryň. Şonda üýtgeşmeler çalt we howpsuz bolar we syzmak we ýykylmak howpy az bolar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.