Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

IPTables

Брандмауэр для сети с DMZ(простая реализация).

Рубрики: Безопасность | Брандмауэр
Метки: | | | | |
Дата: 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.

Рубрики: Безопасность | Брандмауэр
Метки: | | |
Дата: 20/02/2009 09:30:23
Подписаться на комментарии по RSS

Целью правил IPTables называется действие, которое выполняется над пакетом, если его заголовок соответствует совпадению правила. Обычно используются 15 стандар­тных целей. Также можно указать в качестве цели пользовательскую це­почку, которой передается управление. Если ни одно из правил в пользовательской цепочке не совпало, выполнение передается назад в вызывающую цепочку.

     Опция -j используется для задания цели. Стандартные цели пишутся прописными буквами.

Далее...

Компоненты правил IPTables(специальные совпадения)

Рубрики: Безопасность | Брандмауэр
Метки: | | | |
Дата: 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 (продолжение).

Рубрики: Безопасность | Брандмауэр
Метки: | | |
Дата: 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.

Рубрики: Безопасность | Брандмауэр
Метки: | |
Дата: 12/02/2009 12:48:53
Подписаться на комментарии по RSS

Для изменения правил цепочек используется команда iptables. Детальное описание опций этой команды можно найти в соответствующем руководстве из справочной системы Linux (команда man iptables).

     Iptables можно запускать просто из командной строки, рекомендуется создать bash-сценарий, содержащий команды ipta­bles. Преимущества: во-первых, упрощается управление правилами, а во-вторых, правила применяются немедленно - одно за другим. Это удобно при удаленном управлении брандмауэ­ром.

Далее...

Основные понятия IPTables

Рубрики: Безопасность | Брандмауэр
Метки: | | | |
Дата: 11/02/2009 10:23:09
Подписаться на комментарии по RSS

IPTables входит в состав практически всех современных дистрибутивов Linux и устанавливается по умолчанию. Ядро Linux в таких дистрибутивах обычно скомпилировано с поддержкой IPTables. Если в дистрибутиве нет IPTables, его можно загрузить с сайта www.netfilter.org.

     IPTables непрерывно развивается, следовательно, немало новых функций не включено в состав обычного ядра Linux, так как они еще не протестированы на надежность. Такие расширения дают админис­тратору много полезных функций. Эти функции IPTables распространяются в виде серии патчей ядра, которая называется Patch-O-Matic (pOm).

Далее...

Коротко о 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).

Далее...