logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo
Посібник з безпеки
Політика токенів (Token)

Політика паролів

Політика паролів
Блокування користувачів
Обмеження за IP
Журнал аудиту
Двофакторна автентифікація (2FA)
Шифрування полів
Next PageПолітика токенів (Token)
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Посібник із безпеки NocoBase

NocoBase приділяє особливу увагу безпеці даних та застосунків, починаючи від функціонального дизайну і закінчуючи системною реалізацією. Платформа має вбудовані функції безпеки, такі як автентифікація користувачів, контроль доступу та шифрування даних, а також дозволяє гнучко налаштовувати політики безпеки відповідно до ваших потреб. Незалежно від того, чи йдеться про захист даних користувачів, керування правами доступу або ізоляцію середовищ розробки та виробництва, NocoBase пропонує практичні інструменти та рішення. Цей посібник має на меті надати рекомендації щодо безпечного використання NocoBase, допомагаючи вам захистити дані, застосунки та середовище, забезпечуючи ефективне використання функцій системи за умови безпеки користувачів.

#Автентифікація користувачів

Автентифікація користувачів використовується для підтвердження їхньої особи, запобігання несанкціонованому доступу до системи та гарантування того, що облікові дані користувачів не будуть використані не за призначенням.

#Ключ токена

За замовчуванням NocoBase використовує JWT (JSON Web Token) для автентифікації API на стороні сервера. Ви можете встановити ключ токена через системну змінну середовища APP_KEY. Будь ласка, належним чином керуйте ключем токена застосунку, щоб запобігти його витоку. Зверніть увагу, що якщо APP_KEY буде змінено, старі токени також стануть недійсними.

#Політика токенів

NocoBase підтримує налаштування таких політик безпеки для токенів користувачів:

Параметр конфігураціїОпис
Термін дії сесіїМаксимальний час дії для кожного входу користувача. Протягом терміну дії сесії токен автоматично оновлюватиметься. Після закінчення терміну дії користувачу потрібно буде увійти знову.
Термін дії токенаТермін дії кожного виданого API токена. Після закінчення терміну дії токена, якщо він знаходиться в межах терміну дії сесії і не перевищив ліміт оновлення, сервер автоматично видасть новий токен для підтримки сесії користувача, інакше користувачу потрібно буде увійти знову. (Кожен токен може бути оновлений лише один раз)
Ліміт часу оновлення простроченого токенаМаксимальний термін, протягом якого дозволено оновлювати токен після закінчення його дії.

Зазвичай ми рекомендуємо адміністраторам:

  • Встановлювати коротший термін дії токена, щоб обмежити час його доступності.
  • Встановлювати розумний термін дії сесії, який є довшим за термін дії токена, але не надто довгим, щоб збалансувати зручність використання та безпеку. Використовуйте механізм автоматичного оновлення токена, щоб забезпечити безперервність активних сесій користувачів, одночасно зменшуючи ризик зловживання довготривалими сесіями.
  • Встановлювати розумний ліміт часу оновлення для прострочених токенів, щоб токен природним чином закінчувався, коли користувач неактивний протягом тривалого часу, без видачі нового токена, зменшуючи ризик зловживання неактивними сесіями користувачів.

#Клієнтське сховище токенів

За замовчуванням токени користувачів зберігаються в LocalStorage браузера. Після закриття та повторного відкриття сторінки браузера, якщо токен все ще дійсний, користувачу не потрібно входити знову.

Якщо ви хочете, щоб користувачі входили знову щоразу, коли вони відкривають сторінку, ви можете встановити змінну середовища API_CLIENT_STORAGE_TYPE=sessionStorage, щоб зберегти токен користувача в SessionStorage браузера. Це забезпечить повторний вхід користувача при кожному відкритті сторінки.

#Політика паролів

Професійна версія та вище

NocoBase підтримує встановлення правил паролів та політик блокування спроб входу за паролем для всіх користувачів, щоб підвищити безпеку застосунків NocoBase, які використовують вхід за паролем. Ви можете звернутися до Політики паролів, щоб дізнатися про кожен параметр конфігурації.

#Правила паролів

Параметр конфігураціїОпис
Довжина пароляМінімальна вимога до довжини пароля, максимальна довжина — 64 символи.
Складність пароляВстановлює вимоги до складності пароля, типи символів, які повинні бути включені.
Не можна включати ім'я користувача в парольВстановлює, чи може пароль містити ім'я поточного користувача.
Запам'ятовувати історію паролівЗапам'ятовує кількість паролів, які користувач використовував нещодавно. Користувач не може повторно використовувати їх при зміні пароля.

#Конфігурація терміну дії пароля

