Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  немного о безопасности
  VPN (PoPToP)
  PortSentry
  sysctl
  vtund
  ipfwcount
  FreeBSD & DSA
  mpd – легко и просто!
  mpd + freeradius + mysql
  Бронированный FreeBSD
  sshit
  DSL-G804V и FreeBSD 6.2
  portaudit
  OpenVPN
  Bluetooth proximity monitor
  ESET NOD32
  GEOM-ELI
  stunnel для pop3,smtp
  NOD32 mirror
  mpd5 + ipfw-nat
  Openvpn 2 офиса
  Hotspot
  OpenVPN+авторизация
  termlog
  mpd5 + сжатие и шифрование
  ipsec_vpnc
  TOR Сервер
  Snort на FreeBSD
  Arpwatch
  Установка и настройка OpenVPN
  NOD32_mirror_v2
  Fail2ban
  IPSec
  Перенос OpenVPN сервера
  Wpa/WPA2-Radius+EAP-TLS/EAP-PEAP
  nod32 mirror script
  MAC + apache
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Security —> stunnel для pop3,smtp

SSL защита для pop3,smtp,www с помощью stunnel

Автор: Morty.


Програмка stunnel, из описания:
stunnel - это SSL врапер между клиентом и локальным демоном.
Програмка предназначена для добавления SSL функциональности
таким службам как POP3, SMTP, IMAP, WEB

Установка

# cd /usr/ports/security/stunnel/
# make && make install && make cert && make clean

make cert - пишем если хотим чтобы сертификат был создан
сразу в момент установки, "средствами данного порта"
Опции при сборке я оставлял по умолчанию

   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   +                    Options for stunnel 4.21_1                      +
   + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
   + +   [ ] FORK      use the fork(3) threading model                + +
   + +   [X] PTHREAD   use the pthread(3) threading model (default)   + +
   + +   [ ] UCONTEXT  use the ucontext(3) threading model            + +
   + +   [ ] IPV6      enable IPv6 support                            + +
   + +                                                                + +
   + +                                                                + +
   + +                                                                + +
   + +                                                                + +
   + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +
   +                       [  OK  ]       Cancel                        +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

По окончанию сборки, будет предложено создать сертефикат,
отвечаем на вопросы, домен нада указать тот который будет
обслуживать данный сертефикат. Иначе в бровзере например будет не соответствие
сертификата и домена.

Country Name (2 letter code) [PL]:UA
State or Province Name (full name) [Some-State]:Ukraine
Locality Name (eg, city) []:Kiev
Organization Name (eg, company) [Stunnel Developers Ltd]:
Organizational Unit Name (eg, section) []:IT
Common Name (FQDN of your server) [localhost]:mail.domain.com
subject= /C=UA/ST=Ukraine/L=Kiev/O=Developers Ltd/OU=IT/CN=mail.domain.com
notBefore=Jan 14 11:11:09 2008 GMT
notAfter=Jan 13 11:11:09 2009 GMT
MD5 Fingerprint=9C:AF:06:54:00:91:D2:2A:70:59:16:21:E9:90:6B:66
/usr/bin/install -c -o root -g wheel -d -m 1770 /usr/local/var/lib/stunnel
chgrp nogroup /usr/local/var/lib/stunnel
if uname | grep SunOS; then  /usr/bin/install -c -o root -g wheel -d -m 755 
/usr/local/var/lib/stunnel/dev;  mknod
/usr/local/var/lib/stunnel/dev/zero c 13 12;  
chmod 666 /usr/local/var/lib/stunnel/dev/zero;  fi
===>  Cleaning for stunnel-4.21_1

Установка закончена, остаёться настроить, добавляем
в rc.conf
stunnel_enable="YES"
stunnel_pidfile="/var/tmp/stunnel/stunnel.pid"

копируем пример конфига и редактируем
cd /usr/local/etc/stunnel
cp stunnel.conf-sample stunnel.conf

Создаём папки, выставляем права
mkdit /var/tmp/stunnel
touch /var/tmp/stunnel/stunnel.pid
chown -R stunnel:nogroup /var/tmp/stunnel

Правим конфиг
/usr/local/etc/stunnel/stunnel.conf


; Sample stunnel configuration file by Michal Trojnara 2002-2006
; Some options used here may not be adequate for your particular configuration
; Please make sure you understand them (especially the effect of chroot jail)

; я здесь практически ничего не менял, только путь на фaйл сертификат
; и порты с которыми работает программа можно указывать петлю явно ,
; можно не указывать
; работает и так и так
; Certificate/key is needed in server mode and optional in client mode
cert = /usr/local/etc/stunnel/stunnel.pem
;key = /usr/local/etc/stunnel/mail.pem

; Protocol version (all, SSLv2, SSLv3, TLSv1)
sslVersion = all

