<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.p3.ru/index.php?action=history&amp;feed=atom&amp;title=STunnel</id>
	<title>STunnel - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.p3.ru/index.php?action=history&amp;feed=atom&amp;title=STunnel"/>
	<link rel="alternate" type="text/html" href="https://wiki.p3.ru/index.php?title=STunnel&amp;action=history"/>
	<updated>2026-04-30T17:21:30Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.p3.ru/index.php?title=STunnel&amp;diff=380&amp;oldid=prev</id>
		<title>TTK в 10:56, 23 августа 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.p3.ru/index.php?title=STunnel&amp;diff=380&amp;oldid=prev"/>
		<updated>2012-08-23T10:56:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;В этой статье описан процесс быстрого поднятия шифрованного туннеля, который может служить для самых различных целей для VDS с ОС FreeBSD.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что для создания безопасной и устойчивой к сниффингу прокси-цепочки (ну или любого другого сервиса), необходимо создание шифрованного туннеля. Сразу скажу о том, что VPN на эту роль ну никак не подходит по той простой причине, что ни OpenVPN, ни какие-либо другие реализации VPN под текущей реализацией виртуализации FreeBSD не работают!&lt;br /&gt;
&lt;br /&gt;
Итак, начнём.&lt;br /&gt;
&lt;br /&gt;
Первое, что нужно сделать - это сконфигурировать сам STunnel:&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/ports/security/stunnel&lt;br /&gt;
 # make config&lt;br /&gt;
&lt;br /&gt;
Советую выбрать потоковую модель &amp;quot;Ucontext&amp;quot;, ибо все прочие на моей машине приводили к полному зависанию STunnel после определённого периода работы.&lt;br /&gt;
&lt;br /&gt;
Далее:&lt;br /&gt;
&lt;br /&gt;
 # make install clean&lt;br /&gt;
&lt;br /&gt;
Этим самым мы скомпилируем, установим STunnel и сразу же удалим временные файлы, которые занимают довольно приличное дисковое пространство.&lt;br /&gt;
&lt;br /&gt;
На этом, фактически, сам процесс установки завершён. Далее следует созать сертификаты безопасности и настроить сам STunnel.&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/local/etc/stunnel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Самостоятельно создаем ключи и сертификаты со сроком действия 1 год. В связи с тем, что stunnel не умеет работать с ключами, защищенными паролями, используем опцию -nodes.&lt;br /&gt;
&lt;br /&gt;
 # openssl req -new -x509 -days 365 -nodes -out stunnel.cert -keyout stunnel.key&lt;br /&gt;
 Generating a 1024 bit RSA private key&lt;br /&gt;
 ................++++++&lt;br /&gt;
 ......................++++++&lt;br /&gt;
 writing new private key to &amp;#039;stunnel.key&amp;#039;&lt;br /&gt;
 -----&lt;br /&gt;
 You are about to be asked to enter information that will be incorporated&lt;br /&gt;
 into your certificate request.&lt;br /&gt;
 What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;
 There are quite a few fields but you can leave some blank&lt;br /&gt;
 For some fields there will be a default value,&lt;br /&gt;
 If you enter &amp;#039;.&amp;#039;, the field will be left blank.&lt;br /&gt;
 -----&lt;br /&gt;
 Country Name (2 letter code) [AU]:RU&lt;br /&gt;
 State or Province Name (full name) [Some-State]:Rostov region&lt;br /&gt;
 Locality Name (eg, city) []:Rostov-on-Don&lt;br /&gt;
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:home&lt;br /&gt;
 Organizational Unit Name (eg, section) []:Test Lab&lt;br /&gt;
 Common Name (eg, YOUR name) []:freebsd410.unreal.net&lt;br /&gt;
 Email Address []:tigrisha@freebsd410.unreal&lt;br /&gt;
&lt;br /&gt;
Обращаю внимание на то, что Email Address и Common Name должны соответствовать обратной DNS зоне вашего сервера (PTR-запись), иначе это может привести к различным негативным последствиям.&lt;br /&gt;
&lt;br /&gt;
Далее создаёте сам файл конфигурации:&lt;br /&gt;
&lt;br /&gt;
 # echo &amp;quot;&lt;br /&gt;
 cert = /usr/local/etc/stunnel/stunnel.cert&lt;br /&gt;
 key = /usr/local/etc/stunnel/stunnel.key&lt;br /&gt;
 ; Protocol version (all, SSLv2, SSLv3, TLSv1)&lt;br /&gt;
 sslVersion = SSLv3&lt;br /&gt;