Параметр конфігураціїОпис
Термін дії пароляТермін дії паролів користувачів. Користувачі повинні змінити свої паролі до закінчення терміну їх дії, щоб термін дії був перерахований. Якщо пароль не буде змінено до закінчення терміну дії, користувач не зможе увійти за допомогою старого пароля, і йому знадобиться допомога адміністратора для скидання.
Якщо налаштовані інші способи входу, користувач може використовувати їх для входу.
Канал сповіщень про закінчення терміну дії пароляПротягом 10 днів до закінчення терміну дії пароля користувача надсилатиметься нагадування при кожному вході користувача.

#Безпека входу за паролем

Параметр конфігураціїОпис
Максимальна кількість невдалих спроб входу за паролемВстановлює максимальну кількість спроб входу, які користувач може зробити протягом заданого інтервалу часу.
Максимальний інтервал часу для невдалих спроб входу за паролем (секунди)Встановлює інтервал часу для розрахунку максимальної кількості невдалих спроб входу користувача, в секундах.
Час блокування (секунди)Встановлює час блокування користувача після перевищення ліміту невдалих спроб входу за паролем (0 означає без обмежень).
Протягом періоду блокування користувачу буде заборонено доступ до системи будь-яким способом автентифікації, включаючи API ключі.

Зазвичай ми рекомендуємо:

  • Встановлювати суворіші правила паролів, щоб зменшити ризик їх вгадування за асоціаціями або методом грубої сили.
  • Встановлювати розумний термін дії пароля, щоб змусити користувачів регулярно його змінювати.
  • Поєднувати конфігурацію кількості невдалих спроб входу та часу, щоб обмежити часті спроби входу за паролем протягом короткого періоду та запобігти атакам методом грубої сили.
  • У сценаріях з високими вимогами до безпеки можна встановити розумний час блокування користувача після перевищення ліміту входу. Однак слід зазначити, що налаштування часу блокування може бути зловмисно використане: зловмисники можуть навмисно вводити неправильні паролі кілька разів для цільових облікових записів, щоб змусити їх заблокуватися та стати непридатними для використання. На практиці для запобігання таким атакам можна використовувати обмеження IP, обмеження частоти API та інші засоби.
  • Змініть стандартні ім'я користувача, електронну пошту та пароль root-користувача NocoBase, щоб уникнути зловмисного використання.
  • Оскільки закінчення терміну дії пароля або блокування облікового запису унеможливлює доступ до системи, включно з обліковими записами адміністраторів, рекомендується налаштувати в системі кілька облікових записів з дозволами на скидання паролів та розблокування користувачів.

#Блокування користувачів

Професійна версія та вище, включено до плагіна політики паролів

Керуйте користувачами, які заблоковані через перевищення ліміту невдалих спроб входу за паролем. Ви можете активно розблокувати їх або додати аномальних користувачів до списку блокування. Після блокування користувачу буде заборонено доступ до системи будь-яким способом автентифікації, включаючи API ключі.

#API ключі

NocoBase підтримує виклик системних API за допомогою API ключів. Ви можете додати API ключі в конфігурації плагіна API ключів.

  • Будь ласка, прив'яжіть правильну роль до API ключа та переконайтеся, що дозволи, пов'язані з цією роллю, налаштовані коректно.
  • Під час використання API ключів запобігайте їх витоку.
  • Зазвичай ми рекомендуємо користувачам встановлювати термін дії для API ключів і не використовувати опцію «Ніколи не закінчується».
  • Якщо ви виявите, що API ключ використовується незвично, що може свідчити про ризик витоку, ви можете видалити відповідний API ключ, щоб зробити його недійсним.

#Єдиний вхід (Single Sign-On)

Комерційний плагін

NocoBase пропонує широкий спектр плагінів автентифікації SSO, що підтримують різні основні протоколи, такі як OIDC, SAML 2.0, LDAP та CAS. Крім того, NocoBase має повний набір інтерфейсів розширення методів автентифікації, що дозволяє швидко розробляти та інтегрувати інші типи автентифікації. Ви можете легко підключити наявний IdP до NocoBase, централізовано керувати ідентифікаторами користувачів на IdP та підвищити безпеку.

#Двофакторна автентифікація (Two-factor authentication)

Корпоративна версія

Двофакторна автентифікація вимагає від користувачів надання другої дійсної інформації для підтвердження особи при вході за паролем, наприклад, надсилання одноразового динамічного коду перевірки на довірений пристрій користувача. Це допомагає перевірити особу користувача, гарантувати, що його облікові дані не будуть використані не за призначенням, та знизити ризик витоку паролів.

#Контроль доступу за IP

Корпоративна версія

