Údržba
Postupy aktualizací, rotace klíčů a plánovaná údržba
Verze dokumentu: 1.1.0
Poslední aktualizace: 2026-04-07
1. Plán údržby
| Úkon |
Frekvence |
Vyžadován výpadek |
Priorita |
| Aktualizace platformy |
Dle vydání |
Ano (rolling pro K8s) |
Vysoká |
| Ověření zálohy databáze |
Týdně |
Ne |
Vysoká |
| Obnovení TLS certifikátu |
Před expirací |
Ne (reload) |
Kritická |
| Rotace šifrovacího klíče tajemství |
90 dní |
Ne (na pozadí) |
Vysoká |
| Rotace JWT podepisovacího klíče |
Na vyžádání |
Ne |
Střední |
| Rotace hlavního klíče |
Ročně |
Ano (plánovaně) |
Kritická |
| Database vacuum/analyze |
Týdně |
Ne |
Střední |
| Rotace/čištění logů |
Denně |
Ne |
Nízká |
| DR test |
Čtvrtletně |
Ne (testovací prostředí) |
Vysoká |
Kontrolní seznam před aktualizací
- [ ] Přečtěte si poznámky k vydání ohledně přelomových změn
- [ ] Vytvořte úplnou zálohu databáze
- [ ] Ověřte integritu zálohy
- [ ] Zdokumentujte aktuální verzi a konfiguraci
- [ ] Naplánujte okno údržby (pokud je vyžadováno)
- [ ] Informujte dotčené uživatele
Aktualizace Kubernetes
# Update Helm repo
helm repo update
# Diff changes
helm diff upgrade mazevault mazevault/mazevault \
-n mazevault -f values-production.yaml
# Create backup
kubectl exec -n mazevault deploy/mazevault-backend -- \
pg_dump -h $DB_HOST -U $DB_USER $DB_NAME | gzip > backup-pre-upgrade.sql.gz
# Upgrade
helm upgrade mazevault mazevault/mazevault \
-n mazevault -f values-production.yaml \
--wait --timeout 10m
# Verify
kubectl get pods -n mazevault
curl -sk https://vault.example.com/api/v1/health | jq .
Aktualizace On-Premise
cd /opt/mazevault
# Backup
./scripts/mazevault-backup.sh
# Pull new images (connected) or load from offline package (air-gapped)
docker compose pull
# OR
docker load < images/mazevault-backend-1.0.17.tar
docker load < images/mazevault-frontend-1.0.17.tar
docker load < images/mazevault-ocsp-1.0.17.tar
# Update image tags in docker-compose.yml
# Apply upgrade
docker compose up -d
# Verify
docker compose ps
curl -sk https://localhost/api/v1/health | jq .
Ověření po aktualizaci
- [ ] Všechny kontejnery/pody běží
- [ ] Endpoint stavu vrací
healthy
- [ ] Migrace databáze úspěšně provedeny
- [ ] Přístup k tajemstvím ověřen (přečtení testovacího tajemství)
- [ ] Operace s certifikáty ověřeny
- [ ] Heartbeaty agentů obnoveny
- [ ] Auditní log zaznamenává události
- [ ] Validace licence úspěšná
Postup vrácení změn
# Kubernetes
helm rollback mazevault -n mazevault
# On-Premise
docker compose down
# Restore previous image tags in docker-compose.yml
docker compose up -d
# Restore database if migration was applied
3. Údržba databáze
Vacuum a Analyze
# On-Premise
docker exec client-postgres psql -U mazevault -d mazevault -c "VACUUM ANALYZE;"
# Azure
# Automatic for Azure Database for PostgreSQL Flexible Server
Reindex (pokud je potřeba)
docker exec client-postgres psql -U mazevault -d mazevault -c "REINDEX DATABASE mazevault;"
Sledování velikosti databáze
docker exec client-postgres psql -U mazevault -d mazevault -c "
SELECT pg_size_pretty(pg_database_size('mazevault')) as db_size;
"
4. Plán rotace tajemství
| Typ klíče |
Rotace |
Způsob |
| Šifrovací klíče tajemství |
Každých 90 dní |
Automaticky (přešifrování na pozadí) |
| JWT podepisovací klíče |
Na vyžádání |
API volání nebo administrátorské rozhraní |
| Hlavní šifrovací klíč |
Ročně |
Plánované okno údržby |
| API klíče |
Dle politiky organizace |
Ručně přes administrátorské rozhraní |
Rotace JWT klíčů
Rotujte JWT podepisovací klíče přes administrátorské rozhraní:
Nastavení → Zabezpečení → JWT podepisovací klíče → Rotovat
Systém provádí plynulý přechod klíčů — stávající tokeny zůstávají platné do jejich expirace a nové tokeny jsou podepsány novým klíčem.
5. Údržba certifikátů
Rotace CA klíčů
Klíče kořenové CA by měly být rotovány v souladu s certifikační politikou vaší organizace. Typické plány:
| Typ CA |
Doporučená životnost |
| Root CA |
10–20 let |
| Intermediate CA |
5–10 let |
| Issuing CA |
2–5 let |
Údržba CRL
CRL se regenerují automaticky. Ověřte aktuálnost CRL:
curl -sk https://vault.example.com/api/v1/crl/pem | \
openssl crl -inform PEM -noout -lastupdate -nextupdate
6. Komunikace o okně údržby
Šablona oznámení o údržbě:
Subject: MazeVault Scheduled Maintenance — [DATE]
Dear Team,
MazeVault will undergo scheduled maintenance on [DATE] from [TIME] to [TIME] (UTC).
During this window:
- The platform will be [briefly unavailable / in read-only mode]
- Affect: [describe impact]
Actions required:
- [Any pre-maintenance actions]
Post-maintenance:
- Service will be restored automatically
- Verify access at https://vault.example.com
For questions, contact: [support contact]
7. Automatizované systémové úlohy
MazeVault automaticky spouští několik úloh na pozadí. Tyto nevyžadují ruční zásah, ale jsou zde uvedeny pro operační přehled, plánování firewallu a řešení problémů.
Úlohy backendu
Správa certifikátů
| # |
Úloha |
Interval |
Popis |
| 1 |
Plánovač životního cyklu certifikátů |
1h + 6h |
Označuje expirované certifikáty, kontroluje způsobilost pro automatickou obnovu, automaticky archivuje expirované položky. Synchronizuje stav z externích CA každých 6 hodin |
| 2 |
Plánovač obnovy certifikátů |
1h |
Detekuje certifikáty blížící se expiraci, zařazuje úlohy obnovy, zpracovává frontu obnov (5 souběžných workerů, PostgreSQL advisory lock) |
| 3 |
Regenerace CRL |
168h plný / 24h delta |
Regeneruje seznamy odvolaných certifikátů pro každou CA. Výchozí: plný CRL týdně, delta CRL denně (konfigurovatelné per CA) |
| 4 |
Synchronizace CA |
5 min |
Objevuje a importuje certifikáty z připojených externích CA účtů |
| 5 |
Čištění ACME serveru |
15 min / 30 min |
Odstraňuje expirované ACME nonce (15 min) a expirované objednávky certifikátů (30 min) |
Tajemství a rotace
| # |
Úloha |
Interval |
Popis |
| 6 |
Plánovač rotace |
1 min |
Detekuje tajemství a certifikáty s plánovanou rotací. Provádí přes 3-worker pool s databázovým řádkovým zamykáním a exponenciálním backoffem |
| 7 |
Engine synchronizačních pravidel |
1 min |
Vyhodnocuje pravidla synchronizace tajemství a spouští synchronizaci do nakonfigurovaných externích cílů |
| 8 |
Rotace klíčů |
24h |
Rotuje interní systémové klíče (RSA podepisovací, šifrovací, API klíče) s konfigurovatelnými grace periody |
Notifikace a reporting
| # |
Úloha |
Interval |
Popis |
| 9 |
Plánovač notifikací |
24h |
Zasílá upozornění na expiraci certifikátů expirujících do 30 dnů a upozornění na selhání rotace přes nakonfigurované kanály (Teams, Slack, Email, JIRA) |
| 10 |
Týdenní report |
1 min kontrola |
Generuje týdenní souhrnný report compliance a auditu. Spouští se každé pondělí v 7:00 (Europe/Prague) |
Azure Entra ID
| # |
Úloha |
Interval |
Popis |
| 11 |
Synchronizace Entra ID |
1h |
Synchronizuje registrace aplikací Azure Entra ID a jejich přihlašovací údaje |
| 12 |
Monitor expirace Entra přihlašovacích údajů |
1h |
Monitoruje přihlašovací údaje Entra aplikací z hlediska blížící se expirace (prahy 30 a 7 dní), zasílá upozornění |
Licencování
| # |
Úloha |
Interval |
Popis |
| 13 |
Plánovač licencí |
5 min / 1h / 24h |
Heartbeat na licenční server (5 min), reportování metrik využití (1h), plná validace licence a obnova stavu (24h) |
Audit a logování
| # |
Úloha |
Interval |
Popis |
| 14 |
Retence auditních logů |
24h |
Vynucuje nakonfigurovanou politiku retence auditních logů, odstraňuje expirované záznamy |
| 15 |
Archivace auditu |
5 min |
Seskupuje auditní události a archivuje do nakonfigurovaného dlouhodobého úložiště (S3, GCS, Azure Blob) |
| 16 |
Flush log streamu |
5 sek |
Odesílá bufferované auditní a eventové logy do nakonfigurovaných SIEM endpointů (Splunk, Elasticsearch, Syslog) |
Systém a infrastruktura
| # |
Úloha |
Interval |
Popis |
| 17 |
Čištění archivu |
1h |
Trvale odstraňuje archivovaná tajemství a certifikáty po uplynutí retenční doby |
| 18 |
Reload TLS certifikátu |
30 sek |
Hot-reload serverového TLS certifikátu z disku bez restartu. Konfigurovatelné přes MAZEVAULT_TLS_RELOAD_INTERVAL |
| 19 |
Monitor zdraví gateway |
30 sek |
Monitoruje heartbeaty gateway, detekuje nedostupné gateway (3 po sobě vynechané heartbeaty), spouští DR failover pokud je povolený |
| 20 |
Detektor externích změn |
1h |
Pouze v orchestrátorovém režimu — detekuje nesoulad mezi lokálními metadaty tajemství a hodnotami uloženými v externím správci tajemství |
Úlohy agentů
| Úloha |
Interval |
Popis |
| Synchronizace tajemství |
Konfigurovatelný (výchozí 5 min) |
Synchronizuje tajemství z backendu do lokálního úložiště |
| Heartbeat |
60 sekund |
Hlásí stav agenta, metriky a verzi |
| Objevování certifikátů |
1 hodina |
Skenuje infrastrukturu pro certifikáty (filesystem, JKS, Windows cert store) |
| Kontrola aktualizací |
24 hodin |
Kontroluje dostupnost novější verze agenta |
Úlohy gateway
| Úloha |
Interval |
Popis |
| Heartbeat |
60 sekund |
Hlásí stav gateway a konektivitu |
| Polling úloh |
10 sekund |
Dotazuje backend na nevyřízené certifikační operace |
| Reconciliace fronty |
30 sekund |
Sladí lokální frontu úloh se stavem backendu |
Konfigurovatelné intervaly
Většina intervalů je pevně nastavena pro optimální výkon. Uživatelsky konfigurovatelné intervaly:
- Synchronizace tajemství agenta — proměnná prostředí
SYNC_INTERVAL_SECONDS
- Reload TLS certifikátu — proměnná prostředí
MAZEVAULT_TLS_RELOAD_INTERVAL (výchozí: 30s)
- Regenerace CRL — konfigurovatelné per CA v nastavení CA (plný a delta interval nezávisle)
Související