
U
ser
A
nd
LINUX
Console
ualinux.com
8
U & L
1 1 - 0 1
test $USE_DH -eq 0 opensll
gendh 512 » stunnel.pem
openssl x509 -subject
-dates -fi ngerprint -noout
-in stunnel.pem
chmod 600 stunnel.pem rm -f
stunnel. rr.d
Если был вызван сценарий
generate-stunnel-key.sh не из каталога
/etc/stunnel, нужно переместить .pem-
файлы в каталог /etc/stunnel.
(От редакции:
«Для лучшего понимания процес-
са генерации сертификатов полезно
разобраться в нем более детально.
В одном из следующих номеров мы
опубликуем развернутый материал о
работе с Openssl.»)
Конфигурация
После этого надо создать конфи-
гурационный файл для Stunnel. Мож-
но создать конфигурационный файл
для туннелирования РОРЗ-сервера,
но если нужно применять Stunnel для
туннелирования другого ТСР-сервиса,
то надо будет модифицировать кон-
фигурацию Stunnel.
Stunnel поддерживает chroot-
окружения, поэтому надо создать
группу и пользователя, от имени кото-
рых будет запускаться Stunnel, а также
структуру каталогов /chroot/stunnel:
# mkdir -p /chroot/stunnel
/chroot/stunnel/etc /
chroot/var /chroot/stunnel/
var/run
# groupadd stunnel
# useradd -g stunnel -s/
sbin/nologin
Нужно создать файл /etc/stunnel/
stunnel.conf и добавить в него следую-
щие записи:
сhroot = /chroot/stunnel
Все, что теперь осталось – запу-
стить Stunnel (и конечно же, обеспе-
чить его автоматический запуск):
# stunnel /etc/stunnel/
stunnel.conf
www.suvan.ru
setuid = stunnel
setgid = stunnel
pid = /stunnel.pid
debug = mail.notice
client = no
Кроме этого можно указать место-
расположение только что созданного
сертификата:
сert = /etc/stunnel/
stunnel.pem
Путь к сертификату надо указы-
вать абсолютный (а не относительно
chroot-окружения), потому что серти-
фикат загружается до вызова chroot().
Это позволяет хранить сертификаты
за пределами «песочницы», что обе-
спечивает дополнительную безопас-
ность.
Теперь надо подумать о клиентах.
Конечно, самый безопасный вариант
когда клиенты предоставляют свои
сертификаты, но это и самый непрак-
тичный результат: представьте себе
лицо обычного пользователя, кото-
рому надо сказать: «– Создайте серти-
фикат Х509». Поэтому с практической
точки зрения лучшим будет вариант,
когда пользователи будут пропускать-
ся как с сертификатом, так и без него:
verify = 1
Осталось только добавить опции
РОРЗ:
[рорЗ server]
accept = 995
connect = localhost:pop3
Первая строка [рорЗ server] при-
меняется для повышения читабель-
ности конфигурационного файла, 995
– это стандартный порт для SPOP (этот
порт будет прослушивать spop), а тре-
тья строка устанавливает имя узла и
порт, которому будет перенаправлено
(forward) соединение.
Наблюдение за сетевыми интер-
фейсами в Linux обычно не представ-
ляет собой какой-либо сложности.
При помощи таких утилит как sar, Iperf,
и vnStat администратор может легко и
удобно отслеживать активность сете-
вых интерфейсов, при это можно на-
блюдать как мгновенную активность,
так и за последнее время. Сегодня мы
рассмотрим известную многим ути-
литу vnStat. Утилита vnStat ведёт лог
трафика за определённый период и
хранит собранную статистику по каж-
дому выбранному администратором
интерфейсу, предоставляя доступ к
ней в случае необходимости. vnStat,
в отличие от снифферов, например
Wireshark, не собирает информацию
непосредственно с сетевого интер-
фейса, а анализирует данные, предо-
ставляемые ядром через файловые
системы proc и sys, что даёт возмож-
ность использовать эту утилиту даже
непривилегированным пользовате-
лем.
Установка
vnStat присутствует в стандартных
репозиториях Ubuntu, так что уста-
новка не должна вызвать каких-либо
осложнений:
sudo apt-get install vnstat
vnStat:
мониторинг
сетевых
интерфейсов