А. Н. Андрончик, В. В. Богданов, Н. А. Домуховский, А. С. Коллеров, Н. И. Синадский, Д. А. Хорьков
Скачать 9.2 Mb.
|
5.9.2. Постановка задачи Пусть существует некая организация, в которой в удаленных друг от друга офисах работают два пользователя. Требуется с использованием техно- логии виртуальных машин создать структуру сети, состоящую из двух вирту- альных узлов, и установить защищенное соединение (рис. 5.31). Основная ОС имитирует работу компьютера стороннего наблюдателя и используется для анализа сетевого трафика. VM 1 VM 2 StrongNet 1 StrongNet 2 192.168.75.11 192.168.75.12 VMWare Network Adapter Рис. 5.31. Схема соединения виртуальных узлов ВЫПОЛНИТЬ! 1. На рабочем месте открыть два образа ОС Windows 2000. Для каждого об- раза на вкладке Edit выбрать меню «Virtual Machine Settings» и установить размер потребляемой памяти (Guest size) — 64 MB, а тип сетевого подклю- чения — «VMNet1 (Host Only)». Для обоих образов настроить виртуальные дисководы на единый файл. Запустить виртуальные ОС. 2. Настроить IP-адреса виртуальных машин (например, для первой ОС — 192.168.75.11, для второй ОС — 192.168.75.12). С помощью программ ipconfig и ping убедиться в правильной настройке сетевых адресов. 132 3. Осуществить захват трафика в основной ОС, убедиться в возможности анализа передаваемых ICMP-пакетов. 4. Установить систему StrongNet в обе виртуальные ОС, следуя указаниям ус- тановочной программы. 5.9.3. Генерация и распространение ключевой информации Для успешной работы системы StrongNet необходимо создать базу дан- ных ключей. Дистрибутив ключей для каждого сетевого узла размещен в фай- ле с расширением «DST». Исходные ключи зашифрованы на парольной фразе и потому недоступны третьим лицам непосредственно из DST-файла. Чтобы создать базу данных ключей нужно запустить программу «Центр генерации ключей». ВЫПОЛНИТЬ! 5. На одной из систем запустить программу «StrongNet Центр генерации ключей». В меню «Действие» выбрать пункт «Создать БД ключей». В поя- вившемся окне установить количество генерируемых ключей — 2. Сохра- нить базу данных ключей. 6. Сгенерировать ключи для двух пользователей с учетом их дальнейшего взаимодействия. Для этого в правой части главного окна дважды щелкнуть левой кнопкой мыши на элементе «Пользователь 1». В появившемся окне «Создание КК» ввести имя, в списке «Все» выбрать Пользователь 2 и на- жать кнопку « >> ». Нажать кнопку «Далее». В появившемся диалоговом окне «Запись КК» выбрать тип внешнего ключа — «Файл». Указать путь и имя файла, в котором будет храниться созданный набор ключей для Поль- зователя 1 и открытый ключ Пользователя 2. Аналогичные действия про- извести для Пользователя 2. 7. После завершения работы мастера скопировать набор ключей Пользовате- ля 2 на дискету (виртуальную дискету). 5.9.4. Настройка СЗИ StrongNet ВЫПОЛНИТЬ! 8. В одной из виртуальных систем открыть главное окно программы StrongNet и нажать кнопку «Развернуть» (рис. 5.32). 9. На вкладке «Ключи» (рис. 5.33) выбрать тип внешнего ключа – файл. Ука- зать файл с набором ключей Пользователя 2 и нажать кнопку «Загрузить». Переключатель «Загружать ключи при старте» поставить в состояние «Включено». 10. Во второй ОС аналогично загрузить набор ключей Пользователя 2, сохра- ненный на дискете. 133 Рис. 5.32. Главное окно программы «StrongNet» 11. Используя вкладку «Настройки» (рис. 5.34) сделать так, чтобы сеансовый ключ в процессе работы защищенного соединения периодически менялся. Он может меняться по истечении некоторого промежутка времени, для этого переключатель «Генерировать ключ каждые» устанавливается во включенное состояние и в поле «Секунды» указывается длина соответст- вующего временного интервала. Чтобы защищенное соединение периоди- чески проверялось на предмет активности, переключатель «Подтверждать соединение» устанавливается во включенное состояние и в поле «Секун- ды» указывается длина периода в секундах. Для вступления в силу сделан- ных изменений нажать кнопку «Применить». Рис. 5.33. Загрузка ключевой информации Рис. 5.34. Настройка параметров обновления ключевой информации 134 5.9.5. Установка защищенного соединения ВЫПОЛНИТЬ! 12. Создать и проверить соединение между виртуальными ОС. Для этого на вкладке «Соединение» (рис. 5.35) одного из узлов указать IP-адрес второго узла и нажать кнопку «Подключить». 13. Убедиться в том, что соединение установлено. Для этого зайти на вкладку «Сессии» (рис. 5.36), подвести указатель мыши к соединению в списке, в контекстном меню выбрать пункт «Информация о соединении». Просмот- реть информацию об установленном соединении. 14. Осуществить захват трафика в основной ОС, убедиться в том, что трафик является защищенным, проанализировать его тип. Рис. 5.35. Настройка параметров соединения Рис. 5.36. Проверка информации о соединении 135 5.10. Защита на транспортном уровне Для защиты на транспортном уровне применяются протоколы TLS и SSL. Особенностью защиты на данном уровне является независимость от при- кладного уровня, однако чаще всего технология применяется для защиты дан- ных, передаваемых по протоколу HTTP (режим HTTPS). Подробнее рассмотрим функционирование протокола SSL. Протокол часто применяется для установки защищенного соединения, когда пользова- тель, обратившийся к web-серверу, передает или получает конфиденциальные сведения, например об объеме и стоимости покупки в Интернет-магазине, ли- бо получает статистику своих соединений у Интернет-провайдера. В этом случае web-клиент, например Internet Explorer, автоматически переходит в за- щищенный режим, о чем свидетельствует пиктограмма «замок» в правой ниж- ней части окна. Рис. 5.37. Сетевой пакет с сертификатом открытого ключа сервера Протокол SSL предусматривает функции аутентификации, шифрования данных и обеспечения целостности данных. Аутентификация осуществляется путем обмена цифровыми сертификатами при установлении соединения (сес- сии). Так как web-сервер обычно принимает запросы от произвольных клиен- 136 тов, то чаще всего аутентифицируется только сервер. Для шифрования дан- ных применяется стандартный для VPN-соединений подход: для шифрования данных применяется симметричный сеансовый ключ. Обмен симметричными сеансовыми ключами происходит при установлении соединения, при передаче сеансовые ключи шифруются с помощью открытых ключей. Для обеспечения целостности к сообщению добавляется его хэш-код. Рассмотрим этапы установки SSL-соединения. Сначала устанавливается стандартное TCP-соединение с портом сервера 443. Далее клиент передает со- общение «Client-Hello», в котором сообщает поддерживаемую им версию протокола SSL и случайную последовательность «Challenge_Data». В ответ сервер передает сообщение «Server-Hello», в котором указывает версию SSL, идентификатор соединения «Connection_id», список базовых шифров (прото- колов) и сертификат сервера (подписанный открытый ключ). Цель следующего сообщения, отправляемого клиентом (сообщение «Client_Master_Key»), — передача симметричного сеансового ключа, зашиф- рованного открытым ключом сервера. Таким образом, только сервер может расшифровать переданный симметричный ключ. Рис. 5.38. Зашифрованный HTTP-трафик Получив ключ, сервер зашифровывает этим ключом отправленную ра- нее последовательность «Challenge_Data» и передает ее в сообщении «Server- 137 Verify». Получив и расшифровав данное сообщение, клиент уверен, что сеан- совый ключ получен и расшифрован сервером правильно. Для того чтобы сервер также мог убедиться в правильности полученного им сеансового клю- ча, клиент зашифровывает этим ключом идентификатор соединения «Connection_id», полученный от сервера, и передает его в сообщении «Client- Finished». Таким образом, соединение установлено, сервер проверен, сеансовый ключ передан. Теперь весь трафик может передаваться в зашифрованном ви- де. Для внешнего наблюдателя виден трафик, идущий по 443 TCP-порту ме- жду двумя узлами с известными IP-адресами. 5.11. Организация VPN средствами протокола SSL в Windows Server 2003 Предположим, нам необходимо организовать защищенный обмен ин- формацией между web-сервером и произвольным клиентом. Для организации воспользуемся ОС Windows Server 2003, в качестве web-сервера будем ис- пользовать встроенный в ОС компонент IIS (Internet Information Services). Поставленная задача разбивается на три этапа: активизация IIS, генера- ция сертификата открытого ключа для web-севера и настройка SSL- соединения. 5.11.1. Активизация IIS Компонент IIS по умолчанию в ОС Windows Server 2003 не установлен, целью данного этапа является его установка и проверка его функционирова- ния с автоматически генерируемой web-страницей. ВЫПОЛНИТЬ! 1. Установить компонент Internet Information Services (Control Panel ⇒ Ad- ministrative Tools ⇒ Manage Your Server). В открывшемся диалоговом окне необходимо выбрать пункт «Add or remove a role», после чего ОС автоматически определит текущие сетевые на- стройки и отобразит диалоговое окно со списком возможных задач, выпол- няемых сервером (рис. 5.39). В этом списке необходимо выбрать пункт «Application servers (IIS, ASP.NET)». Установка дополнительных компонентов сервера FrontPage Extensions и ASP.NET не является обязательной, поэтому может быть пропущена. В результате указанных действий будут установлены компоненты, необходимые, в том числе для запуска web-сервера. Процесс ус- тановки может занять несколько минут, и для его успешного завершения по- надобится дистрибутив Windows Server 2003. 138 Рис. 5.39. Выбор пункта «Application servers (IIS, ASP.NET)» Рис. 5.40. Отображение web-страницы при обращении к серверу 139 После установки и перезагрузки web-сервер IIS автоматически запуска- ется, в качестве стартовой используется автоматически генерируемая web- страница (рис. 5.40). Отображение этой страницы при обращении к серверу по его IP-адресу с указанием протокола HTTP говорит о том, что сервер отве- чает на HTTP-запросы клиента (программы Internet Explorer). В результате выполнения данного этапа мы получили функционирующий web-сервер под управлением IIS. ВЫПОЛНИТЬ! 2. Запустить анализатор сетевого трафика и просмотреть содержимое переда- ваемой между клиентом и сервером информации. Убедиться, что HTTP- запрос и HTTP-ответ передаются в открытом виде. 5.11.2. Генерация сертификата открытого ключа для web-сервера Как указывалось выше, для шифрования передаваемой информации клиент и сервер должны получить общий ключ симметричного шифрования. В протоколе транспортного уровня данный ключ генерирует клиент и отправ- ляет серверу. Однако для отправки ключа клиент применяет его зашифрова- ние с использованием открытого ключа сервера, который должен быть извес- тен клиенту. Для передачи открытого ключа применяется механизм сертифи- катов, цель которого обеспечить подлинность передаваемого открытого клю- ча. Таким образом, сервер должен иметь сертификат своего открытого ключа, который в общем случае должен быть подписан одним из доверенных центров сертификации. В связи с тем, что мы организуем VPN-соединение в локальной сети учебного компьютерного класса, то в процессе работы самостоятельно сгене- рируем сертификат открытого ключа и создадим его ЭЦП. Для этой цели нам понадобится Центр сертификации, для работы с которым необходимо доба- вить компонент Certificate Services (Службы сертификации). В процессе уста- новки необходимо будет указать имя Центра сертификации (например, «Mycompany»), остальные настройки можно оставить по умолчанию. После установки Центра сертификации необходимо от имени web- сервера выполнить запрос на получение нового сертификата. ВЫПОЛНИТЬ! 3. Установить компонент Certificate Services (Control Panel ⇒ Add or Remove Programs ⇒ Add/Remove Windows Components, рис. 5.41). 4. Запустить оснастку Internet Information Services (IIS) Manager (Control Panel ⇒ Administrative Tools ⇒ Internet Information Services (IIS) Man- ager). 140 5. В разделе «Web Sites» (рис. 5.42) выбрать компонент «Default Web Site», щелкнуть на нем правой кнопкой и выбрать пункт «Properties» в контекст- ном меню. Далее выбрать вкладку «Directory Security» и нажать кнопку «Server Certificate…» в открывшемся окне (рис. 5.43). Рис. 5.41. Выбор компонента Certificate Services Рис. 5.42. Оснастка Internet Information Services (IIS) Manager 141 Будет запущен «мастер», позволяющий сформировать запрос на выдачу сертификата открытого ключа к Центру сертификации (Certification Authority). Необходимо выбрать опцию «Create a new certificate» (создать новый серти- фикат), а затем «Prepare the request, but send it later» (подготовить запрос, но отправить его позже). Будет предложено заполнить исходные данные, на ос- новании которых будет выдан сертификат, в том числе наименования органи- зации (Organization) и организационного подразделения (Organizational unit). Кроме того, необходимо указать доменное имя web-сайта (например, «www.mycompany.com») и его географическое местонахождение. Затем будет предложено сохранить текст запроса в виде текстового файла (рис. 5.44), со- держимое которого необходимо отправить в Центр сертификации. Данный файл содержит открытый ключ web-сервера и заполненные сведения. Так как Центром сертификации также является наш узел, то процесс от- правки полученного текстового файла упрощается и заключается лишь в об- работке данного файла с использованием оснастки Certification Authority (рис. 5.45). Результатом обработки будет создание файла-сертификата открытого ключа в формате X.509. Рис. 5.43. Вкладка «Directory Security» окна свойств web-сайта 142 Рис. 5.44. Сохранение запроса сертификата ВЫПОЛНИТЬ! 6. Запустить оснастку Certification Authority (Control Panel ⇒ Administrative Tools ⇒ Certification Authority). Рис. 5.45. Оснастка Certification Authority Для добавления запроса необходимо из контекстного меню компонента «Mycompany» (в рассматриваемом примере) выбрать пункт All Tasks ⇒ Submit new request… Будет предложено выбрать файл с текстом запроса (он был создан ранее). Запрос добавляется в каталог «Pending Requests», чтобы обработать его, нужно из контекстного меню его записи выбрать пункт 143 All Tasks ⇒ Issue. Обработанный сертификат помещается в каталог «Issued Certificates». Чтобы сохранить сертификат в виде файла на жесткий диск, не- обходимо дважды щелкнуть на нем, перейти на вкладку «Details» и нажать кнопку «Copy to File…». Будет запущен «Мастер экспорта сертификатов», в котором нужно выбрать формат экспортируемого файла (выбрать «DER encoded binary X.509»), а также указать его имя (например, «c:\certnew.cer»). ВЫПОЛНИТЬ! 7. Создать файл-сертификат открытого ключа. Таким образом, сгенерирован файл-сертификат открытого ключа, кото- рый теперь может быть использован для организации VPN-соединения. 5.11.3. Настройка SSL-соединения Настройка SSL-соединения заключается в установке на web-сервере сгенерированного сертификата и активизации SSL-соединения с указанием номера порта. Общепринятым номером порта для SSL-соединения является порт 443. ВЫПОЛНИТЬ! 8. Запустить оснастку Internet Information Services (IIS) Manager и открыть окно свойств компонента «Default Web Site». На вкладке «Directory Security» нажать кнопку «Server Certificate…» и выбрать пункт «Process the pending request and install the certificate» (обработать находящийся на рас- смотрении запрос и установить сертификат). Будет предложено выбрать файл, содержащий указанный сертификат, а также указать SSL-порт, который будет использоваться web-сайтом (по умол- чанию 443). В результате на данном web-сервере будет установлен сертифи- кат открытого ключа. Чтобы включить шифрование информации, передаваемой между клиен- том и сервером, необходимо указать номер порта SSL на вкладке «Web Site», а затем на вкладке «Directory Security» нажать кнопку «Edit…» в разделе «Secure communications» и в открывшемся окне (рис. 5.46) установить отметку «Require secure channel (SSL)». Остальные настройки данного окна можно ос- тавить без изменений. В частности, так как для web-сервера в общем случае не важно, имеется ли у клиента сертификат открытого ключа, то устанавливается значение «Игнорировать сертификаты клиентов» (Ignore client certificates). Для активизации сделанных изменений необходимо нажать кнопку «Apply» (применить) в диалоговом окне «Default Web Site Properties». После применения выполненных настроек web-сервер готов к осущест- влению VPN-соединения с произвольным клиентом, обратившимся к ресур- 144 сам сервера с использованием режима HTTPS. Передаваемая информация бу- дет зашифрована симметричным алгоритмом с 56- либо 128-битным ключом. Рис. 5.46. Окно «Secure communications» ВЫПОЛНИТЬ! 9. Запустить анализатор сетевого трафика и включить перехват пакетов. 10. Запустить в основной операционной системе программу «Internet Explorer» и обратиться к серверу по протоколу SSL, для этого ввести в строке адреса: «https:// 11. Выключить захват пакетов в анализаторе трафика. Проследить порядок установления соединения по протоколу SSL. Найти момент передачи тек- ста сертификата от сервера к клиенту. Убедиться, что передача HTTP- запросов и HTTP-ответов происходит в зашифрованном виде. |