; Some security enhancements for UNIX systems - comment them out on Win32
chroot = /var/tmp/stunnel
setuid = stunnel
setgid = nogroup
; PID is created inside chroot jail
pid = /stunnel.pid

; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
;compression = rle

; Workaround for Eudora bug
;options = DONT_INSERT_EMPTY_FRAGMENTS

; Authentication stuff
;verify = 2
; Don't forget to c_rehash CApath
; CApath is located inside chroot jail
;CApath = /certs
; It's often easier to use CAfile
;CAfile = /usr/local/etc/stunnel/certs.pem
; Don't forget to c_rehash CRLpath
; CRLpath is located inside chroot jail
;CRLpath = /crls
; Alternatively you can use CRLfile
;CRLfile = /usr/local/etc/stunnel/crls.pem

; Some debugging stuff useful for troubleshooting
;debug = 7
;output = stunnel.log

; Use it for client mode
;client = yes

; Service-level configuration

[pop3s]
accept  = 995
connect = 110
; здесь можно писать connect = 127.0.0.1:110 
; хотя и так работает
[imaps]
accept  = 993
connect = 143

[ssmtp]
accept  = 465
connect = 25

[https]
accept  = 443
connect = 80
TIMEOUTclose = 0

; vim:ft=dosini

можно попробовать запустить
/usr/local/etc/rc.d/stunnel start

смотрим ...
ps -ax | grep stunnel
64038  ??  Is     0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64033  p2  I      0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64034  p2  I      0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64035  p2  I      0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64036  p2  I      0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64037  p2  I      0:00,00 /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
64076  p2  RV+    0:00,00 grep stunnel (csh)

Запущено якобы несколько процессов, но это потому как
програмка с тредами

sockstat -4 | grep stunnel
stunnel  stunnel    64038 11 tcp4   *:995                 *:*
stunnel  stunnel    64038 12 tcp4   *:993                 *:*
stunnel  stunnel    64038 13 tcp4   *:465                 *:*
stunnel  stunnel    64038 14 tcp4   *:443                 *:*

Все, в итоге имеем защищенную (SSL) передачу данных по POP3, SMTP, IMAP, ну и на
юзерский вэб интерфейс можно включить SSL. Что тут и сделано.



размещено: 2008-01-17,
последнее обновление: 2008-03-12,
автор: Morty

оценить статью:

GR, 2008-01-18 в 3:47:39

Да - демон знатный!
В недавние времена без него было совсем тяжко. Сейчас полегче, к примеру все вышеозвученные сервисы умеют SSL своими силами :)

o2x, 2008-01-18 в 20:46:00

Советую:
sslVersion = all

www2, 2008-01-21 в 7:10:58

Присоединяюсь
sslVersion = all
Не все клиенты поддерживают SSLv3. Ставить SSLv2 тоже не советую - откажутся работать клиенты, поддерживающие SSLv3.

Morty, 2008-01-21 в 21:14:27

поправил на
sslVersion = all

dikens3, 2008-02-21 в 18:15:58

Сервер не может быть остановлен корректно
# ./stunnel stop
stunnel not running? (check /var/run/stunnel.pid)

Я добавил в /etc/rc.conf упоминание про pid.
stunnel_enable="YES"
stunnel_pidfile="/var/tmp/stunnel/stunnel.pid"

Anonymous, 2008-09-25 в 20:26:11

очепятка:
mkdit /var/tmp/stunnel

Cancer, 2009-01-20 в 13:05:11

Статья рабочая, но есть одно но в самой проге.
Для того что бы рестартануть ее например в конфиге что то поменяли, нужно сначала убить процесс весь, а потом запустить
//> killall stunnel
//> /usr/local/etc/rc.d/stunnel start

Morty, 2009-01-20 в 16:50:16

Дикенс писал что нада пид файл прописать тогда все будет хорошо
stunnel_enable="YES"
stunnel_pidfile="/var/tmp/stunnel/stunnel.pid"

проверял - нормально работает

Max, 2009-01-30 в 23:27:01

по поводу стопа.

stunnel_enable="YES"
stunnel_pidfile="/var/tmp/stunnel/stunnel.pid"

на 7.1 всё ок, на 5.4 только 1 раз останавливается, потом только через килл

netkent, 2010-03-20 в 19:01:22

Могу помочь с изданием ключей и SSL сертификатов, сделаю недорого. Пишите ICQ UIN 238987959 mail iguzeyev@mail.ru


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 18 чел.
За последние 30 мин было: 66 человек
За сегодня было
28849 показов,
806 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0455 секунд
Из них PHP: 37%; SQL: 63%; Число SQL-запросов: 77 шт.
У Вас отключено GZIP-сжатие в браузере. Размер страницы 109650