Приложение А. Пример настройки ssl-соединения

При работе сервера во внешней сети Интернет рекомендуется использовать соединение по зашифрованному каналу, чтобы предотвратить утечку информации. Для доступа к серверу Вам понадобится:

Предположим, что мы выбрали доменное имя orscada.ru, зарегистрировали его и привязали к своему белому ip. Если OrangeScada запущен на сервере в обычном (незащищенном) режиме и в брандмауэре открыты порты HTTP и Socket порт, то у нас должен быть доступ из браузера к странице orscada.ru. Однако, браузер справедливо будет предупреждать нас, что сайт небезопасен для передачи данных. Выполним настройку безопасного соединения.

Нам необходимо получить сертификат безопасности для нашего домена. Существуют платные сертификаты, мы же рассмотрим получение сертификата на основе бесплатного сервиса Let's Encrypt. Недостаток бесплатного сертификата в том, что он требует обязательного обновления раз в 90 суток.

Для создания и обновления сертификатов удобно пользоваться программой под Windows под названием Certify The Web. Скачать ее можно здесь.

Запустим Certify The Web и создадим сертификат для нашего домена orscada.ru

Создание сертификата для домена

В окне Authorization Settings настраиваем параметры проверки нашего домена: Challenge Type=dns-01, DNS Update Method=(Update DNS Manually), в графе e-mail рекомендуется указать свою почту, в этом случае нам будут приходить напоминания о необходимости продлить сертификат.

Настройка параметров проверки домена

Мы выбрали ручную проверку DNS, это значит, что от нас потребуются действия, чтобы подтвердить, что домен принадлежит нам. Запросим сертификат при помощи кнопки "Request Certificate":

Запрос сертификата

В результате запросы мы увидим следующее сообщение:

Запрос на добавление DNS-записи

Для подтверждения факта владения доменом, программа просит нас зайти в контрольную панель домена и добавить туда TXT-запись с заголовком _acme-challenge.orscada.ru и текстом, содержащим код. Эти действия выполняются в личном кабинете регистратора, который предоставил наше доменное имя.

После добавления записи, возвращаемся в программу, переходим на закладку "Managed Certificates" и нажимаем "Request Certificate" еще раз. Если проверка прошла успешно, программа выдаст сообщение Success - Request completed, если нет, попробуйте запросить и ввести проверочный код еще раз.

Конвертация сертификата

Let's Encypt выпускает сертификат в формате pfx, в то время как для OrangeScada необходимо указать пару ключ/сертификат (key/crt), поэтому нам потребуются некоторые манипуляции для преобразования форматов.

После генерации сертификат лежит в папке c:/programdata/certify/certes/assets/pfx и имеет примерно такой вид: 907e3ea0-599d-4727-843f-08fe6ba44931.pfx. Для удобства работы, переименуем его в orscada.pfx

Запустим командную строку Windows: Пуск > Найти > cmd.exe. Выполним в ней последовательно следующие четыре команды:

cd c:/programdata/certify/certes/assets/pfx

openssl pkcs12 -in orscada.pfx -nocerts -out orscada.ekey
Если Вы переименовали файл иначе, то вместо orscada используйте свое имя. Эта команда дважды спросит пароли, первый пароль для импорта оставляем пустым, для второго (PEM) вводим любой пароль длиной больше 3 символов и подтверждаем его еще раз. Пароль нужно запомнить.

openssl pkcs12 -in orscada.pfx -clcerts -nokeys -out orscada.crt
Запрос пароля оставляем пустым

openssl rsa -in orscada.ekey -out orscada.key
При запросе пароля вводим строку из второй команды

В результате наших действий в папке с сертификатами c:/programdata/certify/certes/assets/pfx появятся два нужных нам файла orscada.key и orscada.crt, переложим их в удобное для хранения место, например в папку с программой OrangeScada.

Настройка запуска OrangeScada

Зайдем в основные настройки программы и заполним параметры в разделе SSL

Настройки SSL

Осталось открыть доступ к портам 443 и 7889 в брандмауэре и проверить соединение. Если все в порядке, браузер в адресной строке укажет иконку с замком, кликнув на которую мы можем увидеть свойства нашего сертификата.