Редактирование: UNИX, весна 2009, 02 лекция (от 04 марта)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 42 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 10: Строка 10:
</gallery>
</gallery>
-
== Вступление ==
 
Лектор пообещал, что разговор про сетевые экраны будет построен по тому же принципу, что и в прошлом семестре — подъем по стеку протоколов.
Лектор пообещал, что разговор про сетевые экраны будет построен по тому же принципу, что и в прошлом семестре — подъем по стеку протоколов.
Но это неправильно.
Но это неправильно.
Строка 47: Строка 46:
Это была преамбула.
Это была преамбула.
-
== Задача управления трафиком ==
 
Каким образом нам решать задачу, какие есть стратегии решения задачи управления трафиком?
Каким образом нам решать задачу, какие есть стратегии решения задачи управления трафиком?
У нас некий общий случай.
У нас некий общий случай.
Строка 55: Строка 53:
Какие есть пути решения задачи?
Какие есть пути решения задачи?
- 
-
== Традиционный путь решения ==
 
Самый традиционный путь состоит в следующем.
Самый традиционный путь состоит в следующем.
Берем все трафики, превращаем в потоки пакетов, возможно, присоединяем дополнительную информацию.
Берем все трафики, превращаем в потоки пакетов, возможно, присоединяем дополнительную информацию.
Строка 68: Строка 64:
На основании накопленного принимаем решения, куда как перенаправлять, выбрасывать и прочее.
На основании накопленного принимаем решения, куда как перенаправлять, выбрасывать и прочее.
-
=== Схема общей цепочки ===
 
Первая схема — общей цепочки.
Первая схема — общей цепочки.
Мы знаем несколько файрволлов, которые устроены по такой схеме.
Мы знаем несколько файрволлов, которые устроены по такой схеме.
Строка 79: Строка 74:
По тем же канонам функционировал старый линуксовый файрволл ipchains, что-то похожее было.
По тем же канонам функционировал старый линуксовый файрволл ipchains, что-то похожее было.
Каковы очевидные достоинства и недостатки подобного рода организации?
Каковы очевидные достоинства и недостатки подобного рода организации?
- 
-
==== Достоинства и недостатки ====
 
Начнем с достоинств.
Начнем с достоинств.
Очень мало сущностей.
Очень мало сущностей.
Строка 118: Строка 111:
Если пакет 6000 раз прошел через одно правило, он сбрасывался.
Если пакет 6000 раз прошел через одно правило, он сбрасывался.
-
=== Схема нескольких цепочек ===
 
Мы можем сохранить линейность правил, но разбить правила на цепочки и привязать каждую цепочку к обработке той или иной
Мы можем сохранить линейность правил, но разбить правила на цепочки и привязать каждую цепочку к обработке той или иной
жизненной ситуации.
жизненной ситуации.
Строка 142: Строка 134:
Части, которые не пересекаются будут достаточно большими.
Части, которые не пересекаются будут достаточно большими.
-
== Топологический путь решения ==
 
Есть совершенно другая стратегия.
Есть совершенно другая стратегия.
Описанная ранее стратегия — линейная.
Описанная ранее стратегия — линейная.
Строка 163: Строка 154:
Он проходит по графу, возможно, пропадает, попав в черную дыру.
Он проходит по графу, возможно, пропадает, попав в черную дыру.
Обработка, преобразования, ограничения.
Обработка, преобразования, ограничения.
- 
-
=== Реализация ===
 
Свободная реализация известна лектору только одна.
Свободная реализация известна лектору только одна.
netgraph (ng).
netgraph (ng).
Строка 173: Строка 162:
ng устроен функционально.
ng устроен функционально.
Передачи не происходит, путь превращается в суперпозицию функций.
Передачи не происходит, путь превращается в суперпозицию функций.
- 
-
=== Достоинства и недостатки ===
 
Чем этот подход хорош?
Чем этот подход хорош?
В отличие от непонятно каких правил, есть картина следования пакетов.
В отличие от непонятно каких правил, есть картина следования пакетов.
Строка 182: Строка 169:
Но свои задачи решает хорошо и эффективно.
Но свои задачи решает хорошо и эффективно.
-
== Совмещенная стратегия ==
+
Совмещенная стратегия.
Возможно, даже разрешены циклы.
Возможно, даже разрешены циклы.
Отсылки на сторону внутрь ipfw не включены.
Отсылки на сторону внутрь ipfw не включены.
Строка 190: Строка 177:
Это может быть на уровне ядра, но система правил на него не распространяется.
Это может быть на уровне ядра, но система правил на него не распространяется.
-
=== Работа с линейными файрволами ===
 
Как с той же самой проблемой справляются линейные файрволы?
Как с той же самой проблемой справляются линейные файрволы?
Для каждого случая жизни пишется отдельный helper.
Для каждого случая жизни пишется отдельный helper.
Строка 199: Строка 185:
Мелких доклеек к iptables довольно много.
Мелких доклеек к iptables довольно много.
-
== Сравнение ==
 
