C подключением сети организации к Internet — неважно, выделенное это подключение или коммутируемое, — возникает две проблемы:

  • внешняя. Защита от различного рода вторжений и атак извне;
  • внутренняя. Регулирование доступа пользователей к ресурсам в Internet. Например, запрет посещения определенных групп сайтов или использования RealAudio в рабочее время.

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

Непосредственное подключение корпоративной сети к любой глобальной крайне нежелательно. Причин тому несколько. Одна из них — безопасность. Другая — различные схемы адресации IP в локальных и глобальных сетях. Распределением адресов в глобальной сети в мировом масштабе занимается организация InterNIC, а на местах — провайдеры. Организации выделяется, как правило, небольшой диапазон IP-адресов для работы в Internet. Для внутренней же адресации необходимо назначать так называемые частные адреса, которые никогда не используются для работы в Internet.

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

В начале 2001 г. корпорация Microsoft выпустила новый продукт — Internet Security and Acceleration Server (ISA Server), который входит в семейство Microsoft .NET Enterprise Servers. Он пришел на смену Proxy Server, но кардинально от него отличается. Дело в том, что ISA Server — не только proxy-сервер, но и первый полноценный брандмауэр от Microsoft. До сих пор эта ниша в линейке продуктов компании была незанятой. Теперь пробел восполнен, что вполне логично.

Возможности продукта

ISA Server — это мощный расширяемый брандмауэр масштаба предприятия с богатыми возможностями управления. Один сервер может обслуживать десятки тысяч пользователей. Продукт поставляется в двух редакциях: Standard Edition и Enterprise Edition. Различия между ними следующие.

  • Хранение конфигурационной информации. Standard Edition хранит настройки в реестре, а Enterprise Edition - в Active Directory.
  • Окружение. Компьютер, на котором установлен ISA Server Standard Edition, может быть членом домена NT или Windows 2000 либо вообще не входить в домен (member server). Работа Enterprise Edition возможна только в среде Active Directory. При его первой установке происходит модификация схемы каталога для хранения новых объектов.
  • Масштабируемость. Серверы Enterprise Edition можно объединять в кластер (array) с общими настройками, управление которым осуществляется как единым целым. Кластеры создаются как для обеспечения отказоустойчивости, так и для распределения нагрузки.

ISA Server работает только на платформе Windows 2000 Server. Для нормальной работы в небольшой организации (50—100 сотрудников, активно пользующихся Internet) достаточно компьютера PII-266 с оперативной памятью объемом 128 Mбайт при условии, что сервер не загружен больше никакими задачами. Производительность напрямую связана с размером доступного дискового пространства и оперативной памяти. Это особенно актуально для сервиса посредника Web.

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

Управление

Сразу после установки ISA Server нельзя получить доступ ни к одному ресурсу за пределами локальной сети — все запрещено, и это правильно. Для того чтобы можно было пользоваться продуктом, нужно создать правила, разрешающие необходимые действия. Они делятся на три группы:

  • Site and Content Rules разрешают или запрещают доступ к определенным сайтам Web или получение конкретного типа содержимого, например картинок;
  • Protocol Rules управляет разрешениями на работу отдельных протоколов;
  • Packet Filters регулируют разрешения на уровне IP.

Каждый тип разрешений соответствует одному или нескольким уровням модели OSI. Правила всех уровней дополняют друг друга. Для реализации одних задач может потребоваться создание одного правила, для других — нескольких: возможны и различные комбинации.

Чтобы разрешить произвольный доступ через ISA Server, достаточно создать два правила Allow Everything. Первое, из группы Site and Content Rules, разрешает доступ к любому сайту и типу содержимого. Второе, из группы Protocol Rules, разрешает использование всех протоколов для всех адресов назначения. Такие правила рекомендуется всегда иметь «под рукой», но только в выключенном состоянии — для целей отладки. Когда, например, что-то не работает, их можно на время включить. Если соединение появится, значит, настройки были произведены неправильно, если нет, то проблема в другом. После этого можно приступить к созданию уже реальных правил по принципу «Запрещено все, что не разрешено», т. е. настолько строгих, насколько это возможно для обеспечения нормальной работы.

