Безпека
Огляд
Neotask побудований із безпекою як основним принципом. Кожен рівень, від активації ліцензії до зберігання даних та мережевого зв'язку, розроблений для захисту ваших даних та запобігання несанкціонованому доступу.
Безпека ліцензії
- Прив'язка до пристрою: Кожна ліцензія криптографічно прив'язана до одного пристрою через відбиток SHA-256.
- Підписання запитів HMAC-SHA256: Усі API-запити підписуються секретом пристрою, одноразовим числом та міткою часу.
- Порівняння в постійному часі: Усі порівняння секретів використовують алгоритми постійного часу для запобігання атакам за часом.
- Час життя токенів: Термін дії токенів доступу та оновлення контролюється на стороні сервера через підписані JWT-заявки, що дозволяє миттєве відкликання.
- Автоматична повторна перевірка: Ваша ліцензія перевіряється кожні 6 годин.
- Пільговий офлайн-період: 72 години офлайн-доступу до вимоги повторної перевірки.
- Дистанційне відкликання: Ліцензії можуть бути відкликані на стороні сервера миттєво.
Двофакторна автентифікація (TOTP)
Neotask підтримує необов'язкову (але рекомендовану) двофакторну автентифікацію для доступу до панелі.
- Сумісна з Google Authenticator, Authy, 1Password та будь-яким TOTP-сумісним застосунком.
- Резервні коди надаються під час налаштування. Ці коди хешуються SHA-256 та є одноразовими.
- TOTP можна вмикати або вимикати в будь-який час у розділі Безпека в налаштуваннях панелі.
Шифрування
Дані в стані спокою
- AES-256-GCM: Усі токени, секрети та API-ключі шифруються в стані спокою.
- Ключі, похідні від машини: Ключі шифрування отримуються через scrypt з ідентичності вашого пристрою.
- Без зберігання в незашифрованому вигляді: Токени ніколи не зберігаються в незашифрованому вигляді.
Дані в transit
- TLS 1.3: Весь API-зв'язок передається через HTTPS.
- Захищений WebSocket (WSS): Зв'язок шлюзу в реальному часі зашифровано.
- Підписання HMAC: Кожен запит включає підпис одноразового числа та мітки часу.
Секрети середовища
- Двошарове шифрування: Шифрування середовища під час компіляції використовує окремі ключі.
- Без жорстко закодованих секретів: Жодних API-ключів або токенів немає у вихідному коді.
- Редагування журналів: Конфіденційні дані автоматично видаляються з журналів.
Безпека настільного застосунку
Захист Electron
Neotask застосовує суворі налаштування безпеки Electron для захисту настільного застосунку:
sandbox: true, Процес рендерингу працює в ізольованому середовищі.contextIsolation: true, Немає прямого доступу до основного процесу з інтерфейсу.nodeIntegration: false, Жодних API Node.js не відкрито для інтерфейсу.webSecurity: true, Дотримується політика однакового джерела.
Політика безпеки вмісту (CSP)
default-src 'self', Завантажуються лише ресурси самого застосунку.script-src 'self', Зовнішні скрипти не дозволяються.- Спливаючі вікна заблоковано.
- Навігацію заблоковано для запобігання атакам перенаправлення.
- Перезавантаження сторінки заблоковано для запобігання маніпуляціям станом.
Цілісність застосунку
- Цілісність ASAR: Перевірка хешу SHA-256 упакованого застосунку.
- Атестація версії: Підписаний сервером маніфест із можливістю «вимикача».
- Обфускація коду: Обфускація JavaScript застосовується у виробничих збірках.
- Режим жорсткого збою: Застосунок повністю блокується при будь-якому збої цілісності.
Мережева безпека
Ізоляція шлюзу
- Шлюз працює лише на петлевому інтерфейсі (127.0.0.1), тобто зовнішнє мережеве відкриття відсутнє.
- Жодні вхідні підключення ззовні вашої машини не приймаються.
- Гранти сесій мають час życia 10 хвилин, прив'язані до пристрою та підписані HMAC.
Блокування після 3 спроб
- Після 3 послідовних збоїв операцій шлюзу всі операції блокуються.
- Для відновлення доступу потрібне ручне скидання.
- Цей механізм запобігає атакам перебором.
Безпека API
Методи автентифікації
| Метод | Використовується для | Рівень безпеки |
|---|---|---|
| JWT Bearer Token | Веб-панель, API-виклики | Стандартний (термін 90 днів) |
| License HMAC | Операції настільного застосунку | Високий (секрет для кожного пристрою) |
| Session Grants | Операції шлюзу | Дуже високий (10 хв, підписано HMAC) |
| TOTP | Вхід на панель | Додатковий фактор |
Обмеження запитів
| Кінцева точка | Ліміт |
|---|---|
| Контактна форма | 5 запитів за 15 хвилин |
| Спроби входу | 10 запитів за 15 хвилин |
| Аналітика/відстеження | 30 запитів за 60 секунд |
Валідація введення
- Усі IPC-параметри перевіряються перед обробкою.
- Усі API-введення санітуються.
- Реалізовано захист від SQL-ін'єкцій, XSS та ін'єкцій команд.
Безпека ключів провайдерів (BYOK)
При використанні режиму BYOK (Bring Your Own Key) Neotask застосовує додаткові засоби захисту до ваших API-ключів:
- API-ключі шифруються за допомогою AES-256-GCM перед збереженням.
- Ключі ніколи не записуються в журнали та не відображаються в повідомленнях про помилки.
- Ключі відображаються у замаскованому вигляді на панелі (видимі лише останні 4 символи).
- При видаленні ключа виконується безпечне видалення.
Безпечний режим
Neotask включає функцію «Безпечний режим», що надає ізольоване середовище виконання для агентів:
- Ізольоване середовище виконання для кожного агента.
- Конфіденційні операції вимагають явного підтвердження користувача.
- Головний перемикач дозволяє вмикати або вимикати Безпечний режим глобально.
- Автоматичне повторне вмикання за розкладом для забезпечення реактивації після тимчасових змін.
- Синхронізація політик у реальному часі для збереження узгодженості налаштувань у всіх підключеннях.
Аудит та відповідність
- Усі зміни конфігурації реєструються з мітками часу.
- Хешування конфігурації виявляє несанкціоновані зміни.
- Телеметрія використання (з вашої згоди) дозволяє виявлення аномалій.
- CORS обмежений лише авторизованими доменами.
- Заголовки безпеки Helmet застосовуються до всіх веб-відповідей.
Найкращі практики
- Увімкніть TOTP на панелі для двофакторної автентифікації.
- Завантажте резервні коди та зберігайте їх у надійному місці.
- Встановлюйте щоденні бюджети для запобігання неочікуваним витратам.
- Використовуйте режим BYOK, якщо хочете повний контроль над своїми API-ключами.
- Оновлюйте застосунок, автоматичні оновлення включають патчі безпеки.
- Periodично переглядайте дозволи агентів у налаштуваннях Безпечного режиму.