Межсетевые экраны: теория

Это тематика позапрошлого дня, когда мы гворили про сеть. Мы потрогали стек протоколов, в том числе, гворили о маршрутизации, и ещё лектор говорил о том, что для того, чтобы он был маршрутизатором, нужно выставить системную переменную (ip forwarding). Надо сказать, что перекладывание из одного интерфейса в лругой каких-то пакетов --- задача частная, которая в общем случае выглядит следующим образом: есть задача по перераспределению, преобразованию и ограничению трафика. То есть, манипулировать какими-то данными, которые проходят через маршрутизатор (возм., они зарождаются в нём, возм., они ему направлениы), модифицировать этот трафик собразно нашим нуждам, и накладывать ограничения на трафик, начиная блокировкой, заканчивая шейпингом. Под трафиком имеется в виду некий массив данных, передаваемых по сети.

Только они неправильно расположены:

Обратите внимание, что кое-какие вещи, например, простейшая маршрутизация, делаются более или менее автоматически. Если соотв. параметр. ядра включён и если таблицы маршрутизации правлиьные, то оно будет работать автоматически. Но надо понимать, что это фича интерфейса (?)

В принципе, межсетевой экран как инструмент --- штука совокупная. Особенно, когда вспоминаем, что в стеке протоколов 4 уровня. По всей видимости, можно вообразить решение этих задач на каждом из этих уровней. Представим себе комплекс задач. Межсетевой экран как таковй это подход от подзадачи. У нас есть задача бесп. безопасеность работы в сети, эта задача реш. разными способами, в частности переч. тремя, и эти способы могут быть реализованы различными инструментами. Такой трёхуровневый подход: задача-решение-инструмент. Обратите внимание, что межсет. экран --- решение. С другой стороны, когда мы гворим, что для задачи огр. дотупа в сеть. сп. межсетевой экран, мы не гвоорим, каким образом это получается. Конкретный инструмент может быть iptables, iproute2, секатор. То есть, решение реализуется не одним инструментом. В этом цикле может быть много задач, решений и инструментов. И когда мы гворим про МС, мы говорим про реш., которое восх. к инстр.

Это к чему. Нельзя говорить, что межстеетвой экран это iptables. С жругой стороны. нельзя говорить о том, что МС --- гарантия безоп. сети. Это никакое набл. или практ. результат. Это результат того, что решение не явл. задачей и не явл. инструментом. Далеко не всегда одно реш. удовл., и далеко не всегда это решение исп. iptables.

Вернёмся к 4 урвням протоколов и рассм. наши три задачи. Попробуем себе представить, на каком из этих уровней.

Огр. на инт. уровне. Типичная задача --- фильтрация по MAC-адресам. Это iproute2.

На инт. уровне перерасп. Такая задача возн., когда у нас единая среда перед. данных, на которой должно находиться несколько виртуальных, VLAN. Когда eth-фреймы раскрашиваем по цветам. На уровен линукса это делается так --- регистрируются вирт. сетевые интерфейсы, которые привязываются к соотв. VLAN-ам. То есть задача расп. сводится к задаче на уровне сетевом. iptables.

Вопрос общего плана: насколько это вобще востребовано (за иск. vlanов, котрые делаются аппаратно). Наверное, не чоень.

Ограничение по IP. Основное, о чём думают при слове межсетевые экраны. Ибо на основе ip адресатов и получателей разруливается большинство вещей.

Перераспределение. Если мы решаем эту задачу нест. образом, то созд. множество правил, по которым это распр. осуществляется. Для этог есть ipt и ipr2.

Преобразование. Зачем нужно? NAT. Это нужно для всё ещё непонтной ситуации, как бьыть, когда ip имеют диапазон интранетовский, но хотят в итнернет. Один способ --- прокси, но это кардинально меняет ситауацию. Преобразование IP-адресов --- такой метод, когда машина из внутр. сети, отсылая его наружу, запоминается, какой это был пакет, и тогда с ip внешним уходит пакет по назн., и когда на него приходит ответ, ip преобр. обратно, по каким-то признакам выявляется кому ответ, и пакет взвр. обратно хосту. Делается это опять же с помощью iptable

Огр. транс: граничение по портам --- iptables. Ограничение по объёму --- iproute2.

Перерасп. транс. уровня. Проброс портов.

Преобр. NAT. Поск., он задействует понятие сост., в том числе TCP.

Огр. на прикл. уровне. Да, мы только что в сквиде это делали. l7-filter. Он может выяснять, что за пртокол прикл. уровнгя идёт. Кроме того, они аккуратно промеряют тайминги. Фактически, фильтрация на этом уровне --- дело каждого отдельного приложения.

Распред. на прикл. Если о нём идёт речь, то оно должно быть реализовано в протоколе. Пример --- рассылка почты.

То же саоме --- преобразование. Хотя, его также делает iptables. Пример --- connection tracker (FTP, IRC).

Интерфейсный уровень

Сетевой

Транспортный

Прикладной

Ограничение

iptables

iptables

iptables, iproute2

l7-filter, iptables, squid, спам-фильтры, ...

Перераспределение

iptables

iptables, iproute2

iptables, iproute2

...

Преобразование

?

iptables

iptables

iptables, ...

И теперь ответьте на вопрос, про какой инструмент стоит говорить? Да, есть задачи, с которыми справляется и только делает iproute2. Но лектор не готов сейчас рассказывать про iproute2, это такая мощная внутренная программа.

Достаточно неплохо введение в эту тему излождено в КМ. Идея состоит в следующем. Тут надо на самом деле... лектор не любит линуксовый фаерволл, бсдшный на много прямее... Идея в том, что у нас приходят пакеты и мы их обрабатываем в неск. цепочках. Сначала мы обр. пакеты в цепочке преобр, потом фильтр, потом out. Потом выяснилось, что на самом деле не все пакеты одинаковые. в зависимочсти от гтоо, кто адресат и получатель пакета, надо разные решения получать. Для этого завели таблицы цеполчек. Идея в след.: даже по умолч. есть три пути пакета: пакет, который нам, пакет, который от нас уходит, и пакет, который мы марш. Для этого удобно исп. неск. разных групп правил. Цепочка наз. цепочкой по одной простой причине. Это некий упорядоченный списко правил, который сост. из двух частей. Сначала она опис. условие, вид пакета, а вторая половинка описывает, что с пакетом делать. И способ обр. следующий: если левая половинка вып., то делается то, что в правой и цепочка закачивается. Таким образом, приходит пакет, он обр., обр, пока не найдётся правило, которое он обр. А дальше понятно. Когда пакет проходит через одну цпеочку, потом, вторую, третью и так далее. Если он не попал в такое правило, где его не надо выбрасить или передать в какую-то конкр. таблицу.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

0

1

1

1

1

PavelSutyrin, VladimirLysikov


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex