GH GambleHub

Operațiuni și configurații de audit de management al →

Configurații de audit

1) Scop și valoare

Configurațiile de audit asigură responsabilitatea dovedită și repetabilitatea schimbării: cine, când și ce sa schimbat; ceea ce este justificat; așa cum a fost testat; cum să se rostogolească înapoi. Acest lucru reduce riscul de incidente, scurgeri de secrete, neconcordanțe de conformitate și editări „ascunse” în prod.

Rezultate cheie:
  • O singură sursă de adevăr (SoT) pentru configurații.
  • Urmărirea completă a schimbării (end-to-end).
  • Lansări previzibile și revenire rapidă.
  • Politici de conformitate și securitate.

2) Domeniul de aplicare

Infrastructură: manifeste Terraform/Helm/Ansible/K8s, rețea ACL/WAF/CDN.
Configurații de aplicații: fișiere 'yaml/json/properties', steaguri de caracteristici, limite/cote.
Secrete și chei: seif/kms, certificate, jetoane, parole.
Conducte de date: scheme, transformări, orare ETL/stream.
Integrări: PSP/KYC/furnizori, webhook-uri, politici de retry/timeout.
Observabilitate: Reguli de alertă, tablouri de bord, SLO/SLA.

3) Principii

Config ca date: artefacte declarative, versionate, testabile.
Imutabilitatea și idempotența: reproductibilitatea mediului din cod.
Scheme și contracte: validare strictă (JSON-Schema/Protobuf), compatibilitate înapoi/înainte.
Minimizarea modificărilor manuale: modificări numai prin MR/PR.
Separarea îndatoririlor (SoD) și 4-eyes: author! = emploer; revizuirea obligatorie.
Atribuire și semnături: semnături ale comitetelor/eliberărilor, atestări ale artefactelor.

4) Arhitectura de audit

1. SCM (Git) ca SoT: toate configurațiile din depozit, ramura „principală” este protejată.

2. Registre:
  • Config Registry (director de configurații, posesiuni, SLA-uri, medii),
  • Registrul schemei (versiunile schemei de configurare/eveniment),
  • Policy Engine (OPA/Conftest) - set de verificări.
  • 3. CI/CD-gates: format/schemă → verificare statică → verificări ale politicilor → scanare secretă → plan de schimbare a →.
  • 4. Livrare: GitOps (ex. ArgoCD/Flux) cu detector de derivă și jurnale de audit aplicații.
  • 5. Magazin de dovezi: un depozit de artefacte de audit (plan, jurnale, semnături, construiește, SBOM).
  • 6. Jurnal de acțiune: jurnal invariabil (numai pentru adăugare) al evenimentelor 'CREATE/APPROVE/APPLY/ROLLBACK/ACCESS'.

5) Modelul datelor de audit (minim)

Сущности: 'ConfigItem (id, env, service, proprietar, schema_version, sensibilitate)'

События: 'modificare _ id, actor, acțiune, ts, diff_hash, motiv, aprobări []'

Артефакты: 'plan _ url, test_report_url, policy_report, semnătură, release_tag'

Conexiuni: RFC/bilet ↔ PR ↔ depla (sha) ↔ eliberarea înregistrării ↔ monitorizarea SLO.

6) Procesul de schimbare (end-to-end)

1. RFC/bilet → țintă, risc, backout.
2. PR/MR → linting, validare schematică, verificări de politici, scanare secretă.
3. Plan/previzualizare → dry-run/plan, diff de resurse, estimare cost/impact.
4. Aprobă (4-eyes/SoD, eticheta CAB cu risc ridicat).
5. Implementați (prin fereastră/calendar) → se aplică GitOps; drift alert activat.
6. Verificarea → fum/SLO-gardrails, confirmarea rezultatului.
7. Arhivarea probelor → depozitarea probelor; actualizarea dicționarului de configurare.

7) Politici și reguli (exemple)

SoD: Autorul PR nu deține în prod.
Limita de timp: Nici o producție în afara „congela”.
Domeniul de aplicare: schimbarea cheilor sensibile necesită 2 actualizări de la Securitate/Conformitate.
Secretele: interzise pentru a păstra în repo; calea seifului + referințele rolurilor de acces numai.
Plase: intrare cu '0. 0. 0. 0/0 'nu este permis fără o excepție temporară și TTL.
Alerte: este interzisă reducerea criticii P1 fără CAB.

8) Control secret

Stocare Vault/KMS, TTL-uri scurte, rotire automată.
Scanare secretă în CI (modele cheie, entropie ridicată).
Izolarea secretelor pe medii/roluri; privilegii minime necesare.
Criptarea „pe fir” și „în repaus”; jurnalele de audit închise de acces la secrete.

9) Instrumente (variabilă)

Lint/Schema: "yamllint'," jsonschema "," ajv "," cue ".
Politica: OPA/Conftest, Checkov/tfsec/kube-policies.
GitOps: ArgoCD/Flux (detectare drift, audit, RBAC).
Secrete: HashiCorp Vault, cloud KMS, manageri cert.
Scanere: trufflehog, gitleaks (secrete); OPA/Regula (reguli).
Raportare: jurnale de export în DWH/BI, legătură cu incidente și schimbarea sistemului.

