Введение в изучение политик IPSec. Часть 1

Введение

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

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

Изначально, стандарты протокола TCP/IP не были предназначены для защиты IP-пакетов. Соответственно, по умолчанию пакеты IP можно легко интерпретировать, изменять и воспроизводить. Без какой-либо защиты данных пакетов IP, как общественные, так и частные сети оказываются уязвимыми для несанкционированного наблюдения и доступа. Протокол Internet Protocol Security (IPSec) представляет собой систему открытых стандартов, которые предложила Рабочая группа инженеров Интернета (IETF – Internet Engineering Task Force) IPSec, обеспечивающие защиту сетей, используя для этого криптографические протоколы безопасности и динамическое управление ключами. IPSec использует модель сквозной безопасности с установкой доверия и безопасности между исходным и конечным IP-адресами. IPSec позволяет защищать IP-трафик как от узла к узлу в том случае, когда два узла IPSec обмениваются данными, так и посреди сетевого пути в том случае, когда IPSec маршрутизаторы обеспечивают защиту трафика из Интернета. О защищаемом трафике должны знать только два компьютера — отправляющий и принимающий. Помимо этого, протокол IPSec можно использовать для обеспечения защиты всех коммуникаций между всеми сторонами при помощи проверки подлинности и шифрования без необходимости изменения каких-либо приложений или протоколов. То есть, если вам необходимо убедиться в том, что на выходе сообщения не изменяется и злоумышленник не может их прочитать, IPSec обеспечивает превосходное решения для обеспечения этих целей. Стоит запомнить, что протокол IPSec не является компонентом брандмауэра операционной системы. Но, несмотря на это, для снижения нагрузки на администраторов IPSec использует администрирование на основе политик. Данный протокол позволяет централизовано управлять политиками, предназначенными для разрешения, блокировки или назначения безопасности, для одноадресного IP-трафика, на основе конкретных адресов, протоколов и портов. Начиная с этой статьи, я расскажу вам об использовании, настройке и сценариях применения политики IPSec.

Возможности протокола IPSec

Протокол IPSec операционной системы Windows предоставляет следующие возможности:

  • Прозрачность IPSec для конечных пользователей и приложений. Протокол IPSec интегрирован на уровне Интернета (сетевом уровне, 3), обеспечивая безопасность для всех протоколов, основанных на IP пакетах TCP/IP. Соответственно, вам не нужны отдельные правила для какого-то конкретного приложения, использующего протокол TCP/IP. В свою очередь, такое приложение, использующее TCP/IP, передает данные по IP/протоколу, которое уже защищено IPSec. Также важной особенностью является то, что благодаря прозрачному использованию данного протокола, вам не нужно переобучать конечных пользователей;
  • Защита от изменения данных. Протокол IPSec применяет ключи шифрования, предназначенные для создания криптографической контрольной суммы для каждого пакета IP, которые используются только отправляющим и принимающим компьютерами. Так как изменение данных в пакете IP изменяют его контрольную сумму, принимающий компьютер видит, что во время передачи пакет был изменен/li>
  • Глубокая защита протоколов и приложений верхнего уровня. IPSec защищает протоколы, службы и приложения верхнего уровня. При включенном протоколе IPSec, для доступа к приложению или службе работающей на сервере, используются начальные пакеты, то есть, пакеты не будут переданы приложению или службе, пока не будет создано и настроено определенное правило IPSec;
  • Защита от атак с подменой идентификации, атак на пароли, а также атак на приложения. Протокол IPSec позволяет выполнять обмен и проверку идентификации без раскрытия сведений о паролях и приложениях, для интерпретации атакующим. Проверка подлинности применяется для установки доверительных отношений между взаимодействующими системами. После того как подлинность будет установлена, IPSec применяет ключи шифрования, используемые только отправляющим и принимающим компьютерами, для создания криптографической контрольной суммы каждого пакета IP;
  • Ограничение доступа к серверам. При помощи политики IPSec, вы можете настроить сервер только на прием трафика определенного типа. Например, вы можете настроить свой почтовый сервер принимать от клиентских компьютеров только безопасный почтовый трафик, причем, весь остальной трафик от клиентских компьютеров будет отвергаться;
  • Защита от атак на службу. IPSec использует методологию фильтрации для определения состояния обмена данными пакетов IP по диапазонам IP- адресов, протоколам IP и определенным TCP и UDP портам;
  • Настраиваемые конфигурации безопасности. У вас есть возможность создания и настройки политик IPSec согласно требованиям безопасности приложений, компьютеров, групп компьютеров, домена, сайта или глобальной организации. Также можно настраивать IPSec для использования широкого спектра сценариев, включая пакетную фильтрацию, защиту узла трафика хоста по указанному пути, защиту трафика на серверы, туннельного протокола уровня 2 (Layer Two Tunneling Protocol, L2TP) подключений виртуальной частной сети (Virtual Private Network, VPN) и многое другое;
  • Применение IPSec в NAP. В случае использования NAP, IPSec состоит из Центра регистрации работоспособности (Health Registration Authority, HRA) и стороны, использующей IPSec, то есть клиентов. HRA представляет собой компьютер, работающий под операционной системой Windows Server 2008с ролью Internet Information Services (IIS). HTA получает сертификаты работоспособности X509 на основе центра сертификации Windows от имени клиентов в том случае, когда сервер политики работоспособности NAP определяет, что клиенты являются совместимыми.
  • Централизованное администрирование политик IPSec средствами Active Directory. В Windows Server 2008 протокол IPSec можно настраивать через групповую политику, политику IP-безопасности или при помощи правил безопасности подключений. Данная возможность позволяет применять политики IPSec на домен, сайт или определенное подразделение, устраняя административные издержки на настройку каждого компьютера вашей организации;
  • Поддержка IETF стандартов. Как говорилось ранее, для безопасных коммуникаций IPSec поддерживает стандарты IETF, предоставляя администраторам извлечь для себя пользу использования собственных, альтернативных технологий IP-безопасности, разработанных на основе открытого стандарта;

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

