ШЛЮЗЫ, ТРАНСЛИРУЮЩИЕ АДРЕСА ИЛИ СЕТЕВЫЕ ПРОТОКОЛЫ
Пожалуй, самым известным шлюзом сеансового уровня можно считать шлюз с преобразованием IP-адресов (Network Address Translation, NAT). При использовании шлюза NAT внутренняя сеть имеет адреса, невидимые (и даже незарегистрированные) в общедоступной сети. При обращении внутреннего компьютера наружу шлюз перехватывает запрос и выступает от имени клиента, задействуя свой внешний (зарегистрированный) IP-адрес. Полученный ответ шлюз передает внутреннему компьютеру (после подстановки внутреннего адреса компьютера), выступая в качестве передаточного звена. Это позволяет убить сразу двух зайцев: резко сократить количество зарегистрированных IP-адресов и контролировать поток информации, т. е. назначать или запрещать доступ в Internet отдельным компьютерам.
Классификация межсетевых экранов
Шлюзы NAT могут работать в одном из четырех режимов: динамическом, статическом, статическом с динамической выборкой IP-адресов и комбинированном.
При динамическом режиме, иногда называемом трансляцией на уровне портов (Port Address Translation, PAT), шлюз имеет один-единственный внешний IP-адрес. Все обращения в общедоступную сеть (Internet) со стороны клиентов внутренней сети осуществляются с использованием этого внешнего адреса, при этом шлюз оперирует лишь портами внешнего интерфейса, т. е. при обращении клиента шлюз выделяет ему уникальный программный порт транспортного протокола (UDP, TCP) для внешнего IP-адреса. В распоряжении шлюза NAT могут иметься пулы до 64 000 портов TCP, 64 000 портов UDP и 6 4000 портов ICMP (в протоколе ICMP термин «порт» не применяется, но разработчики шлюзов используют его, чтобы подчеркнуть принцип трансляции пакетов), хотя в некоторых реализациях емкость пулов может быть много меньше этих величин, например в Novell BorderManager каждый пул содержит по 5000 портов.
Динамический режим предназначен для сетей, компьютеры которых выступают исключительно в качестве клиентов ресурсов Internet.
При статическом режиме внешнему интерфейсу шлюза назначается столько зарегистрированных IP-адресов, сколько компьютеров имеется во внутренней сети. Каждому компьютеру внутренней сети ставится в соответствие уникальный внешний IP-адрес шлюза. При обмене данными между внутренней и общедоступной сетями шлюз транслирует внутренние IP-адреса во внешние и наоборот. Статический режим необходим, если компьютеры внутренней сети работают в качестве серверов Internet.
Статический режим с динамической выборкой IP-адресов аналогичен статическому, за исключением того, что за внутренними компьютерами не закрепляются заранее (статически) определенные внешние IP-адреса, они резервируются динамически из пула внешних IP-адресов.
Комбинированный режим подразумевает одновременное использование сразу нескольких вышеперечисленных режимов и предназначен для сетей, где имеются как клиенты, так и серверы Internet.
Помимо общих недостатков шлюзов сеансового уровня (см. ниже) шлюзам NAT присущ свой специфический изъян: они не поддерживают сетевые приложения, пакеты прикладного уровня которых содержат IP-адреса. Единственным исключением является сервис ftp, для которого большинство шлюзов NAT умеет контролировать (и изменять) IP-адреса внутри пакетов прикладного уровня.
Вторым недостатком шлюзов NAT можно назвать то, что они не поддерживают аутентификацию на уровне пользователей, а только на уровне IP-адресов, что делает их уязвимыми для атак по типу IP-spoofing. Кроме того, шлюзы NAT не могут предотвратить атаки типа «отказ в обслуживании», в частности SYN-flooding, поэтому их имеет смысл применять только совместно с другими типами шлюзов сеансового и/или прикладного уровней. Кроме шлюзов NAT достаточно известны шлюзы IPX/IP, предназначенные для организации выхода в Internet компьютеров, работающих в сетях IPX/SPX. При запросе клиента внутренней сети к серверу Internet шлюз перехватывает запрос и вместо пакета IPX формирует соответствующий IP-пакет. При поступлении отклика от сервера шлюз делает обратное преобразование. Пожалуй, это самый надежный тип шлюзов, поскольку внутренняя сеть имеет принципиально другую, по сравнению с TCP/IP, программную среду. Не было отмечено еще ни одного случая взлома такой инфраструктуры. Кроме того, в отличие от шлюзов NAT, аутентификация на шлюзах IPX/IP осуществляется не только на уровне сетевых адресов компьютеров, но и на уровне пользователей с помощью информации база данных NDS (для NetWare 4.x и 5.x) или BINDERY (для NetWare 3.x). Правда, такая аутентификация возможна лишь при доступе из внутренней сети в Internet, за исключением случая, когда внешний клиент использует NetWare на основе TCP/IP.