Настройка отправки email-уведомлений по протоколам SSL/TLS для устройств NetPing, не поддерживающих шифрование

В данной статье мы рассмотрим, как можно настроить отправку email-сообщений с шифрованием SSL/TLS с устройств NetPing, не поддерживающих эти протоколы, на примере NetPing Server Solution v5/GSM3G.

Такая необходимость возникла у нашего клиента АО «ПНТ» для отправки email-уведомлений с устройства NetPing Server Solution v5/GSM3G через публичный почтовый сервис Yandex. Это связано с тем, что современные почтовые провайдеры (такие как Yandex, Gmail, Mail.ru) требуют обязательного использования шифрования SSL/TLS для отправки писем.

На текущий момент устройство NetPing Server Solution v5/GSM3G больше не производится. Для новых проектов мы рекомендуем заменить его на устройство NetPing Server Solution v7/GSM.

Встроенное программное обеспечение некоторых устройств NetPing, включая Server Solution v5/GSM3G, реализует SMTP-клиент, работающий только по незашифрованному протоколу. Он поддерживает методы аутентификации AUTH PLAIN и AUTH LOGIN, но из-за аппаратных ограничений не способен устанавливать защищенные соединения по протоколам SSL/TLS.

Для решения данной задачи клиент использовал прокси-сервер Stunnel. В этом ПО применяется библиотека OpenSSL для реализации базового протокола TLS и SSL для клиентов или серверов, которые не поддерживают шифрование. Stunnel перехватывает незашифрованные данные, предназначенные для отправки в сеть, и шифрует их «на лету».

Данное решение может быть применимо не только для NetPing Server Solution v5/GSM3G, но и для других контроллеров NetPing, не поддерживающих шифрование.

Установка Stunnel

Установка Stunnel производится на любой компьютер/сервер с доступом в Интернет в вашей локальной сети. Процесс установки будет зависеть от операционной системы.

Для Ubuntu/Debian (Linux)

1. Обновите пакеты.

sudo apt update

2. Установите Stunnel.

sudo apt install stunnel4

Включите автозапуск после перезапуска системы (опционально).

sudo systemctl enable stunnel4.service
sudo systemctl restart stunnel4.service
sudo nano /lib/systemd/system/stunnel@.service

Поставьте в раздел [Unit] следующую строку:

After=systemd-resolved

3. Настройте конфигурацию.

Создайте или отредактируйте файл /etc/stunnel/stunnel.conf:

sudo nano /etc/stunnel/stunnel.conf

Расположение шаблона конфига здесь:

sudo nano /usr/share/doc/stunnel4/examples/stunnel.conf-sample

4. Пример конфига.

; Включение логов
output = /var/log/stunnel4/stunnel.log
debug = 7
; Глобальные настройки
setuid = stunnel4
setgid = stunnel4
pid = /var/run/stunnel4.pid
; Клиентский SMTP
[smtp-client]
client = yes
accept = 192.168.0.50:25
connect = smtp.example.com:465

  • setuid = stunnel4, setgid = stunnel4 — запуск от непривилегированного пользователя (убедитесь, что пользователь и группа stunnel4 существует);
  • pid = /var/run/stunnel4.pid — путь для PID-файла (убедитесь, что директория доступна для записи пользователю stunnel4);
  • client = yes — указывает, что Stunnel работает в режиме клиента;
  • accept = 192.168.0.50:25 — IP-адрес и порт компьютера/сервера с установленным stunnel, куда клиент (например, устройство NetPing) отправляет незашифрованный трафик;
  • connect = smtp.example.com:465 — удаленный SMTP-сервер с TLS (smtp.mail.ru, smtp.gmail.com или другой, предоставленный почтовым провайдером).

При использовании порта 587 (STARTTLS) необходимо в конфигурационный файл добавить параметр protocol = smtp:

; Клиентский SMTP
[smtp-client]
client = yes
accept = 192.168.0.50:25
connect = smtp.example.com:587
protocol = smtp

5. Перезапустите Stunnel.

sudo systemctl restart stunnel4

6. Логи

sudo tail -n 50 /var/log/stunnel4/stunnel.log

Для CentOS/RHEL (Linux)

1. Установите EPEL-репозиторий (если не установлен).

sudo yum install epel-release

2. Установите Stunnel.

sudo yum install stunnel

3. Создайте конфигурационный файл:

  • отредактируйте /etc/stunnel/stunnel.conf (аналогично примеру для Ubuntu/Debian).

4. Включите и запустите.

sudo systemctl enable stunnel
sudo systemctl start stunnel

Для Windows

1. Скачайте установщик:

2. Установите:

  • запустите установщик, следуйте инструкциям (обычно просто нажимайте «Next»);
  • убедитесь, что также устанавливается OpenSSL (идет совместно с установщиком).

3. Настройте конфигурацию:

  • найдите файл stunnel.conf в папке установки (обычно C:\Program Files (x86)\stunnel\config\);
  • отредактируйте его, добавив секцию для подключения (как в примере для Linux):

[example_service]
client = yes
accept = 192.168.0.50:25
connect = smtp.example.com:465

4. Запустите stunnel.exe или установите его как службу через меню программы.

Общие рекомендации

  • Убедитесь, что порт accept (в нашем примере, 25) открыт: netstat -tuln | grep 25 (Linux), netstat -a (Windows).
  • Проверьте логи: /var/log/stunnel4/stunnel.log (Linux) или в интерфейсе (Windows).
  • Официальная документация Stunnel: https://www.stunnel.org/docs.html или man stunnel в терминале Linux.

Настройка email-уведомлений на устройстве NetPing

На Рис. 1. показан пример настроек через веб-интерфейс устройства:

Рис. 1. Настройки email-уведомлений на устройстве NetPing
Рис. 1. Настройки email-уведомлений на устройстве NetPing

В поле «Адрес SMTP сервера» укажите адрес компьютера, на котором запущен Stunnel (указан в настройках Stunnel).

В поле «Порт SMTP сервера» введите значение порта, заданное в настройках Stunnel.

В полях «Имя пользователя» и «Пароль» укажите данные учетной записи на почтовом сервере.

Многие провайдеры электронной почты используют сгенерированные пароли OAuth для подключения сторонних клиентов к почтовым серверам (Yandex, Mail.ru). Такой пароль необходимо сгенерировать в настройках электронной почты.

Многие провайдеры электронной почты используют сгенерированные пароли OAuth для подключения сторонних клиентов к почтовым серверам (Yandex, Mail.ru). Такой пароль необходимо сгенерировать в настройках электронной почты.

Заключение

Данное решение обеспечивает сквозное шифрование трафика, позволяя устройству NetPing взаимодействовать с любыми публичными почтовыми сервисами, а при необходимости — и с другими службами, требующими TLS.

Поддержка и контактная информация

Чтобы получить подробную консультацию, обращайтесь в службу технической поддержки. Специалисты помогут выбрать оптимальное решение, соответствующее конкретным требованиям и условиям эксплуатации.