Защита корпоративной сети с помощью буферной области

Многие организации не используют в своих сетях демилитаризованную зону, DMZ. Вместо этого они размещают свои серверы (например, Web-серверы) в той же внутренней сети, где находятся серверы и рабочие станции компании. Без DMZ, отделяющей общедоступные серверы от внутренней сети, последняя подвергается дополнительному риску. Когда атакующий получит возможность управления Web-сервером, он сможет использовать его для атаки на важные ресурсы, такие как финансовые приложения и файловые серверы. Именно «когда», а не «если». Потому что независимо от того, как защищен Web-сервер, рано или поздно он подвергнется атаке. Следовательно, необходимо проектировать сеть и рабочие процессы с учетом минимизации ущерба от вторжений и гарантии их быстрого восстановления. Одной из таких стратегий является стратегия выделения рабочих зон и использование демилитаризованной зоны (DMZ).

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

  • Internet и DMZ;
  • Internet и внутренней сетью;
  • DMZ и внутренней сетью.

Главное преимущество использования DMZ вместо простого брандмауэра состоит в том, что при атаке на общедоступный сервер риск компрометации внутренних серверов снижается, поскольку общедоступные и внутренние серверы отделены друг от друга. Если скомпрометированный сервер находится в DMZ, злоумышленник не сможет напрямую атаковать другие, более важные серверы, расположенные во внутренней сети. Брандмауэр блокирует любые попытки компьютеров из DMZ подсоединиться к компьютерам внутренней сети, за исключением специально разрешенных соединений. Например, можно настроить брандмауэр так, чтобы разрешить Web-серверу, находящемуся в DMZ, подсоединяться к внутренней системе с Microsoft SQL через специальный TCP-порт. Если злоумышленник захватит Web-сервер, он сможет организовать атаку на систему SQL Server через этот порт. Однако злоумышленник не сможет атаковать другие службы и порты системы с SQL Server, равно как и другие компьютеры во внутренней сети.

Применение DMZ дает еще некоторые преимущества.

  • Обеспечивается возможность обнаружения вторжений, фильтрации содержимого и мониторинга на уровне приложений. Таким образом брандмауэр обеспечивает защиту внутренней сети от атак не только из Internet, но и с подвергшихся нападению компьютеров из DMZ. Если скомпрометированный компьютер находится в DMZ, а не во внутренней сети, атакующий попытается пройти брандмауэр вновь для получения доступа к внутренней сети.
  • DMZ обеспечивает дополнительный уровень защиты от атак, при которых злоумышленники пытаются получить доступ через любые порты, которые непредусмотрительно были оставлены открытыми на общедоступных серверах.
  • DMZ позволит контролировать исходящий трафик так, что можно будет остановить распространение различных червей, которые используют Web-сервер для взлома других компьютеров, и атакующие не смогут задействовать Trivial FTP (TFTP) на Web-сервере.
  • DMZ позволяет ограничить доступ к административным службам, таким, например, как терминальная служба Windows 2000 Server.
  • DMZ защищает серверы от атак типа подмены адресов (spoofing) с использованием протокола Address Resolution Protocol (ARP).

Хотя преимущества использования DMZ велики, возможно, за них придется заплатить снижением производительности в силу размещения брандмауэра между общедоступными серверами и Internet. Возможно, разница и не будет сразу заметна. Это зависит от многих факторов, таких как пропускная способность канала, загрузка канала, используемое программное обеспечение и т.д. Однако некоторым крупным сайтам не удастся избежать ощутимого снижения производительности, и им придется балансировать между защитой Web-сервера и пассивной системой обнаружения вторжений Intrusion Detection Systems (IDS). Теперь, когда мы обсудили преимущества и недостатки использования DMZ, давайте рассмотрим факторы, влияющие на выбор того или иного варианта реализации DMZ. Кроме того, следует знать о некоторых опасностях и технических особенностях при разработке DMZ. В этой статье мы рассмотрим, как создать DMZ на основе Microsoft Internet Security and Acceleration (ISA) Server 2000. В дальнейшем читатели смогут распространить эти принципы и на другие брандмауэры. Тем, кто не знаком с ISA Server, рекомендую прочитать врезку «Установка и использование ISA Server в качестве брандмауэра».

Типы DMZ

