Основные экзамены по Windows 2000 за 15 минут в неделю:
 

Windows 2000 IPSec

от Dan DiNicolo

 

Добро пожаловать в статью 27 моей серии. Она посвящена теме IPSec в Windows 2000. Мы рассмотрим использование политик IPSec и связанных с ними настроек, включая те, которые находятся в Групповых политиках.

В данную статью включены следующие темы:

  • Обзор IPSec
  • Настройка политик IPSec

Обзор IPSec

IPSec является протоколом безопасности, включенным в стек протоколов Windows 2000 TCP/IP. Его функции очень просты – обеспечивать безопасность TCP/IP-связи внутри или между сетями, в соответствии с параметрами и правилами, которые вы устанавливаете. И хотя сама концепция достаточно проста, реальная реализация политик, которые вы хотите внедрять, требует глубокого понимания протокола TCP/IP. Вы не только должны понимать, как происходит взаимодействие в сети, но также должны быть способны трансформировать ваши потребности в безопасности в конкретные точные политики. Это требует знания протоколов, нумерации портов и, кроме того, где и когда вам необходимо обеспечивать шифрование или подтверждение целостности трафика. И хотя может показаться хорошей идеей шифровать весь трафик в сети, применить ее на практике невозможно. Нужно понимать, что вам придется заплатить цену за шифрование в виде дополнительной загрузки процессора. Это может быть небольшой проблемой для рабочей станции с высокоскоростным процессором, но создает значительную нагрузку на сервер, который осуществляет обработку многих одновременных шифрованных соединений. Вместо этого стоит сосредоточиться на использовании такой схемы шифрования для целей безопасности, которая совпадала бы с потребностями вашей организации. И это редко приводит к созданию простых сценариев безопасности.

Если вы решаете использовать IPSec, вы должны сначала разобраться в том, как она работает. Прежде всего, шифрование/аутентификация IPSec отличается от того, с чем вы обычно встречаетесь в различных продуктах безопасности. Многие уже работали или хорошо знакомы с шифрованием на уровне приложений, когда программа (такая как PGP или подобная ей) осуществляет процессы шифрования/дешифрования электронной подписи. В отличие от этого, IPSec работает на уровне стека протоколов, независимо от приложений. Поэтому шифрование данных для любого приложения происходит перед передачей их по сети. Представьте себе, что клиентское приложение на компьютере 1 собирается послать шифрованные данные на серверное приложение на компьютере 2. И хотя вам необходима некоторая координация между этими двумя системами, приложения на обеих сторонах соединения никак не участвуют в процессе шифрования. Клиентское приложение просто посылает данные ниже по стеку протоколов, как это и делается обычно, где они перехватываются протоколом IPSec, шифруются и затем посылаются на сервер. На сервере данные двигаются вверх по стеку протоколов и расшифровываются IPSec перед их передачей серверному приложению.

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

На IPSec обычно смотрят как на протокол для обеспечения безопасности сетевого трафика при помощи шифрования. Эта функция осуществляется при помощи протокола, называемого ESP (Encapsulating Security Payload). Целью ESP является обеспечение шифрования данных – и хотя пакеты продолжают быть видимыми в сети, если вы будете использовать сетевой sniffer или подобный ему прибор, однако их содержание (часто называемое полезным содержанием), следующее за IP-заголовком, становится шифрованным. Как происходит процесс шифрования, я объясню несколько позднее. Другой функцией IPSec является способность проверки подлинности и целостности пакетов при помощи протокола АН (Authentication Header). Этот протокол не шифрует пакеты, но помечают их специальной подписью так, что получатель может быть уверен, что данные пришли от истинного отправителя. Протокол обеспечивает защиту данных от изменений при передаче, так что никто не способен подменить пакеты. Протокол АН обеспечивает целостность данных, но не делает ничего для безопасности потока данных, если только не используется вместе с ESP. Запомните, что протоколы АН и ESP могут работать как каждый сам по себе, так и во взаимодействии.

