Najlepsze praktyki bezpieczeństwa
Chaindoc szyfruje dokumenty w spoczynku (AES-256) i w transmisji (TLS 1.3), weryfikuje integralność na blockchainie i loguje każdą akcję. Oto rzecz — większość zabezpieczeń działa od razu, ale warto wiedzieć, co skonfigurować przed uruchomieniem produkcyjnym.
Większość funkcji bezpieczeństwa działa od razu po uruchomieniu. Są jednak ustawienia, które powinieneś włączyć (MFA, ograniczenia IP), i nawyki, które warto wyrobić w zespole (rotacja kluczy, przeglądy dostępu). Ten przewodnik obejmuje oba aspekty.
Uwierzytelnianie
Uwierzytelnianie wieloskładnikowe
Włącz MFA dla wszystkich użytkowników, nie tylko administratorów. To najskuteczniejsza rzecz, jaką możesz zrobić. Chaindoc wspiera:
- Aplikacje uwierzytelniające (TOTP) — Google Authenticator, Authy, 1Password
- Kody SMS — działa, ale mniej bezpieczne. Lepiej używaj aplikacji uwierzytelniających.
- Klucze sprzętowe (FIDO2/WebAuthn) — najsilniejsza opcja
- Uwierzytelnianie biometryczne na urządzeniach mobilnych
Polityki haseł
Jeśli nie używasz SSO, wymuszaj silne hasła. Chaindoc pozwala skonfigurować minimalną długość (zalecamy 12+ znaków), wymagania dotyczące złożoności, interwały wygaśnięcia i blokadę po nieudanych próbach. Możesz też zablokować ponowne użycie ostatnich 10 haseł.
Kontrola dostępu oparta na rolach
Dawaj ludziom tylko taki dostęp, jakiego potrzebują. Chaindoc ma wbudowane role (Właściciel, Administrator, Manager, Członek, Gość, Audytor) i wspiera niestandardowe role z uprawnieniami do konkretnych akcji. Przeglądaj przydziały co kwartał i usuwaj to, co już nie jest potrzebne. Szczegóły znajdziesz w dokumentacji zarządzania zespołem.
Szyfrowanie
W spoczynku
Wszystkie dokumenty są szyfrowane algorytmem AES-256 w magazynie. Kopie zapasowe są szyfrowane osobnymi kluczami. Klucze szyfrowania są zarządzane przez dedykowany KMS (service zarządzania kluczami) i rotowane co kwartał.
W transmisji
Każde połączenie używa TLS 1.3. Słabe szyfry są wyłączone. Nagłówki HSTS zapewniają, że przeglądarki nigdy nie obniżą do HTTP. Dotyczy to aplikacji webowej, API i transakcji blockchain.
Bezpieczeństwo kluczy API
Klucze API są najczęstszym źródłem problemów z bezpieczeństwem. Wyciekły tajny klucz daje pełny dostęp do konta Chaindoc.
Klucze publiczne (`pk_`) są przeznaczone do użycia na frontendzie i mają dostęp tylko do odczytu, więc są bezpieczne do umieszczenia w bundlach klienta. Więcej o typach kluczy znajdziesz w przewodniku integracji API.
Weryfikacja blockchain
Każdy opublikowany dokument otrzymuje hash zapisany na blockchainie. To właśnie czyni go niepodważalnym. Nawet gdyby ktoś uzyskał bezpośredni dostęp do bazy danych, nie mógłby zmodyfikować dokumentu bez unieważnienia hashu blockchain.
- Hashe dokumentów są rejestrowane przy publikacji i przy każdej zmianie stanu (podpisy, unieważnienie itp.)
- Potwierdzenia transakcji są przechowywane z dokumentem dla łatwej weryfikacji
- Każdy może niezależnie zweryfikować dokument względem zapisu blockchain
- Zapis jest permanentny — przetrwa nawet gdyby Chaindoc przestał działać
W praktyce, dla dokumentów o wysokiej wartości warto zweryfikować zapis blockchain po podpisaniu, aby potwierdzić, że wszystko się zgadza.
Bezpieczeństwo webhooków
Jeśli używasz webhooków, weryfikuj podpis HMAC dla każdego przychodzącego żądania. Bez tego ktoś mógłby wysyłać fałszywe zdarzenia na Twój endpoint. Przewodnik po webhookach zawiera kod weryfikacyjny.
Zgodność z regulacjami
Infrastruktura Chaindoc posiada certyfikat SOC 2 Type II. W zależności od branży, możesz potrzebować dodatkowych ustawień:
- GDPR — opcje lokalizacji danych (UE, US, Azja), prawo do usunięcia, przenoszalność danych. Polityki retencji dokumentów obsługują automatyczne usuwanie.
- HIPAA — logowanie audytowe i kontrola dostępu dla dokumentów medycznych. Skontaktuj się z pomocą w sprawie BAA.
- SOC 2 — kontrole bezpieczeństwa są udokumentowane. Coroczne audyty zewnętrzne są przeprowadzane.
- eIDAS / ESIGN Act / UETA — zgodność podpisów jest wbudowana dla wszystkich trzech typów.
- ISO 27001 — praktyki zarządzania bezpieczeństwem informacji są zgodne z ISO 27001.
Logowanie audytowe
Chaindoc loguje każdą akcję: logowania, dostęp do dokumentów, edycje, zdarzenia podpisu, zmiany uprawnień i wywołania API. Logi są przechowywane w systemie niepodważalnym przez co najmniej rok (dłużej, jeśli Twoja polityka retencji tego wymaga).
Możesz eksportować logi audytowe do zewnętrznych przeglądów zgodności. Nieudane próby logowania i podejrzana aktywność wyzwalają alerty, jeśli skonfigurujesz monitorowanie.
Monitorowanie i reagowanie na incydenty
Skonfiguruj alerty dla nieudanych prób logowania, nietypowej aktywności API i eskalacji uprawnień. Chaindoc integruje się z systemami SIEM, jeśli Twój zespół bezpieczeństwa z nich korzysta.
Miej gotowy plan reagowania na incydenty. Wiedz, kogo kontaktować, co wyłączyć i jak komunikować naruszenie. Testuj plan przynajmniej raz w roku. W przypadku incydentów bezpieczeństwa związanych z Chaindoc, napisz na security@chaindoc.com.
Checklist przed produkcją
Przejdź przez tę listę przed uruchomieniem produkcyjnym:
- MFA włączone dla wszystkich kont
- Polityki haseł skonfigurowane (12+ znaków, blokada po 5 nieudanych próbach)
- Role przypisane zgodnie z zasadą najmniejszych uprawnień
- Szyfrowanie AES-256 potwierdzone (włączone domyślnie)
- TLS 1.3 wymuszony na wszystkich endpointach
- Klucze API przechowywane w zmiennych środowiskowych lub menedżerze sekretów
- Klucze testowe zamienione na klucze produkcyjne
- Ograniczanie szybkości skonfigurowane dla endpointów API
- Weryfikacja HMAC webhooków zaimplementowana
- Logowanie audytowe włączone i okres retencji ustawiony
- Monitorowanie bezpieczeństwa i alerty skonfigurowane
- Plan reagowania na incydenty udokumentowany
- Kopie zapasowe przetestowane (spróbuj przywrócić)
- Wymagania zgodności udokumentowane i spełnione
Co zrobić dalej
- Zarządzanie zespołem — skonfiguruj role i kontrolę dostępu
- Podpisy — zrozum typy podpisów i zgodność
- Integracja API — zabezpiecz swoją implementację API
- Webhooki — weryfikacja HMAC i obsługa zdarzeń
- Dokumenty — kontrola dostępu i polityki retencji