<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>root@fox:~# &#187; FreeBSD</title>
	<atom:link href="http://rootfox.com/blog/archives/category/freebsd/feed" rel="self" type="application/rss+xml" />
	<link>http://rootfox.com/blog</link>
	<description>Администрирование, IT Security, Безопасность, Услуги</description>
	<lastBuildDate>Wed, 07 Apr 2010 10:09:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Настройка авторизации на веб-сервере Apache по сертификату пользователя.</title>
		<link>http://rootfox.com/blog/archives/242</link>
		<comments>http://rootfox.com/blog/archives/242#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:44:02 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Безопасность вебсайтов]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=242</guid>
		<description><![CDATA[Исходные данные:
OC &#8211; FreeBSD или Linux, в наличии должен быть openssl
Веб-сервер &#8211; Apache 2.2 + mod_ssl (http://test.lan)
Необходимо:
Настроить SSL &#8211; издать сертификаты, настроить веб-сервер
При доступе к определенной директории веб-сервер должен запрашивать авторизацию по сертификату клиента.
Исходим из того что веб-сервер корректно установлен, у хоста есть полное FQDN и он корректно резолвится и доступен извне по портам 80/tcp [...]]]></description>
			<content:encoded><![CDATA[<p>Исходные данные:<br />
OC &#8211; FreeBSD или Linux, в наличии должен быть openssl<br />
Веб-сервер &#8211; Apache 2.2 + mod_ssl (http://test.lan)</p>
<p>Необходимо:<br />
Настроить SSL &#8211; издать сертификаты, настроить веб-сервер<br />
При доступе к определенной директории веб-сервер должен запрашивать авторизацию по сертификату клиента.</p>
<p>Исходим из того что веб-сервер корректно установлен, у хоста есть полное FQDN и он корректно резолвится и доступен извне по портам 80/tcp и 443/tcp.</p>
<p>В первую очередь необходимо будет:<br />
1) Настроить свой CA (Certificate Authority) для издания сертификатов веб-сервера и клиентов.<br />
2) Сгенерировать ключ и сертификат веб-сервера<br />
3) Сгенерировать и импортировать ключи и сертификаты веб-клиентов.</p>
<p>Приступим:<br />
<span id="more-242"></span><br />
Создадим директорию доступную только суперпользователю:</p>
<pre><code>
mkdir /CA
chmod 700 /CA
cd /CA
</code></pre>
<p>Сгенерируем закрытый ключ CA:</p>
<pre><code>
openssl genrsa -des3 -out ca.key 2048
Сгенерируем сертификат CA:
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
openssl x509 -in ca.crt -text -noout
</code></pre>
<p>Сгенерируем закрытый ключ вебсервера:</p>
<pre><code>
openssl genrsa -des3 -out webserver.key 1024
</code></pre>
<p>Сгенерируем запрос на сертификат вебсервера:</p>
<pre><code>
openssl req -new -key webserver.key -out webserver.csr
</code></pre>
<p>Сгенерируем сертификат вебсервера:</p>
<pre><code>
openssl x509 -req -in webserver.csr -out webserver.crt -sha1 -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
openssl x509 -in webserver.crt -text -noout
</code></pre>
<p>Защитим ключи от прочтения посторонними:</p>
<pre><code>
chmod 0400 *.key
</code></pre>
<p>Конфигурацию ssl я вынес из файла httpd.conf в файл httpd-ssl.conf,<br />
и указал в конфигурации httpd.conf:</p>
<pre><code>
Include etc/apache22/extra/httpd-ssl.conf
</code></pre>
<p>В файле httpd-ssl.conf внес следующие изменения:</p>
<pre><code>
#httpd-ssl.conf
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
SSLPassPhraseDialog builtin
SSLSessionCache        "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout  300
SSLMutex  "file:/var/run/ssl_mutex"
&lt;VirtualHost _default_:443&gt;
DocumentRoot "/usr/local/www/apache22/data"
ServerName test.lan:443 #имя указаное в Common Name сертификата веб-сервера
ServerAdmin you@example.com
ErrorLog "/var/log/httpd-error-ssl.log"
TransferLog "/var/log/httpd-access-ssl.log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/CA/webserver.crt"
SSLCertificateKeyFile "/CA/webserver.key"
SSLCertificateChainFile "/CA/ca.crt"
SSLCACertificateFile "/CA/ca.crt"

