Тестирование / tsure052
.pdf(например, Telnet или FTP), только если они направляются к определенным серверам (соответственно к Telnet или FTP). Однако успешное выполнение подобного правила зависит от того, какие соглашения приняты в вашей сети, функционирующей на основе TCP/IP: для работы приложений TCP/IP серверы и клиенты обычно используют конкретные порты, однако это не является обязательным условием.
Главное преимущество использования брандмауэров с фильтрацией пакетов состоит в невысокой стоимости их реализации и минимальном влиянии на производительность сети. Если в сети уже установлен аппаратный или программный IPмаршрутизатор, обеспечивающий возможность фильтрации пакетов (например, производства Cisco Systems, Bay Networks или Novell), настройка брандмауэра обойдется даром.
Поскольку брандмауэр с фильтрацией пакетов работает только на сетевом уровне модели взаимодействия открытых систем - обычно проверяет только информацию, содержащуюся в IP-заголовках пакетов, то "обмануть" его не составляет труда: хакер просто создает заголовок, который удовлетворяет разрешающим правилам брандмауэра. Подобный вид нападений, называемый "address-spoofing" (подмена адреса), довольно широко распространен в Internet и часто оказывается эффективным. Кроме заголовка пакета, никакая другая содержащаяся в нем информация брандмауэрами данной категории не проверяется.
Однако усовершенствованная версия фильтрации пакетов, известная как динамическая фильтрация пакетов, позволяет анализировать адрес, с которого некто пытается осуществить доступ, и производит ping для проверки этого адреса. Очевидно, если злоумышленник использует внутренний IP-адрес компании извне, то ping не достигнет отправителя пакета, и сеанс не получит продолжения. Динамическую фильтрацию пакетов поддерживают продукты типа WatchGuard Security System
компании Seattle Software Labs и BorderWare Firewall Server компании Secure Computing
Кроме того, к недостаткам относится то, что локальная сеть видна
(маршрутизируется) из внешней сети. Seattle Software Labs, Cisco и CheckPoint Software Technologies поддерживает технологию преобразования сетевого адреса. Эта технология обеспечивает обычную фильтрацию пакетов с искажением. При прохождении пакета через брандмауэр его IP-адрес заменяется на один из пула адресов. Такая замена позволяет скрыть внутренние адреса от злоумышленника за пределами сети. Другие
141
типы брандмауэров, например шлюзы уровня приложения и шлюзы уровня канала, имеют эту возможность по умолчанию.
При нарушении работоспособности брандмауэра все компьютеры за ним становятся полностью незащищенными либо недоступными;
2. Шлюзы сеансового уровня
Шлюз сеансового уровня следит за подтверждением (квитированием) связи между авторизованным клиентом и внешним хостом (и наоборот), определяя, является ли запрашиваемый сеанс связи допустимым. При фильтрации пакетов шлюз сеансового уровня основывается на информации, содержащейся в заголовках пакетов сеансового уровня протокола TCP, т. е. функционирует на два уровня выше, чем брандмауэр с фильтрацией пакетов.
Чтобы определить, является ли запрос на сеанс связи допустимым, шлюз сеансового уровня выполняет примерно следующую процедуру. Когда авторизованный клиент запрашивает некоторую услугу, шлюз принимает этот запрос, проверяя, удовлетворяет ли клиент базовым критериям фильтрации (например, может ли DNSсервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хостом и следит за выполнением процедуры квитирования связи по протоколу TCP. После того как шлюз "определил", что доверенный клиент и внешний шлюз являются авторизованными участниками сеанса TCP, и проверил допустимость данного сеанса, он устанавливает соединение. Начиная с этого момента шлюз просто копирует и перенаправляет пакеты туда и обратно, не проводя никакой фильтрации. Он поддерживает таблицу установленных соединений, пропуская данные, относящиеся к одному из сеансов связи, которые зафиксированы в этой таблице. Когда сеанс завершается, шлюз удаляет соответствующий элемент из таблицы и разрывает цепь, использовавшуюся в данном сеансе.
Для копирования и перенаправления пакетов в шлюзах сеансового уровня используются специальные приложения, которые иногда называют канальными посредниками (pipe proxies), поскольку они устанавливают между двумя сетями виртуальную цепь, или канал, а затем разрешают пакетам (которые генерируются приложениями TCP/IP) проходить по этому каналу.
142
Канальные посредники поддерживают несколько служб TCP/IP, поэтому шлюзы сеансового уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений. В действительности, большинство шлюзов сеансового уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall
компании Trusted Information Systems, AltaVista Firewall компании DEC и ANS Interlock
компании ANS.
Шлюз сеансового уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника (proxy server). И хотя этот термин предполагает наличие сервера, на котором работают программы-посредники (что справедливо для шлюза сеансового уровня), в данном случае он означает несколько другое. Сервером-посредником может быть брандмауэр, использующий процедуру трансляции адресов (address translation), при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с брандмауэром, из которого передаются все исходящие пакеты. В результате в сети со шлюзом сеансового уровня все исходящие пакеты оказываются отправленными из этого шлюза, что исключает прямой контакт между внутренней (авторизованной) сетью и являющейся потенциально опасной внешней сетью. IP-адрес шлюза сеансового уровня становится единственным активным IP-адресом, который попадает во внешнюю сеть. Таким образом, шлюз сеансового уровня и другие серверы-посредники защищают внутренние сети от нападений типа spoofing (имитация адресов).
Шлюзы сеансового уровня не имеют "врожденных" уязвимых мест, однако после установления связи такие шлюзы фильтруют пакеты только на сеансовом уровне модели OSI, т.е. не могут проверять содержимое пакетов, передаваемых между внутренней и внешней сетью на уровне прикладных программ. Если процедура квитирования связи успешно завершена, шлюз сеансового уровня установит соединение и будет копировать и перенаправлять все последующие пакеты независимо от их содержимого. Чтобы фильтровать пакеты, генерируемые определенными сетевыми службами в соответствии с их содержимым, необходим шлюз прикладного уровня.
143
3. Шлюзы прикладного уровня
Так же как и шлюз сеансового уровня, шлюз прикладного уровня перехватывает входящие и исходящие пакеты, использует программы-посредники, которые копируют и перенаправляют информацию через шлюз, а также функционирует в качестве серверапосредника, исключая прямые соединения между доверенным сервером или клиентом и внешним хостом. Однако посредники, используемые шлюзом прикладного уровня, имеют важные отличия от канальных посредников шлюзов сеансового уровня: вопервых, они связаны с приложениями, а во-вторых, могут фильтровать пакеты на прикладном уровне модели OSI.
Вотличие от канальных посредников, посредники прикладного уровня пропускают только пакеты, сгенерированные теми приложениями, которые им поручено обслуживать. Если в сети работает только шлюз прикладного уровня, то входящие и исходящие пакеты могут передаваться лишь для тех служб, для которых имеются соответствующие посредники. Так, если шлюз прикладного уровня использует только программы-посредники FTP и Telnet, то он будет пропускать пакеты этих служб, блокируя при этом пакеты всех остальных служб.
Вотличие от шлюзов сеансового уровня, которые копируют и "слепо" перенаправляют все поступающие пакеты, посредники прикладного уровня (самого высокого в модели OSI) проверяют содержимое каждого проходящего через шлюз пакета. Эти посредники могут фильтровать отдельные виды команд или информации в протоколах прикладного уровня, которые им поручено обслуживать.
Вдополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и, что наиболее важно, предупреждают сетевого администратора о возможных нарушениях защиты.
Вкачестве примера можно привести Altavista Firewall фирмы DEC.
Шлюзы прикладного уровня обеспечивают один из самых высоких на сегодняшний день уровней защиты, однако существует мнение, что такая высокая степень защиты имеет и оборотную сторону, а именно - отсутствие "прозрачности" работы шлюза для пользователей. В идеале все брандмауэры должны быть "прозрачными", т.е. их работа должна оставаться незаметной для пользователей, обращающихся из своей внутренней сети в Internet. Однако в реальной жизни брандмауэры вносят задержки в процесс
144
передачи данных или требуют от пользователей выполнения нескольких процедур регистрации при подключении к Internet или корпоративной интрасети.
При работе шлюза в "непрозрачном" режиме пользователь подключается к посреднику соответствующей службы и сообщает ему имя хоста, к которому он собирается подключиться. После этого пользователь получает и отправляет информацию так, как если бы было установлено прямое соединение клиента с внешним хостом. В "прозрачном" же режиме подключение пользователя к удаленному хосту выполняется без предварительного взаимодействия со шлюзом, однако затем шлюз перехватывает все запросы пользователя.
Другие производители брандмауэров, относящихся к категории шлюзов прикладного уровня, пытаются решить проблему "прозрачности" иными способами. Например, компании CyberGuard и NEC Technologies используют вместо связанных с приложениями программ-посредников вариант протокола SOCKS для маршрутизации трафика, генерируемого службами TCP/IP, через свои шлюзы Cyber-Guard Firewall и PrivateNet соответственно. SOCKS является стандартом, предлагаемым инженерной группой IETF (Internet Engineering Task Force) и обеспечивающим "прозрачную"
аутентификацию пользователей, которые запрашивают соединения с внешними хостами через брандмауэр. Однако использование SOCKS является "непрозрачным" для администраторов, которые должны модифицировать все приложения, используемые клиентами для доступа к внешним ресурсам через брандмауэр. Кроме того, хотя SOCKS и предполагает использование других механизмов защиты (например, шифрования с личным и открытым ключами), он не обеспечивает фильтрации отдельных пакетов. Поэтому продукты, использующие SOCKS, скорее можно отнести к категории шлюзов сеансового, а не прикладного уровня.
4. Брандмауэры экспертного уровня
Эти брандмауэры сочетают в себе элементы всех трех описанных выше категорий. Как и брандмауэры с фильтрацией пакетов, они работают на сетевом уровне модели OSI, фильтруя входящие и исходящие пакеты на основе проверки IP-адресов и номеров портов. Брандмауэры экспертного уровня также выполняют функции шлюза сеансового уровня, определяя, относятся ли пакеты к соответствующему сеансу. И наконец, брандмауэры экспертного уровня берут на себя функции шлюза прикладного уровня,
145
оценивая содержимое каждого пакета в соответствии с политикой безопасности, выработанной в конкретной организации.
Как и шлюз прикладного уровня, брандмауэр экспертного уровня может быть сконфигурирован для отбраковки пакетов, содержащих определенные команды, например команды Put и Get службы FTP. Однако, в отличие от шлюзов прикладного уровня, при анализе данных прикладного уровня такой брандмауэр не нарушает клиентсерверной модели взаимодействия в сети.
Шлюз прикладного уровня устанавливает два соединения: одно - между авторизованным клиентом и шлюзом, второе - между шлюзом и внешним хостом. После этого он просто пересылает информацию между этими двумя соединениями. Несмотря на высокий уровень защиты, обеспечиваемый подобными шлюзами, такая схема может сказаться на производительности работы. В противоположность этому брандмауэры экспертного уровня допускают прямые соединения между клиентами и внешними хостами. Для обеспечения защиты такие брандмауэры перехватывают и анализируют каждый пакет на прикладном уровне модели OSI. Вместо применения связанных с приложениями программ-посредников, брандмауэры экспертного уровня используют специальные алгоритмы распознавания и обработки данных на уровне приложений. С помощью этих алгоритмов пакеты сравниваются с известными шаблонами данных, что, теоретически, должно обеспечить более эффективную фильтрацию пакетов.
Поскольку брандмауэры экспертного уровня допускают прямое соединение между авторизованным клиентом и внешним хостом, некоторые утверждают, что брандмауэры этой категории обеспечивают менее высокий уровень защиты, чем шлюзы прикладного уровня. Другие же придерживаются противоположного мнения.
Брандмауэры экспертного уровня являются очень популярным решением для защиты узлов Internet и интрасетей, поскольку они "прозрачны" для пользователей, работают на самом высоком уровне модели OSI и не требуют внесения изменений в клиентское ПО и установления отдельных посредников для каждой защищаемой брандмауэром службы. Один из самых популярных коммерческих брандмауэров
FireWall-1 компании Check Point Software Techno-logies является именно брандмауэром экспертного уровня. Другой ведущий брандмауэр экспертного уровня - ON Guard компании ON Technology. Разработанный специально для защиты сетей NetWare 3.11, 3.12 и 4.х, брандмауэр ON Guard работает на стандартных ПК с процессором Intel 486 и
146
выше. Поскольку ON Guard может фильтровать как IP-, так и IPX-пакеты, его можно использовать и для защиты сети NetWare от IP-трафика, поступающего из Internet или интрасети, а также для защиты отдельных серверов NetWare от внутреннего "неавторизованного" IPX-трафика. Одной из сильных сторон продукта ON Guard является использование 32-битной операционной системы Secure32OS, специально разработанной компанией ON Technology для этого брандмауэра. Данная ОС является значительно более защищенной, чем универсальные ОС, такие как UNIX и Windows NT.
ON Guard, как и другие брандмауэры прикладного и экспертного уровней, обеспечивает хорошую защиту внутренней сети от хакерских нападений типа spoofing, беспорядочного сканирования IP-адресов и блокировки служб (denial-of-service). Нападения последнего типа заключаются в переполнении сервера запросами злоумышленника, что делает его недоступным для других пользователей.
2.3.3.2.Схемы подключения брандмауэров при наличии внешнего сервера
(типа Web)
Рассмотрим различные варианты размещения внешнего сервера компании относительно брандмауэра.
1. Сквозной туннель
Немало пользователей размещают серверы Web за брандмауэром во внутренней сети. Такая диспозиция обеспечивает простоту управления, но ценой безопасности. Кроме того, в этом случае работать с сервером защищенным образом становится намного труднее. Когда общедоступный сервер Web размещается во внутренней сети, то у злоумышленника появляется дополнительная лазейка.
Еще один недостаток размещения сервера за брандмауэром состоит в том, что пользователи невольно начинают рассматривать сервер Web как обычный внутренний сервер. Такое отношение недопустимо: сервер Web нуждается в особом внимании, так как он открыт для доступа внешних пользователей, даже если эта открытость и ограничивается HTTP.
2. Открытость
Другая стратегия состоит в размещении сервера Web по другую сторону брандмауэра. Чаще всего между сервером Web и Internet по-прежнему располагается маршрутизатор, с помощью которого сервер Web можно защитить средствами
147
фильтрации пакетов. Так что и в этом случае сервер Web не оказывается полностью беззащитным.
Достоинство такой конфигурации, безусловно, состоит в том, что, даже проникнув на сервер Web, злоумышленник все же остается по внешнюю сторону брандмауэра. При "атаке" на сервер брандмауэр ограничит доступ с сервера во внутрикорпоративную сеть.
С другой стороны, администрировать сервер Web становится намного труднее, поскольку доступ к нему оказывается в значительной мере затруднен - теперь между администратором и сервером Web находится брандмауэр. Кроме того, конфиденциальная информация оказывается как бы "за дверью" - за пределами внутренней сети. Смысл брандмауэров и состоит в том, чтобы защитить критически важные данные и внутреннюю сеть по периметру. Теперь эти данные оказываются "за оградой" и защищены только маршрутизатором. Стоит лишь кому-нибудь проникнуть на сервер - и все хранящиеся на нем сведения станут известны посторонним людям. Впрочем, справедливости ради стоит отметить, что то же самое произойдет и в том случае, если удастся атака на защищенный брандмауэром сервер Web.
Выход может быть только один - критически важные данные не следует хранить на сервере Web. Лучше разместить их на внутреннем сервере базы данных. Тогда можно создать многоуровневую систему защиты на основе сценариев CGI или других механизмов сервера Web, с помощью которых он обрабатывает запросы от внешних пользователей и передает их на внутренний сервер базы данных. Внутренний сервер способен проверить полномочия подающего запрос и предоставить ему ограниченную выборку закрытых данных. В этом случае сервер Web действует как клиент базы данных, используя средства удаленной идентификации пользователей (имя и пароль, например) для получения доступа к определенной части базы данных.
Брандмауэр позволит серверу Web обратиться только к серверу базы данных, но ни к каким другим внутренним ресурсам. Если даже злоумышленник проникнет на открытый сервер Web, единственной лазейкой во внутреннюю сеть для него остается сервер базы данных, а он имеет собственную защиту.
3. Компромиссный путь
Вместо того чтобы выставлять сервер Web на всеобщее обозрение под ненадежной защитой маршрутизатора, вы можете выбрать компромиссный вариант. Сервер Web можно расположить в экранированной подсети, или "демилитаризованной зоне", т. е.
148
фактически брандмауэр будет обслуживать три сети. В результате брандмауэр будет защищать и сервер Web, и внутреннюю сеть.
В такой конфигурации брандмауэр пропускает из Internet на сервер только трафик HTTP (и, возможно, S/HTTP). Кроме того, он контролирует доступ сервера Web во внутреннюю сеть, ограничивая его внутренними серверами баз данных. В дополнение к этому, внутренним пользователям следует разрешить доступ к серверу Web для тестирования.
Сформулируем теперь общие принципы защиты сервера
Общедоступные серверы Web нужно конфигурировать как неприступные хосты (форт-хосты): все ненужные службы программного обеспечения с них следует удалить. В идеале на сервере должно остаться только необходимое ПО, и ничего более. Так, систему UNIX вполне можно настроить как форт-хост: при этом она будет содержать менее 100 файлов, без учета документов и сценариев. Все прочее программное обеспечение следует удалить, а лучше вообще не устанавливать. Если вы не хотите удалять ненужное ПО, то по крайней мере блокируйте те сетевые сервисы, которые не требуются серверу Web для выполнения его непосредственных функций.
Необходимо убедиться, что сервер Web допускает удаленное администрирование. Для безопасного удаленного администрирования рекомендуется использовать шифруемое соединение, организовать которое можно с помощью защищенного программного обеспечения telnet или Secure Shell (SSH).
Еще один принцип форт-хоста - сокращение до минимума числа пользовательских бюджетов. В идеале их вообще не должно быть, за исключением бюджетов системного администратора и мастера Web. Чем меньше в системе пользователей, тем меньше вероятность того, что кто-то из них сделает ошибку и откроет лазейку для злоумышленников.
Еще большей защищенности можно добиться, исключив необходимость человеческого вмешательства и автоматизировав администрирование общедоступного сервера Web. Систему следует настроить таким образом, чтобы администраторы Web работали с внутренними серверами Web. Все изменения, сделанные на внутреннем сервере, затем нужно перенести на внешний, общедоступный сервер Web. В принципе, это можно сделать с помощью протокола совместного использования файлов, таких как
Microsoft Server Message Block или Unix Network File System. Однако подобные
149
протоколы не гарантируют защиты. Вместо них рекомендуется воспользоваться программным обеспечением зеркального копирования: оно обновит общедоступный сервер Web и перенесет все изменения, проделанные на внутреннем сервере. Для этого ни пользовательских, ни административных бюджетов не требуется, так как программное обеспечение зеркального копирования может зарегистрироваться на общедоступном сервере Web как самостоятельный объект.
Одно из преимуществ данного подхода состоит в том, что вы получаете оперативную резервную копию открытого сервера Web. Кроме того, перед перенесением изменений их можно протестировать. В отношении внутреннего сервера Web не требуется принимать таких строгих мер защиты, как в отношении общедоступного сервера, поэтому администраторам Web будет немного проще получить к нему доступ.
Нежелательно, однако, чтобы в систему было легко проникнуть изнутри. Ее попрежнему требуется защитить от внутренних атак. Здесь можно предложить воспользоваться программным обеспечением контроля версий для данных на сервере Web. Оно позволяет определить, кто производил изменения, и обеспечивает возможность отката.
2.3.4.АДАПТИВНАЯ БЕЗОПАСНОСТЬ СЕТИ
Впоследнее время увеличился интерес к такому новому направлению в области защиты информации, как адаптивная безопасность сети. Это направление состоит из двух основных технологий - анализ защищенности (security assessment) и обнаружение атак (intrusion detection).
2.3.4.1.Средства анализа защищенности (Security Assessment System, SAS)
Функционировать такие средства могут на сетевом уровне (network-based), уровне операционной системы (host-based) и уровне приложения (application-based).
Наибольшее распространение получили средства анализа защищенности сетевых сервисов и протоколов. Связано это, в первую очередь, с универсальностью используемых протоколов. Изученность и повсеместное использование таких протоколов, как IP, TCP, HTTP, FTP, SMTP и т.п. позволяют с высокой степенью эффективности проверять защищенность информационной системы, работающей в данном сетевом окружении.
150
