Əməliyyat və İdarəetmə → Konfiqurasiya Auditi
Konfiqurasiya auditi
1) Məqsəd və dəyəri
Konfiqurasiya auditi dəyişikliklərin sübut edilə bilən hesabatlılığını və təkrarlanmasını təmin edir: kim, nə vaxt və nə dəyişdi; nə əsaslandırılır; yoxlanıldığı kimi; necə yuvarlanmaq. Bu, insidentlər, sirlərin sızması, komplayens uyğunsuzluğu və prodda «gizli» düzəlişlər riskini azaldır.
Əsas nəticələr:- Konfiqurasiya üçün vahid həqiqət mənbəyi (SoT).
- Dəyişikliklərin tam izlənməsi (end-to-end).
- Proqnozlaşdırıla bilən buraxılışlar və sürətli geri dönüş.
- Tənzimləyici tələblərə və təhlükəsizlik siyasətlərinə uyğunluq.
2) əhatə dairəsi
Infrastruktur: Terraform/Helm/Ansible/K8s manifestlər, şəbəkə ACL/WAF/CDN.
Tətbiqi konfiqlər: 'yaml/json/properties' faylları, fiça bayraqları, limitlər/kvotalar.
Sirlər və açarlar: vault/kms, sertifikatlar, tokenlər, şifrələr.
Verilənlərin paylaynları: sxemlər, transformasiyalar, ETL/streams cədvəlləri.
İnteqrasiya: PSP/KYC/provayderləri, vebhukları, retry/zaman siyasətləri.
Müşahidə: alert qaydaları, daşbordlar, SLO/SLA.
3) Prinsiplər
Config as Data: deklarativ, versiyalaşdırıla bilən, sınaqdan keçirilə bilən artefaktlar.
Immutability və idempotentlik: koddan mühitin təkrarlanabilirliyi.
Sxemlər və müqavilələr: ciddi validasiya (JSON-Schema/Protobuf), back/forward-uyğunluq.
Əl düzəlişlərinin minimuma endirilməsi: dəyişikliklər yalnız MR/PR vasitəsilə.
Vəzifə bölgüsü (SoD) və 4-eyes: müəllif! = deploer; məcburi fəryad.
Atributlar və imzalar: kommitlərin/buraxılışların imzaları, artefaktların attestasiyaları.
4) Audit arxitekturası
1. SoT kimi SCM (Git): anbarda bütün konfiqlər, 'main' filialı qorunur.
2. Registrlər:- Config Registry (konfiqurasiya kataloqu, sahiblik, SLA, mühit),
- Schema Registry (konfiqurasiya/tədbir sxemlərinin versiyaları),
- Policy Engine (OPA/Conftest) - yoxlamalar dəsti.
- 3. CI/CD geytaları: format/sxem → statik yoxlama → policy checks → gizli skan → dry-run → dəyişiklik planı.
- 4. Delivery: GitOps (məsələn, ArgoCD/Flux) drift detektoru və tətbiq audit loqları ilə.
- 5. Evidence Store: audit artefaktlarının anbarı (plan, qeydlər, imzalar, binalar, SBOM).
- 6. Fəaliyyət jurnalı: 'CREATE/APPROVE/APPLY/ROLLBACK/ACCESS' hadisələrinin dəyişməz log (append-only).
5) Audit məlumat modeli (minimum)
Сущности: `ConfigItem(id, env, service, owner, schema_version, sensitivity)`
События: `change_id, actor, action, ts, diff_hash, reason, approvals[]`
Артефакты: `plan_url, test_report_url, policy_report, signature, release_tag`
Communications: RFC/Check, PR, deploy (sha), SLO-nun buraxılış-qeyd monitorinqi.
6) Dəyişiklik prosesi (keçid)
1. RFC/bilet → məqsəd, risk, backout.
2. PR/MR → linting, sxematik validasiya, policy yoxlama, gizli skan.
3. Plan/preview → dry-run/plan, diff resursları, dəyər/impact qiymətləndirilməsi.
4. Approve (4-eyes/SoD, yüksək riskli CAB etiketi).
5. Deploy (pəncərə/təqvim) → GitOps tətbiq; drift-alerting daxildir.
6. Yoxlama → smoke/SLO-gardrails, nəticənin təsdiqi.
7. Dəlillərin arxivləşdirilməsi → evidence store; konfiqurasiya lüğətinin yenilənməsi.
7) Siyasət və qaydalar (nümunələr)
SoD: Bir PR müəllif saxlamaq deyil.
Vaxt məhdudiyyəti: «freeze» xaricində prod deploya qadağandır.
Scope: həssas açarların dəyişdirilməsi Security/Compliance-dan 2x aparat tələb edir.
Sirlər: repoda saxlamaq qadağandır; yalnız vault yolu + giriş rolu bağlantıları.
Şəbəkələr: ingress c '0. 0. 0. 0/0 'müvəqqəti istisna və TTL olmadan qadağandır.
Alertlər: CAB olmadan P1 kritikliyini azaltmaq qadağandır.
8) Sirlərə nəzarət
Vault/KMS saxlama, qısa TTL, avtomatik rotasiya.
Secret scanning CI (açar nümunələri, high-entropy).
Sirlərin mühit/rollara görə təcrid edilməsi; minimum lazımi imtiyazlar.
Simdə və rahat şifrləmə; məxfi audit-loqlar.
9) Alətlər (dəyişkən)
Lint/Schema: `yamllint`, `jsonschema`, `ajv`, `cue`.
Policy: OPA/Conftest, Checkov/tfsec/kube-policies.
GitOps: ArgoCD/Flux (drift detection, audit, RBAC).
Secrets: HashiCorp Vault, cloud KMS, cert menecerləri.
Skanerlər: trufflehog, gitleaks (sirləri); OPA/Regula (qaydalar).
Hesabat: DWH/BI-də jurnalların ixracı, hadisə və change sistemi ilə əlaqə.
10) Qayda və artefaktların nümunələri
Limitlərin konfiqurasiyası üçün JSON-Schema
json
{
"$schema": "http://json-schema. org/draft-07/schema#",
"title": "limits",
"type": "object",
"required": ["service", "region", "rate_limit_qps"],
"properties": {
"service": {"type":"string", "pattern":"^[a-z0-9-]+$"},
"region": {"type":"string", "enum":["eu","us","latam","apac"]},
"rate_limit_qps": {"type":"integer","minimum":1,"maximum":5000},
"timeouts_ms": {"type":"integer","minimum":50,"maximum":10000}
},
"additionalProperties": false
}
Conftest/OPA (rego) - qadağa '0. 0. 0. 0/0` в ingress
rego package policy. network
deny[msg] {
input. kind == "IngressRule"
input. cidr == "0. 0. 0. 0/0"
msg:= "Ingress 0. 0. 0. 0/0 is not allowed. Specify specific CIDRs or throw an exception with TTL"
}
Conftest/OPA - SoD (müəllif saxlaya bilməz)
rego package policy. sod
deny[msg] {
input. env == "prod"
input. pr. author == input. pr. merger msg: = "SoD: PR author cannot hold in prod."
}
SQL (DWH) - bir ay ərzində alertlərin kritikliyini kim azaltdı
sql
SELECT actor, COUNT() AS cnt
FROM audit_events
WHERE action = 'ALERT_SEVERITY_CHANGED'
AND old_value = 'P1' AND new_value IN ('P2','P3')
AND ts >= date_trunc('month', now())
GROUP BY 1
ORDER BY cnt DESC;
Nümunə Git commit message (məcburi sahələr)
feat(config/payments): raise PSP_B timeout to 800ms in EU
RFC: OPS-3421
Risk: Medium (PSP_B only, EU region)
Backout: revert PR + restore timeout=500ms
Tests: schema ok, conftest ok, e2e ok
11) Monitorinq və Alertinq
Drift Detect: ≠ Git → P1/P2 siqnal + auto-remediation (reconcile).
High-risk change: şəbəkələrin/sirlərin/siyasətlərin dəyişdirilməsi - -ops #security bildiriş.
Missing evidence: plan/imza/hesabatlar olmadan deploy - blok və ya alert.
Expired assets: sertifikatların/açarların etibarlılığı → pro-aktiv alertlər.
12) Metrika və KPI
Audit Coverage% - sxemlər/siyasətlər/skanerlər altında konfiqurasiya payı.
Drift MTTR - sürüklənmənin aradan qaldırılması üçün orta vaxt.
Policy Compliance% - siyasətçinin PR-ə keçidi.
Secrets Leak MTTR - sızmadan geri çağırışa/rotasiyaya qədər.
Backout Rate - dəyişiklik geri qaytarma payı.
Mean Change Size - sətir/resurslar üzrə orta diff (daha az - daha yaxşı).
13) Hesabat və uyğunluq
Audit izləri: 1-3 il ≥ saxlama (tələblərə görə), dəyişməz saxlama.
Tənzimləyici: ISO 27001/27701, SOX-oxşar SoD, GDPR (PII), sənaye tələbləri (iGaming: GGR/NGR, limitlər, bonus qaydalarının hesablanması).
Aylıq hesabatlar: top dəyişikliklər, siyasət pozuntuları, sürüklənmə, müddəti bitən sertifikatlar, rotasiya statusu.
14) Playbook
A. Prod drift aşkar
1. təsirlənmiş xidmət üçün auto deploy bloklamaq.
2. Cari vəziyyətin snapshotunu çıxarın.
3. Git ilə müqayisə, başlatmaq 'reconcile' və ya geri.
4. P2 hadisəsini yaradın, sürüklənmə mənbəyini göstərin (əl kubectl/konsol).
5. Müdafiəni açın: Birbaşa dəyişiklik qadağası (PSP/ABAC), sahiblərinə bildirin.
B. PSP sertifikatının müddəti keçmiş
1. Ehtiyat yoluna/PSP keçin, vaxtları/retrayları azaltın.
2. PKI prosesi vasitəsilə yeni sertifikat buraxın, Git vasitəsilə yeniləyin.
3. Smoke test, trafiki geri qaytarmaq, hadisəni bağlamaq, post-mortem keçirmək.
C. gizli PR daxil
1. Açarı/tokeni geri götürün, rotasiyanı işə salın.
2. Tarixi yenidən yazın/cache-dən artefaktı silmək, RCA-nı tərtib etmək.
3. Gizli skanerə qayda əlavə edin, komandanı öyrədin.
15) Anti-nümunələr
Əl düzəlişləri izsiz və geri qaytarılmadan «prodda».
Sxemsiz və validasiya olmadan konfiqlər.
KMS/Vault olmadan Git/CI dəyişənlərində sirləri.
Monorepo «qlobal super hüquq» ekvivalenti ilə.
«Kar» GitOps drift-alertlər və tətbiq jurnalları olmadan.
Böyük PR «hər şey bir anda» - qeyri-müəyyən atributlar və yüksək risk.
16) Çek vərəqləri
Əvvəl merge
- Sxem və linterlər keçdi
- OPA/Conftest «yaşıl» siyasətləri
- Secret-scan - «təmiz»
- Plan/diff tətbiq, risk qiymətləndirilir, backout hazır
- 2 aqua (prod) və SoD müşahidə
deploy əvvəl
- Buraxılış pəncərəsi və təqvim yoxlanılıb
- Drift monitorinq aktiv
- SLO gardrails xüsusi, smoke testlər hazırdır
Aylıq
- Qrafik üzrə açar/sertifikatların rotasiyası
- Sahiblərinin və hüquqlarının inventarlaşdırılması
- ORA/istisnaların review qaydaları (TTL)
- Hadisə playbook testi (fire-drill)
17) Dizayn məsləhətləri
Dəyişiklikləri kiçik difflərə bölün; bir PR - bir hədəf.
RFC/risk/geri dönüş ilə məcburi PR/kommit şablonları.
Dinamik konfiqurasiya üçün audit və rollback ilə «konfiqurasiya mərkəzləri» istifadə edin.
sxemləri versiyası; miqrasiya olmadan breaking qadağan.
"Konfiqurasiya xəritəsi 'ni vizuallaşdırın: nə, harada, kim tərəfindən idarə olunur.
18) Dəyişiklik və hadisələrin idarə edilməsi ilə inteqrasiya
PR, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC.
Metriklərin avtomatik bağlanması (SLO/biznes) konfiqurasiya buraxılışlarına.
Köhnə bayraqların/istisnaların (TTL) aradan qaldırılması üçün tapşırıqların avtomatik yaradılması.
19) Yekun
Konfiqurasiya auditi «kağız hesabatı» deyil, etibarlılığın əməliyyat mexanizmidir: konfiqlər - məlumatlar, dəyişikliklər - nəzarət və yoxlanılır, sirrlər - kilid altındadır və bütün hekayə şəffafdır və yoxlanıla bilər. Beləliklə, sabit, komplayent və proqnozlaşdırıla bilən platforma qurulur.