Заголовки IPSec

В операционных системах Windows протокол IPSec защищает данные, которые передаются по сети, инкапсулируя оригинальные полезные данные с заголовком IPSec режима транспорта (Authentication Header, AH или Encapsulating Security Payload, ESP) или заголовка IPSec и дополнительного заголовка IP для режима туннелирования. Как вы уже знаете, протокол IPSec обычно используется для преобразования UDP и TCP портов, которые используются приложениями и службами операционной системы в один поток безопасного трафика в обход незащищенной сети. Каждая политика безопасности IPSec состоит из одного или нескольких правил IPSec, определяющих защиту трафика IP. В свою очередь, каждое правило IPSec связано с одним списком фильтров IP и одним действием фильтра. Список фильтров IP содержит набор из одного или нескольких фильтров IP, которые захватывают трафик для политики IPSec. Фильтры IP определяют начальные и конечные адреса, диапазон адресов, имя компьютера, TCP или UDP порт, или тип сервера. Если трафик, добавляемый на компьютер с назначенной политикой, соответствует фильтру в одном из заданных правил политики, то выполняется действие фильтра, которое назначено для текущего правила. В зависимости от того, какой протокол используется, вы можете шифровать весь исходный пакет, только инкапсулированные полезные данные или оба пакета. Оба протокола описаны ниже:

  • AH. Заголовок AH обеспечивает проверку подлинности, целостность данных и защиту от повторов для всего пакета, за исключением полей в заголовке IP, для которых разрешено изменение с помощью вычисления хеша с ключом для каждого пакета. При использовании AH в хеш включается весь пакет и заголовок. Некоторые поля, для которых разрешено изменение на пути следования, исключаются. Работа службы защиты повторения пакетов обеспечивается включением порядкового номера каждого пакета. Этот заголовок обеспечивает конфиденциальность данных без их шифрования. То есть, данные доступны для чтения, но защищены от изменений. На следующей иллюстрации изображена структура данного заголовка:
    IPSec-01

    Рис. 1. Структура заголовка AH

    Как видно на предыдущей иллюстрации, данный заголовок включает в себя следующие поля:

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

    Длина полезной нагрузки. Однобайтовое поле, указывающее количество байт в предыдущем поле длины полезной нагрузки AH в 32-битовых (четырехбайтных) блоках, не считая первые два блока.

    Зарезервировано. Двухбайтовое поле, которое является зарезервированным и должно равняться 0. Зарезервированное поле включается в поле проверки подлинности данных.

    Индекс параметра безопасности. Четырехбайтовое поле, которое определяется в том случае, если для текущей датаграммы в IP-заголовке, в сочетании с полем адреса назначения и преобразования (АH) используется сопоставление безопасности (SA).

    Порядковый номер. Четырехбайтовое поле, содержащее счетчик, который начинается с 0 в случае создания сопоставления безопасности. Первый пакет сопоставления безопасности имеет порядковый номер 1. Поле «Порядковый номер» обеспечивает защиту от повтора, поскольку его значение защищает значение проверки подлинности (ICV). Когда порядковый номер достигает максимального значения (4,294,967,295 или 232 – 1), новые сопоставления безопасности IPsec устанавливаются для поддержания порядкового номера от повтора SA. Если устанавливаются новые сопоставления безопасности IPSec, то порядковый номер для сопоставления безопасности опять начинается с 0.

    Проверка подлинности данных. Поле переменной длины, которое содержит ICV расчета отправителя. В Windows Server 2008 это код проверки подлинности на основе хеша сообщения (hash-based message authentication code, HMAC) Digest 5 (MD5) или HMAC Secure Hash Algorithm 1 (SHA1) хеш-значения. Поле Проверка подлинности обеспечивает проверку подлинности источника данных и служб безопасности целостности данных. Размер поля Проверка подлинности для HMAC-MD5 и HMAC SHA1 составляет 12 байт (96 бит). Для алгоритма произвольных ICV размер поля проверки данных подлинности должно быть целым числом 32-разрядных (4-байтных) блоков.

  • ESP. Заголовок Encapsulating Security Payload (ESP) является комбинацией заголовка и индекса завершения, который обеспечивает проверку подлинности, целостности, защиту от повторов и параметры конфиденциальности только полезных данных IP с помощью вычисления и включения хеша с ключом для каждого пакета. При использовании ESP в хеш включаются только заголовок, трейлер и полезные данные ESP, причем хеширование не применяется для защиты заголовка IP. На следующей иллюстрации изображена структура ESP:
    IPSec-02

    Рис. 2. Структура заголовка ESP

    Заголовок ESP включает в себя следующие поля, причем, основными считаются только первые два:

    Индекс параметра безопасности. Четырехбайтовое поле, определяемое в сочетании с полем адреса назначения IP-заголовка и ESP, который считается специфическим SA для данной датаграммы.

    Порядковый номер. Четырехбайтовое поле, которое содержит то же поле, что и у поля «Порядковый номер» заголовка AH.

    Заполнение. Поле переменной длины (от 0 до 255 байт), которое используется для заполнения полезных данных соответствующей длины, в зависимости от используемого алгоритма шифрования, выравнивания части ESP пакета по 4 байта или умышленного скрытия длины зашифрованных полезных данных.

    Длина заполнения. Поле, длиной в один байт, которое задает количество байтов в поле заполнения.

    Следующий заголовок. Однобайтовое поле, которое используется для определения следующего заголовка в полезных данных. Данное поле использует те же значения, что и поле «Протокол» заголовка IP.

    Проверка подлинности данных. Поле переменной длины, которое содержит расчет ICV отправителя, то есть значение HMAC MD5 или HMAC SHA1.

    Так как используется уникальный алгоритм ICV, который согласовывается до отправки данных заголовка ESP и индекса завершения, то каждый одноранговый узел знает размер части данных проверки подлинности части индекса завершения ESP и может определить расположение окончания ESP-инкапсулирования полезных данных.

