Как ограничить и пронаблюдать доступ в Сети

(Всякие там другие души — пусть, но живой души чтобы ни одной. Демонов на входе и выходе заговорить. Понимаете обстановку? Живые души не должны входить, а все прочие не должны выходить. Потому что же был прен-цендент: сбежал черт и украл луну. Широко известный прен-цендент, даже в кино отражен.)

Задачи межсетевого экрана:

Этот список явно отвечает не одному инструменту

На каждом уровне TCP/IP своё понятие «трафика».

IPTables

IPTables — межсетевой экран Linux интерфейсного, сетевого и транспортного уровней. Однако основная единица обработки IPTables — IP пакет.

=== Отчего оно такое ==

Пять событий в жизни пакета:

  1. Приём пакета (через сеть)
  2. Передача пакета, (отсылка через сеть)
  3. Порождение пакета программой
  4. Присваивание пакета программой (принятый пакет передаётся программе)
  5. Перенаправление (маршрутизация — принятие решения об адресате)

Пути пакета:

Картинка из учебника:

IPTables.dia.png

Отличия от «3+5»:

Таблицы и цепочки

Прямоугольники в схеме — цепочки, каждая цепочка состоит из нескольких таблиц (буквы M, N и F в правом верхнем углу прямоугольника означают тип таблиц, их наличие в данной цепочке и их порядок), каждая таблица — список правил вида «шаблон пакетачто делать с пакетом».

В соответствие со схемой:

«Тип пакета» определяется полями протоколов уровня IP и ниже, состоянием соединения на транспортном уровне и состоянием самого МЭ.

Пример МЭ транспортного уровня: подмена адресов

Перенаправление порта (не требует отслеживания состояния соединения):

NAT и маскарад:

При подмене вида «много в один» (вся внутрення сеть в один внешни адрес) существует ненулевая вероятность совпадения полей SEQN в TCP-совдинении двух различных абонентов внутренней сети. поэтому отслеживание соединения может быть более глубоким: при подключении запоминается и подменяется также SEQN абонента, а в дальнейшем при обмене внешний SEQN преобразуется во внутренний по правилам изменения SEQN в TCP-соединении (т. е. увеличивается на размер пакета и т. п.).

Ограичение трафика

Трафик нужно ограничивать, а не ухудшать.

Целесообразно делать на транспортном уровне (манипуляция потоками данных). Утилита tc в пакете iproute2

Пример МЭ прикладного уровня

Анализаторы трафика с собственными обработчиками событий

Другой подход: общиймеханизм анализа трафика в качестве модуля IPTables (!): L7-Filter

Ссылки

Руководство по IPTables.

LecturesDistro2007/10_FireWall (last edited 2008-06-04 08:20:29 by localhost)