Stunnel: Шифрование TCP-соединений, используя SSL


Мини-руководство "шаг за шагом"

Устанавливаем 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


OpenBSD.ru www@openbsd.ru
$RuOBSD: stunnel.html,v 1.12 2010/11/01 10:57:49 dinar Exp $