|
The translation checking and actualizing
|
| Модуль |
Ім'я |
Версія |
Ліцензія |
Джерело |
Мови |
Платформи |
Тип |
Автор |
Опис
|
| SSL |
SSL |
1.5 |
GPL2 |
tr_SSL.so |
en,uk,ru,de |
x86,x86_64,ARM
|
Транспорт |
Роман Савоченко |
Надає транспорт базований на безпечному шарі сокетів. Використано OpenSSL та підтримуються SSLv3, TLSv1, TLSv1.1, TLSv1.2, DTLSv1.
|
Модуль транспорту SSL надає до системи підтримку транспортів заснованих на шарі безпечних сокетів (SSL). У основі модуля лежить бібліотека OpenSSL. Підтримуються вхідні та вихідні транспорти протоколів SSLv3 та TLSv1.
Додати нові вхідні та вихідні транспорти можна за посередництвом конфігурації транспортної підсистеми у будь якому конфігураторі системи OpenSCADA.
1 Вхідні транспорти
Сконфігурований та запущений вхідний транспорт відкриває серверний SSL-сокет для очікування з'єднання клієнтів. SSL-сокет є багато-потоковим, тобто. при підключенні клієнту створюється клієнтське SSL-з'єднання та новий потік у якому здійснюється обслуговування клієнту. Серверний SSL-сокет на цей час переходить до очікування запитів від нового клієнту. Таким чином досягається паралельне обслуговування клієнтів.
Кожний вхідний транспорт обов'язково зв'язується з одним з доступних транспортних протоколів, якому передаються вхідні повідомлення. Спільно з транспортним протоколом підтримується механізм об'єднання шматків роздрібнених, при передачі, запитів.
Діалог конфігурації вхідного SSL-транспорту зображено на рисунок 1.
Рис.1. Діалог конфігурації вхідного SSL-транспорту.
За допомогою цього діалогу можна встановити:
- Стан транспорту, а саме: "Статус", "Виконується", ім'я БД (яка містить конфігурацію) та перелік з інформацією про поточні підключення.
- Ідентифікатор, ім'я та опис транспорту.
- Адреса транспорту у форматі "{адреса}:{порт}[:{режим}]" де:
- адреса — Адреса, на якій відкривається SSL. Має бути однією з адрес хосту. Якщо вказано "*" то SSL буде доступний на всіх інтерфейсах хосту. Допускаються як символьне, так й IP представлення адреси.
- порт – Мережевий порт, на якому відкривається SSL. Можливе вказання символьного ім'я порту (відповідно до /etc/services).
- режим – SSL-режим та версія (SSLv3, SSLv23, TLSv1). По замовченню та при помилці використовується SSLv23.
- Обрання транспортного протоколу.
- Стан, у який переводити транспорт при завантажені: "Запускати".
- Сертифікати, приватний ключ SSL та пароль приватного ключа SSL.
- Максимальна кількість обслугованих клієнтів, максимальна кількість обслугованих клієнтів за хостами та розмір вхідного буферу.
- Keep alive запитів. Закриття підключення після вказаної кількості запитів. Нульове значення для вимкнення (не закривається ніколи).
- Keep alive час очікування, секунд. Закриття підключення після відсутності запитів протягом вказаного часу. Нульове значення для вимкнення (не закривається ніколи).
Вимикати цю функцію не рекомендується оскільки властивість мережі TCP/IP не гарантує повідомлення серверу про відключення з'єднання, скажемо у випадку пропадання живлення на клієнті. У результаті чого можуть назавжди залишатися відкриті клієнтські підключення, а за досягненням ліміту сервер припинить приймати нові!
- Пріоритет задач транспорту.
2 Вихідні транспорти
Сконфігурований та запущений вихідний транспорт відкриває SSL підключення з вказаним сервером. При розриві з'єднання, вихідний транспорт вимикається. Для відновлення з'єднання транспорт треба знову запустити.
Головну вкладку сторінки конфігурації вихідного SSL-транспорту зображено на рис.2.
Рис.2. Головна вкладка сторінки конфігурації вихідного SSL-транспорту.
За допомогою цього діалогу можна встановити:
- Стан транспорту, а саме: "Статус", "Виконується" та ім'я БД яка містить конфігурацію.
- Ідентифікатор, ім'я та опис транспорту.
- Адреса транспорту у форматі "{адреса}:{порт}[:{режим}]", де:
- адреса — Адреса, з якою здійснюється з'єднання. Допускається як символьне так й IP представлення адреси.
- порт — Мережевий порт, з яким здійснюється підключення. Можливо вказання символьного ім'я порту (відповідно до /etc/services).
- режим — SSL-режим та версія (SSLv3, SSLv23, TLSv1). По замовченню та при помилці використовується SSLv23
- Стан, у який переводити транспорт при завантаженні: "Запускати".
- Сертифікати, приватний ключ SSL та пароль приватного ключа SSL.
- Таймаут по замовченню для очікування з'єднання та відповіді, окремо.
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" копіюються до текстового поля сертифікату та ключа. Пароль приватного ключа встановлюється у відповідному полі.