Установка
Для работы необходим установленный
OpenSSL. OpenSSL входит почти во все современные дистрибутивы Linux, так что возможно он у
тебя уже установлен.
Взять Stunnel можно на сайте Stunnel.Org
с странички Download /
Stunnel Source Code. На момент написания
статьи последней версией Stunnel была 3.14. Взять ее можно
здесь.
После того, как скачаешь, распакуй полученный архив:
tar xfz stunnel-3.14.tar.gz
Для начала надо запустить скрипт configure для создания Makefile:
cd stunnel-3.14
./configure --with-pem-dir=/etc/ssl/certs --with-cert-dir=/etc/ssl/certs/trusted
Опция --with-pem-dir указывает каталог, где будет находиться секретный ключ и сертификат.
Каталог зависит от опций компиляции OpenSSL. Это может быть /etc/ssl/certs,/usr/local/ssl/certs,
/var/openssl/certs или какой-либо другой. Опция --with-cert-dir указывает каталог, где будут находиться
проверенные сертификаты удаленных хостов. В принципе, ты можешь указать любой каталог для хранения сертификатов и секретного
ключа, это особого значения не имеет. Подробнее о секретных ключах и сертификатах можно почитать
здесь.
Если все прошло нормально, собери пакет:
make
После сборки stunnel будут созданы секретный ключ и сертификат сервера, которые будут
помещены в файл stunnel.pem. Для этого от тебя потребуется ввести некоторые данные.
Первые три - код страны, название штата (области) и город:
/usr/bin/openssl req -new -x509 -days 365 -nodes \
-config stunnel.cnf -out stunnel.pem -keyout stunnel.pem
Using configuration from stunnel.cnf
Generating a 1024 bit RSA private key
.......................++++++
........++++++
writing new private key to 'stunnel.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [PL]:RU
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:Moscow
Затем - название организации и отдела организации:
Organization Name (eg, company) [Stunnel Developers Ltd]:DH Developer
Organizational Unit Name (eg, section) []:
Затем имя сервера:
Common Name (FQDN of your server) []:dh.home.cxm
Common Name (default) []:localhost
Второе значение (localhost) проставляется без твоей помощи. От этого можно избавится, если удалить
строку 1. commonName_value = localhost в файле stunnel.cnf, удалить файл stunnel.pem (если он есть) и
запустить сборку заново, введя в этом месте имя хоста.
В конце будут выведены данные созданного сертификата:
/usr/bin/openssl x509 -subject -dates -fingerprint -noout \
-in stunnel.pem
subject= /C=RU/ST=Some-State/L=Moscow/O=DH Developer/CN=dh.home.cxm/CN=localhost
notBefore=Mar 11 22:53:11 2001 GMT
notAfter=Mar 11 22:53:11 2002 GMT
MD5 Fingerprint=FA:2A:D8:D7:4B:23:D5:6C:67:22:D9:EC:06:C4:26:6F
Осталось только установить пакет:
su -c "make install"
После установки должны появиться следующие файлы:
/usr/local/sbin/stunnel
/usr/local/lib/stunnel.so
/usr/local/man/man8/stunnel.8
/usr/local/var
/etc/ssl/certs/stunnel.pem
Последний файл будет в каталоге, который ты указал при конфигурации в опции --with-pem-dir.
Не забудь также создать каталог, указанный тобой в опции --with-cert-dir, если он не существует.
(c)Ерижоков А.А., 2001.
Использование данного документа разрешено только с согласия автора и с указанием первоисточника:
DH's Linux Site