10) Exemple de reguli și artefacte

Schema JSON pentru configurarea limitelor

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) - neagă '0. 0. 0. 0/0 'в pătrundere

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

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) - care a redus criticalitatea alertelor într-o lună

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;

Git comite exemplu de mesaj (câmpuri obligatorii)


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) Monitorizarea și alertarea

Drift-detectare: configurare într-un cluster ≠ Git → P1/P2 semnal + auto-remediere (reconciliere).
Schimbare de risc ridicat: schimbarea rețelelor/secretelor/politicilor - notificare în # security-ops.
Dovezi lipsă: implementați fără plan/semnătură/rapoarte - bloc sau alertă.
Active expirate: certificat/perioade de valabilitate cheie → alerte proactive.

12) Valori și KPI-uri

Acoperire de audit% - ponderea configurațiilor în cadrul schemelor/politicilor/scanerelor.
Drift MTTR este timpul mediu de derivă de compensare.
Politica de conformitate% - Trece politici la PR.
Secretele Scurgere MTTR - de la scurgere la rechemare/rotație.
Backout Rate - proporția de rollback de modificări de configurare.
Dimensiunea medie a schimbării - diferența medie pe linii/resurse (mai puțin este mai bine).

13) Raportarea și conformitatea

Urme de audit: stocare ≥ 1-3 ani (conform cerințelor), stocare neschimbabilă.
Reglementare: ISO 27001/27701, SOX-like SoD, GDPR (PII), cerințele industriei (iGaming: contabilizarea modificărilor în calculele GGR/NGR, limite, reguli bonus).
Rapoarte lunare: modificări de vârf, încălcări ale politicilor, derivă, certificate care expiră, stare de rotație.

14) Playbooks

A. Drift detectat în prod

1. Blocați auto-depozit pentru serviciul afectat.
2. Eliminați instantaneul stării curente.
3. Comparați cu Git, inițiați 'reconcilierea' sau rollback.
4. Creați incident P2, specificați sursa de derivă (manual kubectl/consolă).
5. Activați protecția: fără modificări directe (PSP/ABAC), anunțați proprietarii.

B. Certificatul PSP a expirat

1. Treceți la calea de rezervă/PSP, coborâți temporizările/retrasările.
2. Eliberați un nou certificat prin procesul PKI, actualizați configurarea prin Git.
3. Test de fum, retur de trafic, închide incidentul, post-mortem.

C. Secret lovit PR

1. Revocați tasta/token, utilizați rotația.
2. Rescrieți istoria/eliminați artefact din cache-uri, problema RCA.
3. Adăugați o regulă la scanerul secret, antrenați comanda.

15) Anti-modele

Editări manuale „la vânzare” fără urmă și rollback.
Configurații fără scheme și fără validare.
Secrete în variabilele Git/CI fără KMS/Vault.
Monorepos cu echivalentul „super-dreptei globale”.
"Surd' GitOps fără alerte derivă și jurnalele de aplicații.
PR-uri uriașe „toate deodată” - atribuire neclară și risc ridicat.

16) Liste de verificare

Înainte de fuziune

  • Diagrama și linterele au trecut
  • Politicile OPA/Conftest sunt verzi
  • Scanare secretă - „curat”
  • Plan/diff atașat, evaluarea riscurilor, backout gata
  • 2 Aprilie (prod) și SoD s-au întâlnit

Înainte de implementare

  • Eliberați fereastra și calendarul verificat
  • Monitorizarea driftului este activă
  • Gardrails SLO configurate, teste de fum gata

Lunar

  • Rotirea cheilor/certificatelor în grafic
  • Inventarul proprietarilor și al drepturilor
  • OPA/Exclusion Rules Review (TTL)
  • Încercare de foraj la incendiu

17) Sfaturi de proiectare

Împărțiți modificările în difuzoare mici; un PR este un singur scop.
Șabloane PR/comite obligatorii cu RFC/risc/rollback.
Pentru configurații dinamice, utilizați „centre de configurare” cu audit și rollback.
Versionize circuite; interzice ruperea fără migrații.
Vizualizați „harta de configurare”: ce, unde, cine este controlat.

18) Integrarea cu schimbarea și gestionarea incidentelor

PR ↔ RFC ↔ calendar de lansare ↔ incidente/post-mortems.
Măsurători automate (SLO/business) pentru configurarea versiunilor.
Creați automat sarcini pentru a șterge vechile steaguri/excepții (TTL).

19) Linia de jos

Configurațiile de audit nu sunt „raportarea pe hârtie”, ci un mecanism de fiabilitate operațională: configurațiile sunt date, modificările sunt controlate și verificabile, secretele sunt sub cheie, iar întreaga poveste este transparentă și verificabilă. Acesta este modul în care este construită o platformă stabilă, conformă și previzibilă.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Telegram
@Gamble_GC
Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.