Если в том же ipfw преобладала практика оформления сторонних модулей по тем же правилам, разницы особо нет.
Если в том же ipfw преобладала практика оформления сторонних модулей по тем же правилам, разницы особо нет.
Есть топология, граф, рассчитанный на обработку.
Есть топология, граф, рассчитанный на обработку.
Строка 206: Строка 191:
Линейные модели хороши простотой.
Линейные модели хороши простотой.
-
== Реальное применение ==
 
Вопрос в том, как этими стратегиями можно воспользоваться.
Вопрос в том, как этими стратегиями можно воспользоваться.
С одной стороны, есть подсистема стека.
С одной стороны, есть подсистема стека.
Строка 218: Строка 202:
В разные моменты между разными моментами обработки ядро может захватить управление и посмотреть, как дела.
В разные моменты между разными моментами обработки ядро может захватить управление и посмотреть, как дела.
-
=== Требуемая поддержка со стороны ОС ===
 
Существует три сущности, которые должны быть реализованы в ОС, чтобы она стала межсетевым экраном.
Существует три сущности, которые должны быть реализованы в ОС, чтобы она стала межсетевым экраном.
Разметка проходящих пакетов в соответствии с правилами файрвола.
Разметка проходящих пакетов в соответствии с правилами файрвола.
Строка 227: Строка 210:
При изучении линукса мы быстро наткнемся на пакет ebtables.
При изучении линукса мы быстро наткнемся на пакет ebtables.
-
=== pf ===
+
pf.
В pf три года назад не было поддержки уровня 2.
В pf три года назад не было поддержки уровня 2.
Сейчас ядерные ручки есть.
Сейчас ядерные ручки есть.
-
=== Стратегии непосредственной работы файрвола ===
 
В случае, когда граф две стратегии.
В случае, когда граф две стратегии.
First wins, last wins.
First wins, last wins.
- 
-
=== First wins ===
 
Файрвол пропускает соединение только из одной подсети или на 80-й порт.
Файрвол пропускает соединение только из одной подсети или на 80-й порт.
Мы пишем пропускать из какой-то сети.
Мы пишем пропускать из какой-то сети.
Строка 252: Строка 232:
При сложной задачи правильность расположения правил позволяет экономить ресурсы.
При сложной задачи правильность расположения правил позволяет экономить ресурсы.
-
=== Разрешение установленных соединений ===
 
Можно добавить первое правило, если TCP установлено, всегда его пропускать.
Можно добавить первое правило, если TCP установлено, всегда его пропускать.
До этого уже пропустили пакеты установки соединения.
До этого уже пропустили пакеты установки соединения.
Это сильно повышает работоспособность файрвола.
Это сильно повышает работоспособность файрвола.
- 
-
=== Устройство реальных файрволов ===
 
По принципу first wins устроены ipf, ipfw, iptables.
По принципу first wins устроены ipf, ipfw, iptables.
Исключение — pf, он строит last wins.
Исключение — pf, он строит last wins.
- 
-
=== last wins ===
 
Применяются все правила к каждому пакету.
Применяются все правила к каждому пакету.
В дополнительную информацию вносятся изменения.
В дополнительную информацию вносятся изменения.
Строка 277: Строка 252:
Поиск по линейным правилам имеет линейную сложность.
Поиск по линейным правилам имеет линейную сложность.
-
=== Смешанные стратегии ===
+
Смешанные стратегии.
В first wins файрволах есть возможность вернуть пакет обратно.
В first wins файрволах есть возможность вернуть пакет обратно.
В файрволах last wins есть finally.
В файрволах last wins есть finally.
-
=== Учет трафика ===
 
Что можно сказать еще?
Что можно сказать еще?
Где здесь учет?
Где здесь учет?
Строка 296: Строка 270:
Вариант в бсд — сетевой интерфейс, из которого лезет только нужный трафик, а дальше с ним можно делать, что захотим.
Вариант в бсд — сетевой интерфейс, из которого лезет только нужный трафик, а дальше с ним можно делать, что захотим.
-
=== Таблицы ===
+
Таблицы.
Поделили трафик на разные виды.
Поделили трафик на разные виды.
Действия должны происходить в разное время.
Действия должны происходить в разное время.
Строка 308: Строка 282:
Поскольку люди обсуждают, необходимость обойти возникает.
Поскольку люди обсуждают, необходимость обойти возникает.
-
== Резюме ==
+
Резюме.
Говоря о задачах преобразования, ограничения, перенаправления трафика, мы касаемся большего, чем iptables.
Говоря о задачах преобразования, ограничения, перенаправления трафика, мы касаемся большего, чем iptables.
Сами файрволы могут быть организованы сильно по-разному.
Сами файрволы могут быть организованы сильно по-разному.

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Личные инструменты
Разделы