🛠️ 3.8.3 – Weryfikacja konfiguracji aplikacji i serwera
🛠️ Weryfikacja konfiguracji aplikacji i serwera
Weryfikacja zabezpieczeń integralności danych i kodu wymaga przeanalizowania pipeline'ów, zależności oraz konfiguracji środowisk produkcyjnych i developerskich.
🔸 1. CI/CD i procesy deploymentu
- Czy używane są tylko zaufane i podpisane artefakty?
- Czy pipeline CI/CD wymaga zatwierdzeń (np. merge review)?
- Czy środowiska build/test/prod są rozdzielone?
- Czy możliwe jest deployowanie bezpośrednio z gałęzi deweloperskiej?
🔸 2. Weryfikacja zależności
- Czy używany jest
package-lock.json,yarn.lock,requirements.txt? - Czy wersje bibliotek są przypięte i nieaktualizowane automatycznie bez przeglądu?
- Czy używane paczki mają podpisy lub sumy kontrolne (SHA256, PGP)?
🔸 3. Zewnętrzne źródła i dynamiczne zasoby
- Czy pobierane skrypty (JS, CSS) z CDN mają ustawiony
integrityicrossorigin? - Czy backend nie wykonuje kodu dynamicznie pobieranego z zewnątrz (
eval,require(url))?
🔸 4. Pliki konfiguracyjne
- Czy pliki
.env,config.yaml,docker-compose.yml,web.confignie zawierają danych produkcyjnych w środowisku testowym? - Czy są wersjonowane i zabezpieczone (np. w
secrets manager, HashiCorp Vault)?
🔸 5. Backupy i wersjonowanie
- Czy backupy zawierają tylko dane, a nie kod lub zależności?
- Czy aplikacja ma możliwość rollbacku do bezpiecznej wersji?
✅ Rekomendacje
- Używaj narzędzi typu SCA (Software Composition Analysis).
- Ogranicz liczbę zewnętrznych źródeł kodu.
- Monitoruj zmiany w zależnościach (np. Dependabot, Renovate).
W kolejnym podrozdziale: 3.8.4 – Narzędzia do testowania