Bezpieczeństwo
Przegląd
Neotask jest zbudowany z bezpieczeństwem jako kluczową zasadą. Każda warstwa -- od aktywacji licencji po przechowywanie danych i komunikację sieciową -- jest zaprojektowana w celu ochrony Twoich danych i zapobiegania nieautoryzowanemu dostępowi.
Bezpieczeństwo licencji
- Powiązanie z urządzeniem: Każda licencja jest kryptograficznie powiązana z pojedynczym urządzeniem za pomocą odcisku SHA-256.
- Podpisywanie żądań HMAC-SHA256: Wszystkie żądania API są podpisane sekretem per-urządzenie, nonce'em i znacznikiem czasu.
- Porównanie bezpieczne czasowo: Wszystkie porównania sekretów używają algorytmów stałego czasu, aby zapobiec atakom czasowym.
- Cykl życia tokena: Wygaśnięcie tokenów dostępu i odświeżania jest kontrolowane po stronie serwera za pomocą podpisanych roszczeń JWT, umożliwiając natychmiastowe odwołanie.
- Automatyczna rewalidacja: Twoja licencja jest sprawdzana co 6 godzin.
- Okres prolongaty offline: 72 godziny dostępu offline przed wymaganiem rewalidacji.
- Zdalne odwołanie: Licencje mogą być odwołane po stronie serwera natychmiastowo.
Uwierzytelnianie dwuskładnikowe (TOTP)
Neotask obsługuje opcjonalne (ale zalecane) uwierzytelnianie dwuskładnikowe dla dostępu do panelu sterowania.
- Kompatybilne z Google Authenticator, Authy, 1Password i dowolną aplikacją zgodną z TOTP.
- Kody zapasowe są dostarczane podczas konfiguracji. Kody te są hashowane SHA-256 i są jednorazowego użytku.
- TOTP można włączyć lub wyłączyć w dowolnym momencie z sekcji Bezpieczeństwo w ustawieniach panelu sterowania.
Szyfrowanie
Dane w spoczynku
- AES-256-GCM: Wszystkie tokeny, sekrety i klucze API są szyfrowane w spoczynku.
- Klucze pochodne od maszyny: Klucze szyfrowania są wyprowadzane za pomocą scrypt z tożsamości urządzenia.
- Brak przechowywania w postaci jawnej: Tokeny nigdy nie są przechowywane w postaci jawnej.
Dane w tranzycie
- TLS 1.3: Cała komunikacja API odbywa się przez HTTPS.
- WebSocket Secure (WSS): Komunikacja bramy w czasie rzeczywistym jest szyfrowana.
- Podpisywanie HMAC: Każde żądanie zawiera podpis nonce i znacznika czasu.
Sekrety środowiskowe
- Szyfrowanie dwuwarstwowe: Szyfrowanie środowiska podczas kompilacji używa oddzielnych kluczy.
- Brak zakodowanych sekretów: W kodzie źródłowym nie ma żadnych kluczy API ani tokenów.
- Redakcja logów: Wrażliwe dane są automatycznie usuwane z logów.
Bezpieczeństwo aplikacji desktopowej
Utwardzanie Electron
Neotask stosuje surowe ustawienia bezpieczeństwa Electron w celu ochrony aplikacji desktopowej:
sandbox: true, Proces renderowania działa w środowisku piaskownicy.contextIsolation: true, Brak bezpośredniego dostępu do procesu głównego z interfejsu użytkownika.nodeIntegration: false, Żadne API Node.js nie są udostępniane interfejsowi użytkownika.webSecurity: true, Polityka tego samego pochodzenia jest egzekwowana.
Polityka bezpieczeństwa zawartości (CSP)
default-src 'self', Ładowane są tylko zasoby z samej aplikacji.script-src 'self', Żadne zewnętrzne skrypty nie są dozwolone.- Wyskakujące okienka są blokowane.
- Nawigacja jest blokowana, aby zapobiec atakom przekierowania.
- Ponowne ładowanie strony jest blokowane, aby zapobiec manipulacji stanem.
Integralność aplikacji
- Integralność ASAR: Weryfikacja hasha SHA-256 spakowanej aplikacji.
- Zaświadczenie wersji: Manifest podpisany przez serwer z możliwością wyłączenia.
- Obfuskacja kodu: Obfuskacja JavaScript jest stosowana w kompilacjach produkcyjnych.
- Tryb twardego błędu: Aplikacja blokuje się całkowicie przy każdej awarii integralności.
Bezpieczeństwo sieci
Izolacja bramy
- Brama działa wyłącznie na pętli zwrotnej (127.0.0.1), co oznacza zerową zewnętrzną ekspozycję sieciową.
- Żadne połączenia przychodzące spoza Twojego komputera nie są akceptowane.
- Uprawnienia sesji mają 10-minutowy okres ważności, są powiązane z urządzeniem i podpisane HMAC.
Blokada po 3 próbach
- Po 3 kolejnych błędach operacji bramy wszystkie operacje są blokowane.
- Do przywrócenia dostępu wymagany jest ręczny reset.
- Mechanizm ten zapobiega próbom brute-force.
Bezpieczeństwo API
Metody uwierzytelniania
| Metoda | Używana do | Poziom bezpieczeństwa |
|---|---|---|
| Token JWT Bearer | Panel internetowy, wywołania API | Standardowy (wygaśnięcie po 90 dniach) |
| License HMAC | Operacje aplikacji desktopowej | Wysoki (sekret per-urządzenie) |
| Uprawnienia sesji | Operacje bramy | Bardzo wysoki (10 min, podpisane HMAC) |
| TOTP | Logowanie do panelu sterowania | Dodatkowy czynnik |
Ograniczanie szybkości
| Punkt końcowy | Limit |
|---|---|
| Formularz kontaktowy | 5 żądań na 15 minut |
| Próby logowania | 10 żądań na 15 minut |
| Analityka/śledzenie | 30 żądań na 60 sekund |
Walidacja danych wejściowych
- Wszystkie parametry IPC są walidowane przed przetworzeniem.
- Wszystkie dane wejściowe API są oczyszczane.
- Zabezpieczenia przed wstrzyknięciem SQL, XSS i wstrzyknięciem poleceń są na miejscu.
Bezpieczeństwo klucza dostawcy (BYOK)
Gdy korzystasz z trybu Bring Your Own Key (BYOK), Neotask stosuje dodatkowe zabezpieczenia dla Twoich kluczy API:
- Klucze API są szyfrowane z użyciem AES-256-GCM przed przechowywaniem.
- Klucze nigdy nie są rejestrowane ani ujawniane w komunikatach o błędach.
- Klucze są wyświetlane w formie zamaskowanej w panelu sterowania (widoczne są tylko ostatnie 4 znaki).
- Bezpieczne usuwanie jest przeprowadzane po usunięciu klucza.
Tryb bezpieczny
Neotask zawiera funkcję Trybu bezpiecznego, która zapewnia piaskownicę wykonawczą dla agentów:
- Piaskownica wykonawcza per-agent izoluje operacje każdego agenta.
- Wrażliwe operacje wymagają wyraźnej zgody użytkownika przed kontynuowaniem.
- Główny przełącznik pozwala globalnie włączyć lub wyłączyć Tryb bezpieczny.
- Automatyczne ponowne włączanie zgodnie z harmonogramem zapewnia reaktywację Trybu bezpiecznego po tymczasowych zmianach.
- Synchronizacja zasad w czasie rzeczywistym utrzymuje spójność ustawień we wszystkich połączeniach.
Audyt i zgodność
- Wszystkie zmiany konfiguracji są rejestrowane ze znacznikami czasu.
- Haszowanie konfiguracji wykrywa nieautoryzowane modyfikacje.
- Telemetria użytkowania (opcjonalna) umożliwia wykrywanie anomalii.
- CORS jest ograniczony do autoryzowanych domen.
- Nagłówki bezpieczeństwa Helmet są stosowane do wszystkich odpowiedzi sieciowych.
Najlepsze praktyki
- Włącz TOTP w swoim panelu sterowania dla uwierzytelniania dwuskładnikowego.
- Pobierz kody zapasowe i przechowuj je bezpiecznie.
- Ustaw dzienne budżety, aby zapobiec nieoczekiwanym opłatom.
- Używaj trybu BYOK, jeśli chcesz pełnej kontroli nad swoimi kluczami API.
- Aktualizuj aplikację -- automatyczne aktualizacje zawierają poprawki bezpieczeństwa.
- Regularnie przeglądaj uprawnienia agenta w ustawieniach Trybu bezpiecznego.