Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор | Описание |
---|---|---|---|---|---|---|---|---|---|
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.
Сконфигурированный и запущенный входящий транспорт открывает серверный SSL-сокет для ожидания соединения клиентов. SSL-сокет являются много-поточными, т.е. при подключении клиента создаётся клиентское SSL-соединение и новый поток в котором производиться обслуживание клиента. Серверный SSL-сокет в этот момент переходит к ожиданию запросов от нового клиента. Таким образом достигается параллельное обслуживание клиентов.
Каждый входящий транспорт обязательно связывается с одним из доступных транспортных протоколов, которому передаются входящие сообщения. В связке с транспортным протоколом поддерживается механизм объединения кусков раздробленных, при передаче, запросов.
Диалог конфигурации входящего SSL-транспорта изображён на рисунок 1.
С помощью этого диалога можно установить:
Сконфигурированный и запущенный исходящий транспорт открывает SSL соединение с указанным сервером. При разрыве соединения, исходящий транспорт отключается. Для возобновления соединения транспорт нужно опять запустить.
Главная вкладка страницы конфигурации исходящего SSL-транспорта изображёна на рис.2.
С помощью этого диалога можно установить:
Для полноценной работы модуля необходимы сертификаты и приватные ключи. В случае с входящим 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" копируется в текстовое поле сертификата и ключа. Пароль приватного ключа устанавливается в соответствующем поле.