Інструкція зі встановлення локальних компонентів системи «Трембіта» в промисловому середовищі вручну
- 1. Перелік термінів та умовних позначень
- 2. Передмова
- 3. Ролі користувачів у компонентах суб'єктів системи "Трембіта"
- 4. Алгоритм встановлення локальних компонентів системи "Трембіта" в промисловому середовищі
- 5. Передумови до виконання встановлення встановлення
- 5.1. Підготовка до встановлення
- 5.2. Налаштування мережевих параметрів
- 6. Встановлення та конфігурація робочої станції адміністратора
- 6.1. Додавання репозиторію з пакетами системи «Трембіта»
- 6.2. Додавання GPG ключа для репозиторію
- 6.3. Встановлення програмного забезпечення UXP UA Adminserver
- 6.4. Додавання облікового запису користувача на Робочій станції адміністратора
- 7. Встановлення та конфігурація шлюзу безпечного обміну
- 7.1. Встановлення шлюзу безпечного обміну вручну
- 7.2. Початкова конфігурація шлюзу безпечного обміну
- 7.3. Підключення захищених носіїв особистих ключів (апаратних токенів)
- 7.4. Реєстрація шлюзу безпечного обміну
- 7.5. Створення підсистем
- 8. Встановлення та конфігурація серверу баз даниз та архівуваня
- 8.1. Встановлення та конфігурація серверу баз даних та архівування
- 8.2.Налаштування підключення ШБО до серверу баз даних та архівування
- 8.3 Налаштування перенесення архівних файлів на сервер баз даних та архівування
- 9. Встановлення та конфігурація засобу перевірки повідомлень
- 10. Встановлення та конфігурація серверу аналізу журналів подій
- 10.1. Встановлення серверу аналізу журналів подій
- 10.2. Налаштування серверу аналізу журналів подій
- 10.3 Початкова конфігурація сервера аналізу журналів подій
- 10.4 Налаштування підключення до шлюзу безпечного обміну
- 11. Налаштування локального моніторингу шлюзу безпечного обміну
- 11.1 Підготовка до встановлення компонентів локального моніторингу
- 11.2 Встановлення та конфігурація Серверу аналізу транзакцій
- 11.3 Встановлення та конфігурація серверу моніторингу за працездатністю
- 12. Журнали і системні сервіси
- 13. Найпоширеніші помилки
1. Перелік термінів та умовних позначень
|
Термін |
Пояснення |
|
Терміни, що стосуються функціонування компонентів системи «Трембіта» |
|
|
Апаратний токен |
Захищений носій особистих ключів, який містить особисті ключі, необхідні для функціонування криптографічних функцій шлюзу безпечного обміну |
|
(Д)ЕІР |
(Державний) електронний інформаційний ресурс |
|
Каталог системи «Трембіта» |
Програмний комплекс, який забезпечує накопичення, облік та відображення інформації про учасників системи електронної взаємодії державних електронних інформаційних ресурсів «Трембіта», суб’єктів електронної взаємодії, операторів, електронні інформаційні ресурси, програмні інтерфейси електронних інформаційних ресурсів, сервіси та електронні інформаційні взаємодії |
|
КНЕДП |
Кваліфікований надавач електронних довірчих послуг |
|
ПЗ |
Програмне забезпечення |
|
Система електронної взаємодії державних електронних інформаційних ресурсів (система «Трембіта») |
Інформаційно-телекомунікаційна система, призначена для автоматизації та технологічного забезпечення обміну електронними даними між Суб’єктами електронної взаємодії з електронних інформаційних ресурсів під час надання адміністративних послуг та здійснення інших повноважень відповідно до покладених на них завдань |
|
Токен безпеки |
Сутність у програмному забезпеченні UXP Security Server, що репрезентує сховище особистих ключів. Може бути як програмним, так і апаратним |
|
ШБО |
Шлюз безпечного обміну – сервер, на який встановлено програмне забезпечення UXP Security Server |
|
UXP |
Unified eXchange Platform – програмна платформа, на базі якої побудована система «Трембіта» |
|
Терміни, що описують суб'єктів системи «Трембіта» |
|
|
Адміністратор системи «Трембіта» |
Державне підприємство «Дія» (визначено постановою від 8 вересня 2016 р. №606 «Деякі питання електронної взаємодії державних електронних інформаційних ресурсів») |
|
Держатель системи «Трембіта» |
Міністерство цифрової трансформації України (визначено постановою від 8 вересня 2016 р. №606 «Деякі питання електронної взаємодії державних електронних інформаційних ресурсів») |
|
Оператор |
Учасник системи електронної взаємодії державних електронних інформаційних ресурсів «Трембіта», уповноважений суб’єктом електронної взаємодії на виконання функцій суб’єкта електронної взаємодії в межах побудови електронної інформаційної взаємодії |
|
Отримувач реєстрової інформації |
Суб’єкт електронної взаємодії, який відповідно до закону має право на отримання реєстрової інформації у порядку електронної інформаційної взаємодії публічних електронних реєстрів |
|
Постачальник реєстрової інформації |
Держатель публічного електронного реєстру та/або інформаційно-комунікаційної системи, який відповідно до закону надає отримувачу реєстрову інформацію, що є об’єктом електронної інформаційної взаємодії публічних електронних реєстрів |
|
Суб’єкт електронної взаємодії |
Власник (держатель) електронного інформаційного ресурсу, який уклав договір про приєднання до системи «Трембіта» та забезпечує електронну інформаційну взаємодію з іншими суб’єктами електронної взаємодії через систему «Трембіта» та може розміщувати сервіси та підсистеми на шлюзах безпечного обміну учасників системи «Трембіта». Суб’єкти електронної взаємодії можуть бути постачальниками та/або отримувачами реєстрової інформації. На одному ШБО Учасника може бути опубліковано інтерфейси прикладного програмування та/або вебклієнти не більше, ніж одного Суб’єкта електронної взаємодії |
|
Учасник |
Суб’єкт владних повноважень, суб’єкт господарювання, який уклав договір про приєднання до системи «Трембіта» |
2. Передмова
Промислове середовище системи «Трембіта» призначене для організації безвідмовної електронної взаємодії між (Д)ЕІР (інформаційними системами) Суб’єктів електронної взаємодії.
В промисловому середовищі здійснюється обмін реальними даними, які використовуються для надання адміністративних послуг та здійснення інших повноважень, покладених на Суб’єктів електронної взаємодії.
Важливо! Вебсервіси постачальника та вебклієнти отримувача можуть здійснювати електронну взаємодію у промисловому середовищі системи «Трембіта» виключно після проходження успішної перевірки у тестовому середовищі системи «Трембіта».
Типовий набір локальних компонентів системи «Трембіта» в промисловому середовищі є наступним:
- Шлюз безпечного обміну (віртуальна машина або фізичний сервер);
- Сервер баз даних та архівування (віртуальна машина або фізичний сервер);
- Сервер аналізу транзакцій (віртуальна машина або фізичний сервер);
- Сервер моніторингу за працездатністю (віртуальна машина або фізичний сервер);
- Сервер аналізу журналів подій (віртуальна машина або фізичний сервер);
- Робоча(і) станція(ї) адміністратора (фізичний комп’ютер/ноутбук).
Дана інструкція покриває процес інсталяції перелічених вище компонентів у промисловому середовищі за допомогою скрипта автоматизації встановлення та їх конфігурацію, а також технічні вимоги до апаратного забезпечення, налаштування мережевих схем.
Для забезпечення безвідмовної взаємодії на рівні компонентів ядра організовано кластер із двох вузлів, а також Учасники повинні:
- перевіряти рівень навантаження на шлюзи безпечного обміну, вебсервіси та вебклієнти;
- (за потреби) створювати кластер із шлюзів безпечного обміну, вебсервісів та вебклієнтів.
3. Ролі користувачів у компонентах суб'єктів системи "Трембіта"
На рисунку 3.1 зображено рольову модель для локальних компонентів системи «Трембіта» з зазначенням того, яким чином відбувається доступ користувачів до програмного забезпечення локальних компонентів, зокрема ШБО, Серверу моніторингу за працездатністю, Серверу аналізу журналів подій, Серверу баз даних та архівування та Серверу аналізу транзакцій.
Рисунок 3.1 – Рольова модель локальних компонентів системи «Трембіта»
В таблиці 3.1 наведено детальні пояснення щодо кожної із зазначених вище ролей.
Таблиця 3.1. Ролі користувачів в локальних компонентах системи «Трембіта»
|
Роль |
Пояснення |
|
Адміністратор локальних компонентів (системний адміністратор) |
Користувач операційної системи, який має право на виконання команд з керування станом операційної системи та прикладного програмного забезпечення компонентів та керування станом їх безпеки. Роль існує на всіх типах компонентів та робочій станції адміністратора. Роль виконує уповноважений співробітник Оператора або Суб'єкта електронної взаємодії, якщо він самостійно встановлює та адмініструє власні локальні компоненти |
|
Адміністратор вебсервісів |
Користувач операційної системи компонента «Шлюз безпечного обміну», який не має права на інтерактивний вхід до командного інтерфейсу операційної системи компонента. Цей користувач має право на адміністрування прикладного програмного забезпечення шлюзу безпечного обміну через відповідний вебінтерфейс. Роль існує тільки на шлюзі безпечного обміну. Роль виконує уповноважений співробітник Оператора або Суб'єкта електронної взаємодії, якщо він самостійно встановлює та адмініструє власні локальні компоненти |
|
Відповідальний за управління ключами |
Користувач операційної системи компонента «Шлюз безпечного обміну», який не має права на інтерактивний вхід до командного інтерфейсу операційної системи компонента. Цей користувач має право на керування кваліфікованими електронними печатками власної організації через відповідний вебінтерфейс. Роль існує тільки на шлюзі безпечного обміну. Роль виконує уповноважений співробітник Суб’єкта електронної взаємодії |
|
Відповідальний за аналіз транзакцій |
Користувач операційної системи компонента «Сервер баз даних та архівування», який не має права на інтерактивний вхід до командного інтерфейсу операційної системи компонента. Цей користувач має право на перегляд та аналіз транзакцій за допомогою відповідного вебінтерфейсу. Роль існує тільки на сервері аналізу транзакцій (в тестовому та промисловому середовищах) та сервері баз даних та архівування (в промисловому середовищі). Роль виконує уповноважений співробітник Суб’єкта електронної взаємодії |
4. Алгоритм встановлення локальних компонентів системи "Трембіта" в промисловому середовищі
Рисунок 4.1 – Блок-схема алгоритму встановлення локальних компонентів системи «Трембіта» в промисловому середовищі вручну
5. Передумови до виконання встановлення встановлення
Для підключення до промислового середовища системи «Трембіта установа, що планує стати Суб'єктом електронної взаємодії, повинна виконати наступні попередні кроки:
- укласти із Держателем системи «Трембіта» (Мінцифри) угоду про приєднання до системи «Трембіта» та подати Держателю заявку із відомостями про відповідальну особу (виконується на етапі підключення до тестового середовища);
-встановити та налаштувати локальні компоненти системи «Трембіта» в тестовому середовищі (або укласти угоду з іншим Учасником на виконання функцій Оператора) згідно Інструкції зі встановлення локальних компонентів системи «Трембіта» в тестовому середовищі за допомогою скрипта автоматизації встановлення або Інструкції зі встановлення локальних компонентів системи «Трембіта» в тестовому середовищі вручну;
- провести тестування працездатності вебсервісів та вебклієнтів в тестовому середовищі системи «Трембіта»;
- отримати промислову електронну печатку установи на захищеному носії особистих ключів в будь-якого сумісного кваліфікованого надавача електронних довірчих послуг. Перелік сумісних КНЕДП можна дізнатись у Адміністратора системи «Трембіта».
У випадку, якщо Суб’єкт електронної взаємодії не планує самостійно встановлювати та адмініструвати власні локальні компоненти, а буде уповноважувати іншого Учасника на виконання функцій Оператора, йому необхідно укласти з ним договір та призначити Оператором засобами Особистого кабінету Каталогу системи «Трембіта».
У випадку, якщо Суб’єкт електронної взаємодії планує самостійно встановлювати та адмініструвати власні локальні компоненти, йому додатково потрібно виконати наступні кроки:
- підготувати програмно-апаратне забезпечення під встановлення компонентів системи «Трембіта» в промисловому середовищі згідно таблиці 5.1, де вказані мінімальні вимоги до апаратних ресурсів;
- виділити одну статичну зовнішню («білу/публічну») IP-адресу (може суміщатися з іншими сервісами організації, якщо необхідні TCP-порти вільні для використання). Також саме ця зовнішня статична IP-адреса має використовуватися шлюзом безпечного обміну для підключення до шлюзів інших організацій;
Важливо! IP-адреса не може бути такою самою, як для тестового середовища!
- налаштувати мережевий зв'язок згідно мережевої схеми, наведеної на рисунку 5.1.
Для підключення до промислового середовища системи «Трембіта» установа, що планує стати Оператором, повинна виконати наступні попередні кроки:
- укласти із Держателем системи «Трембіта» (Мінцифри) угоду про приєднання до системи «Трембіта» та подати Держателю заявку із відомостями про відповідальну особу (виконується на етапі підключення до тестового середовища);
‑ укласти договір з іншим Суб’єктом електронної взаємодії, який не планує самостійно встановлювати та адмініструвати власні локальні компоненти, на виконання його функцій в межах побудови електронної інформаційної взаємодії;
-встановити та налаштувати локальні компоненти системи «Трембіта» в тестовому середовищі згідно Інструкції зі встановлення локальних компонентів системи «Трембіта» в тестовому середовищі за допомогою скрипта автоматизації встановлення або Інструкції зі встановлення локальних компонентів системи «Трембіта» в тестовому середовищі вручну;
- провести тестування працездатності вебсервісів та вебклієнтів в тестовому середовищі системи «Трембіта»;
- підготувати програмно-апаратне забезпечення під встановлення компонентів системи «Трембіта» в промисловому середовищі згідно таблиці 5.1, де вказані мінімальні вимоги до апаратних ресурсів;
- виділити одну статичну зовнішню («білу/публічну») IP-адресу (може суміщатися з іншими сервісами організації, якщо необхідні TCP-порти вільні для використання). Також саме ця зовнішня статична IP-адреса має використовуватися шлюзом безпечного обміну для підключення до шлюзів інших організацій;
Важливо! IP-адреса не може бути такою самою, як для тестового середовища.
- налаштувати мережевий зв'язок згідно правил, вказаних рисунку 5.1;
- отримати промислову електронну печатку установи на захищеному носії особистих ключів в будь-якого сумісного кваліфікованого надавача електронних довірчих послуг. Перелік сумісних КНЕДП можна дізнатись у Адміністратора системи «Трембіта».
При цьому, Учасник повинен організувати дві підмережі - сегмент демілітаризованої зони та захищений сегмент.
Шлюз безпечного обміну повинен розміщуватися у сегменті демілітаризованої зони. Інші компоненти - у захищеному сегменті. Також у захищеному сегменті повинні бути розміщені вебсервіси та вебклієнти, що взаємодіють з шлюзом безпечного обміну.
Примітка. В разі, якщо Учасник та Суб’єкт електронної взаємодії є різними юридичними особами, Суб’єкт електронної взаємодії повинен мати власну(і) робочу(і) станцію(ї) адміністратора для виконання поставлених завдань користувачами з ролями «Відповідальний за аналіз транзакцій» та «Відповідальний за управління ключами».
5.1. Підготовка до встановлення
Встановлення усіх локальних компонентів системи «Трембіта» виконується Адміністратором локальних компонентів (системним адміністратором).
Перелік, мінімальні апаратні характеристики та використовуване програмне забезпечення віртуальних машин (або фізичних серверів) необхідних для підключення до промислового середовища системи «Трембіта», наведені у таблиці 5.1.
Таблиця 5.1 - Склад, призначення та мінімальні апаратні характеристики компонентів промислового середовища
|
Назва компоненту |
Кількість ядер CPU |
RAM, GB |
HDD (OS + APP + логи), GB |
Операційна система |
Встановлене програмне забезпечення |
Апаратний токен |
Порти, доступні із мережі Інтернет |
|
У сегменті демілітаризованої зони (DMZ) |
|||||||
|
Шлюз безпечного обміну / UXP Security Server |
8 |
8 |
64 |
Ubuntu Server 18.04.4 LTS 64bit |
UXP Security Server |
Так |
TCP 5500, 5577, 5599 |
|
У захищеному сегменті мережі |
|||||||
|
Сервер баз даних та архівування / PostgreSQL, UXP Verifier |
2 |
4 |
96 |
Ubuntu Server 18.04.4 LTS 64bit |
PostgreSQL 10, UXP Verifier |
Ні |
Ні |
|
Сервер аналізу транзакцій / Kibana, Elasticsearch |
2 |
4 |
64 |
Ubuntu Server 18.04.4 LTS 64bit |
Kibana, Elasticsearch |
Ні |
Ні |
|
Сервер моніторингу за працездатністю / Zabbix |
2 |
4 |
64 |
Ubuntu Server 18.04.4 LTS 64bit |
Zabbix |
Ні |
Ні |
|
Сервер аналізу журналів подій / Elasticsearch, graylog |
2 |
4 |
320 |
Ubuntu Server 18.04.4 LTS 64bit |
Elasticsearch, graylog |
Ні |
Ні |
|
Робоча станція адміністратора / UXP UA Adminserver |
2 |
4 |
64 |
Ubuntu Desktop 18.04.4 LTS 64bit |
UXP UA Adminserver |
Ні |
Ні |
Мережева схема підключення до системи «Трембіта» в промисловому середовищі наведена на рисунку 5.1.
Рисунок 5.1 – Мережева схема підключення до системи «Трембіта» (промислове середовище)
Мережева схема підключення до системи «Трембіта» в промисловому середовищі наведена на рисунку 5.1.
Примітка. Обов’язково під час встановлення програмного забезпечення всі зазначені компоненти повинні мати мережевий доступ до репозиторію з програмним забезпеченням учасника системи «Трембіта». Також необхідно звернути увагу на порт підключення до репозиторію – TCP/8081.
Шлюз безпечного обміну повинен бути доступним з мережі Інтернет. Зокрема, із мережі Інтернет мають бути доступні вказані в таблиці 5.1 TCP порти, через які відбувається обмін електронними повідомленнями між шлюзами безпечного обміну учасників системи «Трембіта».
ШБО використовує два типи токенів безпеки – програмні та апаратні (рис. 5.2). Програмний токен безпеки (який створюється в процесі ініціалізації нового ШБО) використовується для зберігання ключів автентифікації. Апаратні використовуються для зберігання ключів підписання та шифрування та підключаються до апаратного забезпечення, на базі якого функціонує ШБО.
Рисунок 5.2 - Приклад зовнішнього вигляду захищених носіїв особистих ключів
Шлюз безпечного обміну, сервер аналізу журналів подій, сервер баз даних та архівування функціонують на базі операційної системи Ubuntu Server 18.04.4 x64, яку потрібно встановити на відповідні віртуальні машини. Завантажити інсталяційний образ можна з репозиторію системи «Трембіта».
Процес інсталяції даної операційної системи наведено в Інструкції з інсталяції операційної системи Ubuntu Server 18.04.4 x64.
Після завершення інсталяції Адміністратор локальних компонентів (системний адміністратор) може підключитися до консолі (командного інтерфейсу) операційної системи інших локальних компонентів, наприклад, за допомогою виконання наступної команди:
ssh <ADMIN_USER>@<Your-component-IP>
де <ADMIN_USER> – логін Адміністратора локальних компонентів (системного адміністратора) операційної системи відповідного компоненту системи «Трембіта», який створено під час інсталяції операційної системи);
<Your-component-IP> – внутрішня (локальна) IP-адреса компоненту, до якого проводиться підключення.
Примітка. При введенні паролю (password), символи, що вводяться, не відображаються на екрані – це стандартна поведінка операційної системи з паролями.
Примітка. При використанні команди sudo після першого входу користувача в операційну систему буде запитано пароль цього користувача для підтвердження адміністративних повноважень у системі.
Програмне забезпечення робочої станції адміністратора функціонує на базі операційної системи Ubuntu Desktop 18.04.4 LTS x64, яку потрібно встановити на робочу станцію адміністратора. Завантажити інсталяційний образ можна з репозиторію системи «Трембіта».
Процес інсталяції даної операційної системи наведено в Інструкції з інсталяції операційної системи Ubuntu Desktop 18.04.4 x64.
5.2. Налаштування мережевих параметрів
Після інсталяції операційної системи необхідно налаштувати мережеві параметри на всіх компонентах (робочій станції адміністратора, ШБО, сервері аналізу журналу подій, сервері баз даних та архівування) згідно спланованих мережевих адрес.
Налаштування IP-адреси в операційній системі Ubuntu Server 18.04.4 LTS здійснюється Адміністратором локальних компонентів (системним адміністратором) у файлі /etc/netplan/50-cloud-init.yaml (або іншому файлі *.yaml у директорії /etc/netplan/):
sudo nano /etc/netplan/50-cloud-init.yaml
Приклад налаштувань для динамічної IP-адреси (за DHCP) має наступний вигляд:
network:
version: 2
ethernets:
ens160:
dhcp4: true
де ens160 – системне ім’я мережевого адаптеру, що налаштовується. Дізнатися його можна за допомогою виконання наступної команди:
dmesg|grep eth
Приклад налаштувань для статичної IP-адреси має наступний вигляд:
network:
version: 2
ethernets:
ens160:
dhcp4: no
addresses: [192.168.1.181/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1,8.8.8.8]
де ens160 – системне ім’я мережевого адаптеру, що налаштовується. Дізнатися його можна за допомогою виконання наступної команди:
dmesg|grep eth
addresses – перелік IP-адрес, які будуть встановлені для цього мережевого адаптера,
gateway4 – IP-адреса основного шлюза,
блок nameservers addresses – перелік IP-адрес серверів імен, які використовуватимуться для визначення IP-адрес за DNS-іменами вузлів мережі.
Примітка. Конкретні значення параметрів у конкретному випадку можуть бути іншими.
Примітка. Якщо віртуальна машина була клонована з метою пришвидшення процесу інсталяції, необхідно змінити ім’я вузла у наступних файлах: /etc/hosts та /etc/hostname.
Налаштування мережевих параметрів в операційній системі Ubuntu Desktop 18.04 здійснюється Адміністратором локальних компонентів (системним адміністратором) через графічний інтерфейс згідно документації на операційну систему Ubuntu Desktop 18.04 LTS x64. В процесі налаштування необхідно задати статичну IP-адресу та переконатись в наявності доступу до мережі Інтернет після її налаштування.
Також після завершення мережевих налаштувань потрібно відключити функції автоматичного оновлення пакетів. Для цього потрібно:
1. Відкрити файл /etc/apt/apt.conf.d/10periodic за допомогою виконання наступної команди:
sudo nano /etc/apt/apt.conf.d/10periodic
2. Встановити значення «0» для параметру «APT::Periodic::UpdatePackage-Lists»:
APT::Periodic::Update-Packages-Lists "0";
3. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде відображено повідомлення про підтвердження на збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
4. Відкрити файл /etc/update-manager/release-upgrades за допомогою виконання наступної команди:
sudo nano /etc/update-manager/release-upgrades
5. Встановити значення «never» для параметру «Prompt»:
Prompt=never
6. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде відображено повідомлення про підтвердження на збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
7. Перезавантажити операційну систему командою:
sudo shutdown -r now
Після завершення налаштування мережі необхідно встановити антивірусне програмне забезпечення на всіх компонентах (наприклад, Falcon).
Важливо! Перед виконанням наступних кроків рекомендується зробити резервну копію стану віртуальних машин (snapshot).
6. Встановлення та конфігурація робочої станції адміністратора
Встановлення робочої станції адміністратора виконується Адміністратором локальних компонентів (системним адміністратором). Віртуальна машина (або фізичний сервер) повинні бути попередньо налаштовані згідно розділів 5.1 та 5.2. даної інструкції
6.1. Додавання репозиторію з пакетами системи «Трембіта»
Для додавання репозиторію з пакетами системи «Трембіта» необхідно закоментувати всі існуючі рядки у файлі /etc/apt/sources.list (вставляючи символ # на початку кожного рядку) та додати наступний новий рядок в кінці файлу:
deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main
Швидко це зробити можна за допомогою послідовного виконання наступних двох команд, перша з яких додає символ коментування "#" до кожного непустого рядку, а друга – додає новий рядок з посиланням на репозиторій в кінець даного файлу:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
Примітка. Для виходу з редактору використовується комбінація клавіш «Ctrl+X». Якщо були внесені зміни, то потрібно натиснути клавішу «Y» для їх збереження або «N» для відміни.
6.2. Додавання GPG ключа для репозиторію
Для встановлення програмного забезпечення з репозиторію системи «Трембіта» потрібно завантажити та додати в систему GPG ключ даного репозиторію.
Для цього Адміністратору локальних компонентів (системному адміністратору) необхідно виконати наступну команду:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команда виконана успішно, буде виведено повідомлення «ОК»
6.3. Встановлення програмного забезпечення UXP UA Adminserver
Для встановлення програмного забезпечення ua-adminserver для робочої станції адміністратора використовується команда apt. Перед виконанням встановлення потрібно оновити список доступних пакетів з репозиторію системи «Трембіта».
Для встановлення зазначеного програмного забезпечення необхідно послідовно виконати наступні команди:
sudo apt update
sudo apt -y remove firefox openssh-client
sudo apt install ua-adminserver openssh-client=1:7.6p1-4ubuntu0.3 libpam0g=1.1.8-3.6ubuntu2.18.04.2
В ході інсталяції буде запропоновано виконати деякі налаштування вручну, зокрема наступні:
1. Обрати варіант доставки електронної пошти адміністративним користувачам:
Якщо отримання електронною поштою повідомлень про функціонування програмного забезпечення робочої станції адміністратора не потрібне, необхідно обрати варіант «Local only»:
2. Підтвердити ім’я поштового домену та обліковий запис, який надсилатиме та отримуватиме локальні поштові повідомлення (їх можна буде прочитати лише на даній робочій станції) шляхом вибору опції "Гаразд" у відповідних формах:
Після встановлення програмного забезпечення ua-adminserver необхідно:
1. Обчислити нові геші стану серверу за допомогою послідовного виконання наступних команд:
sudo /usr/share/uxp/uaic/scripts/_uxp-uaic-integritychecker.sh recalc exec
sudo uxp-ua-integritychecker.sh recalc_all
sudo uxp-ua-integritychecker.sh check
2. Перезавантажити робочу станцію адміністратора за допомогою наступної команди:
sudo shutdown -r now
6.4. Додавання облікового запису користувача на Робочій станції адміністратора
Важливо! В промисловому середовищі системи «Трембіта» доступ до її локальних компонентів має здійснюватися з використанням веббраузеру Mozilla Firefox або SSH виключно через Робочу станцію адміністратора відповідно до рольової моделі, наведеної на рисунку 3.1 даної інструкції.
Для того, щоб створити новий обліковий запис користувача, що зможе авторизуватися на Робочій станції адміністратора, необхідно в командній консолі даної робочої станції:
1. Виконати команду:
sudo uxp-ua-add-admin-user.sh <username>
де <username> – логін створюваного користувача латиницею.
2. Ввести пароль нового користувача двічі.
7. Встановлення та конфігурація шлюзу безпечного обміну
Встановлення шлюзу безпечного обміну виконується Адміністратором локальних компонентів (системним адміністратором). Віртуальна машина (або фізичний сервер) повинні бути попередньо налаштовані згідно розділів 5.1 та 5.2.
7.1. Встановлення шлюзу безпечного обміну вручну
7.1.1. Налаштування вбудованого міжмережевого екрану
З метою увімкнення мережевого захисту з використанням вбудованого міжмережевого екрану, необхідно виконати налаштування шлюзу безпечного обміну за допомогою брандмауера IPtables та командної утиліти ufw.
Перед налаштуванням міжмережевого екрану необхідно:
1. Підготувати відомості про адреси наступних локальних компонентів системи «Трембіта»:
- мережеву адресу серверу робочої станції адміністратора (<IP_РС_адміністратора>, при виконанні команд необхідно замінити на реальне значення);
- мережеву адресу серверу баз даних та архівування (<IP_серверу_баз_даних_та_архівування>, при виконанні команд необхідно замінити на реальне значення);
- мережеву адресу серверу аналізу журналів подій (<IP_серверу_аналізу_журналів_подій>, при виконанні команд необхідно замінити на реальне значення);
- мережеву адресу серверів з вебсервісами та вебклієнтами, які реєструється на шлюзі безпечного обміну (<IP_вебсервіс> та <IP_вебклієнт>, при виконанні команд необхідно замінити на реальне значення. У випадку необхідності можна продублювати команди з цими скороченнями для всіх серверів з вебсервісами та вебклієнтами);
2. Послідовно виконати наступні команди на шлюзі безпечного обміну, відповідно вказуючи адреси з попереднього пункту:
sudo ufw allow from <IP_РС_адміністратора> to any port 22 proto tcp
sudo ufw enable
sudo ufw default deny outgoing
sudo ufw default deny incoming
sudo ufw allow in 5500/tcp
sudo ufw allow out 5500/tcp
sudo ufw allow in 5577/tcp
sudo ufw allow out 5577/tcp
sudo ufw allow in 5599/tcp
sudo ufw allow out 5599/tcp
sudo ufw allow out 4001/tcp
sudo ufw allow from <IP_РС_адміністратора> to any port 4000 proto tcp
sudo ufw allow out 80/tcp
sudo ufw allow out 443/tcp
sudo ufw allow out 8081/tcp
sudo ufw allow from <IP_вебклієнт> to any port 80 proto tcp
sudo ufw allow from <IP_вебклієнт> to any port 443 proto tcp
sudo ufw allow out 53
sudo ufw allow in 53/tcp
sudo ufw allow out 123/udp
sudo ufw allow out 11371/tcp
sudo ufw allow out from any to <IP_серверу_аналізу_журналів_подій> port 1514
sudo ufw allow out from any to <IP_серверу_баз_даних_та_архівування> port 5432 proto tcp
7.1.2. Додавання репозиторію з пакетами системи «Трембіта»
Для додавання репозиторію з пакетами системи «Трембіта» необхідно закоментувати всі вже існуючі рядки у файлі /etc/apt/sources.list (вставляючи символ # на початку кожного рядку) та додати наступний новий рядок в кінці файлу:
deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main
Швидко це можна зробити за допомогою послідовного виконання наступних двох команд, перша з яких додає символ коментування «#» до кожного непустого рядку, а друга – додає новий рядок з посиланням на репозиторій в кінець даного файлу:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою наступної команди:
sudo nano /etc/apt/sources.list
Примітка. Для виходу з редактору використовується комбінація клавіш «Ctrl + X». Якщо були внесені змін, то потрібно натиснути клавішу «Y» для їх збереження або «N» для відміни.
7.1.3. Додавання GPG ключа для репозиторію
Для встановлення програмного забезпечення з репозиторію системи «Трембіта» потрібно завантажити та додати в систему GPG ключ даного репозиторію.
Для цього Адміністратору локальних компонентів (системному адміністратору) необхідно виконати наступну команду:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команда виконана успішно, буде виведено повідомлення «ОК»
7.1.4. Налаштування локалі
Якщо локалі «en_US.utf8» немає в системі, Адміністратору локальних компонентів (системному адміністратору) необхідно згенерувати її за допомогою послідовного виконання наступних команд:
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
У наступному діалоговому вікні необхідно знайти запис «en_US.UTF-8 UTF-8», встановити відповідну позначку шляхом натискання кнопки [SPACE] та натиснути на кнопку [ENTER]:
У діалоговому вікні «Default locale for a system environment» потрібно обрати «en_US.UTF-8» та перезайти в обліковий запис користувача (наприклад, закривши поточну та ініціювавши нову сесію SSH).
В операційній системі шлюзу безпечного обміну має бути встановлена локаль «en_US.UTF-8». Для встановлення даної локалі необхідно виконати наступну команду:
echo 'LC_ALL=en_US.UTF-8' | sudo tee -a /etc/environment
Та перезавантажити змінні оточення за допомогою виконання наступної команди:
. /etc/environment
Важливо! Варто звернути увагу на наявність пробілу після першої крапки у команді вище.
7.1.5. Встановлення пакету uxp-securityserver-ua
Для встановлення програмного забезпечення UXP Security Server для шлюзу безпечного обміну використовується команда apt. Перед встановленням потрібно оновити список доступних пакетів з репозиторію системи «Трембіта».
Для встановлення зазначеного програмного забезпечення Адміністратору локальних компонентів (системному адміністратору) необхідно послідовно виконати наступні команди:
sudo apt update
sudo apt install -y uxp-securityserver-ua libc6=2.27-3ubuntu1.6
Під час встановлення необхідно ввести ім’я облікового запису (логін) Адміністратора вебсервісів, що буде адмініструвати функціонал шлюзу безпечного обміну - наприклад, uxpadmin:
Цей користувач зможе авторизуватись в вебінтерфейсі адміністрування шлюзу безпечного обміну.
Для перевірки стану виконання встановлених компонентів ПЗ UXP Security Server після інсталяції ШБО необхідно виконати наступну команду:
sudo systemctl list-units | grep "uxp"
Список сервісів UXP, які мають бути активними (active/running):
uxp-confclient.service
uxp-jetty.service
uxp-monitor.service
uxp-proxy.service
uxp-signer.service
uxp-uaic.service (якщо встановлений модуль контролю цілісності)
7.1.6. Додавання додаткового облікового запису Адміністратора вебсервісів
Важливо! В разі, якщо виникає необхідність роботи з вебінтерфейсом ШБО у декількох співробітників Учасника системи "Трембіта", кожен з них обов'язково повинен мати власний обліковий запис!
Шлюз безпечного обміну використовує локальних користувачів і групи операційної системи для контролю доступу до вебінтерфейсу адміністрування шлюзу безпечного обміну.
Обліковий запис, що використовується для входу в вебінтерфейс адміністрування шлюзу безпечного обміну – це обліковий запис Адміністратора вебсервісів (за замовчуванням з логіном uxpadmin).
Для створення додаткового Адміністратора вебсервісів, Адміністратору локальних компонентів (системному адміністраторові) необхідно:
1. Послідовно виконати наступні команди:
sudo useradd -M -N <username>
sudo chsh -s /bin/false <username>
sudo passwd <username>
де <username> - логін створюваного користувача латиницею.
2. Ввести пароль нового користувача двічі.
7.1.7. Додавання додаткового облікового запису Відповідального за управління ключами
У випадку, коли локальні компоненти системи «Трембіта» адмініструє Оператор, уповноваженому співробітнику Суб’єкта електронної взаємодії, що відповідає за встановлення інформаційної взаємодії та управління особистими ключами електронної печатки (Відповідальному за управління ключами), потрібно надати доступ до функціоналу ШБО.
Для цього потрібно створити обліковий запис Відповідального за управління ключами, який буде використовуватись для входу в вебінтерфейс адміністрування ШБО, шляхом послідовного виконання наступних команд:
sudo useradd -M -N <security-officer>
sudo adduser <security-officer> uxp-security-officer
sudo chsh -s /bin/false <security-officer>
sudo passwd <security-officer>
де <security-officer> - логін створюваного користувача латиницею.
Після виконання цих команд необхідно ввести пароль нового користувача двічі.
7.1.8. Встановлення модулю контроля цілісності
Цілісність програмного забезпечення шлюзу безпечного обміну гарантується модулем контролю цілісності.
Важливо! Цей модуль є обов’язковим для встановлення на шлюзі безпечного обміну промислового середовища!
Встановлення модуля контролю цілісності необхідно виконати наступну команду:
sudo apt install uxp-addon-securityserver-uaic nginx-light=1.14.0-0ubuntu1.7 libpam0g=1.1.8-3.6ubuntu2.18.04.2 libnginx-mod-http-echo=1.14.0-0ubuntu1.7 nginx-common=1.14.0-0ubuntu1.7 bash=4.4.18-2ubuntu1.2 passwd=1:4.5-1ubuntu2
Під час встановлення необхідно налаштувати параметри надсилання повідомлень електронною поштою (за допомогою утиліти Postfix). Якщо даної потреби немає, необхідно обрати варіант «Local only» та підтвердити запропоновані варіанти за замовченням щодо імені хоста та електронної пошти:
Примітка. Після встановлення модуля контролю цілісності, програма встановлення початково призупиняє перевірку цілісності на 30 хвилин, щоб запобігти запуску перевірки цілісності та призупиненню сервісів під час процесу конфігурації шлюзу безпечного обміну. Якщо конфігурування триває довше, необхідно додатково призупинити перевірку цілісності у вебінтерфейсі шлюзу безпечного обміну, натиснувши на кнопку «Перевірка цілісності призупинена на ## хв», щоб отримати більше часу.
7.1.9. Надання доступу до вебінтерфейсу шлюзу безпечного обміну з робочої станції адміністратора
Важливо! В промисловому середовищі користувачі з ролями «Адміністратор вебсервісів» та «Відповідальний за управління ключами» повинні підключатися до вебінтерфейсу ШБО виключно з робочих станцій адміністратора!
Примітка. Якщо Суб’єкт електронної взаємодії та Учасник є різними юридичними особами, то Суб’єкт електронної взаємодії аналогічно повинен мати власну робочу станцію адміністратора.
Керування доступом до вебінтерфейсу ШБО здійснюється за допомогою налаштувань NGINX.
Перелік IP-адрес, з яких можна підключитись до ШБО знаходиться у файлі дозволених хостів.
Важливо! Даний файл повинен містити виключно адреси довірених робочих станцій адміністратора. Адміністратор локальних компонентів (системний адміністратор) повинен завжди тримати перелік дозволених адрес у актуальному стані.
Для того, щоб додати ІР-адресу робочої станції адміністратора до файлу дозволених хостів необхідно:
1. Відкрити на редагування файл /etc/uxp/uaic/allowed_hosts.conf у текстовому редакторі nano за допомогою виконання наступної команди:
sudo nano /etc/uxp/uaic/allowed_hosts.conf
2. Додати до файлу наступний рядок:
allow <workstation-IP>;
де <workstation-IP> – IP-адреса робочої станції адміністратора, що буде використовуватися для доступу до вебінтерфейсу ШБО.
3. Зберегти зміни і закрити редактор. Для цього необхідно натиснути комбінацію клавіш «Ctrl+X», ввести «Y» для підтвердження збереження внесених змін та натиснути на клавішу «Enter».
4. Перевірити конфігурацію за допомогою виконання наступної команди:
sudo nginx -t
Якщо перевірку конфігурації пройдено успішно, буде виведено повідомлення «test is successful»:
5. Перезавантажити сервіс NGINX, щоб застосувати зміни на ШБО, за допомогою виконання наступної команди:
sudo service nginx reload
Перед виконанням подальших налаштувань ШБО, необхідно обчислити нові значення геш-функцій програмних компонентів ШБО за допомогою виконання наступної команди:
sudo uxp-ua-integritychecker.sh recalc_all
7.2. Початкова конфігурація шлюзу безпечного обміну
Початкова конфігурація шлюзу безпечного обміну виконується Адміністратором вебсервісів.
7.2.1. Завантаження ліцензії для шлюзу безпечного обміну
Для роботи ШБО в промисловому середовищі потрібна діюча ліцензія, без неї він не працюватиме. Файл ліцензії можна знайти в Особистому кабінеті Каталогу системи «Трембіта» в розділі «Адміністрування» на вкладці «Матеріали».
Для того, щоб завантажити ліцензію на ШБО необхідно перейти до його вебінтерфейсу за посиланням: https://<Your-security-server-IP>:4000,
де <Your-security-server-IP> – це внутрішня (локальна) IP-адреса шлюзу безпечного обміну,
використовуючи атрибути доступу користувача з роллю Адміністратор вебсервісів:
Примітка. При першому доступі до вебінтерфейсу ШБО може з’явитись попередження про те, що використовується сертифікат, виданий недовіреним центром сертифікації. При встановленні шлюзу безпечного обміну використовується самопідписаний сертифікат, тому слід додати виняток для цього сертифікату у браузері.
Примітка. У перші хвилини після перезапуску шлюзу безпечного обміну вебінтерфейс ШБО може відображати повідомлення «502 Bad Gateway» (зазвичай менше однієї хвилини). Необхідно періодично оновлювати сторінку авторизації, поки не відобразиться форма входу.
Після першої авторизації в вебінтерфейсі ШБО користувачеві буде відображено діалогове вікно вибору файлу ліцензії, в якому необхідно завантажити файл ліцензії промислового середовища member.live.license.lic.
В даному діалоговому вікні необхідно натиснути на кнопку «Переглянути» та завантажити файл ліцензії.
Після завантаження необхідно його підтвердити, натиснувши кнопку «Зберегти ліцензію».
7.2.2. Ініціалізація шлюзу безпечного обміну
При ініціалізації ШБО необхідно завантажити файл якоря конфігурації промислового середовища (файл configuration anchor).
Файл якоря конфігурації промислового середовища можна знайти в Особистому кабінеті Каталогу системи «Трембіта» в розділі «Адміністрування» на вкладці «Матеріали».
Якір конфігурації необхідно завантажити в наступному діалоговому вікні та підтвердити імпорт, натиснувши на кнопку «Підтвердити» («Confirm»):
Після чого відкриється вікно ініціалізації ШБО:
Для ініціалізації ШБО необхідно заповнити наступні дані:
|
Власник сервера безпеки (Security Server Owner) |
|
|
Клас Учасника (Member Class) |
GOV |
|
Код Учасника (Member Code) |
У якості коду Учасника використовується код ЄДРПОУ організації, яка є Учасником системи «Трембіта». Важливо! Якщо ввести неправильний Member Code, то шлюз безпечного обміну не буде функціонувати коректно і його потрібно буде переінсталювати! |
|
Ім’я Учасника (Member Name) |
Ім'я Учасника автоматично отримується з сервера Каталогу Учасників (після введення коду Учасника) відповідно до заявки на реєстрацію Учасника у системі «Трембіта». |
|
Шлюз безпечного обміну (Security Server) |
|
|
Код сервера безпеки (Security Server Code) |
Унікальний код ШБО («сервера безпеки» в вебінтерфейсі) в промисловому середовищі системи «Трембіта», який потрібно створити відповідно до наступного шаблону: MemberCode_SS_P_Number_FreeSymbols, де: MemberCode – код ЄДРПОУ організації; SS – означення ШБО (security server); P – абревіатура промислового середовища системи, не змінюється; Важливо! Варто звернути увагу, що _SS_P_ потрібно вводити великими латинськими літерами з використанням символу нижнього підкреслення «_». Number – порядковий номер ШБО організації; Примітка. Нумерація ШБО для тестового та промислового середовищ системи незалежна. FreeSymbols – (за потреби) цифри та літери, які можна додавати до ідентифікатора ШБО задля власної зручності (наприклад, позначення центру обробки даних, позначення інформаційної системи, в якій використовується ШБО тощо). Важливо! Додаткові символи повинні містити лише цифри та великі літери англійського алфавіту. |
|
Програмний токен (Software Token) |
|
|
PIN |
Необхідно придумати PIN-код, який буде використаний для захисту ключів автентифікації, що зберігаються у програмному сховищі (файловій системі ОС). Важливо! Адміністратор вебсервісів має зберігати PIN-код у безпечному місці, оскільки після втрати PIN-коду необхідно відновлювати токен, повторно видавати та реєструвати новий сертифікат автентифікації. |
|
Повторити PIN |
Ввести повторно значення PIN-коду. |
Після введення інформації необхідно натиснути на кнопку «Відправити» («Submit»). Ініціалізація може зайняти декілька хвилин. Коли буде відображено повідомлення про те, що сервер був ініціалізований, необхідно натиснути на кнопку «OK».
7.2.3. Введення PIN-коду програмного токену
ШБО прив’язує всі особисті ключі до токенів безпеки. Після ініціалізації з’явиться помаранчеве повідомлення у верхній частині сторінки з написом «Будь ласка, введіть PIN-код програмного токену». Це повідомлення вказує на те, що зазначений токен безпеки на даний час заблокований, а особисті ключі не можуть бути використані. Щоразу при перезавантаженні ПЗ UXP Security Server або всієї операційної системи ШБО, потрібно вводити PIN-код токену безпеки (у всі використовувані токени безпеки).
Адміністратор вебсервісів має увійти в програмний токен безпеки (softToken), використовуючи PIN-код, введений під час ініціалізації сервера, для чого необхідно:
1. Перейти в розділ «Ключі і сертифікати».
2. Знайти рядок із написом «Токен: softToken-0».
3. Натиснути на кнопку «Введіть PIN-код» в цьому рядку – відкриється діалогове вікно для введення PIN-коду.
4. Ввести PIN-код та натиснути на кнопку «OK».
Якщо все зроблено коректно, повідомлення «Будь ласка, введіть PIN-код програмного токену» зникне, а кнопка «Вихід» – з’явиться замість кнопки «Введіть PIN-код»:
Примітка. Варто звернути увагу, що на шлюзі безпечного обміну в промисловому середовищі працює модуль контролю цілісності. Необхідно перевіряти значення таймеру у верхній частині сторінки. Якщо користувач не встигатиме завершити необхідні налаштування, він має натиснути на кнопку «Перевірка цілісності призупинена на ## хв», щоб отримати більше часу. Після завершення налаштувань обов’язково потрібно натиснути на кнопку «Оновити ГОСТ-ХЕШ».
Важливо! Якщо користувач не встиг виконати всі необхідні налаштування та зберегти зміни шляхом оновлення ГОСТ-хешу, модуль контролю цілісності може призупинити роботу сервісів шлюзу безпечного обміну, а вебінтерфейс адміністрування стане недоступним. У цьому випадку Адміністратору локальних компонентів (системному адміністраторові) необхідно виконати наступні команди в командному інтерфейсі ШБО:
sudo uxp-ua-integritychecker.sh recalc_all
sudo uxp-ua-integritychecker.sh check
sudo uxp-ua-integritychecker.sh start_all
7.2.4. Налаштування сервера позначок часу
Шлюз безпечного обміну використовує зовнішню службу встановлення позначок часу (timestamping) для встановлення позначок часу на кожне повідомлення.
ШБО може мати декілька довірених служб позначок часу.
Адміністратор вебсервісів може обрати, які служби позначок часу будуть використовуватися даним ШБО (зазвичай, це служба, створена відповідним надавачем електронних довірчих послуг, у якого організація отримала сертифікати печатки та шифрування).
Необхідно додати цю службу в список служб встановлення позначок часу, використовуваних шлюзом безпечного обміну, наступним чином:
1. Перейти в розділ «Параметри системи». Список серверів позначок часу має бути порожнім («Немає (відповідних) записів»).
2. Натиснути на кнопку «Додати» в секції «Сервіси позначки часу».
3. Обрати зі списку доступний сервіс і натиснути на нього.
4. Натиснути на кнопку «OK».
В результаті відобразиться інформація про обраний сервіс позначок часу і його URL в секції «Сервіси позначки часу».
Важливо! Повинен бути зазначений саме TSP-сервер видавця КНЕДП, де організація отримувала електронну печатку!
7.3. Підключення захищених носіїв особистих ключів (апаратних токенів)
Шлюз безпечного обміну накладає електронну печатку на кожне повідомлення (здійснює його підписання), що відправляється до іншого шлюзу безпечного обміну через систему «Трембіта». Підписання здійснюється з використанням кваліфікованого сертифікату електронної печатки, який було отримано на підготовчих кроках від кваліфікованого надавача електронних довірчих послуг.
В промисловому середовищі системи «Трембіта» є обов’язковим використання апаратних токенів або HSM-пристроїв.
Захищений носій особистих ключів (апаратний токен), на якому знаходяться особисті ключі електронної печатки та шифрування необхідно правильно підключити до віртуальної машини шлюзу безпечного обміну. За дану дію відповідає Адміністратор локальних компонентів (системний адміністратор).
За налаштування використання криптографічних ключів та сертифікатів печатки в цілому відповідає працівник Учасника, що є власником ШБО.
За налаштування використання криптографічних ключів та сертифікатів печатки в цілому відповідає працівник Учасника, що є власником ШБО.
За налаштування використання криптографічних ключів та сертифікатів печатки Суб’єкта електронної взаємодії відповідає користувач з роллю Відповідальний за управління ключами Суб’єкта електронної взаємодії через вебінтерфейс ШБО.
Важливо! Паролі до ключів та сертифікатів печатки Суб’єкта електронної взаємодії вводяться через вебінтерфейс шлюзу безпечного обміну Відповідальним за управління ключами та не повинні передаватися співробітникам Оператора та іншим третім особам.
7.3.1. Налаштування CMP-сервісу кваліфікованого надавача електронних послуг
Для того, щоб шлюз безпечного обміну мав можливість працювати з КНЕДП, що видав сертифікати, необхідно додати інформацію про нього у спеціальний файл, для чого необхідно:
1. Відкрити даний файл за допомогою виконання наступної команди:
sudo nano /etc/uxp/uac/osplm.ini
2. Знайти розділ (у квадратних дужках визначаються розділи) з налаштуваннями CMP-сервісу та встановити наступні параметри доступу:
[\SOFTWARE\Institute of Informational Technologies\Certificate Authority-1.3\End User\CMP]
Use=1
CommonName=
Address= ca-test.czo.gov.ua
Port=80
3. У поле Address необхідно вказати адресу до сервісу CMP КНЕДП, що видав сертифікати (наприклад, ca.informjust.ua, ca.iit.com.ua тощо, залежно від КНЕДП). Зазначену адресу може надати, зокрема, надавач електронних довірчих послуг або її можна дізнатись з веб інтерфейсу ШБО на вкладці «Параметри системи» в секції «Сервіси позначки часу» (який було вказано в розділі 7.2.4 даної інструкції).
Приклад результату модифікації файлу:
7.3.2. Встановлення підтримки захищених носіїв особистих ключів (апаратних токенів)
Встановлення підтримки захищених носіїв особистих ключів (апаратних токенів) виконується Адміністратором локальних компонентів (системним адміністратором).
Шлюз безпечного обміну версії 1.12.6 підтримує наступні захищені носії особистих ключів:
1. Апаратні токени:
- Алмаз-1К;
- Автор Secure Token 337;
- Автор Secure Token 338;
- EfitKey;
- Кристал-1;
2. Мережеві криптомодулі:
- ІІТ Гряда-301;
- Сайфер «Шифр-HSM».
Апаратний токен (захищений носій особистих ключів) необхідно підключити до фізичного обладнання – сервера, який забезпечує функціонування ПЗ шлюзу безпечного обміну. Якщо використовується система віртуалізації на сервері – потрібно налаштувати адресацію фізичного порту, до якого підключений апаратний токен, до віртуальної машини шлюзу безпечного обміну.
Правильність адресації можна перевірити через наявність інформації про ключі у операційній системі, для чого потрібно виконати наступну команду на шлюзі безпечного обміну:
sudo dmesg | grep usb
З результату виконання команди можна побачити, що в системі присутні два апаратних токени – Product: IIT E.Key Crystal-1 та Product: E.Key Almaz-1C – відповідно «Кристал-1» та «Алмаз-1К».
Для роботи усіх апаратних токенів необхідно встановити пакети підтримки електронних ключів операційною системою Linux, а саме Ubuntu 18.04 Server 64bit:
sudo apt-get install pcscd libccid pcsc-tools libccid libpcsclite1 opensc
7.3.2.1. Налаштування Алмаз-1К
Додаткових налаштувань, крім встановлення пакетів підтримки електронних ключів операційною системою Linux, виконувати не потрібно.
7.3.2.2. Налаштування Автор Secure Token 337/ Secure Token 338
Для зазначених токенів Автор необхідно:
1. Завантажити драйвер для 64-розрядної ОС Linux за допомогою виконання наступної команди:
wget https://project-repo.trembita.gov.ua:8081//files/t1/libav337p11d.so
2. Перемістити завантажений файл у директорію /usr/lib/:
sudo cp libav337p11d.so /usr/lib/
3. Перевірити доступність токену в системі можна за допомогою виконання наступної команди:
sudo pkcs11-tool -v --list-slots --module /usr/lib/libav337p11d.so
У випадку, якщо ключ доступний для системи, має бути виведено інформацію про нього, наприклад:
7.3.2.3. Налаштування EfitKey
При використанні захищеного носія EfitKey необхідно виконати наступні дії:
1. Скорегувати файл Info.plist, для того, щоб додати (включити) існуючий PCSC-пристрій (токен EfitKey) до відповідного списку PCSC-пристроїв, які підтримуються системою, відкривши його за допомогою виконання наступної команди:
sudo nano /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
2. Знайти строку «<key>ifdVendorID</key>» і після елементу «<array>» додати:
«<string>0xC1A6</string>»
3. Знайти строку «<key>ifdProductID</key>» і після елементу «<array>» додати:
«<string>0x0151</string>»
4. Знайти строку «<key>ifdFriendlyName</key>» і після елементу «<array>» додати:
«<string>EfitTechnologies EfitKey</string>»
5. Завантажити та скопіювати бібліотеку драйверів libefitkeynxt.so до директорії /usr/lib/ за допомогою послідовного виконання наступних команд:
wget https://project-repo.trembita.gov.ua:8081//files/t1/libefitkeynxt.so
sudo cp libefitkeynxt.so /usr/lib/
Примітка. Для роботи libefitkeynxt.so і EfitKey необхідно мати запущений демон pcscd.
6. Під’єднати захищений носій ключової інформації EfitKey та перевірити доступність носія в системі:
sudo pkcs11-tool -v --list-slots --module /usr/lib/libefitkeynxt.so
У випадку, якщо ключ доступний для системи, має бути виведено інформацію про нього, наприклад:
7.3.2.4. Налаштування Кристал-1
При використанні токену «Кристал-1» необхідно виконати наступні дії:
1. Створити файл /etc/udev/rules.d/80-uxp-iit-e-keys.rules за допомогою виконання наступної команди:
sudo nano /etc/udev/rules.d/80-uxp-iit-e-keys.rules
2. Прописати в ньому наступні правила:
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="9301", MODE="0660", GROUP="uxp"
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="9308", MODE="0660", GROUP="uxp"
3. Перевірити, чи встановлено бібліотеку libusb-0.1-4 за допомогою виконання наступної команди:
sudo apt list --installed | grep libusb-0.1-4
У випадку, якщо бібліотеку не встановлено, встановити її за допомогою виконання наступної команди:
sudo apt-get install libusb-0.1-4
7.3.2.5. Налаштування ІІТ Гряда-301
При використанні токену безпеки ІІТ «Гряда-301» необхідно виконати наступні дії:
1. Відкрити файл /etc/uxp/uac/osplm.ini за допомогою виконання наступної команди:
sudo nano /etc/uxp/uac/osplm.ini
2. Додати в нього наступний блок параметрів:
[\SOFTWARE\Institute of Informational Technologies\Key Medias\NCM Gryada-301]
[\SOFTWARE\Institute of Informational Technologies\Key Medias\NCM Gryada-301\Modules]
[\SOFTWARE\Institute of Informational Technologies\Key Medias\NCM Gryada-301\Modules\<Serial Number>]
OrderNumber=0
SN=<Serial Number>
Address=<Your-Gryada-301-IP>
AddressMask=255.0.0.0
де <Serial Number> – це останні три цифри серійного номеру пристрою ІІТ Гряда-301 (серійний номер пристрою має вигляд 301XXX, останні три цифри ХХХ необхідно додати у файл),
<Your-Gryada-301-IP> – це мережева адреса пристрою,
AddressMask – маска підмережі, у якій знаходиться пристрій.
3. Перезавантажити сервіс uxp-signer за допомогою виконання наступної команди:
sudo systemctl restart uxp-signer
7.3.2.6. Налаштування Сайфер «Шифр-HSM»
Для забезпечення роботи токену безпеки «Шифр-HSM» необхідна бібліотека libcihsm.so. Її потрібно розмістити в директорії /var/tmp/uxp/EUSign-x64-1.3.263/ файлової системи шлюзу безпечного обміну.
Примітка. Дана бібліотека поставляється компанією-виробником разом з токеном безпеки.
Після цього необхідно виконати наступні кроки:
1. Змінити права доступу до бібліотеки за допомогою виконання наступної команди:
chmod 644 /var/tmp/uxp/EUSign-x64-1.3.263/libcihsm.so
2. Впевнитись, що шлюз безпечного обміну має підключення до модулю «Шифр-HSM» за допомогою виконання наступної команди:
PKCS11_PROXY_SOCKET=tcp://<Your-CipherHSM-IP>:23454 pkcs11-tool \
--module /var/tmp/uxp/EUSign-x64-1.3.263/libcihsm.so -
де <Your-CipherHSM-IP> – IP-адреса модулю.
Після виконання команди будуть показані усі доступні слоти на модулі, наприклад:
3. Відкрити файл /etc/uxp/services/local.conf за допомогою виконання наступної команди:
sudo nano /etc/uxp/services/local.conf
та додати в нього наступну строку:
export PKCS11_PROXY_SOCKET=tcp://<Your-CipherHSM-IP>:23454
4. Переглянути всі ключі та сертифікати на токені, скориставшись інструментом pkcs11-tool, за допомогою виконання наступної команди:
PKCS11_PROXY_SOCKET=tcp://<Your-CipherHSM-IP>:23454 pkcs11-tool \
--module /var/tmp/uxp/EUSign-x64-1.3.263/libcihsm.so \
--slot <SlotNunber> -O -v -l --pin <PIN Code>
де <Your-CipherHSM-IP> – IP адреса модулю;
<PIN Code> – PIN–код модулю.
Примітка. Якщо після виконання команди було отримано помилку CKR_USER_ALREADY_LOGGED_IN, необхідно видалити розділ входу -l --pin <PIN Code> з попередньої команди.
5. Скопіювати сертифікат з попереднього кроку та сертифікат КНЕДП в директорію /etc/uxp/uac/certificates/.
6. Перезавантажити сервіс uxp-signer за допомогою виконання наступної команди:
sudo systemctl restart uxp-signer
Після проведених дій з обраним ключем обов’язково необхідно перезавантажити операційну систему:
sudo shutdown -r now
Після чого використовуваний ключ повинен з’явитись в вебінтерфейсі ШБО в розділі «Ключі і сертифікати».
7.4. Реєстрація шлюзу безпечного обміну
7.4.1. Імпорт ключа підпису та шифрування
Для імпорту ключа підпису та шифрування потрібно мати згенеровані ключі печатки та шифрування та відповідні сертифікати, видані одним з КНЕДП, що підтримуються системою «Трембіта». Отримання сертифікатів виконується на підготовчому етапі підключення до системи.
Ключі електронної печатки та шифрування можуть зберігатися на програмних захищених носіях особистих ключів, які повинні бути підключені та налаштовані згідно розділу 7.3.3.
Для імпорту ключів електронної печатки та шифрування на ШБО потрібно виконати наступні дії в його вебінтерфейсі:
1. Перейти в розділ «Ключі і сертифікати».
2. Ввести PIN-код до сховища ключів uacToken (це PIN-код до особистого ключа, що імпортований з ZIP-архіву).
3. Навпроти кожного сертифікату натиснути кнопку «Імпортувати».
Примітка. У випадку використання апаратного модулю Сайфер «Шифр-HSM», PIN-код токену вводиться в форматі ##slot_id##password. Наприклад ##231036361##1234567890.
7.4.2. Створення ключа автентифікації для шлюзу безпечного обміну
Шлюз безпечного обміну повинен автентифікуватися при відправці повідомлень до інших шлюзів безпечного обміну. Сертифікат автентифікації використовується для перевірки автентичності шлюзу безпечного обміну.
За створення ключа автентифікації та подальші дії з ним відповідає Адміністратор вебсервісів.
Для того, щоб створити новий ключ автентифікації у вебінтерфейсі шлюзу безпечного обміну, необхідно:
1. Перейти в розділ «Ключі і сертифікати».
2. Обрати токен «softToken-0», натиснувши на ньому мишкою.
3. Натиснути на кнопку «Генерувати ключ».
4. Ввести позначку для ключа автентифікації. Рекомендовано ввести позначку – authKey.
5. Натиснути на кнопку «OK».
Генерація ключа може зайняти кілька секунд. Якщо все зроблено вірно, щойно створений ключ з’явиться під токеном безпеки з написом «authKey (?)».
7.4.3. Генерація запиту на сертифікат (Certificate Signing Request) ключа автентифікації
Сертифікати автентифікації, які використовуються шлюзами безпечного обміну, повинні бути підписані технологічним центром сертифікації ключів промислового середовища системи «Трембіта».
Для цього спочатку необхідно створити запит на підпис сертифікату (Certificate Signing Request (CSR)) для попередньо створеного ключа через вебінтерфейс ШБО. Центр сертифікації приймає заявки на підпис у вигляді файлів в текстовому форматі PEM.
Для створення запиту необхідно виконати наступні дії в вебінтерфейсі ШБО:
1. Перейти в розділ «Ключі і сертифікати».
2. Вибрати ключ автентифікації, згенерований на попередньому кроці (authKey).
3. Натиснути на кнопку «Генерувати CSR» – відкриється діалог «Створити запит на підпис сертифіката».
4. У діалоговому вікні необхідно встановити наступні значення:
|
Поле |
Значення |
|
Використання (Usage) |
Auth |
|
Сервіс сертифікації (Certification Service) |
Необхідно обрати технологічний центр сертифікації ключів промислового середовища системи – «Trembita Diia CA» |
|
CSR Format |
PEM |
5. Натиснути на кнопку «OK».
6. Відобразиться діалог підтвердження з інформацією про шлюз безпечного обміну. Якщо найменування організації у полі «Organization (O)» не відображається – це означає, що організація ще не зареєстрована. В такому разі потрібно звернутися до Адміністратора системи «Трембіта» для уточнення. Якщо всі поля заповнені – необхідно натиснути на кнопку «OK».
Зберегти файл з розширенням *.pem на комп’ютері.
7.4.4. Отримання сертифікату для ключа автентифікації
Згенерований *.pem файл запиту (CSR) використовується для створення та отримання сертифікату автентифікації для шлюзу безпечного обміну. Сертифікат автентифікації видає Адміністратор системи «Трембіта».
Для цього необхідно згенерований *.pem файл надіслати Адміністратору системи «Трембіта» засобами Особистого кабінету Каталогу системи «Трембіта» (Видача нового сертифікату автентифікації (Промислове середовище)).
Порядок подання зазначеної заявки вказаний у п. 7.3.3 Регламенту роботи системи «Трембіта».
Адміністратор системи «Трембіта» має обробити дану заявку та у відповідь засобами Особистого кабінету Каталогу системи «Трембіта» надати сертифікат автентифікації. Цей сертифікат потрібен для виконання наступного кроку реєстрації ШБО.
Важливо! Без цього сертифікату подальші кроки неможливі!
7.4.5. Імпорт сертифікату для ключа автентифікації на шлюз безпечного обміну
Для імпорту виданого на попередньому кроці сертифікату автентифікації до шлюзу безпечного обміну Адміністратору вебсервісів потрібно виконати наступні дії в вебінтерфейсі ШБО:
1. Перейти в розділ «Ключі і сертифікати».
2. Натиснути на кнопку «Імпорт сертифікату».
3. Натиснути на кнопку «Переглянути» і обрати сертифікат автентифікації, отриманий на попередньому кроці.
4. Натиснути на кнопку «OK».
Якщо все зроблено правильно, у вебінтерфейсі ШБО буде відображена інформація про доданий сертифікат під ключем автентифікації «Ключ: authKey».
7.4.6. Активація сертифікатів автентифікації та підпису
На цьому етапі сертифікати автентифікації та електронної печатки вже імпортовані до шлюзу безпечного обміну, однак, вони за замовчуванням відключені (в колонці «OCSP-відповідь» для сертифікату вказано «відключений»).
Важливо! Відключені сертифікати не використовуються шлюзом безпечного обміну.
Для їх активації Адміністратору вебсервісів необхідно виконати наступні дії в вебінтерфейсі шлюзу безпечного обміну:
1. Перейти в розділ «Ключі і сертифікати».
2. Обрати сертифікат автентифікації, який імпортовано на попередньому кроці (наступний рядок під «Ключ: authKey», з числовим серійним номером).
3. Натиснути на кнопку «Активувати».
4. Вибрати сертифікат печатки (під рядком «Ключ: uaToken-sign (sign)»).
Натиснути на кнопку «Активувати».
7.4.7. Відправка запиту на реєстрацію сертифікатів
Сертифікат автентифікації використовується іншими шлюзами безпечного обміну для перевірки автентичності ШБО конкретного Учасника. Для цього шлюзи безпечного обміну повинні обмінятися зареєстрованими сертифікатами автентифікації та довіряти їм.
Довірені сертифікати автентифікації поширюються через сервер Каталогу Учасників системи «Трембіта». Адміністратор системи «Трембіта» повинен перевірити отриманий запит на реєстрацію і, якщо запит дійсний, додати сертифікат автентифікації у перелік зареєстрованих у промисловому середовищі системи «Трембіта».
Варто звернути увагу, що статус сертифіката автентифікації, який імпортовано в попередньому стані, «збережений», а не «зареєстровано». Це означає, що цей сертифікат ще не був відправлений на реєстрацію до серверу Каталогу Учасників.
Для реєстрації сертифікату автентифікації та сертифікату шифрування Адміністратор вебсервісів у вебінтерфейсі ШБО повинен виконати наступні дії:
1. Перейти в розділ «Ключі і сертифікати».
2. Вибрати сертифікат шифрування (рядок під «Ключ: uaToken-encr (encr)»).
3. Натиснути на кнопку «Зареєструвати». Якщо всі попередні кроки виконані успішно, буде відображено повідомлення зеленого кольору з інформацією, що запит надіслано успішно, а також статус сертифіката шифрування повинен стати «в процесі реєстрації».
4. Обрати сертифікат автентифікації, який імпортовано на попередньому кроці.
5. Натиснути на кнопку «Зареєструвати». Відкриється діалог «Запит на реєстрацію».
6. Ввести загальнодоступну («білу/публічну») IP-адресу шлюзу безпечного обміну (яка доступна через мережу Інтернет, була виділена для цього шлюзу безпечного обміну та налаштована на підготовчих кроках) або відповідне DNS-ім’я та натиснути на кнопку «OK».
Якщо все зроблено коректно, статус сертифіката автентифікації повинен стати «в процесі реєстрації». Це означає, що запит був успішно відправлений шлюзом безпечного обміну.
Наступним кроком є подача заявки на реєстрацію шлюзу безпечного обміну засобами Особистого кабінету Каталогу системи «Трембіта» (Реєстрація ШБО в ядрі системи (Промислове середовище)). Порядок подання зазначеної заявки вказаний в п. 7.3.4 Регламенту роботи системи «Трембіта».
Адміністратор системи «Трембіта» повинен обробити заявку та підтвердити запит.
Коли запит на реєстрацію буде схвалено, статус сертифікату автентифікації та сертифікату шифрування зміниться на «зареєстровано». Це може зайняти деякий час (з врахуванням часу обробки заявки), поки глобальна конфігурація не буде оновлена. Після отримання відповіді на заявку на реєстрацію шлюзу безпечного обміну можна перевірити сторінку «Ключі і сертифікати» у вебінтерфейсі шлюзу безпечного обміну. В разі необхідності можна оновлювати її. Оновлення глобальної конфігурації може зайняти декілька хвилин.
Приклад вебінтерфейсу, коли всі сертифікати коректно зареєстровані:
7.5. Створення підсистем
Щоб опублікувати сервіси або здійснювати запити до інших сервісів через систему «Трембіта» на шлюзі безпечного обміну Адміністратор вебсервісів повинен створити та зареєструвати принаймні одну підсистему, яка представлятиме реальну інформаційну систему Суб’єкта електронної взаємодії у тестовому середовищі системи «Трембіта».
Для реєстрації підсистем у вебінтерфейсі шлюзу безпечного обміну необхідно виконати наступні дії:
1. Обрати розділ «Клієнти сервера безпеки» та натиснути на кнопку «Додати клієнта».
2. Обрати «Клас Учасника» – GOV.
3. Ввести в поле «Код Учасника» код ЄДРПОУ організації, яка є власником інформаційної системи (Суб’єкта електронної взаємодії).
Примітка. При створенні кластера підсистему можна додати шляхом вибору її з глобального списку, натиснувши на відповідну кнопку в інтерфейсі – «Виберіть клієнта з глобального списку», знайти необхідну підсистему шляхом пошуку по коду підсистеми, після чого натиснути на кнопку «ОК».
4. Ввести назву підсистеми (правила іменування зазначені у розділі 6.3 Регламенту роботи системи «Трембіта»).
5. Натиснути послідовно на кнопки «OK» і потім «Підтвердити».
Якщо попередні кроки виконано успішно, буде виведено повідомлення зеленого кольору про успішність відправлення запиту. Запит ШБО буде переданий на сервер Каталогу Учасників системи «Трембіта».
Після цього необхідно подати заявку на реєстрацію підсистеми та прив’язку її до конкретного ШБО засобами Особистого кабінету Каталогу системи «Трембіта» (Реєстрація підсистеми на ШБО (Промислове середовище)). Порядок подання зазначеної заявки наведено в п. 7.5.2 Регламенту роботи системи «Трембіта».
Після виконання Адміністратором системи «Трембіта» заявки з’явиться зелена позначка навпроти підсистеми у вебінтерфейсі та буде забезпечено можливість використання тестового середовища системи «Трембіта». Якщо підсистеми зареєстровані вірно, інтерфейс ШБО буде виглядати наступним чином:
8. Встановлення та конфігурація серверу баз даниз та архівуваня
Дані журналу повідомлень зберігаються в базі даних ШБО під час обміну повідомленнями. Відповідно до схеми розгортання локальних компонентів промислового середовища, зазначена база даних має зберігатися окремо, на сервері баз даних та архівування в захищеному сегменті мережі. Встановлення та налаштування серверу баз даних та архівування виконується Адміністратором локальних компонентів (системним адміністратором).
8.1. Встановлення та конфігурація серверу баз даних та архівування
Перед початком встановлення віртуальна машина (або фізичний сервер) повинні бути попередньо налаштовані згідно розділів 5.1 та 5.2 даної інструкції.
Примітка. Додатково на зазначеному сервері може бути інстальовано засіб перевірки повідомлень згідно розділу 9 даної інструкції.
Примітка. Передбачається, що доступ до бази даних з шлюзу безпечного обміну попередньо сконфігуровано, в тому числі, на рівні мережі.
Сервер баз даних та архівування являє собою СКБД PostgreSQL. Для її встановлення на сервер баз даних та архівування необхідно:
1. Закрити доступ до сторонніх репозиторіїв за допомогою виконання наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Додати у операційну систему репозиторій з пакетами системи «Трембіта» за допомогою виконання наступної команди:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
3. Додати GPG ключ репозиторію за допомогою виконання наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, буде виведено повідомлення «ОК».
4. Встановити ПЗ СКБД PostgreSQL на сервері баз даних та архівування за допомогою послідовного виконання наступних команд:
sudo apt update
sudo apt install -y postgresql
5. Створити користувача бази даних на сервері баз даних та архівування за допомогою послідовного виконання наступних команд від імені користувача postgres:
sudo -s
su postgres
createuser -P <msglog_user>
де <msglog_user> – логін нового користувача СКБД.
6. Двічі ввести пароль для користувача <msglog_user>.
7. Створити базу даних за допомогою виконання наступної команди від імені користувача postgres:
createdb <msglog_db> -O <msglog_user> -E UTF-8
де <msglog_db> – назва бази даних.
<msglog_user> – логін нового користувача якого було створено на попередньому кроці.
8. Налаштувати дозволи на підключення до сервера баз даних та архівування з ШБО, для чого необхідно виконати наступні дії:
- Здійснити вихід із сесії користувача postgres на сервері баз даних та архівування за допомогою виконання наступної команди:
exit
- Здійснити вихід з привілейованого режиму командного рядка, так само за допомогою команди exit:
exit
- Відкрити на редагування файл /etc/postgresql/10/main/pg_hba.conf, який містить налаштування прав доступу, за допомогою команди:
sudo nano /etc/postgresql/10/main/pg_hba.conf
- Додати у кінець відкритого файлу наступний рядок:
host <msglog_db> <msglog_user> <IP_адреса_ШБО>/32 md5
де <msglog_db>- назва бази даних.
<msglog_user>- логін нового користувача якого було створено вище.
<IP_адреса_ШБО> - ІР-адреса ШБО, до якого буде підключений сервер баз даних та архівування згідно мережевої схеми.
- Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
- Відкрити на редагування файл /etc/postgresql/10/main/postgresql.conf за допомогою наступної команди:
sudo nano /etc/postgresql/10/main/postgresql.conf
- Знайти у файлі рядок з параметром «listen_addresses», розкоментувати його (видалити символ «#» на початку рядка) та замінити значення:
#listen_addresses = 'localhost' # what IP address(es) to listen on;
на:
listen_addresses = '*' # what IP address(es) to listen on;
Примітка. Зазначені зміни внесені для того, щоб дозволити СКБД PostgreSQL приймати мережеві підключення.
- Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
- Перезавантажити сервіс postgresql за допомогою наступної команди:
sudo service postgresql restart
Перевірити коректність налаштувань можна за допомогою команди:
sudo netstat -lnpt|grep 5432
На екрані буде відображено повідомлення, яке має містити два рядки, один з яких повинен мати значення: 0.0.0.0:5432
8.2.Налаштування підключення ШБО до серверу баз даних та архівування
Для перевірки підключення шлюзу безпечного обміну до віддаленої бази даних необхідно:
1. Увійти до командної консолі ШБО
2. Виконати команду:
psql -h <IP_адреса_сервера_баз_даних_та_архівування> -U <msglog_user> <msglog_db>
де <IP_адреса_сервера_баз_даних_та_архівування> - ІР-адреса сервера баз даних та архівування, до якого буде підключений ШБО згідно мережевої схеми;
<msglog_user>- логін користувача СКБД якого було створено раніше;
<msglog_db>- назва бази даних.
3. Ввести пароль користувача msglog_user. Якщо доступ налаштовано коректно, має бути відображено командний рядок СКБД:
psql (9.3.9)
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256)
Type "help" for help.
msglog_db=>
4. Вийти з командного рядка СКБД, ввівши наступну команду та натиснувши клавішу "Enter":
\q
5. Зупинити сервіс uxp-proxy на ШБО для переконфігурації за допомогою наступної команди:
sudo service uxp-proxy stop
6. Налаштувати параметри підключення бази даних для отримання зашифрованих з’єднань у файлі /etc/uxp/db.properties, відкривши його на редагування:
sudo nano /etc/uxp/db.properties
7. Внести зміни у блок параметрів, що починаються з uac-messagelog, вказавши значення параметрів <"IP_адреса_сервера_баз_даних_та_архівування"> та <"Пароль_користувача_msglog_user"> згідно мережевої схеми
uac-messagelog.hibernate.jdbc.use_streams_for_binary = true
uac-messagelog.hibernate.dialect = ee.ria.xroad.common.db.CustomPostgreSQLDialect
uac-messagelog.hibernate.connection.driver_class = org.postgresql.Driver
uac-messagelog.hibernate.connection.url = jdbc:postgresql://<IP_адреса_сервера_баз_даних_та_архівування>:5432/msglog_db?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory&
uac-messagelog.hibernate.connection.username = msglog_user
uac-messagelog.hibernate.connection.password = <Пароль_користувача_msglog_user>
8. Заповнити схему бази даних, перевстановивши пакет uxp-addon-uac (він також запустить службу uxp-proxy) шляхом виконання наступної команди:
sudo apt-get install --reinstall uxp-addon-uac
8.3 Налаштування перенесення архівних файлів на сервер баз даних та архівування
Для забезпечення довгострокового збереження архівів повідомлень, прийнятих/переданих через ШБО, необхідно налаштувати процедуру архівування журналу повідомлень до сервера баз даних та архівування. Налаштування виконується Адміністратором локальних компонентів (системним адміністратором).
На ШБО архівні файли (ZIP-контейнери) знаходяться у директорії, що вказана параметром конфігурації archive-path.
Імена архівних файлів виражені у форматі mlog-XYZ.zip, де:
- X – часовий покажчик (час UTC у форматі YYYYMMDDHHmmss) першого запису журналу повідомлень,
- Y – позначка часу останнього запису журналу повідомлень (записи обробляються в хронологічному порядку),
- Z – довільна буквено-цифрова послідовність довжиною 10 символів.
Прикладом назви архівного файлу є:
mlog-20150504152559-20150504152559-a7JS05XAJC.zip
Інсталяційний пакет ШБО містить допоміжний скрипт /usr/share/uxp/scripts/archive-http-transporter.sh, призначений для передачі архівних файлів. Цей скрипт використовує протокол HTTP/HTTPS (метод POST, ім’я форми - файл) для передачі архівних файлів з ШБО на сервер баз даних та архівування.
Для налаштування перенесення архівних файлів на сервер баз даних та архівування необхідно:
1. Увійти до командної консолі ШБО.
2. Відкрити на редагування файл /etc/uxp/conf.d/local.ini за допомогою виконання наступної команди:
sudo nano /etc/uxp/conf.d/local.ini
3. Додати наступний рядок до файлу:
archive-transfer-command=/usr/share/uxp/scripts/archive-http-transporter.sh -r http://IP_адреса_сервера_баз_даних_та_архівування/cgi-bin/upload.pl
де <IP_адреса_сервера_баз_даних_та_архівування> - відповідна IP-адреса сервера баз даних та архівування.
4. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
5. Увійти до командної консолі серверу баз даних та архівування
6. Послідовно виконати наступні команди:
sudo apt install apache2 libapache2-mod-perl2 libcgi-session-perl
sudo systemctl restart apache2
sudo a2enmod cgi
sudo mkdir /var/log/uxp_message_log_archive
sudo chown root:www-data /var/log/uxp_message_log_archive
sudo chmod 570 /var/log/uxp_message_log_archive
sudo mkdir /var/www/perl
7. Відкрити на редагування файл /etc/apache2/sites-enabled/000-default.conf за допомогою наступної команди:
sudo nano /etc/apache2/sites-enabled/000-default.conf
8. Додати наступний блок конфігурації перед тегом </VritualHost>:
ScriptAlias /cgi-bin/ /var/www/perl/
<Directory /var/www/perl/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
9 Створити та відкрити на редагування файл /var/www/perl/upload.pl за допомогою наступної команди:
sudo nano /var/www/perl/upload.pl
10. Додати наступні рядки:
#!/usr/bin/perl -w
use CGI;
use Fcntl;
use strict;
use constant FILE_FIELD => "file";
my $q = new CGI;
# Error handling.
sub err {
# HTTP-header with error status.
print $q->header(-status => "500 @_");
die @_;
}
# Directory where to archive posted files.
my $FILESTORE = '/var/log/uxp_message_log_archive';
# Create archive directory if not exists.
(! -d $FILESTORE) &&
(mkdir $FILESTORE || err("Cannot create directory $FILESTORE"));
# Get file from request.
my $filename = $q->param(FILE_FIELD) || err("Invalid query: missing file name");
my $filehandle = $q->upload(FILE_FIELD);
# Write file from request.
my $buffer;
my $bytesread;
sysopen (OUT, "$FILESTORE/$filename", O_WRONLY | O_EXCL | O_CREAT) ||
err("Cannot open file '$FILESTORE/$filename': $!");
while ((defined($bytesread = read($filehandle, $buffer, 0xffff)) ||
err("Cannot read posted file: $!")) && $bytesread) {
print OUT $buffer;
}
close OUT;
unlink($filehandle);
close($filehandle);
# HTTP header with OK status.
print $q->header();
exit 0;
11. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
12. Налаштувати права доступу до файлу /var/www/perl/upload.pl за допомогою наступної команди:
sudo chmod +x /var/www/perl/upload.pl
13. Перезавантажити службу apache2 за допомогою наступної команди:
sudo service apache2 restart
Примітка. Архівний файл успішно перенесений, коли сервер баз даних та архівування повертає код статусу HTTP 200.
9. Встановлення та конфігурація засобу перевірки повідомлень
Засіб перевірки повідомлень призначений для перевірки тих повідомлень, які зберігаються у журналі повідомлень шлюзу безпечного обміну. Встановлення цього компоненту не є обов’язковим.
Засіб перевірки повідомлень надає вебінтерфейс Відповідальному за аналіз транзакцій, який дозволяє переглядати наявні збережені та підписані повідомлення (запити до сервісів та відповіді), фільтрувати їх за параметрами (у тому числі за датою отримання, ID повідомлення, кодом сервісу, кодом підсистеми-клієнта тощо). Вебінтерфейс засобу перевірки повідомлень доступний через порт TCP 5000.
9.1 Встановлення засобу перевірки повідомлень
Засіб перевірки повідомлень встановлюється на відповідному сервері баз даних та архівування, який попередньо має бути встановлений та налаштований згідно розділу 8 даної інструкції. Встановлення та налаштування засобу перевірки повідомлень виконується Адміністратором локальних компонентів (системним адміністратором).
Примітка. У випадку нестачі апаратних ресурсів засіб перевірки повідомлень можна встановити на окремій віртуальній машині (фізичному сервері). В такому випадку необхідно налаштувати віддалене підключення згідно розділу 9.2.1 даної інструкції
Для інсталяції засобу перевірки повідомлень необхідно виконати наступні дії:
1. Якщо засіб перевірки повідомлень буде встановлено на окремій віртуальній машині – необхідно закрити доступ до сторонніх репозиторіїв за допомогою виконання наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Якщо засіб перевірки повідомлень буде встановлено на окремій віртуальній машині – додати репозиторій з пакетами системи «Трембіта»:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/ss-1.12.6/ bionic main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
3. Якщо засіб перевірки повідомлень буде встановлено на окремій віртуальній машині – необхідно додати GPG ключ репозиторію за допомогою виконання наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, то буде виведено повідомлення «ОК».
4. Створити новий обліковий запис Відповідального за аналіз транзакцій, який буде використовуватись для входу в вебінтерфейс засобу перевірки повідомлень шляхом послідовного виконання наступних команд:
sudo useradd -M -N <username>
sudo chsh -s /bin/false <username>
sudo passwd <username>
де <username> – логін створюваного користувача латиницею.
Після виконання цих команд необхідно ввести пароль нового користувача двічі.
5. Встановити програмне забезпечення UXP Verifier для засобу перевірки повідомлень шляхом послідовного виконання наступних команд:
sudo apt update
sudo apt install -y uxp-transaction-analysis-ua
6. Під час встановлення ввести ім’я облікового запису (логін) Відповідального за аналіз транзакцій, що буде мати доступ до інтерфейсу перегляду повідомлень та пароль для даного користувача:
Для перевірки стану виконання встановлених компонентів ПЗ UXP Verifier необхідно виконати наступну команду:
sudo systemctl list-units | grep "uxp"
Список сервісів, які мають бути активними (active/running):
uxp-confclient.service
uxp-verifier.service
9.2 Налаштування засобу перевірки повідомлень
Для налаштування засобу перевірки повідомлень необхідно знати наступну інформацію:
- місцезнаходження журналу повідомлень шлюзу безпечного обміну;
- ім’я хоста сервера PostgreSQL, що містить базу даних журналу повідомлень ШБО (зазвичай для промислового середовища це IP-адреса сервера баз даних та архівування);
- ім’я користувача облікового запису бази даних, що має дозвіл на віддалений доступ на сервер PostgreSQL;
- пароль до цього облікового запису;
- якір глобальної конфігурації ШБО, якому належить база даних журналу повідомлень.
Примітка. Атрибути доступу до бази даних можна подивитися в файлі /etc/uxp/db.properties на відповідному ШБО у блоці uac-messagelog.hibernate.connection.
9.2.1 Налаштування дозволу на віддалене підключення до журналу повідомлень
Важливо! Налаштування дозволу на віддалене підключення до журналу повідомлень необхідно здійснювати лише в тому випадку, якщо засіб перевірки повідомлень встановлений на окремому сервері, а не на тому, де розміщується база даних журналу повідомлень.
Для налаштування дозволу на віддалене підключення до журналу повідомлень потрібно виконати наступні кроки на сервері, де розміщується база даних журналів повідомлень:
1. Відкрити на редагування файл /etc/postgresql/10/main/postgresql.conf за допомогою наступної команди:
sudo nano /etc/postgresql/10/main/postgresql.conf
2. Знайти у файлі рядок з параметром «listen_addresses», розкоментувати його (видалити символ «#» на початку рядка) та замінити значення:
#listen_addresses = 'localhost' # what IP address(es) to listen on;
на:
listen_addresses = '*' # what IP address(es) to listen on;
3. Відкрити на редагування файл /etc/postgresql/10/main/pg_hba.conf, який містить налаштування прав доступу, за допомогою команди:
sudo nano /etc/postgresql/10/main/pg_hba.conf
4. Додати у кінець відкритого файлу наступний рядок
host <messagelog_dbname> <messagelog_dbuser> <verifier_ip>/32 md5
де <messagelog_dbname> – ім’я бази даних журналу повідомлень;
<messagelog_dbuser> – ім’я користувача облікового запису бази даних, що має дозвіл на віддалений доступ на сервер;
<verifier_ip> – IP-адреса сервера засобу перевірки повідомлень.
5. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
6. Перезавантажити PostgreSQL, щоб застосувати зміни за допомогою наступної команди:
systemctl restart postgresql
9.2.2 Використання віддаленої бази даних
База даних журналу повідомлень може знаходитись поза межами серверу, де встановлено засіб перевірки повідомлень чи шлюзу безпечного обміну, наприклад, у випадку, якщо засіб перевірки повідомлень встановлюється окремо, а не на сервері баз даних та архівування.
Примітка. Передумова для налаштувань - передбачається, що база даних була створена, заповнена схемою журналу повідомлень, а доступ до бази даних із засобу перевірки повідомлень був налаштований.
Перед проведенням налаштувань потрібно перевірити підключення від засобу перевірки повідомлень до віддаленої бази даних за допомогою наступної команди:
psql -h <db_host> -U <messagelog_user> <messagelog_dbname>
де <db_host> – ім’я хоста серверу PostgreSQL, що розміщує базу даних журналу повідомлень;
<messagelog_dbname> – ім’я бази даних журналу повідомлень;
<messagelog_user> – логін користувача облікового запису бази даних, що має дозвіл на віддалений доступ на сервер.
В разі успішної перевірки буде відображено наступний результат:
Для налаштування необхідно:
1. Зупинити службу "uxp-verifier" за допомогою виконання наступної команди:
sudo systemctl stop uxp-verifier
2. Відкрити на редагування файл /etc/uxp/db.properties за допомогою наступної команди:
sudo nano /etc/uxp/db.properties
- Якщо засіб перевірки повідомлень та база даних журналу повідомлень знаходяться на різних хостах, налаштування параметрів бази даних виглядатиме наступним чином:
uac-messagelog.hibernate.jdbc.use_streams_for_binary = true
uac-messagelog.hibernate.dialect = ee.cyber.uxp.common.db.CustomPostgreSQLDialect
uac-messagelog.hibernate.connection.driver_class = org.postgresql.Driver
uac-messagelog.hibernate.connection.url = jdbc:postgresql://<db_host>:5432/<messagelog_dbname>?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
uac-messagelog.hibernate.connection.username = <messagelog_user>
uac-messagelog.hibernate.connection.password = <messagelog_password>
де <db_host> – ім’я хоста серверу PostgreSQL, де розміщено базу даних журналу повідомлень;
<messagelog_dbname> – ім’я бази даних журналу повідомлень;
<messagelog_user> – логін облікового запису бази даних, що має дозвіл на віддалений доступ на сервер;
<messagelog_password> – пароль до облікового запису бази даних, що має дозвіл на віддалений доступ на сервер.
- Якщо засіб перевірки повідомлень та база даних журналу повідомлень знаходяться на одному хості, налаштування параметрів бази даних виглядатиме наступним чином:
uac-messagelog.hibernate.jdbc.use_streams_for_binary = true
uac-messagelog.hibernate.dialect = ee.cyber.uxp.common.db.CustomPostgreSQLDialect
uac-messagelog.hibernate.connection.driver_class = org.postgresql.Driver
uac-messagelog.hibernate.connection.url = jdbc:postgresql://127.0.0.1:5432/<messagelog_dbname>
uac-messagelog.hibernate.connection.username = <messagelog_user>
uac-messagelog.hibernate.connection.password = <messagelog_password>
де <messagelog_dbname> – ім’я бази даних журналу повідомлень;
<messagelog_user> – логін облікового запису бази даних, що має дозвіл на віддалений доступ на сервер;
<messagelog_password> – пароль до облікового запису бази даних, що має дозвіл на віддалений доступ на сервер.
4. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
5. Запустити службу uxp-verifier за допомогою наступної команди:
sudo systemctl start uxp-verifier
9.2.3 Завантаження якоря глобальної конфігурації
Для завантаження якоря глобальної конфігурації необхідно:
1. Завантажити файл якоря конфігурації промислового середовища (файл configuration anchor) з Особистого кабінету Каталогу системи «Трембіта» (сторінка «Матеріали») на робочу станцію Адміністратора локальних компонентів (системного адміністратора).
2. Скопіювати файл якоря конфігурації на сервер засобу перевірки повідомлень використовуючи WinSCP або іншу програму.
3. Перемістити файл якоря конфігурації до директорії /etc/uxp/ серверу засобу перевірки за допомогою наступної команди:
sudo cp configuration_anchor_name.xml /etc/uxp/configuration-anchor.xml
10. Встановлення та конфігурація серверу аналізу журналів подій
Для централізованого сховища журналів подій можна встановити новий або використати вже існуючий сервер аналізу журналів подій (з увімкненою службою Rsyslog Server). Встановлення та налаштування серверу аналізу журналів подій виконується Адміністратором локальних компонентів (системним адміністратором).
10.1. Встановлення серверу аналізу журналів подій
Перед початком встановлення віртуальна машина (або фізичний сервер) повинні бути попередньо налаштовані згідно розділів 5.1 та 5.2.
Для встановлення серверу аналізу журналів подій необхідно виконати наступні дії:
1. Закрити доступ до сторонніх репозиторіїв за допомогою наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Додати у операційну систему репозиторій з пакетами системи «Трембіта»:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/trembita-monitoring_archive/ graylog main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою наступної команди:
sudo nano /etc/apt/sources.list
3. Додати GPG ключ репозиторію за допомогою наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, буде виведено повідомлення «ОК».
4. Встановити програмне забезпечення серверу аналізу журналів подій з репозиторію за допомогою послідовного виконання наступних команд:
sudo apt update
sudo apt install openjdk-8-jre-headless uuid-runtime pwgen
sudo apt install mongodb-org
5. Перезапустити сервіси mongodb та активувати їх автозапуск при запуску ОС за допомогою послідовного виконання наступних команд:
sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl restart mongod.service
6. Перевірити, що база даних коректно почала роботу за допомогою наступної команди:
sudo systemctl --type=service --state=active | grep mongod
7. Встановити пакет elasticsearch за допомогою наступної команди:
sudo apt-get install elasticsearch
8. Змінити конфігурацію сервісу elasticsearch за допомогою наступної команди:
sudo tee -a /etc/elasticsearch/elasticsearch.yml > /dev/null <<EOT
cluster.name: graylog
action.auto_create_index: false
EOT
9. Запустити сервіс elasticsearch та налаштувати його автоматичний запуск під час завантаження ОС за допомогою послідовного виконання наступних команд:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
10. Перевірити, що запуск сервісу відбувся успішно за допомогою наступної команди:
sudo systemctl --type=service --state=active | grep elasticsearch
11. Встановити сервер Graylog за допомогою наступної команди:
sudo apt-get install graylog-server
10.2. Налаштування серверу аналізу журналів подій
Налаштування серверу аналізу журналів подій знаходяться у файлі конфігурації /etc/graylog/server/server.conf. Необхідно задати значення наступних параметрів:
1. Параметр root_password_sha2 - пароль адміністратора веб-інтерфейсу Graylog. Для задачі цього параметру необхідно виконати наступні дії:
- Виконати команду:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
- Після появи повідомлення «Enter password» необхідно ввести пароль та натиснути на клавішу «Enter». Після цього буде відображено строку, що міститиме буквенно-циферну комбінацію, наприклад:
- Відкрити на редагування файл конфігурації /etc/graylog/server/server.conf за допомогою наступної команди:
sudo nano /etc/graylog/server/server.conf
- Розкоментувати (видалити символ «#») рядок з параметром root_password_sha2 та скопіювати отриману комбінацію як значення цього параметру:
- Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
2. Параметр password_secret. Для задачі цього параметру необхідно виконати наступні дії:
- Виконати команду
pwgen -N 1 -s 96
- Буде відображено відображено строку, що міститиме буквенно-циферну комбінацію, наприклад:
- Відкрити на редагування файл конфігурації /etc/graylog/server/server.conf за допомогою наступної команди:
sudo nano /etc/graylog/server/server.conf
- Розкоментувати (видалити символ «#») рядок з параметром password_secret та скопіювати отриману комбінацію як значення цього параметру:
- Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
3. Параметр http_bind_address. Для задачі цього параметру необхідно виконати наступні дії:
- Відкрити на редагування файл конфігурації /etc/graylog/server/server.conf за допомогою наступної команди:
sudo nano /etc/graylog/server/server.conf
- Розкоментувати (видалити символ «#») рядок з параметром http_bind_address та задати значення цього параметру наступним чином:
http_bind_address = 0.0.0.0:9000
- Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
4. Параметр root_timezone. Для задачі цього параметру необхідно виконати наступні дії:
- Відкрити на редагування файл конфігурації /etc/graylog/server/server.conf за допомогою наступної команди:
sudo nano /etc/graylog/server/server.conf
- Розкоментувати (видалити символ «#») рядок з параметром root_timezone та задати значення цього параметру наступним чином:
root_timezone = Europe/Kiev
13. Перезапустити сервіс та перевірити, чи коректно він функціонує за допомогою послідовного виконання наступних команд:
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl restart graylog-server.service
sudo systemctl --type=service --state=active | grep graylog
10.3 Початкова конфігурація сервера аналізу журналів подій
Початкова конфігурація сервера аналізу журналів подій виконується Адміністратором локальних компонентів (системним адміністратором).
Для початкової конфігурації необхідно перейти до вебінтерфейсу серверу аналізу журналів за посиланням: http://<IP-GRAYLOG-Server>:9000,
де <IP-GRAYLOG-Server> ‑ це IP – адреса серверу аналізу журналів подій,
використовуючи логін «admin» та пароль, який було створено в пункті 10.2
Після успішної авторизації, необхідно перейти до вкладки System -> Inputs:
Та створити новий Input, задавши його тип як «Syslog UDP» та натиснути на кнопку «Launch new input»:
Після цього необхідно відредагувати поля «Title» та «Port» наступним чином:
Та натиснути на кнопку «Save».
10.4 Налаштування підключення до шлюзу безпечного обміну
Параметри підключення до серверу аналізу журналів подій налаштовуються на шлюзі безпечного обміну. Для налаштування необхідно:
1. Увійти до командної консолі ШБО.
2. Відкрити на редагування файл /etc/rsyslog.d/40-uxp.conf за допомогою наступної команди:
sudo nano /etc/rsyslog.d/40-uxp.conf
3. Вказати IP-адресу сервера аналізу журналів подій у відповідній строчці даного файлу:
local0.info /var/log/uxp/audit.log;RSYSLOG_FileFormat
local0.info <@IP_GRAYLOG_Server>:1514
# discard further processing of local0.* to avoid doubling
& ~
де <@IP_GRAYLOG_Server> - це IP-адреса сервера аналізу журналів подій, яка призначена йому статично,
1514 – це порт, який використовується для прийому журналів, вказується через двокрапку після IP-адреси.
4. Замінити файл 45-uxpservices.conf на новий (порожній) за допомогою послідовного виконання наступних команд:
sudo rm /etc/rsyslog.d/45-uxpservices.conf
sudo nano /etc/rsyslog.d/45-uxpservices.conf
5. Додати наступні рядки до новоствореного файлу:
if ($programname == 'uxp-jetty' or $syslogtag == 'uxp-jetty' ) then {
action(type="omfile" file="/var/log/uxp/jetty/jetty.log" flushOnTXEnd="off")
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
stop
}
if ( $programname == 'uxp-signerconsole' or $syslogtag == 'uxp-signerconsole' ) then {
/var/log/uxp/signer-console.log;RSYSLOG_FileFormat
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
& stop
}
if ( $programname == 'uxp-signer' or $syslogtag == 'uxp-signer' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
/var/log/uxp/signer.log;RSYSLOG_FileFormat
& stop
}
if ( $programname == 'uxp-confclient' or $syslogtag == 'uxp-confclient' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
/var/log/uxp/configuration_client.log;RSYSLOG_FileFormat
& stop
}
if ( $programname == 'uxp-proxy' or $syslogtag == 'uxp-proxy' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
/var/log/uxp/proxy.log;RSYSLOG_FileFormat
& stop
}
if ( $programname == 'uxp-proxymonitor' or $syslogtag == 'uxp-proxymonitor' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
/var/log/uxp/proxymonitoragent.log;RSYSLOG_FileFormat
& stop
}
if ( $programname == 'uxp-audit' or $syslogtag == 'uxp-audit' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514")
/var/log/uxp/audit.log;RSYSLOG_FileFormat
& stop
}
if ( $programname == 'ua-integrity' or $syslogtag == 'ua-integrity' ) then {
action(type="omfwd" Target="<IP_GRAYLOG_Server>" Port="1514" Protocol="udp")
/var/log/uaic/KZZ_integrity.log;RSYSLOG_FileFormat
& stop
}
де <IP_GRAYLOG_Server> ‑ локальна IP-адресу серверу аналізу журналів подій:
Примітка:
Швидко замінити <IP_GRAYLOG_Server> на локальну IP-адресу серверу аналізу журналів подій можна виконавши наступні дії:
- Відкрити на редагування файл 45-uxpservices.conf за допомогою наступної команди.
sudo nano /etc/rsyslog.d/45-uxpservices.conf
- Натиснути комбінацію клавіш «Ctrl+\» - це забезпечить пошук та подальшу заміну тексту.
- Скопіювати (або ввести) наступний текст у поле пошуку редактора nano:
< IP_GRAYLOG_Server >
- Натиснути клавішу "Enter" та ввести локальну IP-адресу сервера аналізу журналів подій у поле «Replace with:»:
- Натиснути клавішу "Enter" та клавішу "A" (латинська розкладка) - це дозволить замінити всі знайдені рядки.
6. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде показано повідомлення про підтвердження на збереження змін - необхідно натиснути «Y», а потім «Enter» для збереження.
7. Перезавантажити службу rsyslog на шлюзі безпечного обміну шляхом виконання наступної команди:
sudo service rsyslog restart
8. Перевірити стан Rsyslog шляхом виконання наступної команди:
sudo rsyslogd -N 1
Сервер аналізу журналів подій централізовано протоколює події, які реєструються на шлюзі безпечного обміну та передаються за протоколом SYSLOG. Для перегляду логів необхідно перейти за посиланням http://<IP_GRAYLOG_Server>:9000/search.
11. Налаштування локального моніторингу шлюзу безпечного обміну
11.1 Підготовка до встановлення компонентів локального моніторингу
Оператор (або Суб'єкт електронної взаємодії, якщо він самостійно встановлює та адмініструє локальні компоненти) має можливість встановити та налаштувати сервер аналізу транзакцій, який може збирати та відображати відомості щодо кількості здійснених запитів, що пройшли через ШБО.
Також Оператор (або Суб'єкт електронної взаємодії, якщо він самостійно встановлює та адмініструє локальні компоненти) має можливість встановити та налаштувати сервер моніторингу за працездатністю власного ШБО, який може збирати та відображати відомості щодо використання апаратних ресурсів ШБО в процесі функціонування.
Мінімальні апаратні характеристики віртуальних машин (або фізичних серверів), необхідні для роботи компонентів локального моніторингу, наведено у таблиці 5.1.
З метою економії апаратних ресурсів можна встановлювати програмне забезпечення сервера аналізу транзакцій та сервера моніторингу за працездатністю на одній віртуальній машині. При цьому, необхідно враховувати, що об’єднане програмне забезпечення може використовувати більше оперативної пам’яті.
Сервер аналізу журналів подій та моніторингу за працездатністю функціонують на базі операційної системи Ubuntu Server 18.04.4 x64, процес інсталяції якої наведено в Інструкції з інсталяції операційної системи Ubuntu Server 18.04.4 x64.
Також на дані віртуальні машини рекомендовано встановити антивірусне програмне забезпечення (наприклад, Falcon).
11.2 Встановлення та конфігурація Серверу аналізу транзакцій
Сервер аналізу транзакцій складається з наступних програмних компонентів:
- Elasticsearch, що збирає та накопичує відомості про здійснені транзакції;
- Kibana, що виконує функції інтерфейсу користувача та відображає накопичені відомості за критеріями пошуку користувача.
Схема мережевої взаємодії сервера аналізу транзакцій наведена на рисунку 11.1.
Рисунок 11.1 – Схема мережевої взаємодії сервера аналізу транзакцій
З метою організації мережевої взаємодії Оператор (або Суб'єкт електронної взаємодії, якщо він самостійно встановлює та адмініструє локальні компоненти) має забезпечити можливість мережевого з’єднання ШБО з сервером аналізу транзакцій на порт TCP 9200 (у тому числі, налаштувати вбудований міжмережевий екран на шлюзі безпечного обміну, якщо він був увімкнений).
Також Адміністратор локальних компонентів (системний адміністратор) повинен мати можливість підключатися до серверу аналізу транзакцій на порт TCP 5601, на якому розміщена служба вебінтерфейсу аналізу транзакцій.
Під час встановлення, сервер аналізу транзакцій повинен мати підключення до мережі Інтернет з метою встановлення програмних пакетів з програмного репозиторію системи «Трембіта».
Встановлення та всі відповідні налаштування виконуються Адміністратором локальних компонентів. Кінцевим користувачем, що працюватиме з сервером аналізу транзакцій через вебінтерфейс є користувач з роллю "Відповідальний за аналіз транзакцій".
11.2.1. Інсталяція сервера аналізу транзакцій
Інсталяційні пакети Elasticsearch і Kibana входять в комплект компоненту uxp‑monitor‑analytics.
Щоб встановити uxp‑monitor‑analytics потрібно виконати наступні дії на сервері аналізу транзакцій:
1. Закрити доступ до сторонніх репозиторіїв за допомогою виконання наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Додати у операційну систему репозиторій з пакетами системи «Трембіта» за допомогою виконання наступної команди:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/trembita-member_archive/ certified main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування, за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
3. Додати GPG ключ репозиторію за допомогою виконання наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, буде виведено повідомлення «ОК».
4. Провести системне очищення та оновити списки доступних пакетів за допомогою послідовного виконання наступних команд:
sudo apt autoremove && sudo apt clean && sudo apt autoclean
sudo apt update
5. Встановити пакет uxp‑monitor‑analytics на сервері аналізу транзакцій за допомогою виконання наступної команди:
sudo apt install -y uxp-monitor-analytics
6. Додати Elasticsearch і Kibana до автозапуску після встановлення за допомогою послідовного виконання наступних команд:
sudo systemctl enable kibana
sudo systemctl enable elasticsearch
7. Вперше служби потрібно запустити вручну за допомогою послідовного виконання наступних команд:
sudo service kibana start
sudo service elasticsearch start
11.2.2. Конфігурація Elasticsearch і Kibana
Перед початком роботи служби Elasticsearch і Kibana повинні бути налаштовані Адміністратором локальних компонентів наступним чином:
1. Відкрити на редагування файл /etc/elasticsearch/elasticsearch.yml на сервері аналізу транзакцій зі встановленим програмним забезпеченням пакету uxp‑monitor‑analytics за допомогою виконання наступної команди:
sudo nano /etc/elasticsearch/elasticsearch.yml
2. Перевірити наявність наступних рядків в даному файлі:
cluster.name: uxp
node.name: ${HOSTNAME}
network.host: 0.0.0.0
cluster.initial_master_nodes: ["${HOSTNAME}"]
search.max_buckets: 20000
3. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде відображено повідомлення про підтвердження на збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
4. Відкрити на редагування файл /etc/kibana/kibana.yml за допомогою виконання наступної команди:
sudo nano /etc/kibana/kibana.yml
5. Замінити наступний рядок:
#server.host: «localhost»
на:
server.host: 0.0.0.0
6. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», далі буде відображено повідомлення про підтвердження на збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
7. Перезавантажити служби elasticsearch та kibana шляхом послідовного виконання наступних команд:
sudo service elasticsearch restart
sudo service kibana restart
Для перевірки працездатності компоненту Адміністратору локальних компонентів необхідно перейти до вебінтерфейсу серверу аналізу транзакцій за посиланням: http://<YOUR-EK-SERVER-IP>:5601/,
де <YOUR-EK-SERVER-IP> – адреса відповідного сервера, на якому встановлено ПЗ серверу аналізу транзакцій.
11.2.3. Налаштування підключення шлюзу безпечного обміну до серверу аналізу транзакцій
Конфігурація підключення шлюзу безпечного обміну до серверу аналізу транзакцій налаштовується на ШБО у файлі /etc/uxp/monitor-agent.ini.
Для налаштування підключення Адміністратору локальних компонентів (системному адміністраторові) необхідно виконати наступні дії на ШБО:
1. Відкрити на редагування файл /etc/uxp/monitor-agent.ini за допомогою виконання наступної команди:
sudo nano /etc/uxp/monitor-agent.ini
2. Розкоментувати наступні рядки (видаливши символ «#» на початку рядку) і встановити наступні параметри:
[elasticsearch]
address = <YOUR-EK-SERVER-IP>
port = 9200
cluster_name = uxp
index = uxp
де <YOUR-EK-SERVER-IP> – адреса відповідного сервера, на якому встановлено програмне забезпечення серверу аналізу транзакцій.
3. Закрити редактор, натиснувши набір клавіш «Ctrl+X», після чого буде відображено повідомлення-підтвердження збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження відомостей.
Для застосування нової конфігурації Elasticsearch на ШБО потрібно виконати наступну команду:
sudo reload-monitor-agent
11.2.4. Налаштування візуалізації статистики на сервері аналізу транзакцій
11.2.4.1. Налаштування шаблону індексу
Налаштування шаблону індексу на сервері аналізу транзакцій здійснюється Відповідальним за аналіз транзакцій.
Примітка. Індекс в Elasticsearch з'явиться не одразу, а тільки після початку обміну повідомленнями між ШБО Учасника та іншими ШБО. Про це необхідно пам’ятати під час налаштувань.
Для налаштування шаблону Відповідальному за аналіз транзакцій необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій, відкривши його за посиланням: http://<YOUR-EK-SERVER-IP>:5601/:
1. Перейти в розділ «Management –> Index Patterns»;
2. В полі «Index pattern» ввести: uxp*;
В полі «Time Filter field» name має з’явитися значення: monitoring_data_ts;
3. Натиснути на кнопку «Create».
Примітка. Якщо після введення «uxp*» з’являється повідомлення «Unable to fetch mapping. Do you have indices matching the pattern» – це означає, що до сервера аналізу транзакцій від ШБО ще не надходило відомостей про виклики сервісів. Потрібно здійснити обмін інформацією через ШБО, після чого він має надіслати статистику здійснених транзакцій.
Індикатором успішного створення індексу може бути повідомлення, що містить поле «Creating index (uxp) for Elasticsearch» у файлі журналу /var/log/uxp/proxymonitoragent.log на ШБО.
Після цього необхідно повторити процедуру створення індексу на сервері аналізу транзакцій. Статистика відправляється з ШБО не одразу, а через певні інтервали часу.
Подивитись останні отримані відомості у простому форматі можна на вкладці «Discover» інструменту Kibana.
11.2.4.2. Налаштування візуалізації
Пакет uxp-monitor-analytics містить деякі приклади візуалізації транзакцій. Ці приклади знаходяться в директорії /usr/share/doc/uxp-monitor-analytics/examples/kibana-7.x/operational-data, а саме:
- request-total-by-security-server.json – візуалізує загальну кількість запитів, здійснених ШБО;
- request-total-by-security-server-by-service.json – візуалізує загальну кількість запитів, здійснених через певний ШБО і певний сервіс;
- succeeded-requests-by-service.json – візуалізує кількість вдалих запитів до сервісу.
Для налаштування візуалізації необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій:
1. Скопіювати зазначені вище файли із сервера аналізу транзакцій в зручну директорію на робочій станції Відповідальної особи за аналіз транзакцій, використовуючи WinSCP або іншу програму .
2. Зайти в розділ «Management –> Saved Objects» вебінтерфейсу Kibana:
3. Натиснути на кнопку «Import», щоб імпортувати файли в Kibana.
4. Обрати збережений на диску потрібний файл. У діалоговому вікні натиснути на кнопку «Yes, overwrite all», а в наступному вікні - «Confirm all changes». Імпортований файл повинен з'явитися на вкладці «Visualizations».
11.2.4.3. Перевірка візуалізації
Для перевірки візуалізації на сервері аналізу транзакцій необхідно зробити наступні дії:
1. Відкрити вебінтерфейс серверу аналізу транзакцій за посиланням: http://<YOUR-EK-SERVER-IP>:5601/.
2. Перейти в розділ «Visualize», де буде відображено імпортовані приклади візуалізації статистики.
3. Для того, щоб відобразити статистику за сервісами, необхідно натиснути на кнопку «Requests Good by Service».
Якщо дані статистики не відображаються, необхідно налаштувати інтервал для відображення. Для цього необхідно виконати наступні дії в вебінтерфейсі серверу аналізу транзакцій:
- вказати потрібний Time Range, натиснувши на кнопку в правому верхньому кутку сторінки;
обрати опцію «Today». Повинна відобразитися статистика за запитами.
11.3 Встановлення та конфігурація серверу моніторингу за працездатністю
Основною частиною сервера моніторингу за працездатністю є програмне забезпечення Zabbix, яке може накопичувати та візуалізувати інформацію про використання апаратних ресурсів серверів, у тому числі, середнє навантаження на процесор, об’єм використаної оперативної пам’яті, об’єм вільного дискового простору тощо.
Схема мережевої взаємодії сервера моніторингу за працездатністю наведена на рисунку 11.2.
Рисунок 11.2 – Схема мережевої взаємодії сервера моніторингу за працездатністю
З метою організації мережевої взаємодії Оператор (або Суб’єкт електронної взаємодії, якщо він самостійно адмініструє власні локальні компоненти системи «Трембіта») має забезпечити можливість мережевого з’єднання із ШБО до сервера моніторингу за працездатністю на порти TCP 10051 та TCP 80.
Встановлення та всі відповідні налаштування виконуються Адміністратором локальних компонентів.
Адміністратор локальних компонентів (системний адміністратор) повинен мати можливість підключатися до Сервера моніторингу за працездатністю на порт TCP 80, на якому розміщена служба вебінтерфейсу сервера.
Під час інсталяції Адміністратор локальних компонентів (системний адміністратор) має забезпечити Сервер моніторингу за працездатністю виходом до мережі Інтернет з метою встановлення програмних пакетів з програмного репозиторію системи «Трембіта».
11.3.1. Встановлення сервера моніторингу за працездатністю
Для встановлення необхідних пакетів для сервера моніторингу за працездатністю необхідно виконати наступні дії:
1. Закрити доступ до сторонніх репозиторіїв за допомогою виконання наступної команди:
sudo sed -i 's/^[A-Za-z0-9]/#&/' /etc/apt/sources.list
2. Додати у операційну систему репозиторій з пакетами системи «Трембіта» за допомогою виконання наступної команди:
echo 'deb https://project-repo.trembita.gov.ua:8081/repository/trembita-monitoring_archive/ graylog main' | sudo tee -a /etc/apt/sources.list
Перевірити результат виконання команд можна за допомогою текстового редактора nano, відкривши файл на редагування за допомогою виконання наступної команди:
sudo nano /etc/apt/sources.list
3. Додати GPG ключ репозиторію за допомогою виконання наступної команди:
sudo wget -O - https://project-repo.trembita.gov.ua:8081//public-keys/public.key.txt | sudo apt-key add -
Якщо команду виконано успішно, буде виведено повідомлення «ОК».
4. В операційній системі має бути встановлена локаль UTF-8.
Примітка. Встановлення локалі описано в розділі 7.1.4.
5. Провести системне очищення та оновити списки доступних пакетів за допомогою послідовного виконання наступних команд:
sudo apt autoremove && sudo apt clean && sudo apt autoclean
sudo apt update
6. Встановити необхідні засоби за допомогою виконання наступної команди:
sudo apt install zabbix-server-pgsql zabbix-agent postgresql -y
7. Створити користувача бази даних та базу даних за допомогою послідовного виконання наступних команд:
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
8. Імпортувати схему бази даних за допомогою виконання наступної команди:
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
9. Відкрити на редагування файл конфігурації zabbix_server.conf за допомогою виконання наступної команди:
sudo nano /etc/zabbix/zabbix_server.conf
10. Ввести пароль до файлу конфігурації як значення параметру «DBPassword», а значення параметру «DBHost» – залишити порожнім:
DBHost=
DBPassword=
11. Увімкнути Zabbix сервер за допомогою послідовного виконання наступних команд:
sudo systemctl enable zabbix-server
sudo systemctl start zabbix-server
12. Встановити web частину серверу Zabbix за допомогою виконання наступної команди:
sudo apt install zabbix-frontend-php php-pgsql -y
13. Вимкнути Apache2 за допомогою послідовного виконання наступних команд:
sudo systemctl stop apache2
sudo systemctl disable apache2
14. Встановити Nginx за допомогою послідовного виконання наступних команд:
sudo apt install nginx-light php-fpm -y
sudo ln -s /usr/share/zabbix /var/www/html/zabbix
sudo rm /etc/nginx/sites-enabled/default
15. Відкрити на редагування файл конфігурації php.ini за допомогою виконання наступної команди:
sudo nano /etc/php/7.2/fpm/php.ini
16. Перевірити наявність перелічених нижче параметрів у файлі конфігурації. Якщо дані параметри відсутні – встановити їх наступним чином:
date.timezone = Europe/Kiev
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
17. Створити та відкрити на редагування файл конфігурації Nginx за допомогою послідовного виконання наступних команд:
sudo touch /etc/nginx/sites-available/zabbix
sudo ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/zabbix
sudo nano /etc/nginx/sites-enabled/zabbix
18. Внести наступні конфігураційні параметри у даний файл:
server {
listen 80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name zabbix_server;
location / {
try_files $uri $uri/ =404;
}
location /(conf|app|include|local) {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
19. Перезавантажити сервіси за допомогою виконання наступної команди:
sudo systemctl restart php7.2-fpm nginx
11.3.2. Налаштування серверу моніторінгу за працездатністю
Вебінтерфейс серверу моніторингу за працездатністю доступний за посиланням: http://<YOUR-ZABBIX-SERVER-IP>/zabbix/,
де <YOUR-ZABBIX-SERVER-IP> – адреса відповідного серверу, на якому встановлено програмне забезпечення для моніторингу за працездатністю.
Для налаштування серверу моніторингу за працездатністю Адміністратору локальних компонентів (системному адміністратору) необхідно виконати наступні дії в його вебінтерфейсі:
1. Заповнити дані, що будуть запитані в процесі налаштування у відповідності до попередніх пунктів інсталяції:
- на кроці «Configure DB connection необхідно вказати пароль, що був створений у п. 10 розділу 11.3.1 даної інструкції;
- на всіх інших кроках натиснути на кнопку «Next/Finish».
Примітка. За замовчуванням логін для входу – «Admin» ([ZABBIX-ADMIN-USER]), пароль – «zabbix» ([ZABBIX-ADMIN-PASSWORD]).
2. Запустити агент моніторингу та додати його до автозапуску за допомогою послідовного виконання наступних команд:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
11.3.3. Налаштування підключення шлюзу безпечного обміну до серверу моніторінгу за працездатністю
Конфігурація підключення ШБО до серверу моніторингу за працездатністю налаштовується на ШБО у файлі /etc/uxp/monitor-agent.ini.
Для налаштування підключення ШБО до сервера моніторингу за працездатністю Адміністраторові локальних компонентів (системному адміністратору) необхідно виконати наступні дії на ШБО:
1. Відкрити на редагування файл monitor-agent.ini за допомогою виконання наступної команди:
sudo nano /etc/uxp/monitor-agent.ini
2. Розкоментувати наступні рядки (видаливши символ «#» на початку рядку):
[zabbix-1]
address = <YOUR-ZABBIX-SERVER-IP>
port = 10051
enable_configurator = true
username = <ZABBIX-ADMIN-USER>
password = <ZABBIX-ADMIN-PASSWORD>
host_group = uxp-pma
де <YOUR-ZABBIX-SERVER-IP> – адреса відповідного серверу, на якому встановлено програмне забезпечення для моніторингу за працездатністю,
<ZABBIX-ADMIN-USER> – логін для входу на сервер моніторингу за працездатністю,
<ZABBIX-ADMIN-PASSWORD> – пароль для входу на сервер моніторингу за працездатністю;
Примітка. За замовчуванням логін для входу – «Admin» (<ZABBIX-ADMIN-USER>), пароль – «zabbix» (<ZABBIX-ADMIN-PASSWORD>).
3. Закрити редактор, натиснувши комбінацію клавіш «Ctrl+X», буде відображено повідомлення про підтвердження на збереження змін – необхідно натиснути «Y», а потім «Enter» для збереження.
4. Застосувати нову конфігурацію Zabbix за допомогою виконання наступної команди:
sudo reload-monitor-agent
5. Підключитися до вебінтерфейсу Zabbix http://<YOUR-ZABBIX-SERVER-IP>/zabbix/,
де <YOUR-ZABBIX-SERVER-IP> – адреса відповідного серверу, на якому встановлено ПЗ для моніторингу за працездатністю.
6. Перевірити, що в конфігурації з'явилися хости шлюзу безпечного обміну.
Для цього необхідно виконати наступні дії:
1. Перейти на вкладку «Latest data».
2. Обрати «uxp-pma» у полі «Host groups».
3. Натиснути на кнопку «Apply».
Спочатку з’являться найменування статистичних полів, через деякий час вони заповняться даними зі шлюзу безпечного обміну.
Примітка. Деталі використання інструменту Zabbix наведено на офіційному вебсайті Zabbix.
12. Журнали і системні сервіси
Найважливішими системними журналами шлюзу безпечного обміну є наступні:
|
Журнал |
Призначення |
|
/var/log/uxp/audit.log |
Запис успішних і невдалих дій користувачів в інтерфейсі користувача ШБО |
|
/var/log/uxp/proxy.log |
Запис дій, пов'язаних з обміном повідомленнями (підключення до ШБО, права доступу, пересилання запиту, мітка часу, архівування) |
|
/var/log/uxp/configuration_client.log |
Запис дій, пов’язаних із завантаженням глобальної конфігурації |
|
/var/log/uxp/signer.log |
Запис дій, пов’язаних із керуванням ключами та сертифікатами ШБО (помилки підписання; відсутні ключі та сертифікати; проблеми із закінченням терміну дії та статусом) |
|
/var/log/uxp/proxymonitoragent.log |
Записи дій, пов’язаних зі збором даних моніторингу про ШБО; результати доступні на сторінці стану системи |
|
/var/log/uxp/jetty/jetty.log |
Записи запитів до сервера додатків, що забезпечує інтерфейс користувача |
|
/var/log/uxp/clientproxy_access.log |
Стандартні записи вебдоступу запитів від клієнтської інформаційної системи (наприклад, UXP Portal) до ШБО |
|
/var/log/uxp/serverproxy_access.log |
Стандартні записи вебдоступу запитів від іншого ШБО до поточного ШБО |
|
/var/log/postgresql/postgresql-<version>-main.log |
Записи помилок доступу до бази даних |
Доступ до даних журналів має Адміністратор локальних компонентів (системний адміністратор).
Найважливішими системними сервісами шлюзу безпечного обміну є наступні:
|
Сервіс |
Призначення |
Журнал |
|
uxp-confclient |
Клієнтський процес для дистриб’ютора глобальної конфігурації |
/var/log/uxp/configuration_client.log |
|
uxp-jetty |
Програмний сервер додатків, який забезпечує функціонування вебінтерфейсу адміністрування шлюзу безпечного обміну |
/var/log/uxp/jetty/ |
|
uxp-proxy |
Сервіс обміну повідомленнями |
/var/log/uxp/proxy.log |
|
uxp-signer |
Сервіс, що керує функціями підписання |
/var/log/uxp/signer.log |
|
uxp-monitor |
Сервіс внутрішнього моніторингу ШБО |
/var/log/uxp/proxymonitoragent.log |
|
nginx |
Вебсервер, який розподіляє конфігурацію і реалізує протокол TLS в вебінтерфейсі адміністрування ШБО |
/var/log/nginx/ |
Сервіси керуються через налаштування systemd об’єктів.
Щоб запустити сервіс UXP на шлюзі безпечного обміну Адміністратору локальних компонентів (системному адміністратору) необхідно виконати наступну команду:
sudo systemctl start <service>
Щоб зупинити сервіс, необхідно виконати наступну команду:
sudo systemctl stop <service>
Щоб перевірити статус сервісу, необхідно виконати наступну команду:
sudo systemctl status <service>
Журнали системних сервісів можна перевірити за допомогою виконання наступної команди:
sudo sudo journalctl -u <service>
13. Найпоширеніші помилки
В таблиці нижче наведено приклади найпоширеніших помилок та способи їх вирішення.
|
Помилка |
Причина |
Виправлення |
|
Помилка при виклику вебсервісу
|
Немає прав доступу до сервісу для підсистеми даної організації |
Звернутися до адміністратора організації власника вебсервісу для надання доступу |
|
Не введені PIN-коди для токенів |
Ввести PIN-коди для токенів авторизації і підпису/шифрування |
|
|
Закінчився термін дії сертифіката авторизації і/або підпису/шифрування |
Отримати та завантажити діючі сертифікати |
|
|
Сервер позначок часу не відповідає |
Обрати інший сервер позначок часу згідно розділу 7.2.4 даної інструкції |
|
|
При реєстрації було вказано неправильну адресу шлюзу безпечного обміну |
Виправити адресу шлюзу безпечного обміну на сервері Каталогу Учасників системи «Трембіта» (звернутися до Адміністратора системи «Трембіта») |
|
|
Помилка нестачі пам'яті («java.lang.OutOfMemoryError: Java heap space») |
Для віртуальної машини Java (JVM) служби uxp-proxy виділено недостатньо оперативної пам'яті |
Збільшити кількість пам'яті JVM для служби uxp-proxy згідно розділу 13.1 даної інструкції |
13.1 Виправлення помилки нестачі пам’яті
Дана помилка також може характеризуватися наявністю наступного повідомлення у журналі /var/log/uxp/proxy.log:
<faultcode>Server.ServerProxy.ServiceFailed.InternalError</faultcode><faultstring>Self-suppression not permitted</faultstring>
Для виправлення даної помилки Адміністратор локальних компонентів (системний адміністратор) повинен збільшити обсяг пам'яті JVM для сервісу uxp-proxy.
Для цього необхідно виконати наступні дії:
1. Відкрити на редагування файл конфігурації /etc/uxp/services/local.conf за допомогою виконання наступної команди:
sudo nano /etc/uxp/services/local.conf
2. Вказати нове значення обсягу виділеної оперативної пам’яті в наступному рядку:
PROXY_JVM_OPTS="${PROXY_JVM_OPTS} -Xmx<size>
де <size> - розмір виділеної оперативної пам’яті в МБ.
Наприклад, для того, щоб задати максимально можливий обсяг виділеної оперативної пам’яті, необхідно вказати значення 1024 MB:
PROXY_JVM_OPTS = "${PROXY_JVM_OPTS} -Xmx1024m"