Небольшое замечание – вы должны знать, что трафик ESP использует IP-порт 50, в то время как протокол АН – порт 51. Это очень важно в случае, если вы хотите, чтобы данный вид трафика проходил через брандмауэр или прибор фильтрации. Заметьте также, что IPSec требует, чтобы трафик мог проходить через порт 500, через который осуществляются передачи протокола ISAKMP/Oakley (что мы обсудим несколько позднее).

Другой важной концепцией IPSec является режим, в котором вы применяете ее работы в сети. Два режима IPSec называются Транспортным режимом и Туннельным режимом. Транспортный режим позволяет взаимодействовать 2 или более системам, используя IPSec с соединением по требованию, как устанавливает политика, которую вы предварительно создали. Например, вы можете определить, что, когда компьютер на подсети HR пытается взаимодействовать с сервером HR, весь трафик должен быть зашифрован и защищен подписью. Или вы можете определить, что когда компьютер получает доступ к некоей базе данных, все взаимодействия должны быть только защищены подписью. Любой требуемый вам уровень безопасности может быть обеспечен, но только запомните, что чем сложнее ваша политика, тем сложнее ее будет создавать и контролировать. Также помните, что для того, чтобы ваша система могла использовать IPSec в транспортном режиме, она должна уметь использовать протокол IPSec. Из всех OS фирмы Microsoft, только Windows 2000 (и теперь ХР) поддерживают эту возможность.

Туннельный режим действует иначе и существует для других целей. Он создает туннель безопасности (и/или аутентификации) между конечными точками соединения. Идея состоит в том, что весь трафик, который передается через туннель, шифруется на одном его конце и дешифруется на другом. Этот сценарий наиболее подходит для двух частных сетей, которым приходится взаимодействовать через публичную сеть, такую как Интернет. Существует много преимуществ использования IPSec в туннельном режиме. Во-первых, его относительно легко установить (особенно по сравнению с транспортным режимом). Во-вторых, клиенты или сервера на обеих сторонах туннеля могут ничего знать о IPSec или о том, как он работает. Они просто посылают трафик, предназначенный для системы на другой стороне туннеля и, когда он достигает сервера, на котором туннель начинается, он шифруется, затем расшифровывается сервером на другой стороне туннеля и передается целевому компьютеру. Как вы, возможно, заметили, это означает, что часть пути (в пределах связанных туннелем сетей), пакеты преодолевают в незашифрованном виде. Поэтому, возможно, для ваших нужд более подходит комбинация двух режимов IPSec – транспортного и туннельного.

Множество документов посвящают огромное количество времени и энергии на объяснение внутренних процессов, которые IPSec выполняет для реализации безопасности. При этом, однако, очень легко увязнуть в деталях, и упустить суть механизма IPSec. По существу, если два компьютера хотят использовать IPSec для целей безопасного взаимодействия между ними, они оба должны быть настроены на использование политики IPSec. Эти политики настраиваются при помощи локальных или групповых политик Windows 2000 и будут обсуждены в этой статье немного позднее.

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

Представьте себе, что вы настраивали политики на двух системах, и сделали это корректно. Когда первая система (например, клиент) пытается связаться, используя IPSec со второй системой (например, сервером), они сначала должны прийти к соглашению о многих факторах, включая такие, как длинна используемого ключа, протоколы безопасности и о том, что называется Security Parameter Index (SPI – это то, что уникальным образом отличает каждую сессию от других). Все эти вещи составляют нечто, что принято называть Internet Security Association and Key Management Protocol (ISAKMP) – это протокол, который используется для установки безопасных соединений. Есть две фазы установки безопасных соединений – Фаза I и Фаза II. Фаза I отвечает за начальную установку безопасности и создание безопасного канала связи между двумя системами. Фаза II отвечает за фактическую безопасность и переговоры о передаче данных, а также за процесс обновления сессионных ключей, используемых в данном процессе. Если время жизни Фазы I (которое настраивается) заканчивается, Фаза II еще может продолжаться, так как имеет собственное время жизни. Однако если данные между компьютерами будут переданы в ходе Фазы II без завершения Фазы I, эти данные будут отвергнуты.

