Сетевое администрирование в UNIX, 03 лекция (от 01 марта)

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

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

Продолжим про файерволлы(фв).

В прошлый раз затронули iptables. Сегодня про ipfw. Если обращаться к нашему названию, то macos X изначально имеет ипфв. БЗД лицензия позволяет портировать фв на разные системы, в том числе на виндоус.

В целом это достаточно похожие фаерволы. Пакет проходит правила с первого по последнее. По поводу политики по умолчанию -- она allow. Но iptables -P её задает.

Если вы вдруг знакомы с бейсиком, то ипфв вам будет знаком. Есть правила, у каждого правила есть номер. Если в случае иптаблес мы можем добавлять правила в конец цепочки в начало цепочки, то в ипфв понятия цепочек и таблиц нет, есть одна большая программа, которую проходят все пакеты. Номер задается двумя байтами, последнее 65535. По нстройкам ядра это правило будет либо все блокировать, ллибо все разрешать. В iptables было множестов цепочек и множество таблиц. В чатсности была таблица NAT. И да вида ната -- либо по адресу-источнику, либо по адресу-приёмнику. В случае с другими фв, скажем ипфв или пф там вместо этого есть понятие

  • nat
  • binat
  • rdr

nat -- это по адресу источника. То есть у ваас из внутренней сети происходит преобразование во внешнюю.

binat -- то что в иптаблез делают снат и днат. Когда пакет приходит

1. 10.1.0.0/24 -{4471}> 158.250.10.2
2. 10.1.0.3 <-> 158.250.10.3

,. Если есть правило вида 1 обратные пакеты проходят преобразование автоматически. Редирект это если

10.1.0.4:80 <-> 158.250.10.4:1080

Чаще всего используется для обратной связи. Например есть вебсевер, хочется на него ходить, но целый адрес отдавать не хочется.

В иптаблес есть возможность создавть свои цепочки (-N) и потом на них переходить. Похожая на прооцедурное программирование вещь. В частности есть -j jump, -r return(туда откуда джампали), есть goto -g.были в C, сделали -j A -g B -r -- вернет в -C.

В ипфв есть skipto -- перейти на номер правила такой то. И там и там при желании можно зациклить фаервол. В иптаблес можно написать правило без действия(например оно может считать сколько пакетов и байтов сквозь него прошло, ничего не делая с пакетом). В ипфв вместо этого используется скипту.

Собственно говоря в иптаблес есть цепочки input output. В ипфв есть понятие, что пакет приходит in и out. И соответственно для интерфейса recv, xinit.

В ипфв можно сказать, что пакет пришел через один интерфейс и уходит через второй. То есть можно задать правила которые применятся только к таким пакетам.

Точно также как в иптаблес пакеты не проходят по всем правилам то пакеты которые принимаются локальной машиной у них есть recv, но нет xmit.

Возникает проблема если правил в ипфв много, потому что пакет, прежде чем приянть решение, должен будет пройти все эти правила. В ипфв есть понятие таблицы ип адресов. запр src из тбл 1 разр src из сети 10.1.0.0/24

Вместо правил на каждый из адресов.

пф тоже единый фв, то есть в нем одном есть и бинат и правила фильтрации трафика, но в отличие от ипфв и иптаблес он действует наоборот. В нем срабатывает последнее подошедшее правило.

То есть в предыдущих мы сначала запрещали всем, а потом разрешали некотоым. В пфе наоборот -- попишем что этой сети разрешить, а потом пропишем кому заапртеить.

Пф немного оптимизирует порядок правил для оптимизации обработки. пф знает в какой интерфейс пакет поступил и куда пойдет. Если в правиле нет ни того ни того, правило будет отброшено. Как бы вы ни располагали правило если у вас правило привязано к одномуинтерфейсу а акет работает по другому вы не можете одним правилом которое привязано к интерфейсу два влиять а пакет связанный с интерфейсом один пока он не пройдет преобразование.

Если сравнивать их все три, то в иптейблз за счет изначальной несерьезности гораздо более богатая таблица преобразований. Классическая проблема -- что делать с фтп. фтп работает на 20 и 21 порту. Соответсвенно, есть клиент и сервер. Первое тцп соединение клиент устанавливает на 21 порт и по нему говорит что делать дальше. Поэтому соединени идут основные команды. А вот сервер свои данные, втом числе список файлов посылает.Активное фтп-- клиент сообщает серверу порт.

Проблема.Допусти сервер 10.1.0.10 Включим бинат. В пакете который он передаст клиенту он может сообщить только свой ипишник. Для фтп это было сделано специально чтобы можно было управлять через одну машину а данные получать по другому каналу или вообще с другой машины.

В случае фтп ипфв разбирается сам. Пф с фтп не разбирается и все что можно сделать -- запустить фтп прокси. Фтп прокси это юзер-спейс приложение. Происходит переключение контекста и падение производительности.

Одним из преимуществ таблицы является то что ее можно модифиировать на ходу.

[править] Проксирование

[править] Проксирование веба

[править] Transparent

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

Следующая вещь -- как бы рассказать вашим машинам куда они должны лезть. Вы можете на прокси сказать, что авторизованным пользоватлям разрешать столько то, а другим столько то. В сдлучае транпарент браузер не может передать никакие аутнетификационные данные и соответсвенно нет разделения.

Явно заданый прокси -- есть автризация, но её надо менять вручную на всех машинах если что.

Настройка автоматической прокси сильно отличается в зависимоси от того какой у вас браузер. Есть плохие браузеры, например ие. Он автоматически определяет прокси наиболее небезопасным образом. Первое что делает ие это пытается найти сайт wpad.d1.d2.ru(если он сам на host.d1.d2.ru) потом wpad.d2.ru, wpad.ru, а потом чуть ли не wpad.com. Ещё он лезет в нет биос ищет там машину с таки именем и к ней тоже лезет с "расскажи мне как проксировать".

ФФ использует только локальный днс и обращается к сайту, который так и называется впад. поскольку такого домена у нас нету вы всегда можжете себя в днс сервере прописать зону впад, назначить себя владельцем и отвечать что-нибудь. Если вы не контролируете днс, то пользователи вообще беззащитны(?). Впад.дат файл специального вида application/x-ns-proxy-autoconfig.он состоит из одной функции написанной на языке джаваскрипт.


Сетевое администрирование в UNIX


01 02 03 04 05 06 07 08 09 10 11 12 13


Календарь

Февраль
15 22
Март
01 15 22 29
Апрель
05 12 19 26
Май
03 10 17
Личные инструменты
Разделы