Демилитаризованные зоны могут быть двух типов: так называемые трехдомные и промежуточные. DMZ трехдомного типа (с тремя сетевыми интерфейсами) показана на рис. 1. Она состоит из компьютера с установленным на нем ISA Server (т. е. брандмауэром), который имеет три сетевых интерфейса. Интерфейсы соединяют брандмауэр с Internet, с сетью DMZ и с внутренней сетью. Если у компании есть средства на дополнительный сервер и лицензию ISA Server, можно создать DMZ промежуточного типа. Такой тип DMZ предполагает наличие одной системы с установленным на ней ISA Server (наружный брандмауэр), соединенной с Internet и сетью DMZ, и другой системы с ISA Server, соединяющей DMZ и внутреннюю сеть. Такой тип DMZ показан на рис. 2. DMZ промежуточного типа включает в себя два брандмауэра, которые придется преодолеть злоумышленнику, поэтому данный тип DMZ обеспечивает более высокий уровень защиты внутренней сети по сравнению с DMZ трехдомного типа. Другие различия между двумя типами DMZ состоят в уровне защиты общедоступных серверов и стоимости. Некоторые технические проблемы с IP-адресацией и сертификатами также могут повлиять на выбор типа DMZ.

Рисунок 1. DMZ с тремя интерфейсами

DMZ на базе ISA Server с тремя интерфейсами

DMZ, созданная на основе ISA Server с тремя сетевыми интерфейсами, является наименее затратной для реализации, поскольку в этом случае понадобится только один сервер, одна лицензия на Windows 2000 и выше, одна лицензия на ISA Server, три сетевых интерфейса, концентратор или коммутатор для сегмента DMZ и по возможности IP-адреса от поставщика услуг Internet для серверов в DMZ. Однако ISA Server имеет некоторые важные ограничения, связанные с использованием DMZ с тремя сетевыми интерфейсами. ISA Server позволяет задать лишь одну сеть в качестве внутренней, полностью защищенной сети. Кроме того, такой тип DMZ обеспечивает проверку на прикладном уровне только для компьютеров внутренней сети. Другими словами, функции ISA Server по контролю и проверке на прикладном уровне, т. е. протоколов HTTP, FTP, SMTP, POP3 и удаленного вызова процедур RPC Microsoft Exchange Server, недоступны при использовании такого типа DMZ. ISA Server обеспечивает только классическую фильтрацию IP-пакетов для компьютеров в DMZ.

Внутренняя сеть задается вводом соответствующего диапазона IP-адресов в таблицу локальных адресов Local Address Table (LAT) на ISA Server. Поскольку ISA Server позволяет вести только одну LAT, можно будет обеспечить полноценную защиту лишь одной сети (внутренней).

Другое ограничение ISA Server в случае использования трехдомной DMZ заключается в том, что ISA Server для компьютеров в DMZ поддерживает только фильтрацию IP-пакетов. Соответственно, не удастся использовать ни возможности ISA Server по трансляции сетевых адресов (Network Address Translation, NAT), ни функции управления публикацией на серверах, фильтрации приложений и проверки клиентского доступа. Это ограничение также означает, что необходимо будет присвоить серверам в DMZ реальные, полученные от поставщика услуг IP-адреса вместо использования собственных адресов и технологии NAT. Таким образом, если преобразовать простую сеть в сеть с DMZ с тремя интерфейсами, потребуется приобрести дополнительные IP-адреса у поставщика услуг Internet.

Выделенные IP-адреса, которые будут присваиваться компьютерам в DMZ, должны находиться в диапазоне адресов подсети брандмауэра. Можно использовать для сегмента DMZ адреса, не принадлежащие подсети брандмауэра, но в этом случае необходимо будет поставить в известность поставщика услуг Internet, чтобы он маршрутизировал пакеты для DMZ на брандмауэр. В качестве примера допустим, что ISP предоставил нам две подсети: подсеть w.x.y.z/24, адреса которой предназначены для общедоступных серверов и которая является частью подсети поставщика услуг (ISP), и подсеть a.b.c.d/29. Можно включить внешний интерфейс брандмауэра в подсеть w.x.y.z/24. Затем придется договориться с ISP, чтобы все пакеты, имеющие пунктом назначения подсеть a.b.c.d/29, перенаправлялись в подсеть w.x.y.z/24, хотя a.b.c.d/29 и не является подсетью для w.x.y.z/24.

Для создания DMZ с тремя интерфейсами, использующей ISA Server в качестве брандмауэра, для начала понадобится установить на сервер три сетевых интерфейса. Затем необходимо будет установить Windows 2000 и более позднюю версию и последний пакет обновлений. Затем потребуется установить ISA Server и последний пакет обновлений для него. Далее следует запустить Windows Update для установки всех вышедших впоследствии обновлений для Windows. Рекомендую также посетить сайт http://www.microsoft. com/isaserver/downloads/default.asp, содержащий исправления для ISA Server, которые были опубликованы после выхода последнего пакета обновлений.

