Устанавливаем stunnel из портов: # cd /usr/ports/security/stunnel # make install Создаем приватный RSA-ключ и самоподписанный сертификат: # /usr/sbin/openssl req -new -x509 -days 365 -nodes \ -config w-stunnel-4.13/stunnel-4.13/tools/stunnel.cnf \ -out /etc/ssl/private/stunnel.pem \ -keyout /etc/ssl/private/stunnel.pem Country Name (2 letter code) [PL]:RU State or Province Name (full name) [Some-State]:Russia Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Stunnel Developers Ltd]:MyORG Organizational Unit Name (eg, section) []:IT Common Name (FQDN of your server) [localhost]:srv.domain.ru Для работы алгоритма согласования ключей Диффи-Хеллмана генерируем специальные параметры: # /usr/sbin/openssl gendh 512 >> /etc/ssl/private/stunnel.pem Выставляем корректные права доступа: # chmod 600 /etc/ssl/private/stunnel.pem Вот так можно получить информацию о созданном сертификате: # /usr/sbin/openssl x509 -subject -dates -fingerprint \ -noout -in /etc/ssl/private/stunnel.pem Удаляем рабочий подкаталог и временный файл: # make clean; rm -f stunnel.rnd Редактируем конфигурационный файл stunnel: # vi /etc/stunnel/stunnel.conf # Секция общих настроек. # cert = /etc/ssl/private/stunnel.pem chroot = /var/stunnel/ setuid = _stunnel setgid = _stunnel pid = /var/run/stunnel.pid socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 # Обеспечиваем безопасность почтовых протоколов. # [pop3s] accept = 995 connect = 110 [imaps] accept = 993 connect = 143 Запускаем stunnel: # /usr/local/sbin/stunnel Проверяем, готов ли stunnel принимать входящие подключения: # netstat -na -f inet | egrep '993|995' tcp 0 0 *.993 *.* LISTEN tcp 0 0 *.995 *.* LISTEN В /etc/rc.local прописываем автозапуск stunnel: # vi /etc/rc.local if [ -x /usr/local/sbin/stunnel ]; then echo -n ' stunnel'; /usr/local/sbin/stunnel fi |