Использование STunnel

STunnel — программа, позволяющая защитить любой небезопасный сервис, способный работать по TCP-протоколу,включая сервисы, которые изначально не имеют интеграции с TSL/SSL. STunnel  осуществляет прозрачное, как для пользователя (в случае использования клиентских сертификатов), так и для сервиса шифрование трафика. 

Принцип работы демона STunnel прост: зашифрованный пакет, поступающий для сервиса, расшифровывается STunnel  и передается незащищенному сервису.

Передача ответа от сервиса происходит в обратном  порядке.

К достоинствам STunnel можно отнести также простоту установки и настройки.  

Приступим.

Ставим OpenSSL,если кто не поставил.

#cd /usr/ports/security/openssl

#make install

Ставим  STunnel.

#cd /usr/ports/security/stunnel

#make && make install

#cp work/stunnel.cnf /usr/local/etc/stunnel/stunnel.conf

 

добавляем в rc.conf

stunnel_enable=»YES»

Создаем каталог для хранения сертификатов и копируем скачанный с сайта сертификат и приватный ключ сервера.

#mkdir /usr/local/etc/stunnel/certs

#cp certificate.crt /usr/local/etc/stunnel/certs

#cp privatekey.key /usr/local/etc/stunnel/certs

Так как демон STunnel работает в chroot-окружении, создаем каталог  для chroot и установливаем нужные права.

#mkdir /var/run/stunnel

#chown stunnel:stunnel /var/run/stunnel

#chmod 700 /var/run/stunnel

Отредактируйте файл конфигурации stunnel и поместите туда следующие строки для

настройки демона stunnel:

Переменная

Значение

cert = /usr/local/etc/stunnel/certs/certificate.crt           расположение сертификата

key = /usr/local/etc/stunnel/certs/privatekey.pem         расположение ключа

chroot = /var/run/stunnel/                                         каталог  chroot

chroot setuid = stunnel 

setgid = stunnel

pid = /stunnel.pid                                                     PID-файл, создается в chroot-окружении

socket = l:TCP_NODELAY=1 

socket = r:TCP_NODELAY=1

verify = 0                                                 не запрашивать сертификат клиента

debug = 7                                               подробность записей в log-файле

output = /var/log/stunnel.log                     расположение log-файла

Обычные настройки, приведены для ОС FreeBSD:

cert = /etc/stunnel/certificate.crt

key  = /etc/stunnel/privatekey.pem

Определите защищаемые сервисы в файле конфигурации, например, так

:

[https]

accept  = 192.168.0.1:443

connect = 127.0.0.1:80

либо

[https]

accept  = 443

connect = 80

Описание каждого сервиса должно быть в квадратных скобках.

Параметры:

accept

— адрес и порт, на который поступают зашифрованные запросы

connect

— адрес и порт, на который следует передавать расшифрованные данные для незащищенного сервиса.

Если адрес не указан, то использоваться будут все доступные сетевые интерфейсы.

При необходимости, отредактируйте правила брандмауэра.

Запустите stunnel

# stunnel  start

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *