shorewall_code/docs/blacklisting_support_ru.xml
2008-07-07 20:22:09 +00:00

165 lines
12 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article>
<!--$Id: blacklisting_support.xml 6774 2007-07-04 00:10:35Z teastep $-->
<articleinfo>
<title>Чёрные списки в Shorewall</title>
<authorgroup>
<author><firstname>Tom</firstname>
<surname>Eastep</surname></author>
</authorgroup>
<pubdate><?dbtimestamp format="Y/m/d"?></pubdate>
<copyright>
<year>2002-2006</year>
<holder>Thomas M. Eastep</holder>
</copyright>
<copyright>
<year>2007</year>
<holder>Russian Translation: Grigory Mokhin</holder>
</copyright>
<legalnotice>
<para>Этот документ разрешается копировать, распространять и/или изменять при выполнении условий лицензии GNU Free Documentation License версии 1.2 или более поздней, опубликованной Free Software Foundation; без неизменяемых разделов, без текста на верхней обложке, без текста на нижней обложке. Копия лицензии приведена по ссылке <quote><ulink url="GnuCopyright.htm">GNU Free Documentation License</ulink></quote>.</para>
</legalnotice>
</articleinfo>
<section id="Intro">
<title>Введение</title>
<para>В Shorewall предусмотрены два вида чёрных списков, статические и динамические. Опция BLACKLISTNEWONLY в файле /etc/shorewall/shorewall.conf задаёт параметры фильтрации согласно этим спискам:</para>
<orderedlist>
<listitem>
<para>BLACKLISTNEWONLY=No -- проверка осуществляется для всех входящих пакетов. Новые записи в чёрном списке позволяют прервать уже существующие соединения.</para>
</listitem>
<listitem>
<para>BLACKLISTNEWONLY=Yes -- проверка осуществляется только для новых запросов на установление соединения. Записи в чёрном списке не влияют на уже существующие соединения. На соответствие чёрному списку проверяется только адрес источника.</para>
</listitem>
</orderedlist>
<important>
<para><emphasis role="bold">На соответствие чёрному списку проверяется только адрес источника </emphasis>. Чёрные списки закрывают доступ только хостам, перечисленным в списке, но не закрывают доступ к самим этим хостам.</para>
</important>
<important>
<para><emphasis role="bold">Динамические чёрные списки в Shorewall непригодны для случаев, когда список содержит тысячи адресов. Статические списки могут работать с большим числом адресов, но только при использовании наборов IP (ipset)</emphasis>. Без ipset большие чёрные списки будут загружаться слишком долго и заметно снизят производительность файрвола.</para>
</important>
</section>
<section id="Static">
<title>Статические чёрные списки</title>
<para>Далее описаны параметры конфигурации статических чёрных списков в Shorewall:</para>
<itemizedlist>
<listitem>
<para>Пакеты с хостов из чёрного списка будут отбрасываться без уведомления (drop) или с уведомлением (reject), согласно параметру BLACKLIST_DISPOSITION из файла <ulink url="manpages/shorewall.conf.html"><filename>/etc/shorewall/shorewall.conf</filename>.</ulink></para>
</listitem>
<listitem>
<para>Пакеты с хостов из чёрного списка будут заноситься в протокол с заданным уровнем syslog согласно параметру BLACKLIST_LOGLEVEL из файла <ulink url="manpages/shorewall.conf.html"><filename>/etc/shorewall/shorewall.conf</filename></ulink>.</para>
</listitem>
<listitem>
<para>IP-адреса или подсети, которые требуется занести в чёрный список, указываются в файле <ulink url="manpages/shorewall-blacklist.html"><filename>/etc/shorewall/blacklist</filename></ulink>. В этом файле можно также указать имена протоколов, номера портов или имена служб.</para>
</listitem>
<listitem>
<para>Интерфейсы, для которых входящие пакеты проверяются на соответствие чёрному списку, задаются с помощью опции <quote>blacklist</quote> в файле <ulink url="manpages/shorewall-interfaces.html"><filename>/etc/shorewall/interfaces</filename></ulink>.</para>
</listitem>
<listitem>
<para>Чёрный список из файла <filename>/etc/shorewall/blacklist</filename> можно обновить командой <quote><ulink url="starting_and_stopping_shorewall.htm"><command>shorewall refresh</command></ulink></quote>.</para>
</listitem>
</itemizedlist>
<para>При наличии большого статического чёрного списка можно включить опцию DELAYBLACKLISTLOAD в файле shorewall.conf (начиная с Shorewall версии 2.2.0). Если DELAYBLACKLISTLOAD=Yes, то Shorewall будет загружать правила чёрного списка после установления соединений. Хотя при этом соединения с хостов из чёрного списка могут осуществляться в течение времени создания списка, эта опция позволяет существенно снизить время запрета соединений в ходе выполнения команд &quot;shorewall [re]start&quot;.</para>
<para>Для определения статического чёрного списка в Shorewall начиная с версии 2.4.0 поддерживаются наборы IP, или <ulink url="ipsets.html">ipsets</ulink>. Пример:</para>
<programlisting>#ADDRESS/SUBNET PROTOCOL PORT
+Blacklistports[dst]
+Blacklistnets[src,dst]
+Blacklist[src,dst]
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE</programlisting>
<para>В этом примере задан ipset набора портов (portmap) <emphasis>Blacklistports</emphasis> для запрета трафика на целевые порты, указанные в этом ipset. Есть также списки сетей - <emphasis>Blacklistnets</emphasis> (типа <emphasis>nethash</emphasis>) и адресов - <emphasis>Blacklist</emphasis> (типа <emphasis>iphash</emphasis>), закрывающие доступ из подсетей и с отдельных адресов. Обратите внимание, что указаны [src,dst], чтобы можно было связать отдельные записи наборов с другими portmap ipset и включить чёрные списки сочетаний ( <emphasis>адрес источника</emphasis>, <emphasis>целевой порт</emphasis>). Пример:</para>
<programlisting>ipset -N SMTP portmap --from 1 --to 31
ipset -A SMTP 25
ipset -A Blacklist 206.124.146.177
ipset -B Blacklist 206.124.146.177 -b SMTP</programlisting>
<para>При этом блокируется трафик SMTP с хоста 206.124.146.177.</para>
</section>
<section id="Dynamic">
<title>Динамические чёрные списки</title>
<para>Динамические списки не имеют никаких параметров конфигурации, но настраиваются следующими командами /sbin/shorewall[-lite]:</para>
<itemizedlist>
<listitem>
<para>drop <emphasis>&lt;список IP-адресов&gt;</emphasis> - пакеты с указанных IP-адресов будут отбрасываться файрволом без уведомления. </para>
</listitem>
<listitem>
<para>reject <emphasis>&lt;список IP-адресов&gt;</emphasis> - пакеты с указанных IP-адресов будут отбрасываться файрволом с уведомлением. </para>
</listitem>
<listitem>
<para>allow <emphasis>&lt;список IP-адресов&gt;</emphasis> - разрешить пакеты с хостов, ранее занесённых в чёрный список командами <emphasis>drop</emphasis> или <emphasis>reject</emphasis>. </para>
</listitem>
<listitem>
<para>save - сохранить конфигурацию динамического чёрного списка; она будет восстановлена автоматически при следующем перезапуске файрвола.</para>
</listitem>
<listitem>
<para>show dynamic - показать конфигурацию динамического чёрного списка.</para>
</listitem>
</itemizedlist>
<para>Начиная с Shorewall версии 3.2.0 Beta2 доступны следующие дополнительные команды:</para>
<itemizedlist>
<listitem>
<para>logdrop <emphasis>&lt;список IP-адресов&gt;</emphasis> - пакеты с указанных IP-адресов будут заноситься в протокол и отбрасываться файрволом без уведомления. Уровень протокола задаётся опцией BLACKLIST_LOGLEVEL в ходе последнего [пере]запуска (по умолчанию - &apos;info&apos;, если опция BLACKLIST_LOGLEVEL не задана).</para>
</listitem>
<listitem>
<para>logreject <emphasis>&lt;список IP-адресов&gt;</emphasis> - пакеты с указанных IP-адресов будут заноситься в протокол и отбрасываться файрволом с уведомлением. Уровень протокола задаётся опцией BLACKLIST_LOGLEVEL в ходе последнего [пере]запуска (по умолчанию - &apos;info&apos;, если опция BLACKLIST_LOGLEVEL не задана).</para>
</listitem>
</itemizedlist>
<para>Динамические чёрные списки не зависят от опции <quote>blacklist</quote> в файле <filename>/etc/shorewall/interfaces</filename>.</para>
<example id="Ignore">
<title>Игноpиpовать пакеты с двух IP-адресов</title>
<programlisting> <command>shorewall[-lite] drop 192.0.2.124 192.0.2.125</command></programlisting>
<para>При этом блокируется доступ с хостов 192.0.2.124 и 192.0.2.125</para>
</example>
<example id="Allow">
<title>Разрешить пакеты с IP-адреса</title>
<programlisting> <command>shorewall[-lite] allow 192.0.2.125</command></programlisting>
<para>Разрешает трафик с 192.0.2.125.</para>
</example>
</section>
</article>