Файрвол
Материал из Bryansk Linux Users Group.
Содержание |
Зачем нужен файрвол
Межсетевой экран или брандмауэр (жарг. файрвол или файервол) — комплекс аппаратных и/или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов на различных уровнях модели OSI в соответствии с заданными правилами. Основной задачей сетевого экрана является защита компьютерных сетей или отдельных узлов от несанкционированного доступа. Также, сетевые экраны часто называют фильтрами, т.к. их основная задача — не пропускать (фильтровать) пакеты не подходящие под критерии, определенные в конфигурации.
Некоторые сетевые экраны (в их число входит и линуксовый iptables), также позволяют делать трансляцию адресов — динамическую замену адресов назначения (редиректы) или источника (мапинг (biNAT), NAT).
Политики по умолчанию
Существует два типа политики разрешения/запрещения:
- разрешать все, что не запрещено,
- запрещать все что не разрешено.
Второй тип более предпочтителен.
Способы управления правилами файрвола
Существует довольно большое количество программ и скриптов для генерации iptables-правил. Но наибольшую гибкость предоставляют самодельные init-скрипты, но они и нуждаются в повышенном внимании и понимании производимых действий.
Типовой файрвол
Рассмотрим банальный фарвол. В его функции входит фильтрация доступа извне к портам хоста, защита от пинг-флуда. Управлять файрволом будем через самодельный init-скрипт, который установит нужные правила при загрузке системы
В нашем случае разрешенными портами для доступа извне (например из сети Интернет) являются 22 tcp порт (SSH), 80 tcp порт (HTTP-сервер). Также добавим правило для разрешения доступа к PostgreSQL-серверу из локальной сети (192.168.0.0/24)
Создадим файл firewall.sh в директории /etc/init.d со следующим содержимым:
sh: highlight: not found
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
(error loading support language list)Делаем файл исполняемым:
# chmod +x firewall.sh
После этого выполняем комманду:
# update-rc.d firewall.sh defaults
Которая пропишет скрипт в стартовых скриптах
Запускаем файрвол:
# invoke-rc.d firewall.sh -v start
Смотрим вывод отладочной информации, если все в порядке - пользуемся :)
Посмотреть состояние правил файрвола можно коммандой
# iptables -L
Ссылки
Iptables Tutorial на русском языке
Iptables Tutorial на русском языке
Более новая версия Iptables Tutorial на английском языке
Настраивая у себя iptables наткнулся на это, простое и понятное, руководство
☺ 13:46, 11 июля 2007 (MSD)