NocoBase підтримує налаштування чорних або білих списків IP-адрес для доступу користувачів.

  • У середовищах із суворими вимогами до безпеки можна налаштувати білий список IP-адрес, дозволяючи доступ до системи лише певним IP-адресам або діапазонам IP-адрес, щоб обмежити несанкціоновані зовнішні мережеві з'єднання та зменшити ризики безпеки на початковому етапі.
  • В умовах публічного доступу до мережі, якщо адміністратор виявляє аномальний доступ, він може налаштувати чорний список IP-адрес, щоб блокувати відомі шкідливі IP-адреси або доступ з підозрілих джерел, зменшуючи загрози безпеки, такі як шкідливе сканування та атаки методом грубої сили.
  • Зберігайте записи журналів для відхилених запитів на доступ.

#Контроль дозволів

Налаштовуючи різні ролі в системі та надаючи їм відповідні дозволи, можна точно контролювати доступ користувачів до ресурсів. Адміністраторам необхідно здійснювати розумну конфігурацію відповідно до потреб реальних сценаріїв, щоб зменшити ризик витоку системних ресурсів.

#Користувач Root

Під час першої інсталяції NocoBase застосунок ініціалізує root-користувача. Рекомендується змінювати відповідну інформацію root-користувача за допомогою системних змінних середовища, щоб уникнути зловмисного використання.

  • INIT_ROOT_USERNAME - ім'я користувача root
  • INIT_ROOT_EMAIL - електронна пошта користувача root
  • INIT_ROOT_PASSWORD - пароль користувача root, будь ласка, встановіть надійний пароль.

Під час подальшого використання системи рекомендується налаштувати та використовувати інші облікові записи адміністраторів, намагаючись уникати прямого використання root-користувача для роботи з застосунком.

#Ролі та дозволи

NocoBase контролює дозволи користувачів на доступ до ресурсів, налаштовуючи ролі в системі, надаючи дозволи різним ролям та прив'язуючи користувачів до відповідних ролей. Кожен користувач може мати кілька ролей і може перемикатися між ними, щоб працювати з ресурсами з різних точок зору. Якщо встановлено плагін відділів, ролі також можна прив'язати до відділів, і користувач отримає ролі, прив'язані до його відділу.

#Дозволи на конфігурацію системи

Дозволи на конфігурацію системи включають такі налаштування:

  • Чи дозволено інтерфейс конфігурації
  • Чи дозволено встановлювати, вмикати, вимикати плагіни
  • Чи дозволено конфігурувати плагіни
  • Чи дозволено очищати кеш, перезапускати застосунок
  • Дозволи на конфігурацію для кожного плагіна

#Дозволи меню

Дозволи меню використовуються для контролю доступу користувачів до різних сторінок меню, включаючи десктопну та мобільну версії.

#Дозволи на дані

NocoBase забезпечує деталізований контроль над дозволами користувачів на доступ до даних у системі, гарантуючи, що різні користувачі можуть отримувати доступ лише до даних, пов'язаних з їхніми обов'язками, запобігаючи перевищенню повноважень та витоку даних.

#Глобальний контроль

#Контроль на рівні таблиць, на рівні полів

#Контроль діапазону даних

Встановіть діапазон даних, з якими користувачі можуть працювати. Зверніть увагу, що діапазон даних тут відрізняється від діапазону даних, налаштованого в блоці. Діапазон даних, налаштований у блоці, зазвичай використовується лише для фільтрації даних на стороні клієнта. Якщо вам потрібно суворо контролювати дозволи користувачів на доступ до ресурсів даних, це потрібно налаштувати тут, і це буде контролюватися сервером.

#Безпека даних

Під час зберігання та резервного копіювання даних NocoBase надає ефективні механізми для забезпечення безпеки даних.

#Зберігання паролів

Паролі користувачів NocoBase зберігаються зашифрованими за допомогою алгоритму scrypt, що ефективно протистоїть великомасштабним апаратним атакам.

#Змінні середовища та ключі

При використанні сторонніх сервісів у NocoBase ми рекомендуємо вам конфігурувати інформацію про ключі сторонніх сервісів у змінних середовища та зберігати їх у зашифрованому вигляді. Це зручно для конфігурації та використання в різних місцях, а також підвищує безпеку. Ви можете переглянути документацію, щоб дізнатися детальніше про використання.

WARNING

За замовчуванням ключ шифрується за допомогою алгоритму AES-256-CBC. NocoBase автоматично генерує 32-бітний ключ шифрування та зберігає його у storage/.data/environment/aes_key.dat. Користувачі повинні належним чином зберігати файл ключа, щоб запобігти його викраденню. Якщо необхідно перенести дані, файл ключа також потрібно перенести.

#Зберігання файлів