Прежде чем проводить реальную настройку политик IPSec, вы должны также знать также о протоколе определения ключей OAKLEY. На каждом компьютере, который работает с ISAKMP, устанавливается также и OAKLEY, который отвечает за генерацию и управление ключами аутентификации, которые используются для безопасной IPSec связи.

Теперь, когда мы уяснили основные понятия, мы можем перейти к действительной настройке политик IPSec. Фактически, перед тем, как мы начнем делать это, мы должны знать, что по умолчанию уже существует три политики IPSec. Расположенные в папке \Windows Settings\Security Settings\IPSec Policies, эти политики являются соответственно политиками для Client (Respond Only) (Клиента – только ответ), Secure Server (Require Security) (Безопасного сервера – требовать безопасность) и Server (Request Security) (Сервера – запрос безопасности). Заметьте, что никакая политика не применяется по умолчанию и что только одна политика может быть применена к системе в любой данный момент времени.

Клиент (только ответ) – как следует из наименования, эта политика предназначена, в основном, для клиентских систем. Эта политика означает, что безопасность IPSec используется только в ответ на запрос сервера. Как следствие, клиент, на котором установлена данная политика, будет делать все запросы на сервер без учета требований безопасности. Однако если сервер запросит применение IPSec, клиент может отвечать, используя безопасность IPSec.

Сервер (Запрос безопасности) – Эта политика, предназначенная главным образом для серверов, просит, чтобы клиенты использовали безопасное соединение, если это возможно. Ключ здесь в том, что сервер только «просит». Если клиент не имеет возможности (например, если не настроена соответствующая политика) использовать безопасность, то сервер позволяет ему обычное соединение.

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

Давайте создадим политику IPSec для компьютера, которому необходимо установить безопасное соединение с сервером HR. Для создания новой политики IPSec, запустите на данном компьютере оснастку Computer Management, откройте узел \Local Computer Policy\Computer configuration\Windows Settings\Security Settings\IPSec Policies, нажмите правой кнопкой мыши в окне политик и выберите опцию “Create IP Security Policy”.

Тем самым вы запустите мастер создания политики IPSec, который проведет вас через весь процесс создания политики шаг за шагом. На первом шаге вы даете имя новой политике и делаете связанное с ней описание. Я бы настоятельно порекомендовал, чтобы это имя было достаточно наглядным для объяснения цели применения политики.

Следующим открывается окно Request for Secure communication (запрос на безопасное соединение). В этом окне вы устанавливаете, как данная политика будет отвечать на сетевые запросы других серверов о безопасном соединении.

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

Последнее окно, которое выводит мастер (расположено ниже), может внести некоторую путаницу. Несмотря на то, что вы уже создали новую политику, вам все же требуется редактировать ее свойства. Если вы уберете отметку в окошке “Edit properties”, вы, тем не менее, всегда сможете вернуться к настройке свойств политики позднее, щелкнув правой кнопкой мыши на этой политике в окне, содержащем список IPSec policies и выбрав опцию Properties.

Если вы выберете редактирование свойств политики, то мастер выведет следующее окно:

Заметьте, что по умолчанию, существует только одно правило безопасностиDefault Response (Отклик по умолчанию), которое мы установили в ходе выполнения мастера создания новой политики. Это правило может быть отредактировано или вы можете добавить и удалить любые новые правила в этом окне. Мы добавим новое правило чуть позже, а сейчас рассмотрим, для чего служит кнопка “Advanced” c вкладки General. Ее нажатие открывает следующее окно:

Давайте рассмотрим настройки, расположенные в этом окне. Первая из них – Master key Perfect forward Secrecy (основной ключ безопасной пересылки), используется для того, чтобы быть уверенным, что одинаковый сведения основного ключа или предыдущие ключи никогда не будут использоваться снова при выборе основного ключа. Остальные установки контролируют, как часто новые ключи будут генерироваться в минутах и секундах, а кнопка Methods позволяет вам настраивать механизмы шифрования и проверки целостности, используемые в процессе обмена (такие как SHA или MD5 для целостности и DES и 3DES для шифрования).