&lt;br /&gt;
 ; Some security enhancements for UNIX systems - comment them out on Win32&lt;br /&gt;
 ;chroot = /var/tmp/stunnel&lt;br /&gt;
 ;setuid = stunnel&lt;br /&gt;
 ;setgid = stunnel&lt;br /&gt;
 ; PID is created inside chroot jail&lt;br /&gt;
 ;pid = /stunnel.pid&lt;br /&gt;
&lt;br /&gt;
 ;engineNum = 1&lt;br /&gt;
 ciphers = AES256-SHA&lt;br /&gt;
&lt;br /&gt;
 ; Some performance tunings&lt;br /&gt;
 socket = l:TCP_NODELAY=1&lt;br /&gt;
 socket = r:TCP_NODELAY=1&lt;br /&gt;
 compression = rle &lt;br /&gt;
&lt;br /&gt;
 ; Workaround for Eudora bug&lt;br /&gt;
 options = DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
&lt;br /&gt;
 ; Authentication stuff&lt;br /&gt;
 ;verify = 2&lt;br /&gt;
 ; Don&amp;#039;t forget to c_rehash CApath&lt;br /&gt;
 ; CApath is located inside chroot jail&lt;br /&gt;
 ;CApath = /certs&lt;br /&gt;
 ; It&amp;#039;s often easier to use CAfile&lt;br /&gt;
 ;CAfile = /usr/local/etc/stunnel/certs.pem&lt;br /&gt;
 ; Don&amp;#039;t forget to c_rehash CRLpath&lt;br /&gt;
 ; CRLpath is located inside chroot jail&lt;br /&gt;
 ;CRLpath = /crls&lt;br /&gt;
 ; Alternatively you can use CRLfile&lt;br /&gt;
 ;CRLfile = /usr/local/etc/stunnel/crls.pem &lt;br /&gt;
&lt;br /&gt;
 ; Some debugging stuff useful for troubleshooting&lt;br /&gt;
 debug = 4&lt;br /&gt;
 output = /var/log/stunnel.log&lt;br /&gt;
&lt;br /&gt;
 ; Use it for client mode&lt;br /&gt;
 ;client = yes &lt;br /&gt;
&lt;br /&gt;
 [proxy]&lt;br /&gt;
 accept = 5131&lt;br /&gt;
 connect = 127.0.0.1:_порт_вашего_http_прокси_&lt;br /&gt;
 TIMEOUTclose = 0&lt;br /&gt;
&lt;br /&gt;
 [sproxy]&lt;br /&gt;
 accept = 5133&lt;br /&gt;
 connect = 127.0.0.1:_порт_вашего_https_прокси_&lt;br /&gt;
 TIMEOUTclose = 0&lt;br /&gt;
 &amp;quot; &amp;gt; stunnel.conf&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На это серверная часть настройки STunnel завершена. У клиента же потребуется указать в конфигурации всё то же самое, за исключением того, что необходимо закомментировать строчки с путями к сертификату и ключу, раскомментировать строку &amp;quot;client = yes&amp;quot;, а также подправить секцию с сервисами следующим образом:&lt;br /&gt;
&lt;br /&gt;
 [proxy]&lt;br /&gt;
 accept = 5131&lt;br /&gt;
 connect = _ip_адрес_вашего_сервера_:5131&lt;br /&gt;
 TIMEOUTclose = 0&lt;br /&gt;
&lt;br /&gt;
 [sproxy]&lt;br /&gt;
 accept = 5133&lt;br /&gt;
 connect = _ip_адрес_вашего_сервера_:5133&lt;br /&gt;
 TIMEOUTclose = 0&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь в браузере необходимо указать в настройках прокси следущее:&amp;lt;br /&amp;gt;&lt;br /&gt;
 HTTP-прокси: 127.0.0.1:5131&amp;lt;br /&amp;gt;&lt;br /&gt;
 HTTPS-прокси: 127.0.0.1:5133&lt;br /&gt;
&lt;br /&gt;
Всё, теперь данные от Вас до Вашего прокси-сервера надёжно защищены от сниффинга.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Сервисы]]&lt;/div&gt;</summary>
		<author><name>TTK</name></author>
	</entry>
</feed>