Якщо є потреба у зберіганні конфіденційних файлів, рекомендується використовувати хмарні сховища, сумісні з протоколом S3, у поєднанні з комерційним плагіном File storage: S3 (Pro) для забезпечення приватного читання та запису файлів. Якщо потрібно використовувати в локальній мережі, рекомендується використовувати такі застосунки для зберігання, як MinIO, що підтримують приватне розгортання та сумісні з протоколом S3.

#Резервне копіювання застосунків

Щоб забезпечити безпеку даних застосунків та уникнути їх втрати, ми рекомендуємо регулярно створювати резервні копії бази даних.

Користувачі відкритої версії можуть звернутися до https://www.nocobase.com/en/blog/nocobase-backup-restore для створення резервних копій за допомогою інструментів бази даних. Ми також рекомендуємо належним чином зберігати файли резервних копій, щоб запобігти витоку даних.

Користувачі професійної версії та вище можуть використовувати менеджер резервного копіювання. Менеджер резервного копіювання надає такі можливості:

  • Планове автоматичне резервне копіювання: періодичне автоматичне резервне копіювання заощаджує час та ручні операції, а безпека даних краще гарантована.
  • Синхронізація файлів резервних копій з хмарним сховищем: ізолює файли резервних копій від самого сервісу застосунку, запобігаючи втраті файлів резервних копій у разі недоступності сервісу через збій сервера.
  • Шифрування файлів резервних копій: встановлення пароля для файлів резервних копій зменшує ризик витоку даних через витік файлів резервних копій.

#Безпека середовища виконання

Правильне розгортання NocoBase та забезпечення безпеки середовища виконання є одним із ключових аспектів гарантування безпеки застосунків NocoBase.

#Розгортання HTTPS

Щоб запобігти атакам типу «людина посередині», ми рекомендуємо додати сертифікат SSL/TLS до вашого сайту застосунку NocoBase, щоб забезпечити безпеку даних під час передачі мережею.

#Шифрування передачі API

Корпоративна версія

У середовищах з більш суворими вимогами до безпеки даних NocoBase підтримує ввімкнення шифрування передачі API, шифруючи вміст запитів та відповідей API, щоб уникнути передачі відкритого тексту та підвищити поріг для злому даних.

#Приватне розгортання

За замовчуванням NocoBase не потребує зв'язку зі сторонніми сервісами, і команда NocoBase не збирає жодної інформації про користувачів. Підключення до сервера NocoBase потрібне лише при виконанні таких двох операцій:

  1. Автоматичне завантаження комерційних плагінів через платформу NocoBase Service.
  2. Онлайн-перевірка та активація комерційної версії застосунку.

Якщо ви готові пожертвувати певною зручністю, обидві ці операції також підтримують виконання в автономному режимі, без необхідності прямого підключення до сервера NocoBase.

NocoBase підтримує повне розгортання в інтранеті, дивіться

  • https://www.nocobase.com/en/blog/load-docker-image
  • Завантаження плагінів до каталогу плагінів для встановлення та оновлення

#Ізоляція кількох середовищ

Професійна версія та вище

На практиці ми рекомендуємо корпоративним користувачам ізолювати тестові та виробничі середовища, щоб забезпечити безпеку даних застосунків та середовища виконання у виробничому середовищі. За допомогою плагіна керування міграцією можна здійснювати міграцію даних застосунків між різними середовищами.

#Аудит та моніторинг

#Журнали аудиту

Корпоративна версія

Функція журналів аудиту NocoBase записує дії користувачів у системі. Записуючи ключові операції та поведінку доступу користувачів, адміністратори можуть:

  • Перевіряти інформацію про доступ користувачів, таку як IP, пристрої та час операцій, щоб своєчасно виявляти аномальну поведінку.
  • Відстежувати історію операцій з ресурсами даних у системі.

#Журнали застосунків

NocoBase надає різні типи журналів, щоб допомогти користувачам зрозуміти стан роботи системи та записи поведінки, своєчасно виявляти та локалізувати системні проблеми, забезпечуючи безпеку та керованість системи з різних аспектів. Основні типи журналів включають:

  • Журнал запитів: Журнали запитів API, включаючи URL-адреси доступу, методи HTTP, параметри запитів, час відповіді та коди стану.
  • Системний журнал: Записує події роботи застосунку, включаючи запуск сервісу, зміни конфігурації, повідомлення про помилки та ключові операції.
  • Журнал SQL: Записує оператори бази даних та час їх виконання, охоплюючи такі дії, як запити, оновлення, вставки та видалення.
  • Журнал робочого процесу: Журнал виконання робочого процесу, включаючи час виконання, інформацію про роботу, повідомлення про помилки тощо.