Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Шлюзы сетевого уровня

Шлюз сетевого уровня иногда называют системой трансляции сетевых адресов или шлюзом сеансового уровня модели OSI. Такой шлюз исключает прямое взаимодействие между авторизированным клиентом и внешним хост-компьютером. Шлюз сетевого уровня принимает запрос доверенного кли­ента на конкретные услуги, и после проверки допустимости запро­шенного сеанса устанавливает соединение с внешним хост-компьютером. После этого шлюз копирует пакеты в обоих направ­лениях, не осуществляя их фильтрации.

Шлюз следит за подтверждением (квитированием) связи между авторизированным клиентом и внешним хост-компьютером, определяя, является ли запрашиваемый сеанс связи допустимым. Чтобы выявить допустимость запроса на сеанс связи, шлюз выполняет следующую процедуру.

Когда авторизированный клиент запрашивает некоторый сервис, шлюз принимает этот запрос, проверяя, удовлетворяет ли этот клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хост-компьютером и следит за выполнением процедуры квитирования связи по протоколу TCP . Эта процедура состоит из обмена TCP-пакетами, которые помечаются фла­гами SYN (синхронизировать) и АСК (подтвердить).

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

Далее осуществляется обратная процедура: хост-компьютер посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета АСК, содержащего число 2001. На этом процесс квитирования связи завершается.

Шлюз сетевого уровня признает запрошенное соединение допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и АСК, а также числа, содержа­щиеся в TCP-пакетах, оказываются логически связанными меж­ду собой.

После того как шлюз определил, что доверенный клиент и внешний хост-компьютер являются авторизированными участниками сеанса TCP, и проверил допустимость этого сеанса, он устанавливает соединение. Начиная с этого момента, шлюз копирует и перенаправляет пакеты туда и обратно, не проводя никакой фильтрации. Он поддерживает таблицу установленных соединений, пропуская данные, относящиеся к одному из сеансов связи, зафиксированных в этой таблице. Когда сеанс завершается, шлюз удаляет соответствующий элемент из таблицы и разрывает цепь, использовавшуюся в данном сеансе.

Для копирования и перенаправления пакетов в шлюзах сетевого уровня применяются специальные приложения, которые называют канальными посредниками, поскольку они устанавлива­ют между двумя сетями виртуальную цепь или канал, а затем раз­решают пакетам, которые генерируются приложениями TCP / IP , проходить по этому каналу. Канальные посредники поддерживают несколько служб TCP / IP , поэтому шлюзы сетевого уровня могут использоваться для расширения возможностей шлюзов приклад­ного уровня, работа которых основывается на программах-посредниках конкретных приложений.

Фактически большинство шлюзов сетевого уровня не являются самостоятельными продуктами, а поставляются в комплек­те со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall компании Trusted Information Systems , Alta Vista Firewall компании DEC и ANS Interlock компании ANS . Например, Alta Vista Firewall использует канальные посред­ники прикладного уровня для каждой из шести служб TCP / IP , к ко­торым относятся, в частности, FTP , HTTP ( Hyper Text Transport Protocol ) и telnet. Кроме того, межсетевой экран компании DEC обеспечивает шлюз сетевого уровня, поддерживающий другие общедоступные службы TCP / IP , такие как Gopher и SMTP, для которых межсетевой экран не предоставляет посредников приклад­ного уровня.

Шлюз сетевого уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника. Этот сервер-посредник выполняет процедуру трансляции адресов, при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с межсетевым экраном, из которого передаются все исходящие пакеты. В резуль­тате в сети со шлюзом сетевого уровня все исходящие пакеты ока­зываются отправленными из этого шлюза, что исключает прямой контакт между внутренней (авторизированной) сетью и потенци­ально опасной внешней сетью. IP-адрес шлюза сетевого уровня становится единственно активным IP-адресом, который попадает во внешнюю сеть. Таким образом шлюз сетевого уровня и другие серверы-посредники защищают внутренние сети от нападений типа подмены адресов.

После установления связи шлюзы сетевого уровня фильтруют пакеты только на сеансовом уровне модели OSI, т.е. не могут проверять содержимое пакетов, передаваемых между внутрен­ней и внешней сетью на уровне прикладных программ. И поскольку эта передача осуществляется "вслепую", хакер, находящийся во внешней сети, может "протолкнуть" свои "вредоносные" пакеты через такой шлюз. После этого хакер обратится напрямую к внут­реннему Web-серверу, который сам по себе не может обеспечивать функции межсетевого экрана. Иными словами, если процеду­ра квитирования связи успешно завершена, шлюз сетевого уровня установит соединение и будет "слепо" копировать и перенаправлять все последующие пакеты независимо от их содержимого.

Чтобы фильтровать пакеты, генерируемые определенными сетевыми службами, в соответствии с их содержимым необходим шлюз прикладного уровня.