OpenSCADA

Модулі/SSL

This page is a translated version of the page Modules/SSL and the translation is 100% complete.

English • ‎российский • ‎українська
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
SSL SSL 3.3 GPL2 tr_SSL.so en,uk,ru,de x86,x86_64,ARM Транспорт Роман Савоченко Надає транспорт базований на безпечному шарі сокетів. Використано OpenSSL та підтримуються: SSLv3, TLSv1, TLSv1.1, TLSv1.2, DTLSv1, DTLSv1_2.

Модуль надає до програми підтримку транспортів, заснованих на шарі безпечних сокетів (SSL). У основі модуля лежить бібліотека OpenSSL. Підтримуються вхідні та вихідні транспорти протоколів SSLv3, TLSv1, TLSv1.1, TLSv1.2, DTLSv1, DTLSv1_2; загальний перелік яких залежить від їх доступності у бібліотеці OpenSSL та за відсутності прямої вказівки обирається найбільш актуальний та безпечний.

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

Contents

1 Вхідні транспорти

Сконфігурований та запущений вхідний транспорт відкриває серверний SSL-сокет для очікування підключень клієнтів. SSL-сокет є багато-потоковим, тобто при підключенні клієнту створюється клієнтське SSL-з'єднання та новий потік у якому здійснюється обслуговування клієнту. Серверний SSL-сокет на цей час переходить до очікування запитів від нового клієнту. Таким чином досягається паралельне обслуговування клієнтів.

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

Діалог конфігурації вхідного SSL-транспорту зображено на рисунок 1.

Рис.1. Діалог конфігурації вхідного SSL-транспорту.

За допомогою цього діалогу можна встановити:

At.png Вимикати цю функцію не рекомендується оскільки властивість мережі TCP/IP не гарантує повідомлення серверу про відключення з'єднання, скажемо у випадку пропадання живлення на клієнті. У результаті чого можуть назавжди залишатися відкриті клієнтські підключення, а за досягненням ліміту сервер припинить приймати нові!

2 Вихідні транспорти

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

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

Головну вкладку сторінки конфігурації вихідного SSL-транспорту зображено на рисунку 2.

Рис.2. Головна вкладка сторінки конфігурації вихідного SSL-транспорту.

За допомогою цього діалогу можна встановити:

Може бути пріоритетно визначено другим глобальним аргументом поля адреси, на кшталт "localhost:123||5:1".
Може бути пріоритетно визначено третім глобальним аргументом поля адреси, на кшталт "localhost:123||5:1||3".

3 Сертифікати та ключі

Для повноцінної роботи модуля потрібні сертифікати та приватні ключі. У випадку з вхідним SSL-транспортом (сервером) вони обов'язкові. У випадку з вихідним SSL-транспортом вони можуть й не встановлюватися хоча їх використання бажане.

Простішою конфігурацією сертифікату є само-підписаний сертифікат та приватний ключ. Нижче описано процедуру їх створення за допомогою утиліти openssl:

# Генерація секретного ключа
$ openssl genrsa -out ./key.pem -des3 -rand /var/log/messages 2048
# Генерація само-підписаного сертифікату
$ openssl req -x509 -new -key ./key.pem -out ./selfcert.pem -days 365

Далі вміст файлів "selfcert.pem" та "key.pem" копіюються до текстового поля сертифікату та ключа. Пароль приватного ключа встановлюється у відповідному полі.

Modules/SSL/uk - GFDLJuly 2021OpenSCADA 0.9.4