...

 

Логин  
Пароль
Восстановление пароля

 


 



РУКОВОДСТВА

Настройка STunnel

« Вернуться

STunnel - программа, позволяющая защитить любой небезопасный сервис, способный работать по TCP-протоколу, включая сервисы, которые изначально не имеют интеграции с TSL/SSL. STunnel осуществляет прозрачную, как для пользователя (в случае использования клиентских сертификатов), так и для сервиса шифрацию траффика. Принцип работы демона STunnel прост: зашифрованный пакет, поступающий для сервиса расшифровывается STunnel и передается незащищенному сервису. Передача ответа от сервиса происходит в обратном порядке. К достоинствам STunnel можно отнести также простоту установки и настройки. Итак, рассмотрим установку stunnel для FreeBSD и для Gentoo Linux.

Установка и настройка STunnel

  • Если это не было сделано ранее, установите OpenSSL.

    FreeBSD:
    cd /usr/ports/security/openssl
    make install
    Gentoo:
    emerge openssl
  • Установите STunnel.

    FreeBSD:
    cd /usr/ports/security/stunnel
    make && make install
    cp work/stunnel.cnf /usr/local/etc/stunnel/stunnel.conf
    Gentoo:
    emerge stunnel
  • Создайте каталог для хранения сертификатов и скопируйте скачанный с сайта сертификат и приватный ключ сервера.

    FreeBSD:
    mkdir /usr/local/etc/stunnel/certs
    cp certificate.crt /usr/local/etc/stunnel/certs
    cp privatekey.key /usr/local/etc/stunnel/certs
  • Gentoo:
    mkdir /etc/stunnel/certs
    cp certificate.crt /etc/stunnel/certs
    cp privatekey.key /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/certificate.crt расположение сертификата
    key = /usr/local/etc/stunnel/privatekey.pem расположение ключа
    chroot = /var/run/stunnel/ каталог для 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, для Gentoo меняются переменные cert и key:
    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 - адрес и порт, на который следует передавать расшифрованные данные для незащищенного сервиса.

    Если адрес не указан, то использоваться будут все доступные сетевые интерфейсы.
  • При необходимости, отредактируйте правила брандмауэра. Либо отредактируйте файл /etc/hosts.allow для запрета доступа к незащищенному сервису напрямую.
  • Запустите stunnel

    FreeBSD:
    stunel
    Gentoo:
    /etc/init.d/stunnel start

« Вернуться

    © 2007 MoCERT. All rights reserved. info@mocert.ru