Когда установка будет закончена, появится возможность настроить на ISA Server локальную таблицу адресов (LAT), содержащую адреса компьютеров внутренней сети. Не стоит включать в эту таблицу какие-либо адреса из DMZ или из Internet. Затем нужно активировать фильтрацию пакетов и IP-маршрутизацию. Для управления доступом пользователей внутренней сети в DMZ и Internet следует создать соответствующие правила посещения сайтов.

Чтобы разрешить пользователям из Internet доступ к серверам, находящимся в DMZ, придется создать пакетный фильтр, который откроет соответствующие порты на каждом из серверов в DMZ. Например, если имеется Web-сервер и шлюз SMTP в DMZ, нужно будет создать фильтр, который откроет TCP-порт 80 на Web-сервере (или TCP-порт 443, если используется HTTP Secure, HTTPS). Затем потребуется создать два фильтра, которые разрешат устанавливать входящие соединения к TCP-порту 25 и исходящие соединения от TCP-порта 25 на SMTP-шлюзе.

Далее нужно будет разрешить пакетам протокола SMTP проходить между внутренним сервером Exchange (или другим сервером электронной почты) и шлюзом электронной почты, находящимся в DMZ. Чтобы это сделать, следует создать правило публикации, которое позволит шлюзу открывать SMTP-соединения на внутреннем сервере Exchange для входящих почтовых сообщений. Необходимо также создать правило использования протокола, которое позволит серверу Exchange открывать SMTP-соединения на шлюзе для отправки исходящей почты. Если Web-серверу нужен доступ к ресурсам сервера внутренней сети, например к SQL Server, следует создать правило публикации, позволяющее Web-серверу из DMZ получить доступ к системе SQL Server. Создавая правила публикации, мы ограничиваем риск, связанный с уязвимостью внутренних серверов в случае, если атакующий овладеет правами на управление Web-сервером, находящимся в DMZ.

Даже после использования и создания правил публикации серверов и правил использования протоколов у нас все еще остаются уязвимые места в защите внутренних серверов. К счастью, можно использовать дополнительный уровень защиты. Например, чтобы избежать рисков, связанных с внутренним сервером Exchange, можно задействовать прекрасный прикладной фильтр для SMTP из ISA Server, который позволит заблокировать соединения от почтового шлюза к серверу Exchange. Можно настроить SMTP-фильтр так, чтобы он блокировал доступ к заданным доменам, выполнение определенных SMTP-команд и подключений. Существует возможность сканирования почтовых сообщений на предмет наличия в них определенных ключевых слов. SMTP-фильтр может ограничить размер и длину разрешенных SMTP-команд. Эта возможность предотвращает специфический тип SMTP-атак, связанных с переполнением буфера.

Избежать рисков, связанных с использованием SQL Server, труднее, чем сделать это в Exchange, поскольку ISA Server не содержит прикладных фильтров для SQL Server. Тем не менее можно максимально затруднить взлом SQL Server. Например, необходимо использовать хорошие сложные пароли и устранить возможности несанкционированного управления системой с установленным SQL Server даже в том случае, если доступ к SQL Server разрешен только доверенному Web-серверу. Необходимо убедиться, что Web-приложения сохраняют секретность учетной записи и пароля во время соединения с SQL Server, другими словами, не позволяйте указывать имя и пароль для доступа к SQL Server в коде приложения. Важно убедиться, что права учетной записи, используемой для доступа к SQL Server, ограничены до необходимого минимума. Web-приложения для соединения с SQL Server не должны использовать учетную запись системного администратора (SA). Вместо этого следует создать для Web-приложений учетную запись с ограниченными правами.

Наконец, предстоит решить, использовать ли протокол защищенного HTTP (HTTPS) для защиты областей на Web-сайте. Организовать применение HTTPS в DMZ с тремя интерфейсами не составляет труда, поскольку ISA Server просто маршрутизирует пакеты между Internet и DMZ. Применение HTTPS в таком типе DMZ потребует серверного сертификата, который необходимо получить в общедоступном центре сертификатов Certificate Authority (CA) и установить на Web-сервер в DMZ.

Демилитаризованная зона промежуточного типа

При наличии двух брандмауэров мы получаем возможность использовать собственные IP-адреса и функцию трансляции сетевых адресов (NAT) для того, чтобы скрыть как сеть DMZ, так и внутреннюю сеть. Как показано на рис. 2, внешний брандмауэр публикует Web-сервер DMZ и шлюз SMTP в Internet. Внутренний брандмауэр публикует сервер Exchange для шлюза SMTP.

Для создания промежуточной DMZ, использующей два брандмауэра на базе ISA Server, понадобится два сервера, две копии Windows 2000 или 2003, две копии ISA Server, четыре сетевых интерфейса (по два на каждый сервер) и коммутатор для DMZ. Вначале устанавливается внешний брандмауэр путем установки на одном из серверов Windows 2000 или 2003и ISA Server. В Control Panel выбираем ярлык Network Connection и настраиваем сетевой интерфейс в Internet на внешнем брандмауэре, задавая на нем все IP-адреса, полученные от поставщика услуг Internet. Необходимо выбрать собственную IP-подсеть, например 10.10.*.*, для всех общедоступных серверов в DMZ. Присвоим адрес 10.10.0.1 сетевому интерфейсу DMZ на внешнем брандмауэре, 10.10.0.2 — Web-серверу и 10.10.0.3 — шлюзу SMTP. Внесем эту подсеть (10.10.*.*) в локальную таблицу адресов (LAT) внешнего брандмауэра. Настроим компьютеры в DMZ на использование внешнего брандмауэра в качестве шлюза по умолчанию.

Теперь установим внутренний брандмауэр, установив на второй сервер Windows Server и ISA Server. Присвоим адрес 10.10.0.4 сетевому интерфейсу DMZ на внутреннем брандмауэре, настроим этот интерфейс на использование внешнего брандмауэра в качестве шлюза по умолчанию. Выберем собственную подсеть для внутренней сети, допустим 10.20.*.*. Присвоим адрес 10.20.0.1 интерфейсу внутренней сети на внутреннем брандмауэре. Настроим внутренние компьютеры так, чтобы они использовали в качестве шлюза по умолчанию внутренний брандмауэр. В локальную таблицу адресов (LAT) внесем IP-адреса внутренней сети (10.20.*.*), отделенной от сети 10.10.*.* демилитаризованной зоной.

После присвоения частных IP-адресов клиентским системам можно будет создать правила публикации серверов и правила использования протоколов. Чтобы разрешить клиентам из Internet доступ на Web-сервер, следует добавить на внешнем брандмауэре правило, которое опубликует Web-сервер в Internet. Чтобы разрешить SMTP-серверам из Internet передавать сообщения на шлюз, нужно настроить правило публикации серверов, которое будет перенаправлять входящие SMTP-соединения, изначально направленные на внешний брандмауэр, на SMTP-шлюз в DMZ. Затем на внутреннем брандмауэре необходимо добавить правило публикации сервера, которое опубликует SMTP-службу сервера Exchange, и одновременно направит клиентские соединения на шлюз SMTP (10.10.0.3). После этого требуется настроить шлюз SMTP на передачу входящих e-mail-сообщений на внутренний брандмауэр, который, в свою очередь, сам перенаправит их на Exchange-сервер.

Для того чтобы разрешить почтовым сообщениям из внутренней сети достигать адресатов, находящихся в Internet, следует настроить правило использования протоколов и пакетный фильтр так, чтобы они разрешали устанавливать исходящие SMTP-соединения через SMTP-шлюз. Важно ограничить такие соединения только теми, которые исходят от Exchange-сервера. Настроим Exchange на передачу исходящих почтовых сообщений на SMTP-шлюз. Наконец, если Web-серверу, находящемуся в DMZ, необходим доступ к внутреннему SQL Server, следует создать правило публикации сервера на внутреннем брандмауэре, разрешающее Web-серверу доступ к системе с SQL Server во внутренней сети через порт 1433.

Использование HTTPS для защиты важных областей Web-сайта в DMZ промежуточного типа отличается от применения HTTPS в DMZ с тремя сетевыми интерфейсами. Вместо установки на Web-сервере серверного сертификата, полученного от общедоступного центра сертификации (СА), необходимо установить сертификат на ISA Server. Соответственно, когда клиент из Internet получает доступ к защищенной области Web-сайта, Internet Explorer клиента устанавливает защищенное SSL-соединение (Secure Sockets Layer) между клиентским компьютером и ISA Server. ISA Server, в свою очередь, перенаправляет запросы на Web-сервер в DMZ.