При создании правила необходимо задать следующее:

  • тип правила - разрешающее или запрещающее доступ. У запрещающего более высокий приоритет, по аналогии с разрешениями NTFS;
  • область применения - весь трафик, отдельные протоколы или весь трафик, кроме отдельных протоколов;
  • расписание - время и день недели, когда действует правило;
  • к каким запросам применяется - к любым, к конкретным IP-адресам, пользователям или группам.

К пакетным фильтрам обычно прибегают в тех случаях, когда нужно разрешить или запретить определенную активность на самом компьютере, где работает ISA Server. Часто, например, на нем устанавливают Internet Information Server. В этом случае создается пакетный фильтр для разрешения входящих запросов TCP на порт 80. При установке сервера по умолчанию создается восемь фильтров. Они разрешают, в частности, прохождение запросов DNS и ping с компьютера, где работает ISA Server.

Публикация

После того как настройка разрешений для исходящих запросов завершена, администратору предстоит разобраться с входящими. В принципе, таковых может и не быть, но сегодня практически любая организация имеет в своей сети хотя бы сервер SMTP, а значит, есть и входящие запросы. Для этих целей в консоли управления имеется ветвь Publishing Rules, а в ней подветви Web Publishing Rules и Server Publishing Rules.

Web Publishing Rules, как следует из названия, служит для публикации в Internet серверов Web, находящихся во внутренней сети. Server Publishing Rules предназначен для публикации всех прочих видов сервиса: SMTP, IMAP, POP3 и т. д. По сути, это классическое преобразование адресов (Network address Translation, NAT).

Для чего введено такое разделение? Дело в том, что публикация — типичная задача трансляции адресов, статического NAT, т. е. постановка в соответствие определенного порта внешнего IP-адреса тому же порту внутреннего. Казалось бы, все замечательно, и тот же метод можно использовать для публикации сервера Web — установили связь между адресами по номеру порта 80, и все в порядке. Но что делать, если два сайта, например http://www.test1.com и http://www.test2.com, имеют записи DNS с одинаковым IP-адресом, а физически находятся на разных серверах во внутренней сети? NAT не предусматривает такой двойной привязки. Поэтому в ISA Server реализован отдельный механизм для публикации Web. В работу включается механизм идентификации по заголовку HTTP (Host Headers). По этим заголовкам ISA Server различает запросы http, даже если они приходят на один IP-адрес, и может направлять их на разные адреса назначения во внутренней сети. Таким образом, используя всего один внешний адрес, несложно обрабатывать запросы ко множеству сайтов Web, находящихся во внутренней сети. Иначе внешнему интерфейсу пришлось бы назначать несколько IP-адресов, что приводит к утяжелению конфигурации.

Более того, контент HTTP и HTTPS может обрабатываться по-разному. Для обработки запросов HTTPS может потребоваться установка сертификата на компьютер с ISA Server.

Средствами ISA Server нельзя создать «прозрачную» публикацию, т. е. такую, когда устанавливается взаимное соответствие всех портов внешнего и внутреннего адресов. Каждый порт нужно отображать отдельно.

Мониторинг

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

  • журнал запросов Web;
  • журнал брандмауэра;
  • журнал пакетных фильтров.

Все они могут быть сохранены в текстовых файлах или в базе SQL.

В установленное время, обычно в полночь, на основании информации из журналов сервера запускается процесс генерации отчетов. Отчеты потом доступны для просмотра с консоли управления в виде файла HTML. Создаются отчеты разных видов: Summary, Traffic & Utilization, Web Using и проч. Они содержат массу полезных сведений: например, кто из пользователей порождает наибольший трафик, какие протоколы применяются, какие сайты Web наиболее популярны и т. д. Однако при всем их разнообразии удается получить далеко не всю информацию, представляющую интерес. К сожалению, отчеты нельзя настроить с учетом ваших потребностей. Поэтому остается широкий простор для применения продуктов третьих компаний.

Клиенты

ISA Server может работать с клиентами двух видов:

  • с использованием специального клиентского ПО. Такие клиенты в терминологии Microsoft называются Firewall Clients;
  • без какого-либо дополнительного ПО. Такие клиенты называются SecureNAT Clients.