Компоненты IPSec

Протокол IPSec состоит из трех основных компонентов: службы агента политики IPSec, обмена ключами в Интернете, а также драйвера IPSec. Данные компоненты подробно расписаны в следующих подразделах.

Агент политики IPSec

Данный компонент предназначен для загрузки сведений политик IPSec, их передачи в другие компоненты IPSec, а также для обеспечения работы служб безопасности которых необходимы данные сведения. По сути, агент политики IPSec представляет собой службу, которая расположена на каждом компьютере с операционной системой Windows и в соответствующей оснастке, отображается в списке служб как «Служба IPSec», и выполняет следующие действия:

  • Загружает назначенную политику IPSec из Active Directory в том случае, если данный компьютер является членом домена или, в том случае, если компьютер не является членом домена – из локального системного реестра;
  • Опрашивает о наличии изменений в конфигурации самой политики;
  • Отправляет сведения назначенной политики IPSec в драйвер IPSec.

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

Служба политики IPSec показана на следующей иллюстрации.

IPSec-03

Рис. 3. Принцип работы агента политики IPSec

Обмен ключами в Интернете

Как уже было сказано ранее, перед началом безопасного обмена данными, между двумя компьютерами должно быть усыновлено безопасное подключение. Для создания соглашения между двумя компьютерами существует метод сопоставления безопасности и разрешения обмена ключами, который называется обменом ключами в Интернете (Internet Key Exchange, IKE). Данный метод централизует управление сопоставлением безопасности, тем самым сокращая время подключения, а также создаёт общие секретные ключи, которые используются для защиты и управления данными. Сопоставление безопасности представляет собой сочетание согласованного ключа, протокола безопасности, а также индекса параметров безопасности, в совокупности определяющих механизмы безопасности, которые используются для защиты данных, передаваемых между сторонами соединения. Этот процесс не только защищает обмен данными между двумя компьютерами, но также защищает и удаленные компьютеры, которые запрашивают безопасный доступ к внутренней сети организации. Индекс параметра безопасности (Security Parameters Index, SPI) является уникальным определяющим значением в сопоставлении безопасности, которое используется для нескольких сопоставлений безопасности на принимающем компьютере.