Можно либо настроить ISA Server на перенаправление запросов в текстовом формате обычного HTTP, либо установить новое HTTPS-соединение с Web-сервером. Если Web-сервер является единственным сервером в DMZ, рекомендую использовать HTTP для экономии ресурсов компьютера. Вероятность, что кто-нибудь перехватит соединения, невелика, поскольку Web-сервер находится в защищенной сети DMZ. Если же Web-сервер — не единственный сервер в DMZ, возможно, придется устанавливать новые HTTPS-соединения. Важно помнить, что процесс шифрования снижает производительность как ISA Server, так и Web-серверов. Другой возможностью, позволяющей изолировать трафик между ISA Server и Web-сервером, является использование виртуальных сетей Virtual LAN (VLAN) на коммутаторе сети DMZ.

Защищайте свою сеть!

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

Рэнди Франклин Смит - Редактор Windows IT Pro, консультант по информационной безопасности и главный управляющий компании Monterey Technology Group. Преподает на курсах Ultimate Windows Security course series и имеет сертификаты SSCP, CISA и Security MVP. rsmith@ultimatewindowssecurity.com


Установка и использование ISA Server в качестве защитного экрана

Microsoft Internet Security and Acceleration (ISA) Server выполняет функции защитного экрана масштаба предприятия и Web-кэша. ISA Server может быть установлен в трех режимах: либо в качестве кэширующего сервера (proxy-сервера), либо в качестве брандмауэра, либо в интегральном режиме (этот режим обеспечивает как функции кэширования, так и функции защитного экрана). Поскольку мы используем ISA Server в качестве брандмауэра, необходимо будет выбрать либо режим Firewall, либо Integrated. С помощью ISA Server можно отслеживать процессы доступа клиентов внутренней сети к ресурсам Internet.

Чтобы создать демилитаризованную зону (DMZ), потребуется настроить компьютеры внутренней сети для доступа к ISA Server в качестве клиентов SecureNAT. Клиенты не должны быть настроены как клиенты брандмауэра или клиенты Web-proxy. SecureNAT означает, что вы настроили внутреннюю сеть на использование частных IP-подсетей и ISA Server применяет технологию Network Address Translation (NAT) для обслуживания Internet-запросов от внутренних клиентов. Использование SecureNAT требует, чтобы компьютеры внутренней сети задействовали ISA Server в качестве шлюза по умолчанию. Устанавливать на компьютеры какое-либо специализированное программное обеспечение для работы с ISA Server не требуется. Для использования SecureNAT необходимо убедиться, что все компьютеры, которым нужен доступ в Internet, настроены на IP-адрес сервера DNS, выданный Internet-провайдером, или внутренний DNS-сервер должен перенаправлять неразрешенные запросы на DNS-сервер провайдера Internet либо на другой доступный DNS-сервер в Internet.

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

Для настройки политик использования входящего и исходящего трафика на ISA Server применяются правила доступа к сайтам и типу содержимого, правила использования протоколов, фильтры IP-пакетов, правила Web-публикаций и правила публикации серверов. Правила доступа к сайтам и типу содержимого управляют доступом и временем доступа внутренних пользователей к определенным внешним сайтам или их содержимому по типу этого содержимого. Правила протоколов управляют тем, какими протоколами могут пользоваться внутренние клиенты для доступа к компьютерам в Internet. Фильтры пакетов IP позволяют управлять тем, какие типы пакетов ISA Server будет принимать из Internet, а какие — от внутренних компьютеров. Например, можно использовать IP-фильтр, чтобы разрешить прохождение пакетов Ping или PPTP. Правила Web-публикаций позволят сделать внутренние Web-серверы доступными внешним клиентам из Internet. С помощью этих правил можно управлять входящими Web-запросами в зависимости от соответствующих учетных записей, адресов клиентов, целевых адресов и пути. При помощи правил публикации серверов можно будет сделать доступными для внешнего мира другие серверы (например, SMTP-серверы). Правила публикации серверов позволят управлять входящими запросами к этим серверам в зависимости от IP-адреса клиента.

Когда внутренний клиент пытается подсоединиться к компьютеру в Internet, ISA Server проверяет запрос на соответствие правилам использования протоколов. Если этот запрос является HTTP или HTTP Secure (HTTPS), ISA Server дополнительно проверяет его на соответствие правилам доступа к сайтам и по типу содержимого сайтов. Когда ISA Server принимает входящий запрос с клиента Internet, ISA Server проверяет его на соответствие фильтру IP-пакетов. Если запрос является запросом HTTP или HTTPS, ISA Server дополнительно проверяет его на соответствие правилам Web-публикации; в других случаях ISA Server проверяет запрос на соответствие правилам публикации серверов.