Centrum Bezpieczeństwa i Zaufania
Bezpieczeństwo traktujemy poważnie. Na tej stronie wyjaśniamy, w jaki sposób chronimy Twoje dane, zabezpieczamy infrastrukturę i dbamy o niezawodność platformy Cyber Proficiency Center.
Ostatnia aktualizacja: kwiecień 2026
Bezpieczeństwo infrastruktury
Nasza platforma działa na Kubernetes (Azure AKS) w architekturze cloud-native opartej na kontenerach. Każdy komponent jest izolowany, ma zdefiniowane limity zasobów i jest monitorowany.
- Izolacja środowisk — oddzielne klastry dla środowisk deweloperskiego, demo, produkcyjnego i klienckich
- Hardening kontenerów — wszystkie kontenery działają jako użytkownicy bez uprawnień root, z określonymi limitami CPU i pamięci
- Infrastruktura jako kod — manifesty Kubernetes wersjonowane w Git z nakładkami Kustomize dla konfiguracji specyficznych dla środowisk
- TLS wszędzie — cały ruch zewnętrzny jest szyfrowany przez HTTPS z automatycznie odnawianymi certyfikatami Let’s Encrypt
- Izolacja usług wewnętrznych — usługi komunikują się przez wewnętrzny DNS klastra; tylko kontroler Ingress jest dostępny z zewnątrz
Uwierzytelnianie i kontrola dostępu
Zapewniamy elastyczne opcje uwierzytelniania klasy enterprise:
- Single Sign-On (SSO) — wsparcie dla Microsoft Entra ID, Google Workspace i Okta przez OAuth 2.0 z automatycznym routingiem na podstawie domeny
- Bezpieczeństwo haseł — hashowanie BCrypt z wysokim współczynnikiem pracy
- Ochrona przed atakami brute force — podwójne ograniczanie prędkości (rate limiting) zarówno po adresie IP, jak i nazwie użytkownika (algorytm okna przesuwnego)
- Ochrona przed botami — integracja z Google reCAPTCHA v3
- Blokowanie kont — administratorzy mogą blokować konta użytkowników z natychmiastowym efektem
Kontrola dostępu jest egzekwowana na wielu poziomach:
- Kontrola dostępu oparta na rolach (RBAC) — granularna hierarchia ról (User, Master, Manager, Administrator, Super Admin)
- Autoryzacja na poziomie zasobów — dedykowane security voters zapewniają, że użytkownicy mają dostęp tylko do własnych danych
- Bezpieczeństwo sesji — ciasteczka tylko po HTTPS, flaga HttpOnly, atrybut SameSite i automatyczna ochrona przed fiksacją sesji
Bezpieczeństwo aplikacji
Nasza aplikacja jest zbudowana na frameworku Symfony 6.4 LTS, który zapewnia solidne, wbudowane mechanizmy bezpieczeństwa:
- Ochrona przed SQL injection — zapytania parametryzowane przez Doctrine ORM
- Ochrona przed XSS — automatyczne escapowanie wyjścia w szablonach Twig
- Ochrona przed CSRF — automatyczna walidacja tokenów we wszystkich formularzach
- Walidacja danych wejściowych — walidacja po stronie serwera za pomocą komponentu Symfony Validator
Nagłówki bezpieczeństwa HTTP są wdrożone we wszystkich środowiskach:
- Content-Security-Policy (ścisła polityka CSP z
default-src 'self') - Strict-Transport-Security (HSTS z
max-age=31536000; includeSubDomains) - X-Frame-Options:
DENY - X-Content-Type-Options:
nosniff - Referrer-Policy:
strict-origin-when-cross-origin - Permissions-Policy: geolokalizacja, mikrofon i kamera wyłączone
Zarządzanie sekretami
Wrażliwe dane nigdy nie są przechowywane w kodzie źródłowym. Wszystkie sekrety są zarządzane przez Azure Key Vault:
- Kubernetes CSI Secret Driver montuje sekrety z Key Vault jako woluminy
- Uwierzytelnianie przez Managed Identity — brak potrzeby przechowywania poświadczeń do Key Vault
- Automatyczna rotacja sekretów z konfigurowalnym interwałem odpytywania
- Izolacja środowisk — każde środowisko ma dedykowany Key Vault
Ochrona danych i prywatność
Przechowywanie danych:
- MySQL 8.0 z połączeniami szyfrowanymi SSL/TLS
- Trwałe woluminy na Azure zapewniające trwałość danych
- Hasła użytkowników hashowane BCrypt (nigdy nie przechowywane jako tekst jawny)
- Dane płatności: przechowywane są tylko identyfikatory transakcji; poświadczenia znajdują się w Key Vault
Zgodność z RODO:
- Prawo do usunięcia — użytkownicy mogą usunąć swoje konto i powiązane dane
- Minimalizacja danych — zbieramy tylko niezbędne dane (email, imię, hasło)
- Brak plików cookie śledzących poza ciasteczkami sesji
- Rezydencja danych w UE — region Azure West Europe (zgodny z RODO)
- Polityka prywatności dostępna w języku polskim i angielskim
Kopie zapasowe:
- Automatyczne codzienne kopie zapasowe MySQL (CronJob o 2:00 UTC)
- Szyfrowanie AES-256 dla plików kopii zapasowych
- 30-dniowe okno retencji kroczący
- Wbudowane kopie zapasowe Azure MySQL Flexible Server z automatycznym odzyskiwaniem do punktu w czasie (dodatkowa warstwa ponad własne kopie zapasowe)
Monitoring i reagowanie na incydenty
- Prometheus + Grafana Cloud — zbieranie metryk w czasie rzeczywistym (CPU, pamięć, dysk, szybkość żądań HTTP, wydajność bazy danych, wygaśnięcie certyfikatów SSL)
- Alarmowanie — alerty email i SMS przy wysokim CPU, pamięci, brakującym miejscu na dysku i wygaśnięciu certyfikatów
- Strukturalne logowanie — logi produkcyjne w formacie JSON z dedykowanymi kanałami dla zdarzeń bezpieczeństwa i operacji mailowych
- Możliwość wycofania zmian — wdrożenia rolling bez przestojów z natychmiastowym wycofaniem przez flagi funkcji lub git revert
Testowanie i zapewnianie jakości
Utrzymujemy kompleksowy zestaw automatycznych testów pokrywający każdą krytyczną ścieżkę:
- 1467+ przypadków testowych PHP w 99 plikach testowych (testy jednostkowe, integracyjne i kontrolerów)
- 105 zestawów testów frontendowych (Jest)
- 20 zestawów testów E2E (Playwright)
- Pokrycie obejmuje: uwierzytelnianie, autoryzację, SSO, rate limiting, płatności, wykonywanie kodu w sandboxie, przetwarzanie CV i provisionig Azure
Bezpieczeństwo zależności
- Cotygodniowe automatyczne skany Snyk — SCA (Software Composition Analysis) dla zależności PHP, JavaScript i Python; SAST (Static Application Security Testing) dla kodu źródłowego; skanowanie IaC dla manifestów Kubernetes i Dockerfiles
- Zero znanych podatności zarówno w
composer audit, jak iyarn audit - Wyniki publikowane w zakładce GitHub Security jako raporty SARIF
Pipeline CI/CD
- Automatyczne uruchamianie testów przy każdym push
- Budowanie i tagowanie obrazów Docker z SHA commita
- Wdrożenie w wielu środowiskach (development, demo, produkcja) z aktualizacjami rolling bez przestojów
- Automatyczne skanowanie bezpieczeństwa jako część pipeline’u
Zgodność ze standardami
- OWASP Top 10 — mitygacje na poziomie frameworka dla wszystkich kategorii
- CIS Kubernetes Benchmark — kontenery bez uprawnień root, egzekwowanie RBAC
- RODO — rezydencja danych w UE, prawo do usunięcia, minimalizacja danych
- RFC 9116 — endpoint
/.well-known/security.txtdla odpowiedzialnego ujawniania podatności - WCAG 2.1 — usprawnienia dostępności obejmujące etykiety ARIA, nawigację klawiaturą, linki „przeskocz do treści” i semantyczne atrybuty formularzy
Modele wdrożeń
SaaS (zarządzany przez cp.center):
- Współdzielona infrastruktura z izolacją multi-tenant
- Zarządzane aktualizacje, monitoring i utrzymanie
Instancja prywatna (zarządzana przez klienta):
- Dedykowany klaster Kubernetes w Twojej subskrypcji Azure
- Pełna kontrola nad lokalizacją danych i harmonogramem wdrożeń
- Żadne dane nie opuszczają Twojej subskrypcji Azure
- Dostarczamy manifesty Kubernetes, automatyzację wdrożeń i wsparcie techniczne
Integracje z podmiotami trzecimi
| Usługa | Cel | Udostępniane dane | Bezpieczeństwo |
|---|---|---|---|
| Microsoft Entra ID | Uwierzytelnianie SSO | Email, imię | OAuth 2.0 |
| Google Workspace | Uwierzytelnianie SSO | Email, imię | OAuth 2.0 |
| Okta | Uwierzytelnianie SSO | Email, imię | OAuth 2.0 |
| Microsoft Graph API | Wysyłanie emaili | Adresy email | OAuth 2.0 |
| Google reCAPTCHA | Ochrona przed botami | Adres IP, user agent | HTTPS |
| PayPal | Płatności | Dane transakcji | OAuth 2.0 + walidacja webhook |
| PayU | Płatności | Dane transakcji | HTTPS + weryfikacja podpisu |
| MaxMind GeoIP | Geolokalizacja | Brak (lokalna baza danych) | Brak wywołań zewnętrznych |
Ujawnianie podatności
Wspieramy odpowiedzialne ujawnianie podatności. Jeśli odkryjesz problem bezpieczeństwa, skontaktuj się z nami:
- Email: security@cp.center
- security.txt: /.well-known/security.txt (RFC 9116)
- Bug Bounty: Program Bug Bounty
Nie podejmujemy kroków prawnych wobec badaczy bezpieczeństwa działających w dobrej wierze.