11.3. Шлюзы уровня приложений

С целью защиты ряда уязвимых мест, присущих фильтрующим маршрутизаторам, межсетевые экраны должны использовать прикладные программы для фильтрации соединений с такими сервисами, как Telnet и FTP.

Подобное приложение называется уполномоченным (или proxy-службой), а компьютер, на котором работает proxy-служба – шлюзом уровня приложений (прикладным шлюзом).

Шлюз уровня приложений исключает прямое взаимодействие между авторизованным клиентом и внешним компьютером. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне. Обнаружив сетевой сеанс, шлюз приложений останавливает его и вызывает уполномоченное приложение для оказания запрашиваемой услуги, пусть это будет Telnet, FTP, World Wide Web или электронная почта.

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

В качестве примера рассмотрим сеть, где с помощью фильтрующего маршрутизатора блокируются входящие соединения Telnet и FTP. Этот маршрутизатор допускает прохождение пакетов Telnet или FTP только к одному компьютеру – шлюзу прикладного уровня Telnet/FTP (рис. 11.3).

Внешний пользователь, который хочет соединиться с некоторой системой в сети, должен сначала соединиться со шлюзом прикладного уровня, а затем уже с нужным внутренним компьютером. Это осуществляется следующим образом:

1) внешний пользователь устанавливает Telnet-соединение со шлюзом прикладного уровня при помощи протокола Telnet и вводит имя интересующего его внутреннего компьютера;

2) шлюз проверяет IP-адрес отправителя и разрешает или запрещает соединение в соответствии с тем или иным критерием доступа;

3) пользователю может потребоваться аутентификация (возможно, с помощью одноразовых паролей);

4) сервер-посредник устанавливает Telnet-соединение между шлюзом и внутренним компьютером;

5) сервер-посредник осуществляет передачу информации между этими двумя соединениями;

6) шлюз прикладного уровня протоколирует соединение.

Приведенный пример наглядно показывает преимущества использования уполномоченных приложений:

· уполномоченные приложения пропускают только те службы, которые им поручено обслуживать. Иначе говоря, если шлюз прикладного уровня наделен полномочиями (и уполномоченными приложениями) для служб FTP и Telnet, то в защищаемой сети будут разрешены только FTP и Telnet, а все другие службы полностью блокируются. Для некоторых организаций такой вид безопасности имеет большое значение, так как гарантирует, что через межсетевой экран будут пропускаться только службы, которые считаются безопасными;

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

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

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

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

· невидимость структуры защищаемой сети из глобальной сети Internet. Имена внутренних систем можно не сообщать внешним системам через DNS, поскольку шлюз прикладного уровня может быть единственным компьютером, имя которого должно быть известно внешним системам;

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

· приемлемое соотношение цены и эффективности. Дополнительные программные или аппаратные средства аутентификации или регистрации нужно устанавливать только на шлюзе прикладного уровня;

· простые правила фильтрации. Правила на фильтрующем маршрутизаторе оказываются менее сложными, чем на маршрутизаторе, который самостоятельно фильтровал бы прикладной трафик и отправлял его большому числу внутренних систем. Маршрутизатор должен пропускать прикладной трафик, предназначенный только для шлюза прикладного уровня, и блокировать весь остальной;

· возможность организации большого числа проверок. Защита на уровне приложений позволяет осуществлять большое количество дополнительных проверок, что снижает вероятность взлома с использованием «дыр» в программном обеспечении.

К недостаткам шлюзов уровня приложений относятся:

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

· более высокая стоимость по сравнению с фильтрующими маршрутизаторами.

Помимо Telnet и FTP шлюзы прикладного уровня обычно используются для электронной почты, X Windows и некоторых других служб.