![]() |
Статьи | Новости | Контакты | ||||
|
|||||||
|
|||||||
SuSEfirewall2 — удобная надстройка над ip_tables
Современные версии ядра Linux (2.6.x) содержат мощное средство контроля над IP-трафиком — ip_tables, для его настройки служит утилита iptables. Этот механизм обеспечивает в числе прочего трансляцию адресов (DNAT и SNAT), Forwarding и Masquerading. На сайте разработчиков представлен полный набор документации, включая руководство на нескольких языках. Единственный недостаток — высокая сложность освоения — с точки зрения многих пользователей перевешивает любые достоинства. По этой причине в дистрибутив OpenSUSE включено удобное и простое в использовании средство — SuSEfirewall2 (сокращенно — SFW2), фактически представляющее собой надстройку над iptables. О правильном применении этого инструмента и пойдет речь далее.
Прежде всего потребуется настроить сетевые интерфейсы, в простейшем случае достаточно двух — внешнего и внутреннего. Допустим, это будут eth1
ifconfig eth0 down
Очевидно, что приведенные для примера IP-адреса и сетевые маски следует заменить актуальными для вашей сети.
Конфигурация SFW2 хранится в файле /etc/sysconfig/SuSEfirewall2. Для его редактирования можно использовать, например, вызываемый по клавише F4 встроенный редактор файлового менеджера mc. При переносе текстовых файлов между ОС следует помнить, что принятый в Linux разделитель строк состоит из единственного символа CR, тогда как в DOS и Windows используется пара CR/LF.
Более 90 процентов содержимого файла — подробные текстовые комментарии с примерами возможных вариантов настройки. Во избежание досадных ошибок удалять комментарии не рекомендуется — помимо прочего в них содержится информация о применяемых значениях по умолчанию. Для быстрого анализа текущей конфигурации можно использовать следующую команду:
gawk '{ if(substr($0, 0, 1)!="#") if(substr($0, length($0)-2)!="=\"\"") print $0 }' gawk — подходящее средство для построчной фильтрации без использования регулярных выражений
В результате ее выполнения в консоль будет выведено содержимое конфигурационного файла в легко читаемом виде — окажутся исключены строки, начинающиеся со знака «#» (комментарии) либо заканчивающиеся на «=""» (не определенные явным образом параметры). Чтобы не набирать длинную команду более одного раза, можно сохранить ее, например, в файле swf2cfg, предварив строкой «#!/bin/sh» и установив соответствующие права командой
Рассмотрим подробнее формат и назначение основных параметров /etc/sysconfig/SuSEfirewall2.
Следующие два параметра указывают на необходимость маршрутизации трафика между внутренним и внешним интерфейсами, причем все компьютеры локальной сети будут скрыты ("замаскированы") под единственным внешним IP адресом, взятым из настроек указанного в третьем параметре внешнего интерфейса: Далее надлежит перечислить маскируемые подсети, с указанием сетевых протоколов и портов, а также адресов, куда разрешается перенаправлять трафик. Подсети перечисляются через пробел, для большей читабельности примера они размещены по одной на строку с применением символа конкатенации — обратной косой черты (поскольку фактически речь идет об одной строке, комментарии до завершающих кавычек недопустимы). Итак, в нашем случае находящемуся в локальной сети серверу 10.10.1.3 разрешается соединяться с любыми внешними сетями по протоколу tcp/ip, при этом допустимы три порта назначения 25 (smtp), 110 (pop3), 5899 (Radmin). Кроме того, разрешаются DNS-запросы по протоколу udp. Имеющая адрес 10.10.1.20 рабочая станция получает возможность соединяться с почтовым сервером по адресу 195.151.13.100, используя стандартные tcp/ip порты 25/110: Следующие два параметра включают защиту от возможных атак на внутренний сетевой интерфейс, но разрешают доступ из локальной сети к портам 22 (ssh) и 3128 (proxy) роутера: Далее необходимо указать внешние подсети, для которых явно запрещен (REJECT) или разрешен (ACCEPT) доступ к определенным сервисам, работающим на роутере. Следует иметь в виду, что при отсутствии явного разрешающего правила пакеты не будут пропущены — к ним будет применена политика DROP, в качестве реакции на возможную атаку более предпочтительная, чем REJECT. Первым параметром запрещается доступ с любых внешних адресов на порт 113 по протоколу tcp/ip, вторым допускаются соединения с внешнего адреса 80.17.230.11 по протоколу tcp/ip на порт 22 (ssh) роутера. Возможность удаленного подключения создает потенциальную уязвимость, категорически не рекомендуется разрешать ssh-сессии с произвольных адресов: Доступные извне сервисы — угроза безопасности сети Следующий параметр определяет доступность отдельных локальных сервисов для внешних подсетей. Речь идет, например, о почтовом или веб-сервере, которые находятся в маскируемом сегменте сети и не имеют внешних IP адресов. Необходимо понимать, что сам факт наличия доступных извне сервисов создает серьезную угрозу для безопасности всей локальной сети. Потенциальный злоумышленник может воспользоваться как недочетами конфигурации, так и обнаруженной уязвимостью в исполняемом коде. В приведенном примере открыт доступ к почтовому серверу 10.10.1.3 с внешних адресов, относящихся к подсети MTU-Stream, а с внешнего адреса 80.17.230.11 — к службе удаленного администрирования (Radmin):Очередная группа из четырех параметров влияет на количество журналируемых событий. Суффикс CRIT предписывает сохранять в лог-файл информацию об отброшенных (DROP) или принятых (ACCEPT) пакетах только при условии, что они были распознаны как "критичные" — существенные для безопасности. К таковым относятся в частности некоторые типы icmp-пакетов, запросы на rpc-соединения, перенаправленные пакеты. Суффикс ALL требует осторожного применения, ввиду вероятного раздувания лог-файла и переполнения дискового раздела: Значение следующего параметра на время отладки можно установить в «no», после завершения тестов желательно вернуть к исходное состояние: Рекомендованное значение «yes» позволяет роутеру отвечать на icmp-запрос «echo request» (так называемый ping), что может быть полезно при проверке работоспособности канала и доступности сервера: Значение по умолчанию «no» запрещает исходящий из локальной сети ping: Широковещательные рассылки могут быть разрешены ("yes"), запрещены ("no") или разрешены для отдельных портов ("137"). Название очередной пары параметров способно ввести в заблуждение. В действительности значение «yes» читается как "не сохранять в лог сведения об отброшенных широковещательных пакетах": Следующий параметр допускает использование политики REJECT вместо DROP для внутреннего сетевого интерфейса, что сокращает время ожидания злоумышленником реакции на запрещенные действия:
Конфигурация вступает в силу после запуска /sbin/SuSEfirewall2 при условии отсутствия синтаксических ошибок.
Подробная документация с примерами находится в директории /usr/share/doc/packages/SuSEfirewall2/.
Помимо аккуратной настройки брандмауэра для обеспечения адекватного уровня сетевой безопасности следует соблюдать ряд правил, в том числе:
Об установке прокси-сервера squid-cache пойдет речь в следующей, третьей части. |
Скоро на сайте
|
||||||
Copyright © 2003—2022 Все права защищены При использовании материалов сайта ссылка на hostinfo.ru обязательна |
|||||||