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