IPTables
Брандмауэр для сети с DMZ(простая реализация).
Метки: DMZ | DNAT | firewall | IPTables | marshrutizator | SNAT
Дата: 29/03/2009 11:36:38
Подписаться на комментарии по RSS
Правила брандмауэра.
На рисунке показана предложенная топология с 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
Подписаться на комментарии по RSS
Целью правил IPTables называется действие, которое выполняется над пакетом, если его заголовок соответствует совпадению правила. Обычно используются 15 стандартных целей. Также можно указать в качестве цели пользовательскую цепочку, которой передается управление. Если ни одно из правил в пользовательской цепочке не совпало, выполнение передается назад в вызывающую цепочку.
Опция -j используется для задания цели. Стандартные цели пишутся прописными буквами.
Компоненты правил IPTables(специальные совпадения)
Метки: ICMP | IPTables | tcp | tcp-options | udp
Дата: 17/02/2009 16:05:17
Подписаться на комментарии по RSS
Следующие совпадения можно применять только к определенному протоколу: специальные совпадения TCP к TCP-пакетам, UDP к UDP-пакетам и ICMP к ICMP-пакетам соответственно. Из-за этого их выделили в отдельную группу компонент правил IPTables. Их так и называют - специальные совпадения протокола(TCP, UDP или ICMP).
В документе Iptables Tutorial эти совпадения называют неявными критериями выделения пакета. Под этим там понимаются те критерии, которые явно не выражены и становятся доступны только после указания критерия, например -p tcp.
Эти критерии можно подгрузить и явным образом, указав ключа -m (-match), к примеру -m tcp.
Рассмотрим эти специальные совпадения.
Общий синтаксис команды IPTables (продолжение).
Метки: forward | IPTables | SNAT | Stateful firewall
Дата: 16/02/2009 09:24:25
Подписаться на комментарии по RSS
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 <адрес>
В этом случае мы должны указать реальный адрес нашего внешнего интерфейса.
Общий синтаксис команды IPTables.
Метки: IPTables | iptables-restore | iptables-save
Дата: 12/02/2009 12:48:53
Подписаться на комментарии по RSS
Для изменения правил цепочек используется команда iptables. Детальное описание опций этой команды можно найти в соответствующем руководстве из справочной системы Linux (команда man iptables).
Iptables можно запускать просто из командной строки, рекомендуется создать bash-сценарий, содержащий команды iptables. Преимущества: во-первых, упрощается управление правилами, а во-вторых, правила применяются немедленно - одно за другим. Это удобно при удаленном управлении брандмауэром.
Основные понятия IPTables
Метки: DNAT | forwarding | IPTables | NAT | pOm
Дата: 11/02/2009 10:23:09
Подписаться на комментарии по RSS
IPTables входит в состав практически всех современных дистрибутивов Linux и устанавливается по умолчанию. Ядро Linux в таких дистрибутивах обычно скомпилировано с поддержкой IPTables. Если в дистрибутиве нет IPTables, его можно загрузить с сайта www.netfilter.org.
IPTables непрерывно развивается, следовательно, немало новых функций не включено в состав обычного ядра Linux, так как они еще не протестированы на надежность. Такие расширения дают администратору много полезных функций. Эти функции IPTables распространяются в виде серии патчей ядра, которая называется Patch-O-Matic (pOm).
Коротко о IPTables
Метки: IPTables
Дата: 06/02/2009 11:48:51
Подписаться на комментарии по RSS
Современный компьютер невозможно представить без сети. В каждом новом компьютере, как правило уже есть сетевая плата. Она нужна для выхода в локальную или глобальную сеть. Но при выходе в сеть компьютер подвергается опасности быть взломанным. Чтобы этого избежать и придумали различные способы фильтрации пакетов.
Фильтрация пакетов подразумевает под собой анализ заголовка пакета, его последующего сравнения с набором некоторых правил, и выполнения действия над пакетом в зависимости от правил, которые заданы для него.
IPTables - это встроенный в ядро фильтр пакетов в Linux, основанного на последних ядрах 2.4 и 2.6. Раньше в ядре 2.2 использовался фильтр пакетов ipchains. Тем , кто работал с ipchains, будет легко разобраться с IPTables. Они отличаются только синтаксисом команд, да в IPTables прибавилось очень много дополнительных возможностей фильтрации пакетов. Также в IPTables появились функции DNAT/SNAT и продвижения портов (port forwarding).