Для обеспечения успешной и безопасной связи IKE выполняет операцию в два этапа. На первом этапе два компьютера создают безопасный канал с проверкой подлинности, который называется сопоставлением безопасного режима. Во время этого этапа сначала выполняется согласование политики безопасности основного режима при помощи алгоритма шифрования (DES или 3DES), алгоритма проверки целостности (MD5 или SHA1), группы Дифи-Хелмана или метода проверки подлинности (Kerberos, сертификат или предварительный ключ). После этого на первом этапе осуществляется обмен сведениями, которые необходимы алгоритму определения ключа Дифи-Хелмана для создания общего секретного ключа. После обмена на каждом компьютере создается основной ключ, используемый для защиты проверки подлинности. Последним шагом на данном этапе является проверка подлинности. В этот момент компьютеры выполняют проверку подлинности при обмене ключами Дифи-Хелмана. Все сведения учетной записи хешируются и шифруются с помощью ключей, созданных по результатам обмена сведениями о группе Дифи-Хелмана на предыдущем шаге.

На втором этапе обмена ключами в Интернете сопоставления безопасности согласуются от имени драйвера IPSec. Во время данного этапа выполняются следующие шаги: идет согласование политики, во время которого компьютеры IPSec обмениваются такими требованиями к защите передачи данных, как протокол IPSec, а именно AH или ESP, алгоритм хеширования для проверки подлинности (MD5 или SHA1), а также, если запрашивается, алгоритм шифрования (DES или 3DES). Далее происходит обновление или обмен материалом для создания ключа сеанса. В это время IKE обновляет сведения о ключе, после чего происходит создание новых общих ключей для проверки подлинности и шифрование пакетов. И, напоследок, идет процесс сопоставления безопасности, после чего ключи передаются в драйвер IPSec вместе с SPI.

Данный процесс вкратце изображен на следующей иллюстрации:

IPSec-04

Рис. 4. Процесс обмена ключами в Интернете

Драйвер IPSec

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

После того как согласование безопасности будет завершено, драйвер IPSec на отправляющем компьютере принимает от IKE сопоставление безопасности, которое содержит ключ сеанса. Затем драйвер IPSec в базе данных находит исходящее сопоставление безопасности и вставляет индекс параметров безопасности в заголовок AH или ESP. После этого он подписывает пакеты и отправляет их на уровень IP для пересылки на компьютер назначения.

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

Принцип работы драйвера IPSec вы можете просмотреть на следующей иллюстрации:

IPSec-05

Рис. 5. Принцип работы драйвера IPSec

Заключение

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

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *