<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF115%3ADrBrown3</id>
		<title>LXF115:DrBrown3 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF115%3ADrBrown3"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF115:DrBrown3&amp;action=history"/>
		<updated>2026-05-13T03:53:15Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF115:DrBrown3&amp;diff=10131&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF115:DrBrown3&amp;diff=10131&amp;oldid=prev"/>
				<updated>2010-04-29T05:50:23Z</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;==Брандмауэры для нетерпеливых==&lt;br /&gt;
&lt;br /&gt;
: ''Firestarter, Fedora Firewall Tool, Shorewall'' Вооружившись мастерком, раствором, кирпичами и кое-каким ПО, мы без труда построим брандмауэр.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF115_52_1.jpg|300px]]  В этой архитектуре сеть делится на внешнюю, внутреннюю и демилитаризованные зоны.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
В студенческие годы у меня был друг, который собирал модели железных дорог. Он покупал металлический профиль для рельсов и полосы пластика, из которых вырезал шпалы, и в результате прилежного труда за целый семестр создавал точную копию, скажем, стрелки запасного пути в Блаэнау Фестиниог, северо-западный Уэльс. Мои постоянные читатели, наверное, смекнули, что при моем обычном стремлении получить все и сразу лично я гораздо охотнее сгонял бы в «Детский мир» за коробкой Lego. ''[Аналогия здесь приведена достаточно точная, ведь все наверное знают что можно построить из Lego и чего совершенно точно нельзя]''&lt;br /&gt;
&lt;br /&gt;
В мире Linux тоже есть люди, обожающие создавать вручную правила для брандмауэра из отдельных правил ''Iptables''. Как любое творчество, этот подход требует умения, терпения и хорошего знания TCP/IP. Но большинство из нас, наверное, предпочтут задать политики безопасности на более высоком уровне с помощью какой-нибудь утилиты, скинув на нее всю грязную работу по записи правил. Здесь мы рассмотрим три таких программы. Это утилита настройки брандмауэра в Fedora 9, ''Firestarter'' (графическая программа с открытым исходным кодом, доступная в большинстве дистрибутивов Linux) и текстовая утилита ''Shorewall''.&lt;br /&gt;
&lt;br /&gt;
Существует несколько способов подключения брандмауэра к сети, и одна из классических топологий показана на рисунке внизу. К брандмауэру подходят три сетевых подключения: первое ('''eth1''') соединяет его с доверенной локальной сетью; второе ('''ppp0''') смотрит наружу, в Интернет, а третье ('''eth0''') соединяет брандмауэр с '''DMZ''' (ДМЗ, демилитаризованной зоной), представляющей собой периметр, содержащий все доступные извне серверы.&lt;br /&gt;
Ни одна их описанных здесь программ не позволяет настроить такой брандмауэр '''[а вот и неправда: ''Shorewall'' это по плечу, – прим.ред.].'''&lt;br /&gt;
В основном они защищают только тот компьютер, на котором запущены, не позволяя, к примеру, обрабатывать трафик между внешним интерфейсом и ДМЗ.&lt;br /&gt;
Однако они умеют отличить внешний интерфейс, который смотрит наружу, от внутреннего, который подключен к доверенной&lt;br /&gt;
локальной сети.&lt;br /&gt;
&lt;br /&gt;
В [[LXF87-88:Безопасность|LXF87/88]] я довольно подробно рассмотрел брандмауэр SUSE и кратко рассказал о его эквиваленте в Fedora, отметив,&lt;br /&gt;
что «его можно использовать только в качестве персонального брандмауэра на компьютере с одним сетевым подключением».&lt;br /&gt;
Текущая версия стала лучше – в ней хотя бы разделяются внутренние и внешние соединения. Она позволяет настроить маскарадинг и перенаправление портов и контролировать входящий ICMP-трафик компьютера.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF115_52_2.jpg|300px]] Через окно брандмауэра в Fedora можно задать, соединения с каких сервисов будут разрешены для «недоверенных» интерфейсов.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Инструмент можно запустить из меню '''Система &amp;gt; Администрирование &amp;gt; Межсетевой экран''' или выполнив команду ''system-config-firewall''. Откроется окно&lt;br /&gt;
со списком '''доверенных сервисов''' [Trusted Services]. Там&lt;br /&gt;
можно указать, какие сервисы (входящие соединения) разрешены&lt;br /&gt;
на недоверенных сетевых интерфейсах. В перечне – только самые&lt;br /&gt;
распространенные службы, и если вашей не оказалось среди них,&lt;br /&gt;
выберите окно '''Другие порты''' [Other Ports], где можно указать&lt;br /&gt;
номера дополнительных портов (или их диапазон), которые вы&lt;br /&gt;
хотите открыть. Наконец, в окне '''Доверенные интерфейсы''' [Trusted&lt;br /&gt;
Interfaces] можно выбрать интерфейсы, подключаемые к доверенным сетям. Как следствие, весь трафик через эти интерфейсы&lt;br /&gt;
будет разрешен. Также стоит упомянуть об окне '''Фильтрация ICMP''' [ICMP Filter], в нем можно точно определить типы разрешенного&lt;br /&gt;
трафика IMCP. Берегитесь – в отличие от окна со списком доверенных сервисов, здесь справедлив подход «презумпции невиновности», поэтому обязательно укажите все типы пакетов, которые нужно отклонять.&lt;br /&gt;
&lt;br /&gt;
===''Firestarter''===&lt;br /&gt;
&lt;br /&gt;
''Firestarter'', брандмауэр для Gnome от Томаса Юннонена [Tomas Junnonen], доступен в большинстве дистрибутивов Linux.&lt;br /&gt;
В моей Fedora 9 установка была очень простой ('''Система &amp;gt; Администрирование &amp;gt; Установка/удаление программ'''). При первом&lt;br /&gt;
запуске программы несложный мастер поможет выбрать внешний (недоверенный) интерфейс и настроить запуск NAT и/или DHCP&lt;br /&gt;
на брандмауэре. (DHCP, на мой взгляд, здесь не слишком уместен, учитывая, что это утилита настройки брандмауэра.) Затем&lt;br /&gt;
вы переключитесь на вкладку '''Status''' в главном окне. Здесь можно&lt;br /&gt;
увидеть общий статус сетевых интерфейсов – включен ли брандмауэр, трафик через каждый интерфейс, число «событий» (пакетов, отклоненных брандмауэром). На вкладке '''События''' [Events] приведена подробная информация об отклоненных соединениях.&lt;br /&gt;
Наконец, на вкладке '''Политики''' [Policy] определяются политики&lt;br /&gt;
входящего и исходящего трафика. Сделать это можно достаточно&lt;br /&gt;
подробно – задать доверенные хосты или диапазоны IP-адресов&lt;br /&gt;
(например, локальную сеть), с которых можно принимать любое&lt;br /&gt;
соединение и/или соединения на заданные порты.&lt;br /&gt;
&lt;br /&gt;
===Адское нагромождение!===&lt;br /&gt;
&lt;br /&gt;
Какая из этих программ лучше? ''Fedora Firewall Tool'', пожалуй, проще в использовании, хотя я точно не могу сказать, почему.&lt;br /&gt;
''Firestarter'' более гибок: например, в нем можно разрешить доступ по ''SSH'' с заданных диапазонов IP-адресов, тогда как если открыть&lt;br /&gt;
порт на «недоверенном» интерфейсе в утилите Fedora, он станет доступен для всех. В ''Firestarter'' также есть окно '''События''', где можно просмотреть трафик, отклоненный брандмауэром; впрочем, я не уверен, полезно ли это на практике.&lt;br /&gt;
&lt;br /&gt;
Я попытался сравнить подробные наборы правил, сгенерированные каждой программой. (Правила сетевого фильтра,&lt;br /&gt;
загруженные в данный момент ядром, выводят команды ''iptables -L'' или ''iptables-save''. На мой взгляд, формат вывода команды&lt;br /&gt;
''iptables-save'' проще понять, потому что он весьма похож на серию&lt;br /&gt;
команд ''iptables'', выполняемую для создания набора правил. И правда, сохранив вывод команды ''iptables-save'' в файл, правила&lt;br /&gt;
потом можно восстановить из него командой ''iptables-restore''.)&lt;br /&gt;
Оказалось, что ''Firestarter'' создает гораздо более подробные правила – в моем случае он сгенерировал почти в 4 раза больше правил, чем утилита из Fedora. Например, он генерирует правила для ограничения частоты ICMP-пакетов и записи отклоненных соединений в файл журнала. Больше – значит, лучше? Это не всегда очевидно. Просмотреть правила, сгенерированные утилитой из Fedora, и убедиться, что они соответствуют желаемой политике,&lt;br /&gt;
относительно просто. Проделать такое с правилами, созданными ''Firestarter'', гораздо сложнее.&lt;br /&gt;
&lt;br /&gt;
Обе программы различают понятия недоверенных интерфейсов (с них доступен только определенный трафик) и доверенных&lt;br /&gt;
интефрейсов (с них доступен весь трафик), но враз выдыхаются, если захотеть применить свой набор правил к каждому интерфейсу. Например, нельзя разрешить доступ по портам HTTP и SMTP с внешнего интерфейса и по портам DNS и SSH с внутреннего интерфейса, или управлять трафиком между заданной парой&lt;br /&gt;
интерфейсов. &lt;br /&gt;
&lt;br /&gt;
===Нечто иное===&lt;br /&gt;
&lt;br /&gt;
Кому нужно более гибкое средство – взгляните на ''Shorewall'' (http://www.shorewall.net). Это не графическая программа: правила брандмауэра описываются в наборе файлов конфигурации. Из них ''Shorewall'' генерирует набор команд ''Iptables'' для настройки брандмауэра. ''Shorewall'' умеет работать с произвольным количеством сетевых интерфейсов, позволяя разделить сеть на зоны и давая полный контроль над соединениями между каждой парой зон.&lt;br /&gt;
&lt;br /&gt;
Настройка ''Shorewall'' начинается с определения одной или нескольких зон в файле '''/etc/shorewall/zones'''. Зоны могут относиться к внешней сети, внутренней сети и ДМЗ. Зоны распознаются либо по подключенному к ним сетевому интерфейсу (определенному в файле '''/etc/shorewall/interfaces'''), либо по IP-адресу подсети (указанному в файле '''/etc/shorewall/hosts'''). У одной зоны&lt;br /&gt;
может быть несколько интерфейсов, а у одного интерфейса – несколько зон.&lt;br /&gt;
&lt;br /&gt;
Определив зоны, нужно задать политику по умолчанию (в файле '''/etc/shorewall/policy''') (например, '''ACCEPT''' или '''DROP'''), применяемую к трафику между каждой исходной зоной и зоной назначения. Наконец, в файле '''/etc/shorewall/rules''' определяются&lt;br /&gt;
подробности исключений из политики, разрешающие доступ к заданным портам и т.д. ''Shorewall'', несомненно, самая гибкая (и&lt;br /&gt;
самая сложная) утилита настройки брандмауэра из тех, которые мы рассмотрели.&lt;br /&gt;
&lt;br /&gt;
Каждая из этих программ позволяет определить политику безопасности на достаточно высоком уровне, не заставляя беспокоиться о деталях генерации правил ''Iptables''. Это как описание «бизнес-логики» программы на языке высокого уровня, а его преобразование в машинные коды остается компьютеру. Но&lt;br /&gt;
это приводит нас к последнему и отчасти очевидному выводу: определяйте политику безопасности до того, как ее реализовывать! '''LXF'''&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>