Ця документація була автоматично перекладена штучним інтелектом.
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 ключі. |
Зазвичай ми рекомендуємо:

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

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

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

Корпоративна версія
Двофакторна автентифікація вимагає від користувачів надання другої дійсної інформації для підтвердження особи при вході за паролем, наприклад, надсилання одноразового динамічного коду перевірки на довірений пристрій користувача. Це допомагає перевірити особу користувача, гарантувати, що його облікові дані не будуть використані не за призначенням, та знизити ризик витоку паролів.
Корпоративна версія
NocoBase підтримує налаштування чорних або білих списків IP-адрес для доступу користувачів.
Налаштовуючи різні ролі в системі та надаючи їм відповідні дозволи, можна точно контролювати доступ користувачів до ресурсів. Адміністраторам необхідно здійснювати розумну конфігурацію відповідно до потреб реальних сценаріїв, щоб зменшити ризик витоку системних ресурсів.
Під час першої інсталяції NocoBase застосунок ініціалізує root-користувача. Рекомендується змінювати відповідну інформацію root-користувача за допомогою системних змінних середовища, щоб уникнути зловмисного використання.
INIT_ROOT_USERNAME - ім'я користувача rootINIT_ROOT_EMAIL - електронна пошта користувача rootINIT_ROOT_PASSWORD - пароль користувача root, будь ласка, встановіть надійний пароль.Під час подальшого використання системи рекомендується налаштувати та використовувати інші облікові записи адміністраторів, намагаючись уникати прямого використання root-користувача для роботи з застосунком.
NocoBase контролює дозволи користувачів на доступ до ресурсів, налаштовуючи ролі в системі, надаючи дозволи різним ролям та прив'язуючи користувачів до відповідних ролей. Кожен користувач може мати кілька ролей і може перемикатися між ними, щоб працювати з ресурсами з різних точок зору. Якщо встановлено плагін відділів, ролі також можна прив'язати до відділів, і користувач отримає ролі, прив'язані до його відділу.

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

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


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

Під час зберігання та резервного копіювання даних NocoBase надає ефективні механізми для забезпечення безпеки даних.
Паролі користувачів NocoBase зберігаються зашифрованими за допомогою алгоритму scrypt, що ефективно протистоїть великомасштабним апаратним атакам.
При використанні сторонніх сервісів у NocoBase ми рекомендуємо вам конфігурувати інформацію про ключі сторонніх сервісів у змінних середовища та зберігати їх у зашифрованому вигляді. Це зручно для конфігурації та використання в різних місцях, а також підвищує безпеку. Ви можете переглянути документацію, щоб дізнатися детальніше про використання.
За замовчуванням ключ шифрується за допомогою алгоритму 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.
Щоб запобігти атакам типу «людина посередині», ми рекомендуємо додати сертифікат SSL/TLS до вашого сайту застосунку NocoBase, щоб забезпечити безпеку даних під час передачі мережею.
Корпоративна версія
У середовищах з більш суворими вимогами до безпеки даних NocoBase підтримує ввімкнення шифрування передачі API, шифруючи вміст запитів та відповідей API, щоб уникнути передачі відкритого тексту та підвищити поріг для злому даних.
За замовчуванням NocoBase не потребує зв'язку зі сторонніми сервісами, і команда NocoBase не збирає жодної інформації про користувачів. Підключення до сервера NocoBase потрібне лише при виконанні таких двох операцій:
Якщо ви готові пожертвувати певною зручністю, обидві ці операції також підтримують виконання в автономному режимі, без необхідності прямого підключення до сервера NocoBase.
NocoBase підтримує повне розгортання в інтранеті, дивіться
Професійна версія та вище
На практиці ми рекомендуємо корпоративним користувачам ізолювати тестові та виробничі середовища, щоб забезпечити безпеку даних застосунків та середовища виконання у виробничому середовищі. За допомогою плагіна керування міграцією можна здійснювати міграцію даних застосунків між різними середовищами.

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


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