Model przechowywania danych
Baza PostgreSQL i dokumenty mogą znajdować się na serwerze należącym do klienta. Wdrożenie może działać wyłącznie w sieci lokalnej, przez VPN albo przez reverse proxy z ograniczeniem źródeł dostępu.
Baza danych nie powinna być wystawiana bezpośrednio do Internetu. Z aplikacją komunikuje się w prywatnej sieci kontenerów, a ruch użytkowników trafia do warstwy WWW przez HTTPS.
Kontrola użytkowników
Role
Oddzielne uprawnienia dla administratora systemu, administratora floty, administracji, Zarządu i użytkownika tylko do odczytu.
Hasła
Hasła są obsługiwane przez mechanizmy ASP.NET Core Identity. Po utworzeniu lub resecie konta użytkownik powinien zmienić hasło przy pierwszym logowaniu.
Blokada prób
Seria błędnych prób logowania uruchamia czasową blokadę konta, co utrudnia proste ataki słownikowe.
Sesja
Ciasteczko uwierzytelniające jest przeznaczone do pracy po HTTPS i posiada ustawienia ograniczające dostęp skryptów przeglądarki.
Audyt i integralność
Zmiany w danych mogą być zapisywane wraz z autorem, czasem oraz poprzednią i nową wartością. Usuwanie kluczowych rekordów jest logiczne, dzięki czemu historia pozostaje dostępna.
Dokumenty i kopie mogą posiadać sumy kontrolne SHA-256. Pozwala to wykrywać duplikaty oraz potwierdzać integralność pliku, ale suma kontrolna sama w sobie nie szyfruje danych.
Integracja AI
Moduł AI jest opcjonalny. Podstawowa aplikacja może działać bez klucza API. Po włączeniu integracji do skonfigurowanego dostawcy trafiają wybrane dane lub dokumenty potrzebne do konkretnej analizy.
- administrator inicjuje operację,
- przed analizą może zobaczyć szacowany koszt,
- wynik jest propozycją i nie powinien samodzielnie zmieniać kartoteki,
- uprawniony użytkownik zatwierdza, poprawia albo odrzuca sugestię,
- zakres danych należy dopasować do celu i polityki organizacji.
Kopie zapasowe
Pełny plan backupu powinien obejmować bazę, dokumenty, klucze ASP.NET Data Protection oraz konfigurację potrzebną do odtworzenia środowiska. Sama kopia bazy nie wystarcza do odzyskania wszystkich funkcji.
- codzienny zrzut PostgreSQL,
- wersjonowana kopia folderów aplikacji,
- retencja dopasowana do ryzyka i wymogów organizacji,
- drugi nośnik lub lokalizacja poza głównym NAS-em,
- regularny test odtworzenia.
RAID zwiększa dostępność po awarii pojedynczego dysku, ale nie chroni przed przypadkowym usunięciem, błędem aplikacji, szyfrowaniem danych ani utratą całego urządzenia.
Przed produkcyjnym uruchomieniem
- usunąć dane demonstracyjne i wszystkie sekrety z paczki wdrożeniowej,
- ustawić unikalne hasła i ograniczyć uprawnienia plików konfiguracyjnych,
- uruchomić HTTPS i właściwie przypisać certyfikat,
- ograniczyć dostęp zaporą oraz VPN,
- zweryfikować backup i wykonać próbne odtworzenie,
- ustalić zasady retencji dokumentów, logów i sesji analizy AI.