&lt;FilesMatch "\.(cgi|shtml|phtml|php)$"&gt;
 SSLOptions +StdEnvVars
&lt;/FilesMatch&gt;
&lt;Directory "/usr/local/www/apache22/cgi-bin"&gt;
 SSLOptions +StdEnvVars
&lt;/Directory&gt;

BrowserMatch ".*MSIE.*" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd-ssl_request.log" \
 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

&lt;/VirtualHost&gt;</code></pre>
<p>Запускаем вебсервер, проверяем работает ли, заходим по https, смотрим. Если все работает идем далее:<br />
Издадим сертификат пользователя, настроим доступ к определенной веб-папке по сертификату.</p>
<p>Внесем изменения в httpd-ssl.conf, добавим строки:</p>
<pre><code>
&lt;Directory /usr/local/www/apache22/data/ssl&gt; #путь к веб-корню у меня /usr/local/www/apache22/data/
 SSLVerifyClient require
 SSLVerifyDepth 1
&lt;/Directory&gt;</code></pre>
<p>Издадим сертификат пользователя:</p>
<pre><code>
cd /CA
openssl genrsa -des3 -out fox.key 1024
openssl req -new -key fox.key -out fox.csr
openssl x509 -req -in fox.csr -out fox.crt -sha1 -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650
openssl pkcs12 -export -in fox.crt -inkey fox.key -name "fox cert" -out fox.p12
</code></pre>
<p>В процессе создания и импорта закрытого ключа, запрашивается пароль &#8211; необходимо внести. Затем переносим файл.p12 на ту систему где планируется его использование, переносим его либо в личное хранилище сертификатов, если ОС клиента &#8211; Windows, либо импортируем в хранилище Firefox`a, либо заливаем в аппаратный ключ или смарткарту.<br />
Проверям. Пользуемся.</p>
<p>P.S. Немного сумбурно описал, но это в первую очередь для себя =)</p>
<p>P.P.S: Есть такой момент &#8211; при перезапуске вебсервера будет требоваться ввести пароль закрытого ключа вебсервера в консоли. Это определяется параметром</p>
<pre><code>SSLPassPhraseDialog builtin
</code></pre>
<p>Решается следующим образом: в каталоге доступном только пользователю root создаем скрипт.</p>
<p>У меня, например, /root/webpass.sh</p>
<pre><code>
#!/bin/sh
echo "somepassword"
</code></pre>
<p>И в конфиге прописал:</p>
<pre><code>SSLPassPhraseDialog exec:/root/webpass.sh
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/242/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>К вопросу о 0-day FreeBSD local root exploit.</title>
		<link>http://rootfox.com/blog/archives/236</link>
		<comments>http://rootfox.com/blog/archives/236#comments</comments>
		<pubDate>Tue, 01 Dec 2009 18:32:31 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=236</guid>
		<description><![CDATA[Всплыла уязвимость в FreeBSD, суть которой кроется в возможности запуска с повышенными привилегиями _init блока сторонней библиотеки,  загруженной злоумышленником через подстановку переменной окружения  LD_PRELOAD, при выполнении suid-программы через функцию execl().
Код эксплоита можно найти по ссылке: http://seclists.org/fulldisclosure/2009/Nov/371
Патч еще не вышел, но вроде, как говорят некоторые лица, уже есть пострадавшие.
Во всей этой истории мне не [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-237" title="l33t haxor" src="http://rootfox.com/blog/uploads/2009/12/l33t-haxor.jpg" alt="l33t haxor" width="290" height="400" />Всплыла уязвимость в FreeBSD, суть которой кроется в возможности запуска с повышенными привилегиями _init блока сторонней библиотеки,  загруженной злоумышленником через подстановку переменной окружения  LD_PRELOAD, при выполнении suid-программы через функцию execl().</p>
<p>Код эксплоита можно найти по ссылке: http://seclists.org/fulldisclosure/2009/Nov/371</p>
<p>Патч еще не вышел, но вроде, как говорят некоторые лица, уже есть пострадавшие.</p>
<p>Во всей этой истории мне не понятно только одно: а зачем вообще держать компилятор на сервере? Или если держать то зачем разрешать его использование пользователями?</p>
<p>Ведь вы же не держите газосварочный аппарат перед входной дверью своего дома.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/236/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Анализ произвольных логов самописными скриптами</title>
		<link>http://rootfox.com/blog/archives/195</link>
		<comments>http://rootfox.com/blog/archives/195#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:31:14 +0000</pubDate>
		<dc:creator>468</dc:creator>
				<category><![CDATA[Checkpoint]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=195</guid>
		<description><![CDATA[Стоит у нас на работе оранжевая такая Safe@Office 500 &#8220;дура&#8221; от CheckPoint. Потипу роутер + антивирус, МЭ, VPN и все-что-нужно-для-маленького офиса.
Собственно брали потестить, но прижилась. Одна проблема &#8211; отчеты, она их не умеет, точнее показывает лог за небольшой период (ну или я не нашел   ).  Они с одной стороны не нужны никому, а [...]]]></description>
			<content:encoded><![CDATA[<p>Стоит у нас на работе оранжевая такая Safe@Office 500 &#8220;дура&#8221; от CheckPoint. Потипу роутер + антивирус, МЭ, VPN и все-что-нужно-для-маленького офиса.</p>
<p>Собственно брали потестить, но прижилась. Одна проблема &#8211; отчеты, она их не умеет, точнее показывает лог за небольшой период (ну или я не нашел <img src='http://rootfox.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).  Они с одной стороны не нужны никому, а с другой  стороны всетаки обидно &#8211; может кто то к нам ломится, а я и не знаю. По идее я и не должен знать,  должность другая,  но мне же интересно!<br />
<span id="more-195"></span><br />
В итоге давно, когда читал про syslog, завернул какие-то логи с этой &#8220;дуры&#8221; на другую машину, и там они долго-долго копились. А тут мы взяли сотрудника на испытательный срок, он его успешно провалил и стало интересно, чем же он вместо работы занимался&#8230;</p>
<p>Итак &#8211; общий смысл такой, сначала делаем из общего лога (логов) интересующую выборку (например все пакеты от &#8220;Васи&#8221;, или все &#8220;прибитые пакеты&#8221;), и анализируем ее, например, по следующим критериям:</p>
<p><strong>&#8220;Анализ пользователя&#8221;</strong><br />
1. Список хостов, которые посещал Вася, (с сортировкой по популярности + первые 20 отдельно резолвятся в имена)<br />
2. Список портов, на который ломился Вася (с сортировкой по популярности)</p>
<p><strong>Все &#8220;прибитые пакеты&#8221;</strong><br />
1. Список таргет-хостов &#8211; &#8220;куда хотели прорваться пакеты&#8221; с сортировкой по популярности<br />
2. Отдельный список из 20 таргет хостов, с именами (отрезолвлеными).<br />
3. Список популярных заблокированных портов (с сортировкой по популярности)<br />
4. Список сорс-хостов &#8211; &#8220;потенциальных нарушителей&#8221;.</p>
<p>В моем случае стало видно что:<br />
1. В инет рвутся восновном внутренние виртуалки, которым настройки прописаны но доступ не дан.<br />
2. Нарушители рвутся восновном на корневые днс сервера, и на сервера апдейтов касперского. см п.1.<br />
3. По портам нарушители DNS, SAMBA и DHCP. Что впрочем правильно (DNS наружу разрешен только нашему DNS)<br />
4. С наружи к нам особо никто не ломится.</p>
<p><strong>Выводы</strong>..  Скрипты в общем то жуть какие простые, но в этом и в общем соль, все оказалось просто. Но с точки зрения статистики неудобно анализировать пользователей &#8211; мало что говорят цифры 20 000 посещений сервера крупного хостера, например cp333.agava.net&#8230; но &#8211; каков лог, таков и приход. <img src='http://rootfox.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Скрипты вложил, основные скрипты<br />
analyse [Ip.addr.e.s] (анализ пользователя)<br />
secreport (отчет по заблокированным пакетам)</p>
<p>При этом &#8220;внутре&#8221; этих скриптов нужно прописать путь к логам и куда класть статистику.</p>
<p><strong>Кусок изначального лога:</strong></p>
<pre><code>Nov  1 00:00:00 webserver newsyslog[19521]: logfile turned over
Nov  1 00:00:01 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:08 00:08:da:56:1c:90 &lt;50000&gt; Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1073 Dst:94.100.177.6 DPort:110 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:34 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:17 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:128.8.10.90 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:44 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:36 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.41.0.4 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:46 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:38 00:08:da:56:1c:90 &lt;50000&gt; Accepted Outbound packet (Custom rule) Src:192.168.0.161 SPort:1074 Dst:74.125.79.111 DPort:995 IPP:6 Rule:8 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:198.32.64.12 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:47 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:40 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:193.0.14.129 DPort:53 IPP:17 Rule:39 Interface:LAN
Nov  1 00:02:49 ourhost.ourdomain.spb.ru 2009 Nov  1 00:05:44 00:08:da:56:1c:90 &lt;50000&gt; Rejected Outbound packet (Custom rule) Src:192.168.5.146 SPort:1036 Dst:192.36.148.17 DPort:53 IPP:17 Rule:39 Interface:LAN</code>
</pre>
<p><strong>Пример отчета (заблокированные порты):</strong></p>
<pre><code>37757 53
3650 137
1368 67
288 80
179 123
63 138
22 5222
18 8080
8 6881
6 2002</code></pre>
<p><strong>Порты пользователя:</strong></p>
<pre><code>10820 80
240 443
68 53
10 5222
8 6881
6 5190
6 123</code></pre>
<p><strong>Заблокированные таргет-хосты:</strong></p>
<pre><code>4338 193.0.14.129 129.14.0.193.in-addr.arpa domain name pointer k.root-servers.net.
4330 198.41.0.4 4.0.41.198.in-addr.arpa domain name pointer a.root-servers.net.
4330 198.32.64.12 12.64.32.198.in-addr.arpa domain name pointer as-20144-has-not-registered-the-use-of-this-prefix.
4329 192.36.148.17 17.148.36.192.in-addr.arpa domain name pointer i.root-servers.net.
4311 192.58.128.30 30.128.58.192.in-addr.arpa domain name pointer j.root-servers.net.
3722 202.12.27.33 33.27.12.202.in-addr.arpa domain name pointer m.root-servers.net.</code></pre>
<p><strong>Статистика по хостам пользователя:</strong></p>
<pre><code>242 88.212.196.101 101.196.212.88.in-addr.arpa is an alias for 101.64/26.196.212.88.in-addr.arpa. 101.64/26.196.212.88.in-addr.arpa domain name pointer host01.rax.ru.
233 91.212.60.162 162.60.212.91.in-addr.arpa domain name pointer h0001.friendit.net.
233 78.140.142.125 Host 125.142.140.78.in-addr.arpa. not found: 3(NXDOMAIN)
223 88.212.196.102 102.196.212.88.in-addr.arpa is an alias for 102.64/26.196.212.88.in-addr.arpa. 102.64/26.196.212.88.in-addr.arpa domain name pointer host02.rax.ru.
219 94.100.178.219 219.178.100.94.in-addr.arpa domain name pointer top9.mail.ru.
191 83.222.4.246 Host 246.4.222.83.in-addr.arpa. not found: 3(NXDOMAIN)
191 217.73.200.222 222.200.73.217.in-addr.arpa domain name pointer tns-counter.ru.
190 93.186.225.1 1.225.186.93.in-addr.arpa domain name pointer cs11.vkontakte.ru.
175 174.37.230.144 144.230.37.174.in-addr.arpa domain name pointer 174.37.230.144-static.reverse.softlayer.com.
160 93.186.224.23 23.224.186.93.in-addr.arpa domain name pointer cs23.vkontakte.ru.</code></pre>
<p><strong>Пример работы:</strong></p>
<pre><code>[dimka@webserver ~]$ analyze 192.168.0.131
rm: /hdd2/stat/192.168.0.131.dat: No such file or directory
rm: /hdd2/stat/192.168.0.131.hosts: No such file or directory
rm: /hdd2/stat/192.168.0.131.stat: No such file or directory
analysing /var/log/checkpoint.0.bz2...
analysing /var/log/checkpoint...
get dest ports...
counting port stats...
get unique destinations...
counting destination stats...
sorting...
resolving...
[dimka@webserver ~]$</code></pre>
<p>PS врятли кому то интересно, но файл со скриптом я счас попробую залить. Хотябы для себя )  <a href="http://rootfox.com/blog/uploads/2009/11/loganalyse.zip">Архив</a></p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/195/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Поиск дубликатов файлов.</title>
		<link>http://rootfox.com/blog/archives/131</link>
		<comments>http://rootfox.com/blog/archives/131#comments</comments>
		<pubDate>Tue, 14 Jul 2009 21:30:44 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=131</guid>
		<description><![CDATA[Сначала хотел написать скрипт. На ум пришла идея использования md5sum или openssl для получения хешей файлов и их сравнения. Но лень потянула в гугл. Оказывается есть и достаточно неплохое решение &#8211; fdupes
Например можно вот так:

root@fox:~# fdupes -r /home/netf0x/Desktop/ -d
[1] /home/netf0x/Desktop/Temp/Penetration Test_files/marktree.js
[2] /home/netf0x/Desktop/Temp/report template_files/marktree.js
Set 1 of 4, preserve files [1 - 2, all]:

А если указать параметр [...]]]></description>
			<content:encoded><![CDATA[<p>Сначала хотел написать скрипт. На ум пришла идея использования md5sum или openssl для получения хешей файлов и их сравнения. Но лень потянула в гугл. Оказывается есть и достаточно неплохое решение &#8211; <a href="http://premium.caribe.net/~adrian2/fdupes.html">fdupes</a></p>
<p>Например можно вот так:<br />
<code><br />
root@fox:~# fdupes -r /home/netf0x/Desktop/ -d<br />
[1] /home/netf0x/Desktop/Temp/Penetration Test_files/marktree.js<br />
[2] /home/netf0x/Desktop/Temp/report template_files/marktree.js<br />
Set 1 of 4, preserve files [1 - 2, all]:<br />
</code></p>
<p>А если указать параметр -N (&#8211;noprompt) то и спрашивать не будет сохраняя только ту версию что под номером 1.</p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/131/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Простой проброс портов в FreeBSD посредством natd</title>
		<link>http://rootfox.com/blog/archives/71</link>
		<comments>http://rootfox.com/blog/archives/71#comments</comments>
		<pubDate>Sun, 12 Apr 2009 12:13:37 +0000</pubDate>
		<dc:creator>netf0x</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://rootfox.com/blog/?p=71</guid>
		<description><![CDATA[В /etc/rc.conf – 
natd_enable="YES"
natd_interface="rl1" #внутренний интерфейс шлюза
natd_flags="-f /etc/natd.conf"
В /etc/natd.conf –
same_ports yes
use_sockets yes
redirect_port tcp 192.168.0.1:81 81 #адрес и порт локальной машины пробел порт на внешнем интерфейсе
В настройки файервола, во избежание избыточных проверок сразу после правил НАТ-а – 
# включаем nat
ipfw add divert 8668 ip from any to [внешний интерфейс шлюза] in via rl1
#Разрешаем общение с внешнего [...]]]></description>
			<content:encoded><![CDATA[<p><strong>В /etc/rc.conf – </strong><br />
<code>natd_enable="YES"</code><br />
<code>natd_interface="rl1" #внутренний интерфейс шлюза</code><br />
<code>natd_flags="-f /etc/natd.conf"</code></p>
<p><strong>В /etc/natd.conf –</strong><br />
<code>same_ports yes</code><br />
<code>use_sockets yes</code><br />
<code>redirect_port tcp 192.168.0.1:81 81 #адрес и порт локальной машины пробел порт на внешнем интерфейсе</code></p>
<p><strong>В настройки файервола, во избежание избыточных проверок сразу после правил НАТ-а – </strong></p>
<p># включаем nat<br />
<code>ipfw add divert 8668 ip from any to [внешний интерфейс шлюза] in via rl1</code><br />
#Разрешаем общение с внешнего мира с заданным хостом-портом<br />
<code>ipfw allow tcp from any to 192.168.0.1 dst-port 81 in via rl1 setup</code></p>
]]></content:encoded>
			<wfw:commentRss>http://rootfox.com/blog/archives/71/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
