Брандмауэр
Подписаться на эту рубрику по RSS
Создание набора правил брандмауэра(Часть 1).
Рубрика: Безопасность | БрандмауэрМетки: DHCP | DMZ | DNS | forwarding | SSH
Дата: 02/04/2009 09:18:32
Как и в сценарии для простой реализации сети с DMZ, первоначально определяются служебные переменные, которые будут использоваться в новом сценарии - firewall.sh. Описание каждой переменной можно найти в этом же разделе. Начало сценария будет таким:
IF_DMZ="eth2"
IF_EXT="eth0"IP_LAN="192.168.1.1"
IP_DMZ="192.168.0.1"DMZ_HTTP="192.168.0.3"
DMZ_DNS="192.168.О.2" DMZ_MAIL="192.168.0.4" ## Путь к исполнимому файлу iptables. ## Может отличаться в зависимости ## от дистрибутива Linux IPT="/usr/sbin/iptables"Брандмауэр для сети с DMZ(простая реализация).
Рубрика: Безопасность | БрандмауэрМетки: DMZ | DNAT | firewall | IPTables | marshrutizator | SNAT
Дата: 29/03/2009 11:36:38
Правила брандмауэра.
На рисунке показана предложенная топология с IP-адресами интерфейсов. Опишем словесно все правила маршрутизации трафика, а потом реализуем их на IPTables:
- Пакеты, выходящие за пределы локальной сети (то есть адресованные интернет-узлам), должны проходить через интерфейс eth0. Кроме этого, нужно перезаписать адрес отправителя: поскольку используем внутренние адреса, то нужно заменить внутренний адрес отправителя адресом внешнего интерфейса.
- Ответы на эти пакеты должны быть переданы на интерфейс eth1 (интерфейс внутренней сети), при этом адрес получателя должен быть корректно перезаписан. Так как ответ, полученный от интернет-узла, будет предназначен внешнему интерфейсу, то нужно вернуть ответ внутреннему узлу, указав его внутренний IP-адрес.
- Пакеты из локальной сети, адресованные компьютерам нейтральной зоны, должны быть переданы на интерфейс eth2. Для этих пакетов NAT не нужен, поскольку DMZ-компьютеры также используют внутренние адреса.
- Пакеты из нейтральной зоны, адресованные компьютерам локальной сети, должны быть переданы на интерфейс eth1. NAT также не нужен.
- Пакеты DMZ-компьютеров, адресованные интернет-узлам, должны покинуть пределы сети через интерфейс eth0. В этом случае NAT нужен: нужно перезаписать адрес отправителя адресом внешнего интерфейса.
- Ответы на эти пакеты должны быть отправлены назад, при этом адрес получателя должен быть корректно перезаписан, так как пакет нужно отправить соответствующей машине нейтральной зоны.
- Входящие запросы на ТСР-соединения (SYN-пакеты) по портам 80 и 443 должны быть переданы Web-серверу (из нейтральной зоны).
- Входящие запросы на TCP/UDP-соединения по порту 53 должны быть переданы DNS-серверу (из нейтральной зоны).
- Входящие запросы на ТСР-соединения по порту 25 должны быть переданы почтовому серверу (из нейтральной зоны).
Цели правил IPTables.
Рубрика: Безопасность | БрандмауэрМетки: DNAT | IPTables | SNAT | ToS
Дата: 20/02/2009 09:30:23
Целью правил IPTables называется действие, которое выполняется над пакетом, если его заголовок соответствует совпадению правила. Обычно используются 15 стандартных целей. Также можно указать в качестве цели пользовательскую цепочку, которой передается управление. Если ни одно из правил в пользовательской цепочке не совпало, выполнение передается назад в вызывающую цепочку.
Опция -j используется для задания цели. Стандартные цели пишутся прописными буквами.
Расширения правил IPTables.
Рубрика: Безопасность | БрандмауэрМетки: limit | Stateful firewall | ToS
Дата: 19/02/2009 11:12:48
Расширения Iptables дают возможность установки дополнительных критериев отбора пакетов. Их еще называют явными критериями отбора пакетов.
Отличие между явными и неявными критериями заключается в том, что первые нужно подгружать явно, а вторые подгружаются автоматически.
Чтобы использовать эти расширения, их нужно загрузить с помощью ключа -m или --match. После опции -m указывается имя расширения и параметры расширения.
Например, если используется критерий state, то он явно указывается в строке правила: -m state перед используемым критерием.
Компоненты правил IPTables(специальные совпадения)
Рубрика: Безопасность | БрандмауэрМетки: ICMP | IPTables | tcp | tcp-options | udp
Дата: 17/02/2009 16:05:17
Следующие совпадения можно применять только к определенному протоколу: специальные совпадения TCP к TCP-пакетам, UDP к UDP-пакетам и ICMP к ICMP-пакетам соответственно. Из-за этого их выделили в отдельную группу компонент правил IPTables. Их так и называют - специальные совпадения протокола(TCP, UDP или ICMP).
В документе Iptables Tutorial эти совпадения называют неявными критериями выделения пакета. Под этим там понимаются те критерии, которые явно не выражены и становятся доступны только после указания критерия, например -p tcp.
Эти критерии можно подгрузить и явным образом, указав ключа -m (-match), к примеру -m tcp.
Рассмотрим эти специальные совпадения.
Компоненты правил IPTables(общие)
Рубрика: Безопасность | БрандмауэрМетки: IPTables Tutorial 1.1.19
Дата: 17/02/2009 09:12:38
В разных документах и руководствах по iptables используются разные обозначения для тех или иных описаний правил iptables. Например, в IPTables Tutorial компоненты правил называют критерием выделения пакетов.
Мы будем называть обозначение компонентов правил совпадением.
Совпадением назовем пару, состоящую из объекта сравнения (то есть того, что сравнивается, в частности адрес отправителя) и его значения-образца (с этим значением будет сравниваться соответствующее объекту поле заголовка).
Так как объект совпадения зависит от определенных полей заголовка, некоторые совпадения можно использовать только для пакетов определенных типов. Другие же совпадения можно использовать для всех IP-пакетов.
Общий синтаксис команды IPTables (продолжение).
Рубрика: Безопасность | БрандмауэрМетки: forward | IPTables | SNAT | Stateful firewall
Дата: 16/02/2009 09:24:25
SNAT.
SNAT использует такой синтаксис:
# iptables -t nat -A POSTROUTING --out-interface <интерфейс> -j MASQUERADE
Указываем таблицу (NAT), цепочку (в SNAT используется только цепочка POSTROUTING), исходящий интерфейс (внешний интерфейс) и цель - в этом случае MASQUERADE (маскарадинг). MASQUERADE полезен для соединений с динамическими или полудинамическими IP-адресами. Если хватает статических адресов, SNAT может быть реализован следующим образом:
# iptables -t nat -A POSTROUTING --out-interface <интерфейс> -j SNAT --to-source <адрес>
В этом случае мы должны указать реальный адрес нашего внешнего интерфейса.