Теперь, когда вы ознакомлены с некоторыми настройками свойств правила, давайте создадим новое правило для доступа к серверу HR, в соответствие с именем, которое мы уже установили для политики. Это правило требует использования IPSec в транспортном режиме, так как мы не определяем никакого типа туннеля. Кроме того у меня есть соображения, какой номер порта или портов необходимы для данного приложения. Для нашего примера я предположил, что весь IP-трафик между клиентом и сервером HR должен быть зашифрованным. Вы также можете сами поэкспериментировать для того, чтобы более подробно разобраться в настройке политик.

Нажатие кнопки Add на вкладке Rules запустит Create IP Security Rule Wizard (мастер создания нового правила политики IPSec), как показано ниже:

На первом шаге вы должны решить, будет ли новое правило определять туннель или нет. Если нет, то система будет настроена для работы в транспортном режиме.

Следующее окно позволяет вам определить, будет ли данное правило применимо для всех сетевых соединений или только для LAN или удаленного доступа. Давайте выберем применение ко всем видам соединений:

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

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

После нажатия на кнопку Add для добавления нового списка фильтров, перед вами появится следующее окно:

При помощи этого окна вы можете создавать более сложные правила, добавляя несколько фильтров. Если вы щелкните на кнопке Add данного окна, вы запустите другой мастер, который проведет вас через процесс создания нового фильтра. Я хочу создать только один фильтр (в соответствии с выбранным именем), который определяет, что все компьютеры на данной подсети должны использовать IPSec для взаимодействия с сервером HR.

После выбора источника трафика (в данном случае всей вашей подсети), вы должны выбрать также место назначения трафика. Это может быть какая-либо опция из списка, приведенного ниже:

Давайте выберем IP-адрес вашего сервера HR (допустим 10.1.1.1). Следующим шагом вы должны определить тип IP протокола, который будет включен в фильтр. Давайте выберем ANY, хотя можно быть более конкретным и выбрать определенный TCP порт или идентификатор протокола, если потребуется.

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

Следующий шаг определяет действие фильтра. Что случиться, если пользователь сделает нечто, что совпадет с правилами фильтра? Помните, что бы не можете пока что сказать, будет ли использоваться AH или ESP, будут ли эти пакеты запрещены или разрешены и т.д. Это длинный процесс, но мы почти закончили его.

Окно Filter Action позволяет вам контролировать, как реагирует фильтр на совпадение с его правилами работает. Я предлагаю покинуть опции по умолчанию и использовать кнопку Add (при помощи которой вы можете вызвать соответствующий мастер) для выбора того действия, которое вы хотите. Если вы не будете использовать мастер, то появиться следующее окно:

Заметьте, что данное окно позволяет вам выбрать, при выполнении правил фильтра, следующие действия Block (блокировать) Permits (разрешить) Negotiate security (согласовывать безопасность). Давайте выберем Negotiate security и затем нажмем на кнопку Add и выберем метод, при котором должен использовать метод High security (ESP и AH), как показано ниже:

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

Следующее окно просто завершает процесс. Помните, что политика пока не назначена – щелкните правой кнопкой мыши на данной политике и выберите Assign (назначить) для завершения процесса. Результат создания новой политики показан ниже:

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

Пара дополнительных заметок об IPSec:

  • Для того чтобы протестировать, работает ли IPSec корректно, используйте утилиту IPSECMON. Она покажет вам любые согласования безопасности и сессии, которые происходят в текущий момент.
  • Заметьте, что вы можете использовать узел Services в оснастке Computer Management для остановки и перезапуска IPSec Policy Agent (агента политики IPSec), если это потребуется. Это равнозначно остановке и перезагрузке драйвера IPSec.

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

Дэн

Вернуться к списку статей

Hosted by uCoz