aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R
diff options
context:
space:
mode:
authorTaras Korenko <taras@FreeBSD.org>2010-08-18 16:32:06 +0000
committerTaras Korenko <taras@FreeBSD.org>2010-08-18 16:32:06 +0000
commitb029def3dec11ccd08febca7369899a5565d3519 (patch)
tree2cfaaddcf4a28965784b5cebd37ffd04820b2247 /ru_RU.KOI8-R
parent4fbfd04300c5e0c7c13ff1ee0ed87e9e0818b71c (diff)
downloaddoc-b029def3dec11ccd08febca7369899a5565d3519.tar.gz
doc-b029def3dec11ccd08febca7369899a5565d3519.zip
MFen: handbook/firewalls/chapter.sgml 1.70 --> 1.94
Notes
Notes: svn path=/head/; revision=36264
Diffstat (limited to 'ru_RU.KOI8-R')
-rw-r--r--ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml485
1 files changed, 288 insertions, 197 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
index ea94b84a16..42a6cd9a60 100644
--- a/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml
@@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml,v 1.16 2006/06/20 18:02:32 marck Exp $
- Original revision: 1.70
+ Original revision: 1.94
XXX: contains non-translated sections! XXX
-->
@@ -47,7 +47,7 @@
<para>Межсетевые экраны (firewall, брандмауэр)
делают возможной фильтрацию входящего и исходящего
- трафика, идущего через систему. Межсетевой экран использует один
+ трафика, идущего через вашу систему. Межсетевой экран использует один
или более наборов <quote>правил</quote> для проверки сетевых
пакетов при их входе или выходе через сетевое соединение, он
или позволяет прохождение трафика или блокирует его. Правила
@@ -73,9 +73,10 @@
<listitem>
<para>Для поддержки преобразования сетевых адресов (network
- address translation, <acronym>NAT</acronym>), что позволяет
- использование во внутренней сети приватных
- <acronym>IP</acronym> адресов (либо через один выделенный
+ address translation, <acronym>NAT</acronym>), что дает возможность
+ задействовать во внутренней сети приватные <acronym>IP</acronym>
+ адреса и совместно использовать одно подключение к сети Интернет
+ (либо через один выделенный
<acronym>IP</acronym> адрес, либо через адрес из пула
автоматически присваиваемых публичных адресов).</para>
</listitem>
@@ -135,10 +136,22 @@
Он пропускает только трафик, соответствующий правилам и
блокирует все остальное.</para>
- <para>Включающие межсетевые экраны обычно более безопасны, чем
+ <para>Включающий межсетевой экран обеспечивает гораздо большую степень
+ контроля исходящего трафика. Поэтому включающий межсетевой экран
+ является лучшим выбором для систем, предоставляющих сервисы в сети
+ Интернет. Он также контролирует тип трафика, порождаемого вне
+ и направляющегося в вашу приватную сеть. Трафик, не попавший в правила,
+ блокируется, а в файл протокола вносятся соответствующие записи.
+ Включающие межсетевые экраны обычно более безопасны, чем
исключающие, поскольку они существенно уменьшают риск
пропуска межсетевым экраном нежелательного трафика.</para>
+ <note>
+ <para>Если не указано иначе, то все приведенные в этом разделе примеры
+ наборов правил и конфигураций относятся к типу включающего межсетевого
+ экрана.</para>
+ </note>
+
<para>Безопасность может быть дополнительно повышена с
использованием <quote>межсетевого экрана с сохранением
состояния</quote>. Такой межсетевой экран сохраняет информацию
@@ -149,37 +162,46 @@
(Denial of Service, отказ в обслуживании), если множество
новых соединений открывается очень быстро. Большинство
межсетевых экранов позволяют комбинировать поведение с сохранением
- состояния и без сохранения состояния, что оптимально
- для реальных применений.</para>
+ состояния и без сохранения состояния, что позволяет создавать
+ оптимальную конфигурацию для каждой конкретной системы.</para>
</sect1>
<sect1 id="firewalls-apps">
<title>Пакеты межсетевых экранов</title>
- <para>В &os; встроено три программных межсетевых экрана.
+ <para>В базовую систему &os; встроено три программных межсетевых экрана.
Это <emphasis>IPFILTER</emphasis> (известный также как
<acronym>IPF</acronym>), <emphasis>IPFIREWALL</emphasis> (известный также
как <acronym>IPFW</acronym>) и <emphasis>OpenBSD PacketFilter</emphasis>
- (также известный как<acronym>PF</acronym>).
- Помимо этого, &os; содержит два пакета ограничения трафика (шейпера):
- &man.altq.4; и &man.dummynet.4;. Dummynet традиционно сильно связан с
- <acronym>IPFW</acronym>, а <acronym>ALTQ</acronym> с
- <acronym>IPF</acronym> и <acronym>PF</acronym>.
- IPF, IPFW и PF для контроля исходящих и входящих пакетов
+ (также известный как <acronym>PF</acronym>).
+ Помимо этого, &os; содержит два пакета ограничения трафика
+ (по существу, предназначенных для контроля пропускной способности
+ сетевого соединения): &man.altq.4; и &man.dummynet.4;. Dummynet
+ традиционно сильно связан с <acronym>IPFW</acronym>, а
+ <acronym>ALTQ</acronym> с <acronym>PF</acronym>.
+ В настоящее время IPFILTER не поддерживает ограничение пропускной
+ способности сетевого соединения. Для реализации этой функции
+ предлагается использовать IPFILTER совместно с одним из двух существующих
+ пакетов ограничения трафика. Конфигурация следующая: IPFILTER
+ задействуется для фильтрации и трансляции трафика, а
+ <acronym>IPFW</acronym> с &man.dummynet.4; <emphasis>или</emphasis>
+ <acronym>PF</acronym> с <acronym>ALTQ</acronym>
+ &mdash; для контроля пропускной способности сетевого соединения.
+ IPFW и PF для контроля исходящих и входящих пакетов
используют наборы правил, хотя и разными способами с разным
синтаксисом правил.</para>
<para>Причина, по которой в &os; включено более одного пакета
- межсетевых экранов, заключается в том, что разные сети выдвигают
+ межсетевых экранов, заключается в том, что разные пользователи выдвигают
к ним различные требования и используют разные предпочтения.
Нет одного пакета, который был бы очевидно лучше других.</para>
<para>Автор предпочитает IPFILTER, поскольку его
правила с сохранением состояния гораздо проще использовать
совместно с <acronym>NAT</acronym>; кроме того, в него встроен
- ftp прокси, упрощающий настройку безопасного внешнего использования
- FTP.</para>
+ ftp прокси, что упрощает правила для фильтрации исходящих FTP
+ соединений.</para>
<para>Поскольку все межсетевые экраны основаны на анализе значений выбранных
полей заголовка пакета, для создания правил межсетевого экрана необходимо
@@ -190,7 +212,19 @@
</sect1>
<sect1 id="firewalls-pf">
- <title>Packet Filter Firewall (PF, межсетевой экран OpenBSD)</title>
+ <sect1info>
+ <authorgroup>
+ <author>
+ <firstname>John</firstname>
+ <surname>Ferrell</surname>
+ <contrib>Пересмотрел и обновил </contrib>
+ <!-- 24 March 2008 -->
+ </author>
+ </authorgroup>
+ </sect1info>
+
+ <title>Packet Filter (PF, межсетевой экран OpenBSD) и
+ <acronym>ALTQ</acronym></title>
<indexterm>
<primary>межсетевой экран</primary>
@@ -206,44 +240,65 @@
возможностей, в котором есть опциональная поддержка
<acronym>ALTQ</acronym> (Alternate Queuing).
<acronym>ALTQ</acronym> предоставляет управление пропускной способностью
- Quality of Service (<acronym>QoS</acronym>), позволяющее гарантировать
- пропускную способность для различных сервисов на основе фильтрующих
- правил. Проект OpenBSD поддерживает Руководство
- Пользователя PF, которое не было внесено в этот раздел руководства
- во избежание дублирования работы.</para>
+ Quality of Service (<acronym>QoS</acronym>).</para>
+
+ <para>Проект OpenBSD осуществляет замечательную работу по поддержке
+ <ulink url="http://www.openbsd.org/faq/pf/">PF FAQ</ulink>. Этот раздел
+ руководства фокусируется на взаимосвязи <acronym>PF</acronym> и
+ &os;, предоставляя лишь общую информацию по его использованию.
+ За более подробной информацией по использованию <acronym>PF</acronym>
+ обратитесь к <ulink
+ url="http://www.openbsd.org/faq/pf/">PF FAQ</ulink>.</para>
- <para>Дополнительную информацию можно получить с веб сайта PF для &os;:
+ <para>Дополнительные сведения о PF для &os; можно получить с веб сайта:
<ulink url="http://pf4freebsd.love2party.net/"></ulink>.</para>
<sect2>
- <title>Включение PF</title>
+ <title>Использование модуля ядра PF</title>
+
+ <para>Чтобы загрузить PF как модуль ядра, добавьте следующую строку
+ в <filename>/etc/rc.conf</filename>:</para>
+
+ <programlisting>pf_enable="YES"</programlisting>
+
+ <para>Далее, выполните стартовый скрипт:</para>
+
+ <screen>&prompt.root; <userinput>/etc/rc.d/pf start</userinput></screen>
- <para>PF включен в базовую поставку &os; версии 5.3 и выше в качестве
- отдельного загружаемого модуля. PF динамически подгружает модуль ядра
- если включена переменная rc.conf <literal>pf_enable="YES"</literal>.
- Загружаемый модуль создан с включенным &man.pflog.4;.</para>
+ <para>Учтите, модуль PF не загрузится, если он не сможет найти
+ конфигурационный файл с набором правил. По умолчанию размещение
+ файла с правилами следующее: <filename>/etc/pf.conf</filename>.
+ Если путь к файлу отличается от вышеприведённого, то внесите в
+ <filename>/etc/rc.conf</filename> строку вида:</para>
+
+ <programlisting>pf_rules="<replaceable>/path/to/pf.conf</replaceable>"</programlisting>
<note>
- <para>Модуль предполагает, что файл конфигурации вашего ядра содержит
- строки <literal>options INET</literal> и
- <literal>device bpf</literal>. Если не определен параметр
- <literal>NOINET6</literal> для &os; версий до 6.0-RELEASE и
- <literal>NO_INET6</literal> для более поздних версий (например,
- в файле &man.make.conf.5;), требуется также параметр
- <literal>options INET6</literal>.</para>
+ <para>Начиная с версии &os;&nbsp;7.0 файл с примерами конфигураций
+ (<filename>pf.conf</filename>) был перемещен из каталога
+ <filename class="directory">/etc/</filename> в каталог
+ <filename class="directory">/usr/share/examples/pf/</filename>.
+ Для версий &os;, предшествующих 7.0, размещение по умолчанию
+ &mdash; <filename class="directory">/etc/pf.conf</filename></para>
</note>
- <para>После загрузки модуля или пересборки ядра с поддержкой PF,
- функциональность <application>pf</application> может управляться
- при помощи команды <command>pfctl</command>.</para>
+ <para>Модуль <acronym>PF</acronym> можно также загрузить вручную:</para>
+
+ <screen>&prompt.root; <userinput>kldload pf.ko</userinput></screen>
+
+ <para>Поддержка ведения логов для <acronym>PF</acronym> обеспечивается
+ модулем <literal>pflog.ko</literal>, для загрузки которого добавьте
+ следующую строку в <filename>/etc/rc.conf</filename>:</para>
+
+ <programlisting>pflog_enable="YES"</programlisting>
- <para><application>pf</application> включается при помощи команды</para>
+ <para>и запустите на выполнение скрипт:</para>
- <screen>&prompt.root; <userinput>pfctl -e</userinput></screen>
+ <screen>&prompt.root; <userinput>/etc/rc.d/pflog start</userinput></screen>
- <para>Команда <command>pfctl</command> позволяет управлять правилами
- <application>pf</application>. Дополнительную информацию следует
- черпать из страницы справочника &man.pfctl.8;.</para>
+ <para>Если вам необходимы другие функциональные возможности
+ <acronym>PF</acronym>, то придется добавить поддержку
+ <acronym>PF</acronym> в ядро.</para>
</sect2>
<sect2>
@@ -264,9 +319,18 @@
<secondary>device pfsync</secondary>
</indexterm>
- <para>Включение PF путем компиляции с ядром &os; не является обязательным
- требованием, и описано здесь в качестве дополнительной информации.
- При компиляции PF с ядром загружаемый модуль не используется.</para>
+ <para>Включение <acronym>PF</acronym> путем компиляции с ядром &os; не является обязательным
+ требованием,
+ однако вам может понадобиться
+ одна из функциональных возможностей, которая не включена в загружаемый
+ модуль. Например, &man.pfsync.4; являет собой псевдоустройство,
+ которое вносит определенные изменения в таблицу состояний, используемую
+ <acronym>PF</acronym>. В дальнейшем, это псевдоустройство может быть
+ скомпоновано с &man.carp.4; чтобы создать отказоустойчивую систему
+ межсетевых экранов на основе <acronym>PF</acronym>.
+<!-- XXX: "carp" chapter translation is missing (it breaks the build) XXX
+ Дополнительная информация о протоколе <acronym>CARP</acronym>
+ находится в <xref linkend="carp"> руководства. --></para>
<para>Пример параметров конфигурации ядра для включения PF находится в
<filename>/usr/src/sys/conf/NOTES</filename> и показан здесь:</para>
@@ -276,7 +340,7 @@ device pflog
device pfsync</programlisting>
<para><literal>device pf</literal> включает поддержку межсетевого экрана
- <quote>Packet Filter</quote>.</para>
+ <quote>Packet Filter</quote> (&man.pf.4;).</para>
<para><literal>device pflog</literal> включает необязательное сетевое
псевдоустройство &man.pflog.4;, которое может использоваться для
@@ -286,19 +350,14 @@ device pfsync</programlisting>
<para><literal>device pfsync</literal> включает необязательное
сетевое псевдоустройство &man.pfsync.4;, используемое для
- отслеживания <quote>изменений состояния</quote>. Поскольку оно
- не входит в загружаемый модуль, для его использования необходимо
- собрать собственное ядро.</para>
-
- <para>Эти настройки будут действовать только после сборки и установки
- нового ядра.</para>
+ отслеживания <quote>изменений состояния</quote>.</para>
</sect2>
<sect2>
<title>Доступные параметры rc.conf</title>
- <para>Для активации PF во время загрузки в
- <filename>/etc/rc.conf</filename> должны быть включены следующие
+ <para>Для активации <acronym>PF</acronym> и &man.pflog.4; во время
+ загрузки в &man.rc.conf.5; должны быть включены следующие
переменные:</para>
<programlisting>pf_enable="YES" # Включить PF (загрузить модуль если необходимо)
@@ -317,6 +376,91 @@ pflog_flags="" # дополнительные флаги для запуска pflogd</progr
</sect2>
<sect2>
+ <title>Создание правил фильтрации</title>
+
+ <para>Пакет <acronym>PF</acronym> читает конфигурацию из файла
+ &man.pf.conf.5; (полный путь: <filename>/etc/pf.conf</filename>);
+ пакеты отвергаются, пропускаются или модифицируются в соответствии с
+ правилами и определениями из этого файла. В стандартную поставку
+ &os; входят несколько файлов с примерами конфигураций, которые
+ находятся в каталоге <filename
+ class="directory">/usr/share/examples/pf/</filename>.
+ За исчерпывающим описанием правил <acronym>PF</acronym> обратитесь
+ к <ulink url="http://www.openbsd.org/faq/pf/">PF FAQ</ulink>.</para>
+
+ <warning>
+ <para>Изучая <ulink url="http://www.openbsd.org/faq/pf/">PF
+ FAQ</ulink>, имейте в виду, что различные версии &os; могут
+ содержать разные версии pf. В настоящий момент
+ &os;&nbsp;7.<replaceable>X</replaceable> и более поздние
+ используют ту же версию <acronym>PF</acronym>, которая включена
+ в OpenBSD&nbsp;4.1.</para>
+ </warning>
+
+ <para>&a.pf; является хорошим местом, чтобы задавать вопросы по
+ конфигурации и использованию пакета <acronym>PF</acronym>.
+ Не забудьте проверить архивы списка рассылки перед тем, как
+ задавать вопрос.</para>
+ </sect2>
+
+ <sect2>
+ <title>Работа с PF</title>
+
+ <para>Для управления <acronym>PF</acronym> используйте утилиту
+ &man.pfctl.8;. Ниже приведено несколько полезных команд (все
+ возможные команды и опции приведены на странице справочника
+ &man.pfctl.8;):</para>
+
+ <informaltable frame="none" pgwide="1">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Команда</entry>
+
+ <entry>Действие</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><command>pfctl <option>-e</option></command></entry>
+
+ <entry>Включить PF</entry>
+ </row>
+
+ <row>
+ <entry><command>pfctl <option>-d</option></command></entry>
+
+ <entry>Выключить PF</entry>
+ </row>
+
+ <row>
+ <entry><command>pfctl <option>-F</option> all <option>-f</option> /etc/pf.conf</command></entry>
+
+ <entry>Сбросить все правила (NAT, правила фильтрации, состояния
+ соединений, таблицы и т.д.) и загрузить новые с файла
+ <filename>/etc/pf.conf</filename></entry>
+ </row>
+
+ <row>
+ <entry><command>pfctl <option>-s</option> [ rules | nat | state ]</command></entry>
+
+ <entry>Отобразить правила фильтрации, правила NAT или
+ таблицу состояний соединений</entry>
+ </row>
+
+ <row>
+ <entry><command>pfctl <option>-vnf</option> /etc/pf.conf</command></entry>
+
+ <entry>Проверить <filename>/etc/pf.conf</filename> на наличие
+ ошибок, но сами наборы правил не загружать</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2>
<title>Включение <acronym>ALTQ</acronym></title>
<para><acronym>ALTQ</acronym> может быть включен только путем
@@ -324,7 +468,9 @@ pflog_flags="" # дополнительные флаги для запуска pflogd</progr
<acronym>ALTQ</acronym> поддерживается не всеми существующими
драйверами сетевых карт. Для просмотра списка поддерживаемых
устройств в вашем релизе &os; обратитесь к странице справочника
- &man.altq.4;. Следующие параметры включат <acronym>ALTQ</acronym>
+ &man.altq.4;.</para>
+
+ <para>Следующие параметры включат <acronym>ALTQ</acronym>
и добавят дополнительную функциональность.</para>
<programlisting>options ALTQ
@@ -338,70 +484,42 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para><literal>options ALTQ</literal> включает подсистему
<acronym>ALTQ</acronym>.</para>
- <para><literal>options ALTQ_CBQ</literal> включает Class Based
- Queuing (<acronym>CBQ</acronym>). <acronym>CBQ</acronym>
+ <para><literal>options ALTQ_CBQ</literal> включает <emphasis>Class Based
+ Queuing</emphasis> (<acronym>CBQ</acronym>). <acronym>CBQ</acronym>
позволяет распределять пропускную способность соединений
по классам или очередям для выставления приоритетов трафика
на основе правил фильтрации.</para>
- <para><literal>options ALTQ_RED</literal> включает Random Early
- Detection (<acronym>RED</acronym>). <acronym>RED</acronym>
+ <para><literal>options ALTQ_RED</literal> включает <emphasis>Random Early
+ Detection</emphasis> (<acronym>RED</acronym>). <acronym>RED</acronym>
используется для предотвращения перегрузки сети.
<acronym>RED</acronym> вычисляет длину очереди и сравнивает ее
- с минимальной и максимальной границей очереди. Если
- очередь превышает максимум, все новые пакеты отбрасываются.
+ с минимальным и максимальным значением длины очереди. Если
+ очередь превышает максимум, все новые пакеты будут отброшены.
В соответствии со своим названием, <acronym>RED</acronym>
отбрасывает пакеты из различные соединений в произвольном
порядке.</para>
- <para><literal>options ALTQ_RIO</literal> включает Random Early
- Detection In and Out.</para>
+ <para><literal>options ALTQ_RIO</literal> включает <emphasis>Random Early
+ Detection In and Out</emphasis>.</para>
<para><literal>options ALTQ_HFSC</literal> включает
- Hierarchical Fair Service Curve Packet Scheduler. Дополнительная
+ <emphasis>Hierarchical Fair Service Curve Packet Scheduler</emphasis>.
+ Дополнительная
информация о <acronym>HFSC</acronym> находится по адресу: <ulink
url="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html"></ulink>.
</para>
- <para><literal>options ALTQ_PRIQ</literal> включает Priority
- Queuing (<acronym>PRIQ</acronym>). <acronym>PRIQ</acronym>
- всегда пропускает трафик из более высокой очереди
- первым.</para>
+ <para><literal>options ALTQ_PRIQ</literal> включает <emphasis>Priority
+ Queuing</emphasis> (<acronym>PRIQ</acronym>). <acronym>PRIQ</acronym>
+ всегда первым пропускает трафик из очереди c более высоким
+ приоритетом.</para>
<para><literal>options ALTQ_NOPCC</literal> включает
поддержку <acronym>SMP</acronym> для <acronym>ALTQ</acronym>.
Эта опция необходима для <acronym>SMP</acronym>
систем.</para>
</sect2>
-
- <sect2>
- <title>Создание правил фильтрации</title>
-
- <para>Пакет PF читает конфигурацию из файла &man.pf.conf.5;; пакеты
- отвергаются, пропускаются или модифицируются в соответствии с
- правилами и определениями из этого файла. В стандартную поставку
- &os; входит файл <filename>/etc/pf.conf</filename>, содержащий
- полезные примеры с комментариями.</para>
-
- <para>Несмотря на наличие собственного для &os; файла
- <filename>/etc/pf.conf</filename>, синтаксис его совпадает с
- OpenBSD. Отличное руководство по конфигурации
- <application>pf</application>, написанное группой разработки OpenBSD,
- расположено по адресу
- <ulink url="http://www.openbsd.org/faq/pf/"></ulink>.</para>
-
- <warning>
- <para>Изучая Руководство PF, имейте в виду, что различные версии
- &os; содержат разные версии pf. <application>pf</application>
- в &os;&nbsp;5.X соответствует OpenBSD версии 3.5, в &os;&nbsp;6.X
- pf соответствует OpenBSD версии 3.7.</para>
- </warning>
-
- <para>&a.pf; является хорошим местом, чтобы задавать вопросы по
- конфигурации и использованию пакета <application>pf</application>.
- Не забудьте проверить архивы списка рассылки перед тем, как
- задавать вопрос.</para>
- </sect2>
</sect1>
<sect1 id="firewalls-ipf">
@@ -421,18 +539,18 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para>Автором IPFILTER является Darren Reed. IPFILTER не
зависит от операционной системы: это приложение с открытыми
исходными текстами, которое было портировано на операционные
- системы &os;, NetBSD, OpenBSD, SunOS, HP/UX, и Solaris.
+ системы &os;, NetBSD, OpenBSD, &sunos;, HP/UX, и &solaris;.
IPFILTER активно разрабатывается и поддерживается, регулярно
выпускаются обновленные версии.</para>
- <para>IPFILTER основан на межсетевом экране уровня ядра, механизм
- <acronym>NAT</acronym> может управляться и контролироваться
- через пользовательский интерфейс. Правила межсетевого экрана
+ <para>IPFILTER основан на межсетевом экране и механизме
+ <acronym>NAT</acronym> уровня ядра, которые управляются и контролируются
+ утилитами уровня пользовательских процессов. Правила межсетевого экрана
могут устанавливаться или удаляться утилитой &man.ipf.8;.
Правила <acronym>NAT</acronym> могут устанавливаться или
удаляться утилитой &man.ipnat.1;. Утилита &man.ipfstat.8;
выводит статистику IPFILTER для ядра. Программа
- &man.ipmon.8; заносит действия IPFILTER в файлы системных
+ &man.ipmon.8; может заносить действия IPFILTER в файлы системных
протоколов.</para>
<para>IPF был первоначально написан с использованием правила
@@ -440,7 +558,7 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
с правилами без сохранения состояния. Со временем IPF
был расширен и включает параметры <quote>quick</quote> и
<quote>keep state</quote> (сохранение состояния), которые
- кардинальным образом изменяют обработку пакетов.
+ кардинальным образом изменяют логику обработки пакетов.
Официальная документация IPF включает традиционные параметры
правил с традиционной последовательностью обработки пакетов.
Измененные функции включены в виде дополнительных параметров,
@@ -451,23 +569,12 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
состояния <quote>keep state</quote>. Это основа для создания
включающего межсетевого экрана.</para>
-<!-- практически полное дублирование вышеизложенного
- <para>An inclusive firewall only allows packets matching the
- rules to pass through. This way you can control what services
- can originate behind the firewall destined for the public
- Internet and also control the services which can originate from
- the public Internet accessing your private network. Everything
- else is blocked and logged by default design. Inclusive
- firewalls are much, much more secure than exclusive firewall
- rule sets and is the only rule set type covered herein.</para>
--->
-
- <para>Детальное описание методов обработки правил:
+ <para>Детальное описание традиционных методов обработки правил:
<ulink url="http://www.obfuscation.org/ipf/ipf-howto.html#TOC_1"></ulink>
и
<ulink url="http://coombs.anu.edu.au/~avalon/ip-filter.html"></ulink>.</para>
- <para>IPF FAQ
+ <para>IPF FAQ находится по адресу
<ulink url="http://www.phildev.net/ipf/index.html"></ulink>.</para>
<para>Архив списка рассылки по IPFilter с возможностью поиска доступен
@@ -484,10 +591,10 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para>IPF включен в базовую систему &os; в качестве отдельного
загружаемого модуля. Система динамически загрузит модуль IPF,
- если в rc.conf указана переменная
+ если в <filename>rc.conf</filename> указана переменная
<literal>ipfilter_enable="YES"</literal>. Модуль создается
с включенным протоколированием и правилом по умолчанию
- <literal>block all</literal> (пропускать все). Для изменения
+ <literal>pass all</literal> (пропускать все). Для изменения
правила по умолчанию не обязательно собирать ядро с новыми
параметрами. Просто добавьте в конец набора правило,
блокирующее все пакеты.</para>
@@ -516,7 +623,7 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<secondary>параметры ядра</secondary>
</indexterm>
- <para>Сборка ядра с &os; включением IPF не обязательна.
+ <para>Включение IPF в ядро &os; не является обязательным требованием.
Эта процедура представлена здесь в качестве дополнительной
информации. При включении IPF в ядро загружаемый модуль
не используется.</para>
@@ -580,7 +687,7 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
<primary><command>ipf</command></primary>
</indexterm>
- <para>Команда ipf используется для загрузки файла с правилами.
+ <para>Команда &man.ipf.8; используется для загрузки файла с правилами.
Обычно создается файл, содержащий подготовленный набор
правил, который полностью замещает набор, используемый
на данный момент:</para>
@@ -591,14 +698,15 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
<para><option>-f</option> указывает файл с правилами, который необходимо загрузить.</para>
- <para>Таким образом, после внесения изменений в файл правил и
- запуска вышеприведенной команды IPF, набор правил межсетевого экрана
- обновляется без перезагрузки системы. Для обновления правил
+ <para>Это дает вам возможность отредактировать файл с правилами,
+ запустить вышеприведенную команду IPF, тем самым обновить набор правил
+ работающего межсетевого экрана без перезагрузки системы. Для
+ обновления правил
такой подход очень удобен, поскольку команду можно выполнять
столько раз, сколько нужно.</para>
<para>На странице справочной системы &man.ipf.8; находится
- подробная информация по флагам этой команды.</para>
+ подробная информация по всем флагам этой команды.</para>
<para>Набор правил для команды &man.ipf.8; должен быть в виде
стандартного текстового файла. Правила, написанные в виде
@@ -654,7 +762,8 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
<para>При задании флага <option>-i</option> или <option>-o</option>
соответственно для входящих или
- или исходящих пакетов, будет получен и отображен список правил,
+ исходящих пакетов, команда извлечет и отобразит соответствующий
+ список правил, установленных и
используемых на данный момент.</para>
<para><command>ipfstat -in</command> отображает правила, применяемые
@@ -708,16 +817,16 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
<para>Для того, чтобы стало возможно использование команды
<command>ipmon</command>, необходимо включить параметр ядра
- IPFILTER_LOG. Эта команда может использоваться в двух различных
+ <literal>IPFILTER_LOG</literal>. Эта команда может использоваться в двух различных
режимах. В основном режиме, который используется по умолчанию,
она используется без флага <option>-D</option>.</para>
<para>В режиме даемона создается непрерывный протокол, и возможен
просмотр предыдущих событий. В этом режиме IPFILTER работает
в &os;. Поскольку в &os; встроена функция ротации файлов
- протокола, лучше использовать syslogd, чем используемый по
+ протокола, лучше использовать &man.syslogd.8;, чем используемый по
умолчанию вывод в обычный файл. В <filename>rc.conf</filename>
- по умолчанию ipmon_flags имеет значение <option>-Ds</option>:</para>
+ по умолчанию <literal>ipmon_flags</literal> имеет значение <option>-Ds</option>:</para>
<programlisting>ipmon_flags="-Ds" # D = start as daemon
# s = log to syslog
@@ -725,9 +834,9 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
# n = map IP &amp; port to names</programlisting>
<para>Описывать преимущества протоколирования излишне. Например,
- оно дает возможность просмотра информации о отброшенных
- пакетах, откуда они пришли и куда направлялись. Это дает
- определенные возможности отслеживания атак.</para>
+ оно дает возможность отложенного просмотра информации об отброшенных
+ пакетах, откуда они пришли и куда направлялись.
+ Эта информация существенно помогает при отслеживании атак.</para>
<para>Даже с включенным протоколированием, IPF не ведет протокол
для каждого правила. Администратор межсетевого экран должен решить,
@@ -735,26 +844,25 @@ ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat</programl
слово log к этим правилам. Обычно протоколируются только правила,
отбрасывающие пакеты.</para>
- <para>Довольно часто правило по умолчанию, запрещающее прохождение
- пакетов, включается в набор последним, и для него применяется
- ключевое слово log. Так вы можете увидеть все пакеты, не
+ <para>Включение в набор последнего правила, запрещающего прохождение
+ пакетов, в сочетании с ключевым словом <literal>log</literal> является
+ довольно распространённой практикой. Так вы можете увидеть все пакеты,
+ не
попадающие ни под одно правило набора.</para>
</sect2>
<sect2>
<title>Протоколирование IPMON</title>
- <para>Для сбора данных <application>Syslogd</application>
- использует свой собственный
+ <para>Для разделения собираемых данных
+ <application>syslogd</application> использует свой собственный
специальный метод. Он использует группировку по категории
(<quote>facility</quote>) и уровню (<quote>level</quote>).
IPMON в режиме <option>-Ds</option> использует
- <literal>security</literal>
+ <literal>local0</literal>
в качестве имени <quote>категории</quote>.
- Все протоколируемые IPMON данные также
- отправляются на <literal>security</literal>.
- Для сбора
- протоколируемых данных могут быть использованы следующие
+ Для дальнейшего разделения
+ протоколируемых данных, если такое необходимо, могут быть использованы следующие
уровни:</para>
<screen>LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block.
@@ -765,29 +873,29 @@ LOG_ERR - packets which have been logged and which can be considered short</scre
<para>Для указания IPFILTER протоколировать все данные в
<filename>/var/log/ipfilter.log</filename>, создайте этот
- файл следующей командой:</para>
+ файл заранее, выполнив следующую команду:</para>
<screen>&prompt.root; <userinput>touch /var/log/ipfilter.log</userinput></screen>
- <para>Функционирование syslog управляется настройками в файле
+ <para>Функционирование &man.syslogd.8; управляется настройками в файле
<filename>/etc/syslog.conf</filename>. Файл
<filename>syslog.conf</filename> позволяет достаточно гибко
настроить обработку системных сообщений, выдаваемых программами,
такими как IPF.</para>
<para>Добавьте в <filename>/etc/syslog.conf</filename>
- следующий оператор:</para>
+ следующую запись:</para>
- <programlisting>security.* /var/log/ipfilter.log</programlisting>
+ <programlisting>local0.* /var/log/ipfilter.log</programlisting>
- <para><literal>security.*</literal> означает запись всех
+ <para><literal>local0.*</literal> означает запись всех
протоколируемых сообщений в указанный файл.</para>
<para>Для применения внесенных в
<filename>/etc/syslog.conf</filename> изменений вы можете
- перезагрузиться или заставить syslog перечитать
+ перезагрузиться или заставить &man.syslogd.8; перечитать
<filename>/etc/syslog.conf</filename>, выполнив команду
- <command>/etc/rc.d/syslogd reload</command></para>
+ <command>/etc/rc.d/syslogd reload</command>.</para>
<para>Не забудьте отредактировать
<filename>/etc/newsyslog.conf</filename> для ротации только
@@ -847,23 +955,23 @@ LOG_ERR - packets which have been logged and which can be considered short</scre
<listitem>
<para><literal>PR</literal>, с последующим именем или
- номером протокола, например PR tcp.</para>
+ номером протокола, например <literal>PR tcp</literal>.</para>
</listitem>
<listitem>
<para><literal>len</literal>, с последующей длиной заголовка
- и общей длиной пакета, например len 20 40.</para>
+ и общей длиной пакета, например <literal>len 20 40</literal>.</para>
</listitem>
</orderedlist>
<para>Для <acronym>TCP</acronym> пакетов добавляется дополнительное
поле, начинающееся с дефиса, за которым следуют буквы,
соответствующие установленным флагам. На странице справочника
- находится список букв и флагов.</para>
+ &man.ipf.5; находится список букв и флагов.</para>
<para>Для пакетов ICMP, в конце находятся два поля,
- одно всегда <quote>ICMP</quote>, а во втором тип
- ICMP сообщения (message и sub-message),
+ одно всегда <quote>ICMP</quote>, а второе содержит тип и подтип
+ ICMP сообщения (message и sub-message), разделенные символом косой черты,
например ICMP 3/3 для сообщения <quote>port
unreachable</quote>.</para>
</sect2>
@@ -873,7 +981,7 @@ LOG_ERR - packets which have been logged and which can be considered short</scre
<para>Некоторые опытные пользователи IPF создают файл правил,
поддерживающий использование символьной подстановки. Основное
- преимущество использования такого скрипта заключается в
+ преимущество использования такого подхода заключается в
возможности изменения значения, присваиваемого символьному
имени, в результате чего во всех правилах, содержащих эту
символьную подстановку, будет использоваться новое значение.
@@ -881,8 +989,8 @@ LOG_ERR - packets which have been logged and which can be considered short</scre
переменные, а затем использовать их сразу в нескольких
правилах. Ниже дан пример такого использования.</para>
- <para>Синтаксис скрипта совместим с sh, csh, и
- tcsh.</para>
+ <para>Синтаксис скрипта совместим с &man.sh.1;, &man.csh.1;, и
+ &man.tcsh.1;.</para>
<para>Символьная подстановка предваряется знаком доллара:
<literal>&dollar;</literal>.</para>
@@ -929,8 +1037,8 @@ EOF
<para>Это все, что требовалось сделать. В данном примере сами
правила не важны; важно то, как используется символьная подстановка.
Если вышеприведенный пример помещен в файл
- <filename>/etc/ipf.rules.script</filename>, вы можете
- перезагрузить набор правил, введя следующую команду:</para>
+ <filename>/etc/ipf.rules.script</filename>, то набор правил можно
+ перезагрузить, введя следующую команду:</para>
<screen>&prompt.root; <userinput>sh /etc/ipf.rules.script</userinput></screen>
@@ -957,8 +1065,8 @@ EOF
строку <literal>ipfilter_enable="NO"</literal> (это значение
по умолчанию) в файл <filename>/etc/rc.conf</filename>.</para>
- <para>Поместите скрипт, подобный нижеприведенному в каталог
- <filename>/usr/local/etc/rc.d/</filename>. У него должно
+ <para>Поместите скрипт, подобный нижеприведенному, в каталог
+ <filename class="directory">/usr/local/etc/rc.d/</filename>. У него должно
быть однозначно говорящее о его назначении имя, например
<filename>ipf.loadrules.sh</filename>. Расширение
<filename>.sh</filename> обязательно.</para>
@@ -966,44 +1074,41 @@ EOF
<programlisting>#!/bin/sh
sh /etc/ipf.rules.script</programlisting>
- <para>Права на этот скрипт должны разрешать чтение, запись и
+ <para>Права, установленные на этот файл, должны разрешать чтение, запись и
выполнение владельцу <username>root</username>.</para>
<screen>&prompt.root; <userinput>chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh</userinput></screen>
</listitem>
</itemizedlist>
- <para>Теперь, при загрузке системы, правила IPF будут
- загружены.</para>
+ <para>Теперь, правила IPF будут загружаться при загрузке
+ системы.</para>
</sect2>
<sect2>
- <title>IPF Rule Sets</title>
+ <title>Наборы правил IPF</title>
- <!-- очередное разжевывание ip basics -->
<para>Набор правил ipf это группа правил, составленных для
пропускания или блокирования пакетов на основе их содержимого.
Двусторонний обмен пакетами между хостами составляет сессию.
- Межсетевой экран обрабатывает пакеты в обеих направлениях,
- <!--некорректно: The firewall rule set processes the
- packet two times, once on its arrival from the public Internet
- host and again as it leaves for its return trip back to the
- public Internet host. Each TCP/IP service (i.e. telnet, www,
- mail, etc.) is predefined by its protocol, source and
- destination IP address, or the source and destination port
- number.-->
- Каждый IP пакет имеет такие характеристики как порт и адрес
- источника и назначения. Эти основные характеристики используются
- для пропускания или блокирования пакетов.</para>
+ Межсетевой экран обрабатывает как входящие из Интернет пакеты,
+ так и исходящие пакеты, которые сгенерированы самой системой в ответ
+ на входящий трафик. Для каждой службы <acronym>TCP/IP</acronym>
+ (например, telnet, www, mail, и т.п.) назначен протокол и номер
+ привилегированного (прослушиваемого) порта. Пакеты, предназначенные
+ для определенного сервиса, порождаются с некоторым исходящим адресом
+ и портом из непривилегированного диапазона и направляются
+ на определенный адрес и определенный порт назначения. Все
+ упомянутые параметры (номера портов и адреса) могут использоваться
+ как критерии выбора в правилах, пропускающих или блокирующих доступ
+ к службам <acronym>TCP/IP</acronym>.</para>
+
<indexterm>
<primary>IPFILTER</primary>
<secondary>порядок обработки правил</secondary>
</indexterm>
- <!-- XXX: something like this already in
- <xref linkend="firewalls-concepts">
- AND: the para below is repeated 3 times in this chapter-->
<para>IPF был первоначально написан с использованием логики
<quote>последнее совпадающее правило побеждает</quote> и
только с правилами без сохранения состояния. Со временем
@@ -1016,18 +1121,6 @@ sh /etc/ipf.rules.script</programlisting>
Это основа для создания набора правил включающего межсетевого
экрана.</para>
-<!-- опять network basics, кроме того то же самое повторяется ниже по
- тексту практически один в один
- <para>An inclusive firewall only allows services matching the
- rules through. This way you can control what services can
- originate behind the firewall destined for the public Internet
- and also control the services which can originate from the
- public Internet accessing your private network. Everything
- else is blocked and logged by default design. Inclusive
- firewalls are much, much securer than exclusive firewall rule
- sets and is the only rule set type covered herein.</para>
--->
-
<warning>
<para>При работе с правилами межсетевого экрана, будьте
<emphasis>очень осторожны</emphasis>. Некоторые
@@ -1040,9 +1133,7 @@ sh /etc/ipf.rules.script</programlisting>
</warning>
</sect2>
- <!-- Перевод остальной части раздела IPF отложен до исправления
- ошибок в следующем sect2 оригинальной версии -->
-
+ <!-- Перевод остальной части раздела IPF отложен ... -->
</sect1>
<sect1 id="firewalls-ipfw">