Appearance
Zacházení s citlivými údaji — tajné hodnoty ve zdrojovém kódu, jejich bezpečné ukládání a konfigurace veřejné dostupnosti prostředí.
Redakce
Konkrétní nalezené hodnoty zde záměrně neuvádíme — v reálném auditu je předáváme klientovi odděleným zabezpečeným kanálem. Níže popisujeme pouze typ a umístění nálezu.
📊 Skóre
| Stav | Počet |
|---|---|
| 🟢 OK | 1 |
| 🟠 Částečně | 1 |
| 🔴 Špatně | 1 |
Celkově: produkční tajemství jsou spravovaná správně (Google Secret Manager), v repu jsou jen testovací/staging hodnoty. Zbývá hygiena (i staging hodnoty patří spíš mimo verzování) a veřejně vystavená staging prostředí bez ochrany proti indexaci.
🔍 Co jsme hodnotili
| # | Položka | Stav |
|---|---|---|
| 28 | Bezpečné ukládání a sdílení tajných hodnot | 🟢 |
| 27 | Citlivé informace nejsou ve zdrojovém kódu | 🟠 |
| 29 | Konfigurace indexace odpovídá účelu nasazení | 🔴 |
📌 Klíčové nálezy
🟢 Produkční tajemství v Google Secret Manageru
Všechna produkční tajemství jsou uložena v Google Secret Manageru, ne v repozitáři ani v CI konfiguraci. Build a deploy joby čerpají hodnoty z GitLab CI proměnných injektovaných za běhu (registry, GCP SA klíč, Sonar token). V repu nejsou žádné commitnuté Kubernetes Secret manifesty — secrety se referencují jen jménem a vznikají v clusteru mimo repo. Terraform state je v GCS backendu. To je správně nastavená správa tajemství.
🟠 Testovací/staging hodnoty ve verzování
Ve verzovaných souborech (.gitlab/configs/*/ci.env, některé .env.example) jsou konkrétní hodnoty — podle týmu jde o testovací / staging hodnoty, ne produkční. Riziko je proto omezené, ale i staging tajemství je lepší držet mimo repozitář (CI proměnné / secret manager) — jde o hygienu a auditní čistotu, ne o expozici produkce.
⚠️ Doporučení: vyčistit
ci.env/.env.examplena prázdné vzory a i staging hodnoty přesunout do CI proměnných. Lokální.envje správně gitignorovaný (není ve verzování).
🔴 Veřejně vystavená staging bez ochrany indexace
Staging prostředí jsou publikována na veřejných doménách (admin, login, ERP, hub) s HTTPS, ale bez basic-auth / IP whitelistu a bez robots.txt, noindex meta nebo X-Robots-Tag. Staging se tak může dostat do vyhledávačů. (Hlavní aplikace jsou sice za přihlášením, ale explicitní ochrana proti indexaci chybí.)
✅ Doporučení
| Priorita | Doporučení |
|---|---|
| Vysoká | Zavést noindex / robots.txt a přístupovou ochranu (basic-auth / IP whitelist) na staging. |
| Střední | Vyčistit ci.env / .env.example na prázdné vzory; i staging hodnoty přesunout do CI proměnných. |