Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 4. Безопасность Вперед

Пакет Stunnel-4.46

Знакомимся с пакетом Stunnel

В пакете Stunnel находится программа, которая позволит вам шифровать любые соединения TCP внутри слоя SSL (Secure Sockets Layer), так что вы сможете легко общаться с клиентами через защищенные каналы. Пакет Stunnel можно использовать для добавления функций SSL к обычно используемым демонам Inetd, таким как POP-2, POP-3 и сервера IMAP, к автономно работающим демонам, таким как NNTP, SMTP и HTTP, и при туннелировании PPP через сетевые сокеты, причем изменять исходный код в пакетах серверов не потребуется.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

Зависимости пакета Stunnel

Обязательные

OpenSSL-1.0.0e

Необязательные

TCP Wrappers-7.6

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/stunnel

Установка пакета Stunnel

Демон stunnel будет запускаться непривилегированным пользователем в изолированной среде chroot. В роли пользователя root с помощью следующих команд создайте нового пользователя и группу:

groupadd -g 51 stunnel &&
useradd -c "Stunnel Daemon" -d /var/lib/stunnel \
        -g stunnel -s /bin/false -u 51 stunnel

Замечание

Чтобы запустить демон stunnel, нужен подписанный сертификат SSL и закрытый ключ. Если сертификат у вас есть или если вы уже создали подписанный сертификат SSL, который вы хотите использовать, скопируйте его в /etc/stunnel/stunnel.pem перед тем, как начать сборку пакета (обеспечьте, чтобы только пользователь root имел право на чтение и запись), в противном случае вам будет выдано приглашение создать его в процессе установки. Файл .pem должен иметь следующий формат:

-----BEGIN PRIVATE KEY-----
<много зашифрованных строк закрытого ключа>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<много зашифрованных строк сертификата>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<зашифрованные строки параметров для dh>
-----END DH PARAMETERS-----

Установите пакет Stunnel с помощью следующих команд:

sed -i 's|nogroup|stunnel|g' configure &&
./configure --prefix=/usr \
            --sysconfdir=/etc \
            --localstatedir=/var \
            --disable-libwrap &&
make

В этом пакете набор тестов отсутствует.

Теперь в роли пользователя root выполните:

make docdir=/usr/share/doc/stunnel-4.46 install

Пояснение команд

--sysconfdir=/etc: Этот параметр указывает, что конфигурационным директорием будет /etc, а не /usr/etc.

--localstatedir=/var: Этот параметр указывает, чтобы при установке пакета использовался каталог /var/lib/stunnel, а не создавался и использовался каталог /usr/var/stunnel.

--disable-libwrap: Этот параметр необходим, если у вас не установлен tcpwrappers. Удалите этот параметр, если tcpwrappers установлен.

make docdir=... install: Эта команда устанавливает пакет, изменяет каталог, в котором устанавливается документация, в соответствие с общепринятым соглашением об именовании и, если у вас в директории /etc/stunnel нет копии файла stunnel.pem, запрашивает у вас необходимую информацию, чтобы создать такой файл. Убедитесь, что в ответ на запрос

Common Name (FQDN of your server) [localhost]:

вы указали имя или IP-адрес, которые будут использоваться для доступа к сервису (сервисам).

Конфигурирование пакета Stunnel

Конфигурационные файлы

/etc/stunnel/stunnel.conf

Подробнее о конфигурировании

В роли пользователя root создайте каталог, используемый файлом .pid, который создается, когда демон Stunnel запускается:

install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run

Затем создайте базовый конфигурационный файл /etc/stunnel/stunnel.conf, выполнив следующие команды в роли пользователя root:

cat > /etc/stunnel/stunnel.conf << "EOF" &&
; File: /etc/stunnel/stunnel.conf

pid    = /run/stunnel.pid
chroot = /var/lib/stunnel
client = no
setuid = stunnel
setgid = stunnel
cert   = /etc/stunnel/stunnel.pem

EOF
chmod -v 644 /etc/stunnel/stunnel.conf

Наконец, необходимо добавить в конфигурационный файл сервис (сервисы), которые вы хотите шифровать. Формат следующий:

[<service>]
accept  = <hostname:portnumber>
connect = <hostname:portnumber>

Если вы используете Stunnel для шифрования демона, запускаемого с помощью [x]inetd, вам может понадобиться отключить демон в файле /etc/[x]inetd.conf и включить соответствующий сервис <service>_stunnel. Возможно, вам также придется добавить соответствующую запись в /etc/services.

Для полного объяснения команд и синтаксиса, используемого в конфигурационном файле, запустите команду man stunnel. Чтобы посмотреть пример BLFS фактической настройки сервиса шифрования stunnel, прочитайте раздел "Configuring SWAT" ("Настройка SWAT") в инструкциях по Samba.

Загрузочный скрипт

Чтобы автоматически запускать демон stunnel, когда система перезагружается, установите загрузочный скрипт /etc/rc.d/init.d/stunnel, имеющийся в пакете blfs-bootscripts-20111219.

make install-stunnel

Описание пакета

Установленные программы: stunnel и stunnel3

Установленные библиотеки: libstunnel.so

Установленные директории: /etc/stunnel, /usr/lib/stunnel, /usr/share/doc/stunnel-4.46 и /var/lib/stunnel

Краткое описание

stunnel

это программа, предназначенная для использования в качестве обертки шифрования SSL между удаленными клиентами и локальными (запускаемые с помощью {{x}inetd) или удаленными серверами.

stunnel3

это скрипт-обвертка Perl для использования синтаксиса версии stunnel 3.x с версиями stunnel >=4.05.

libstunnel.so

содержит функции API, необходимые пакету Stunnel.

Перевод сделан с варианта оригинала, датированного 2011-11-12 04:33:41 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет Shadow-4.1.4.3   Пакет Sudo-1.8.2