Для Proxy Server клиентское ПО было обязательным, а клиенты ISA Server практически не теряют в функциональности и без его применения. Это становится возможным, потому что ISA Server поддерживает NAT. Такой вариант в подавляющем большинстве случаев предпочтительнее.

Что же тогда дает Firewall Сlient? Его использование позволяет серверу распознавать так называемые вторичные соединения, т. е. устанавливать факт зависимости или независимости соединения с одного и того же IP-адреса. Это важно для их правильной обработки по сложным протоколам, в которых присутствуют соединения более чем с одним портом. Кроме того, правило с разрешением всех протоколов (Allow everything) будет обрабатываться по-разному. При наличии клиента соединения будут разрешены по любым протоколам, а при его отсутствии — только по тем, описания которых есть в конфигурации сервера.

Управление трафиком

Для обработки различных видов трафика в ISA Server существуют механизмы управления пропускной способностью — Bandwidth Priorities. Предположим, вам нужно ограничить использование протокола Real Audio, но в то же время вы не хотите запрещать его совсем. В таком случае разумнее обратиться к Bandwidth Priorities.

Этот механизм, как и другие, основан на создании набора правил, применение которых зависит от содержимого трафика или привилегий пользователя. Например, правила могут предоставлять соединениям SMTP высокий приоритет, HTTP и ftp — обычный, а мультимедийному трафику — низкий. Или почтовые серверы объединяются в одну группу, привилегированные пользователи — в другую, а все остальные — в третью. Приоритеты назначаются соответственно выполняемым задачам. Оба способа можно комбинировать.

Выделяемая полоса — не абсолютное значение, а относительное. Предположим, в одну группу выделены пользователи, которым доступ к Internet должен быть предоставлен в первую очередь, а все остальные — в другую. При этом первым вы назначили приоритет 100, вторым — 20, а скорость канала — 100 Кбит/с. Когда канал свободен и пользователь из группы с приоритетом 20 обращается к какому-то ресурсу Internet, он получает в свое распоряжение всю пропускную способность канала. Однако если в это время к нему присоединяется пользователь с приоритетом 100, то полоса делится между ними в соотношении 1/5.

Для правильной работы механизма администратор должен задать параметр «пропускная способность». Он определяет пропускную способность внешнего интерфейса и не привязан к конкретному адаптеру. Таким образом, когда сервер имеет более одного внешнего интерфейса, всем присваивается одно и то же значение. Если интерфейсы при этом соединены с каналами разной пропускной способности, то алгоритм будет работать некорректно.

Вопросы совместимости

Есть одно непременное требование: на компьютере с ISA Server не должны работать процессы, использующие протокол NAT, поскольку ISA Server сам выполняет NAT. Такими процессами могут быть, например, Internet Connection Sharing или Routing and Remote Access с включенным протоколом NAT. Поэтому перед установкой нужно проверить соблюдение указанных условий. В то же время Routing and Remote Access вполне «уживается» с ISA Server, но берет на себя функции маршрутизатора. Изменение настроек RRAS может привести к нарушению работы сервера. Следовательно, каждое такое изменение желательно проверить в тестовой среде.

Фильтры приложений

Хотя возможности ISA Server весьма широки, принципы его работы в целом достаточно примитивны. Хочу оговориться — это нельзя считать недостатком продукта, принципы работы одинаковы практически у любого брандмауэра. Каждый приходящий пакет сопоставляется с некоторым количеством условий: он проверяется по адресу источника и получателя, протоколу и т. п. Конечно, эта последовательность может быть сложнее или проще, в зависимости от набора правил, заданных администратором. Но в конечном итоге сценарий остается неизменным. Дополнительную интеллектуальность ISA Sever придают так называемые Application Filters для выполнения более сложных операций над совокупностью пакетов. Их работу можно проиллюстрировать на примере одного из фильтров, устанавливаемых по умолчанию, — FTP Filter. Как известно, протокол ftp отличается наличием двух соединений с разными портами. В общем случае нам бы пришлось создавать два правила для описания и разрешения одного протокола и еще два для публикации сервера ftp. Фильтр же регистрирует протоколы, которыми он управляет, и позволяет применять их, не вдаваясь в детали реализации.

Некоторые сетевые игры, например, требуют доступа к конкретному диапазону портов TCP, а его ширина может достигать нескольких десятков. В подобном случае для каждого порта придется создавать отдельное описание протокола, а затем все вновь определенные протоколы разрешать для использования. Фильтр позволяет решить и эту проблему.

Написание своих Application Filters открывает широкое поле деятельности для независимых разработчиков. Сегодня они предлагают большое количество продуктов, применение которых позволяет значительно расширить функциональность ISA Server.

Два из устанавливаемых фильтров — POP Intrusion и DNS Intrusion — написаны для Microsoft компанией Internet Security Systems, обладающей огромным опытом в создании продуктов для обнаружения и отражения сетевых атак. Кроме того, с помощью еще одного фильтра в реальном времени проверяется трафик SMTP с целью выявления вирусов.

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

Недостатки ISA SERVER

К недостаткам ISA Server я бы отнес следующие:

  • при создании правил нельзя назначать разрешения для диапазона портов;
  • невозможно экспортировать конфигурации, например, в виде текстового файла, что полезно хотя бы для целей документирования. На сайте http://www.isaserver.org есть сценарий на VB, который позволяет решить эту проблему.

Сходная проблема существует и при создании резервной копии конфигурации сервера, когда создается файл специального формата. Однако восстановить состояние сервера с его помощью можно только на том же самом компьютере! Это означает, что одновременно с созданием резервной копии конфигурации нужно архивировать состояние системы (System State в NTBackup) и восстанавливать их только вместе. Такая необходимость возникает, например, при переносе сервера на новый компьютер или при отказе оборудования. Подобного недостатка лишена корпоративная версия, так как конфигурационная информация в этом случае хранится в Active Directory, но экспортировать ее штатными средствами все равно невозможно.

Продукты независимых производителей

Для ISA Server уже создано большое количество продуктов, удачно дополняющих и расширяющих его возможности. С их списком можно ознакомиться на сайте Microsoft и на неофициальном сайте http://www.isaserver.org. Их функциональность можно разделить на два больших направления.

  1. Расширение возможностей интерактивного (отображение текущей активности пользователей) и автономного мониторинга. К этой группе относятся системы составления различных отчетов, а также системы квот для отключения пользователей при достижении определенного объема трафика или других параметров. Кроме того, некоторые системы позволяют консолидировать информацию с нескольких серверов в пределах организации и получать консолидированные отчеты. В качестве примера можно привести BT-ISAFiltering компании Burst Technology - гибкая и мощная система генерации отчетов.
  2. Контроль содержимого трафика. Сюда входят различные системы обнаружения атак, фильтрации нежелательного содержимого и антивирусные сканеры. Иллюстрацией может служить LANGuard компании GFI Software - система интерактивного мониторинга и антивирусной защиты.

Подобные системы могут работать совместно с ISA Server или абсолютно независимо, например, используя только журнальные файлы. В первом случае они выполняются как Application Filters.

К сожалению, такие известные продукты, как Symantec Web Security, пока не интегрированы с ISA Server. Но, конечно, ничто не мешает выстроить из них общую цепочку серверов, чтобы повысить степень защиты, объединив возможности обоих продуктов.

Заключение

Несмотря на свою молодость, ISA Server, несомненно, основательный продукт и способен составить серьезную конкуренцию известным брендам этого сектора рынка. Подтверждением тому может служить сертификат ICSA Labs, полученный в начале прошлого года — практически одновременно с выходом на рынок.

Приятно отметить, что за полтора года его существования выпущено всего шесть заплат. Две из них закрывали бреши, которые могли вызвать отказ в обслуживании (DoS), четыре — незначительные недочеты, не связанные с безопасностью, при этом не было обнаружено ни одной уязвимости, использование которой позволило бы осуществить перехват управления или компрометацию информации. Недавно все они включены в Service Pack 1.

Евгений Протопопов — IТ-менеджер в компании Digital Design. С ним можно связаться по адресу: EvgenyP@digdes.com.