В
Windows 2000 и IIS реализовано несколько методов
шифрования.
-
Аутентификация с помощью Kerberos или других
поддерживаемых методов (см. приложение D).
-
Шифрование файлов в разделе или на жестком
диске NTFS.
-
Виртуальные частные сети (VPN) с
использованием протоколов PPTP, IPSec или
L2TP.
-
Использование шифрования SSL или следующего
поколения стандарта – TLS.
Шифрование, используемое в аутентификации
Windows 2000, должно контролироваться
администратором. Аутентификация Windows 2000
представляет собой самодостаточную систему, и
вам необходимо только настроить параметры
аутентификации на сервере либо изменить
эффективность шифрования в реестре. По умолчанию
Microsoft в настоящее время использует
128-битное шифрование, что подходит для
большинства интернет-систем; шифрование с
большей степенью требуется только для
специализированных приложений, связанных с
безопасностью.
Шифрование файлов NTFS (метод защиты данных,
применяемый в разделах NTFS) можно настроить под
ваши нужды. Во многих организациях шифрование
NTFS используется на файловых серверах интранет
для усиления контроля при работе с документами
высокой степени секретности. Не следует
использовать этот метод на сайте с большим
разделом, так как шифрование абсолютно всех
данных сайта сильно замедляет его работу даже
при наличии мощной аппаратной платформы.
Шифрование файлов используется, как правило, для
отдельных элементов данных, например, для
номеров кредитных карт в базе данных клиента. Во
многих случаях данные хранятся и контролируются
на другом сервере, и база данных содержит свой
собственный алгоритм шифрования для обеспечения
защиты файла.
На
сервере Windows 2000 можно включить поддержку
VPN, для чего необходимо настроить его на
маршрутизацию и удаленный доступ. В лекции 3
настоятельно рекомендовалось отключить
маршрутизацию и удаленный доступ на сервере, так
как эти функции представляют угрозу
несанкционированного проникновения
злоумышленника в сеть. Виртуальная частная сеть
VPN, используемая для удаленного управления
сервером, должна располагаться на отдельном
сервере для Windows 2000, либо следует
использовать сетевой экран или аппаратное
оборудование VPN. (См. лекции 6, лекции 9)
На
веб-сайте чаще всего используется шифрование SSL/TLS
при отправке данных. SSL применяется как в
интернете, так и в сетях интранет, если
требуется соблюдение неприкосновенности и
конфиденциальности информации. В данной лекции
мы обсудим применение и настройку шифрования IIS
SSL/TLS для защиты веб-сайтов.
Основы
шифрования
Вначале рассмотрим несколько важных принципов
шифрования. Шифрование включает в себя
кодирование данных, чтобы их мог прочитать
только определенный получатель. Шифрование – это
древняя наука, первые сведения о ней относятся
еще к ХХ веку до нашей эры (Египет). Римляне
использовали шифрование сообщений в процессе
обмена информацией между войсковыми
подразделениями. Сегодня системы шифрования
широко используются для передачи секретных
цифровых данных через компьютерные сети.
Ключи и шифры
Системы шифрования делают данные нечитабельными
и, наоборот, доступными для чтения с
использованием алгоритмов, называемых шифрами.
Шифр представляет собой определенный метод
кодирования и декодирования данных. Во времена
Юлия Цезаря римляне использовали простой шифр со
смещением букв алфавита. Для расшифровки
римского сообщения получателю требовался ключ;
т.е. ему необходимо было знать, на какое
расстояние смещены буквы алфавита и в каком
направлении. В настоящее время в системах
шифрования используются сложные математические
формулы и большие двоичные числа, но принцип
остается все тем же.
Компьютеризированные системы шифрования
создаются таким образом, чтобы шифруемые данные
с использованием внутреннего ключа
обрабатывались программой, называемой
системой шифрования.
Как правило, для расшифровки данных компьютеру
требуются две вещи: шифр и ключ. В Windows 2000
и IIS система шифрования встроена в саму
операционную систему. Это позволяет службам и
приложениям операционной системы выполнять
шифрование в реальном времени. Например, если
сервер Windows 2000 настроен на шифрование
файлов в папке, шифрование происходит при
сохранении файла. Если сервер настроен на работу
с VPN или использует протоколы SSL/TLS, данные
шифруются в момент отправки их в сеть и
расшифровываются после получения.
Шифрование на
симметричном (секретном) ключе
Исторически сложилось так, что системы
шифрования являются системами на симметричных
(секретных) ключах.
Система шифрования на симметричном ключе
использует один и тот же ключ как для
зашифровки, так и для расшифровки данных. Когда
римляне отправляли сообщения, зашифрованные
посредством смещения алфавита, ключом была
величина смещения и его направление. Используя
эту информацию, получатель мог расшифровать
сообщение посредством сдвига букв сообщения в
обратном направлении для размещения их на
исходных местах. В такой системе ключом являлось
число (меньшее, чем число букв в римском
алфавите) и направление (влево или вправо).
Недостатком данной системы шифрования было то,
что легко угадывался ключ и раскрывался текст
сообщения.
Современные компьютеризированные системы
шифрования позволяют использовать очень длинные
ключи. Если стороннее лицо узнает алгоритм
шифрования, то для угадывания ключа длиной 128
бит понадобится очень много времени, даже при
использовании компьютеризированных методов, так
как количество возможных комбинаций равно 3,4 x
1038. Поэтому шифры, используемые в
промышленности и в государственных стандартах
безопасности, открыты для всеобщего доступа и
хорошо известны. Это может показаться слишком
легкомысленным, однако открытое распространение
шифров, на самом деле, предназначено для
повышения их защищенности, так как многие
специалисты в области шифрования имеют
возможность оценки, дополнения и
совершенствования шифров. Примерами хорошо
известных систем шифрования, алгоритмы которых
доступны любому желающему, являются DES, Triple
DES и новый стандарт AES. Некоторые коммерческие
симметричные алгоритмы, такие как RC4, сделаны
общедоступными для повышения надежности
посредством проверки алгоритмов пользователями.
Ниже приведен перечень современных симметричных
шифров.
- DES
– стандарт шифрования (Data Encryption
Standard), используемый правительством США.
-
Skipjack – секретный алгоритм
симметричного ключа, применяемый в
оборудовании, совместимом с FORTEZZA
(применяется в правительстве США).
-
Triple-DES – стандарт DES, применяемый
трижды (для повышения сложности взлома).
- RC2,
RC4, RC5 и RC6 – эти коммерческие шифры
создаются и лицензируются компанией RSA
Security, Inc. Microsoft использует RC4 по
умолчанию в протоколах PPTP и L2TP, SSL/TLS
и при поддержке протокола IPSec (можно
изменить в системном реестре).
- AES
– стандарт AES является новым федеральным
стандартом обработки информации, который
применяется для определения
криптографического алгоритма в организациях
правительства США для защиты важной
(секретной) информации.
Важно.
Стандарт DES разработан в начале 1970-х
годов. Он десятилетиями использовался для
шифрования финансовых транзакций между
банками и финансовыми институтами. Сейчас
этот стандарт устарел, так как длина его
ключа ограничена 56 битами. Новые стандарты
не имеют этого ограничения. Используя мощь
современных микропроцессоров, 56-битный ключ
DES может быть взломан за несколько часов, в
то время как на взлом 128-битного ключа
потребуются многие месяцы работы самых
мощных компьютеров. Вывод: не следует
использовать алгоритмы шифрования с ключами,
длина которых меньше 128 бит.
Преимущество шифрования на симметричном ключе
заключается в быстрой и эффективной работе, что
делает его подходящим для приложений, требующих
шифрования в реальном времени, в отличие от
других методов, отрицательно влияющих на
производительность систем.
Недостатком шифрования с использованием
симметричного ключа является то, что ключи
должны согласовываться между отправителем и
получателем заранее, т.е. им необходимо
договориться о ключах. При обмене ключами нужно
соблюдать особые меры предосторожности, так как
если ключи станут известны третьему лицу, то он
легко расшифрует текст. Если количество
получателей текста невелико, этот процесс можно
осуществить с относительной легкостью, но при
увеличении числа получателей его сложность
возрастает в геометрической прогрессии.
Следовательно, несмотря на возможность
автоматизации, обмен ключами является очень
ответственным процессом на веб-сайтах, с
которыми работает большое число клиентов.
Шифрование на
открытом ключе (ассиметричное шифрование)
В
1970-х годах появилась новая система шифрования,
называемая
шифрованием на ассиметричном (открытом) ключе.
Она называется ассиметричной, потому что не
требует использования идентичных ключей
отправителем и получателем шифрованного
сообщения. Она является системой с открытым
ключом, так как один из ключей не содержится в
секрете.
Давайте остановимся на этом поподробнее.
Шифрование на открытом ключе использует два
различных ключа, составляющих пару, но не
идентичных. В шифровании с симметричным ключом
каждый ключ является уникальным. Пара ключей
открытый/секретный работает сообща: один ключ
предназначен для шифрования данных, а другой –
для расшифровки, и наоборот. Секретный ключ
должен содержаться в секретности в целях
безопасности, а открытый ключ может передаваться
по небезопасному соединению без угрозы для
системы. Следовательно, система шифрования на
открытом ключе решает одну из главных проблем
старых систем шифрования, заключающуюся в
безопасном способе передачи ключа шифрования
другой стороне.
Как
правило, открытые ключи используются только для
зашифровки данных. Расшифровать их сможет только
тот пользователь, чей компьютер содержит
соответствующий секретный ключ. Эта система
построена на математических принципах,
используемых в шифрах с открытыми ключами и
обеспечивающих существование одного и только
одного уникального секретного ключа,
соответствующего уникальному открытому ключу.
Следовательно, если выполняется шифрование
данных пользователя на общем ключе, можете быть
уверены, что только пользователь, владеющий
второй, секретной, половиной ключа, сможет их
расшифровать.
Первым коммерческим алгоритмом шифрования на
открытом ключе был алгоритм RSA (сокращение
представляет собой первые буквы фамилий трех
специалистов, которые разработали шифр и
впоследствии создали свою собственную компанию
RSA Security, Inc.). Данный алгоритм
использовался в Netscape в качестве компонента
первой версии SSL (это был единственный шифр,
используемый в Netscape), который в итоге
фактически стал частью стандарта, когда Netscape
открыли SSL для общего пользования. Microsoft
изначально использовал шифрование RSA в
операционной системе Windows NT, оно
используется и в Windows 2000. Ключи RSA
являются основными возможностями шифрования в
Windows 2000/IIS.
Комбинирование
методов шифрования
Несмотря на то, что шифрование на открытом ключе
имеет преимущество с точки зрения безопасности
обмена ключами, его недостатком является
скорость работы. Системы шифрования с
ассиметричными ключами работают гораздо
медленнее, чем системы с симметричными ключами.
Они применяются только для шифрования небольших
объемов данных, их не рекомендуется использовать
в случае больших объемов информации при
шифровании в реальном времени в сеансах
безопасного соединения.
Стандарты SSL/TLS и IPSec, применяемые для
шифрования данных в режиме реального времени в
интернете, комбинируют алгоритмы ассиметричного
и симметричного шифрования для использования
преимуществ каждого. Например, на практике
шифрование на открытом ключе не используется для
шифрования данных в сессии безопасного
соединения, так как оно работает медленно в
сравнении с шифрованием на секретном ключе такой
же длины.
Вместо этого для аутентификации, шифрования и
отправки ключа для симметричного шифра RC4 или
AES (объем данных относительно невелик)
используется шифрование с открытым ключом.
Симметричный шифр используется для шифрования
данных сеанса (данные, объем которых измеряется
мегабайтами). На принимающей стороне программное
обеспечение сначала расшифровывает симметричный
ключ, после чего использует его для расшифровки
полезных данных.
Комбинирование методов шифрования повышает общий
уровень безопасности системы шифрования.
Посредством ассиметричного шифрования для
доставки ключей сессии симметричного шифрования
система может использовать отдельный
симметричный ключ для каждого сеанса.
Разумеется, это можно делать как при помощи SSL,
так и IPSec. Программное обеспечение выбирает
симметричный ключ случайным образом. Таким
образом, раскрытие одного ключа сеанса связи
(что происходит крайне редко) не влияет на
следующую установку сеанса.
Цифровые
подписи и инфраструктура открытого ключа
Шифрование на общем ключе привело к введению
цифровых сертификатов, используемых для
аутентификации на веб-сайтах с протоколами
SSL/TLS и IPSec.
Цифровой сертификат представляет собой
цифровой документ (небольшой файл), заверяющий
подлинность и статус владельца для пользователя
или компьютерной системы. Например,
бизнес-сертификат подтверждает тот факт, что
компания обладает определенным открытым ключом.
Цифровые сертификаты помогают автоматизировать
распределение открытых ключей в протоколе
шифрования с открытым ключом. Когда другому
компьютеру необходимо произвести обмен данными с
вашей системой, он осуществляет доступ к
цифровому сертификату, содержащему ваш открытый
ключ.
Набор продуктов и процессов, необходимых для
безопасного создания, управления и распределения
цифровых сертификатов, называется
инфраструктурой
открытого ключа (PKI). Одним из
компонентов PKI является компьютер, называемый
сервером
сертификатов. Объединение, включающее
сервер сертификатов и создающее сертификаты,
называется бюро
сертификатов (CA). CA несет
ответственность за подтверждение подлинности
сертификата и принадлежности его физическому
лицу или организации перед созданием
сертификата.
Существуют компании, например, Verisign и
SSL.com, являющиеся коммерческими CA. Эти
организации за определенную плату выпускают
сертификаты для отдельных лиц и компаний. Если
организация взяла на себя роль своего
собственного бюро сертификатов и выпускает свои
сертификаты, то необходим программный продукт
Microsoft Sertificate Server, но придется
установить этот компонент и управлять им на
отдельном сервере в целях безопасности.
Руководство многих компаний предпочитает
оплатить услугу по получению сертификатов вместо
покупки своего собственного оборудования и
выделения необходимых ресурсов для
самостоятельного выпуска сертификатов.
Стандарт цифровых сертификатов X.509
обеспечивает совместимость с протоколами SSL/TLS
и IPSec, используемыми в Microsoft Windows 2000
и IIS. Согласно этому стандарту цифровой
сертификат X.509 v3 должен содержать четыре
объекта.
-
Отличительное имя (Distinguished Name, DN)
организации, от которой получен сертификат
(т.е. имя, введенное в поле Name
сертификата).
- Открытый
ключ отдельного лица или организации,
идентифицируемый сертификатом.
- Цифровую
подпись, полученную от секретного ключа бюро
сертификатов, предусмотренного
соответствующим сервером сертификатов.
- Отметки о
дате, означающие даты выпуска и срок
действия сертификата.
Имея эту информацию, два узла в виртуальной
частной сети или веб-сервер и правильно
настроенный веб-браузер могут отправлять и
получать потоки данных, которые будут
расшифрованы только ими.
Установление доверия к бюро сертификатов
осуществляется по решению персонала или
руководства компании. В интернете, как правило,
принимается сертификат Verisign. После вынесения
решения о доверии корневой сертификат СА нужно
установить на серверах и клиентах,
осуществляющих взаимную аутентификацию. Корневым
сертификатом называется сертификат, содержащий
открытый ключ CA, которому будут сопоставляться
отдельно выпущенные и подписанные сертификаты с
применением концепции открытого ключа для
подтверждения подлинности сертификатов.
Например, браузер авторизует цифровой сертификат
веб-сайта, сопоставляя подпись сертификата с
открытым ключом корневого сертификата CA,
установленного в браузере. С помощью этой
проверки браузер определяет, что сайт на самом
деле принадлежит компании или организации,
которую он представляет (в силу доверия к бюро
сертификатов).
Аутентификация
с использованием протоколов открытого ключа
Протоколы открытых ключей позволяют
устанавливать авторизованные шифруемые связи
между узлами внутренних сетей и в интернете.
Существуют три модели аутентификации, проводимой
в этих протоколах; они используются как по
отдельности, так и в комбинации.
-
Аутентификация клиента. Позволяет
серверу Windows 2000 VPN или веб-серверу IIS
идентифицировать пользователя с
использованием стандартных методов
шифрования на открытом ключе. Осуществляет
проверку подлинности сертификата клиента и
общего ID, а также проверку того, что эти
данные сгенерированы бюро сертификатов,
корневой сертификат которого установлен в
перечне доверенных CA. Эта проверка очень
важна, если сервером является банк, который
передает конфиденциальную финансовую
информацию клиенту и должен подтвердить
личность получателя. На рисунке 8.1
отображен процесс аутентификации.
-
Аутентификация сервера. Позволяет
клиенту VPN или браузеру клиента SSL/TLS
подтверждать идентичность сервера, проверяя
правильность сертификата сервера и
идентификатора ID, а также то, что
сертификаты выпущены бюро сертификатов (CA),
корневой сертификат которого присутствует в
перечне доверенных CA клиента. Это
подтверждение имеет важное значение для
пользователя веб-сайта, который отправляет
номер кредитной карты через сеть и хочет
удостовериться в том, что это именно тот
сервер, который ему нужен.
-
Взаимная аутентификация. Позволяет
клиенту и серверу авторизовать друг друга
единовременно. Взаимная аутентификация
требует, чтобы клиент и сервер имели
цифровые сертификаты и соответствующие
корневые сертификаты CA в перечнях
доверенных CA.
Большая часть коммерческих CA, таких как
Verisign, встроены в браузеры Netscape и
Microsoft как корневые сертификаты по умолчанию.
Пользователям и менеджерам сети не нужно
устанавливать сертификаты, аутентификация
сервера работает автоматически. Если организация
выступает в роли своего собственного бюро
сертификатов, то необходимо дополнительно
установить корневой сертификат во всех браузерах
компьютеров-клиентов интранет-сети и
предоставить соответствующие инструкции.
На
рисунке 8.1 показано, как работает
аутентификация SSL/TLS. На практике в большей
части веб-сайтов используется только серверная
аутентификация с помощью цифрового сертификата,
так как распространение клиентских сертификатов
среди всех посетителей сайта представляет собой
огромную работу (это сделать несколько легче,
если клиенты объединены в сеть интранет).
Аргументом против использования сертификатов на
компьютерах-клиентах является то, что при этом
система открывается для потенциальных словарных
атак. Клиент с браузером аутентифицирует сервер
методами открытого ключа, но сервер просто
использует пароли для аутентификации своих
клиентов, поэтому хакер может выполнить атаку
посредством угадывания пароля. Руководство
компаний, не использующих сертификаты, считает,
что цена разработки выше, чем реальная угроза;
как и большая часть бизнес-решений, данное
утверждение основывается на экономическом
факторе.
Рис. 8.1. Аутентификация сервера
сертификата клиента
Работа с
безопасными соединениями IIS
С
точки зрения безопасности нешифруемое соединение
между сайтом IIS и браузером доступно любому. В
общем случае это не является проблемой при
использовании сайта только в рамках
интранет-сети, в которой отсутствует
конфиденциальная информация, или при
использовании сайта для широкого распространения
рекламы компании и ее продукции. Но если на
сайте ведется прием заказов или передается
секретная информация, тогда необходимо
обеспечить защиту данных.
Протоколы SSL/TLS виртуально защищают все
интерактивные банковские операции,
денежно-кредитные транзакции и покупки.
Например, все финансовые институты используют
SSL для обеспечения безопасной передачи номера
PIN каждого из клиентов и других
конфиденциальных данных, связанных с учетной
записью. Когда клиент использует кредитую карту
для интерактивной покупки товаров, данные формы
заказа передаются, как правило, через
SSL-защищенный "туннель", доступный только
сотрудникам отдела заказов поставщика выбранного
товара.
Совет.
Протокол SSL изначально разработан компанией
Netscape в середине 1990-х годов. С этого
времени IETF работает над новым вариантом
системы шифрования данных между клиентами и
серверами под названием Transport Layer
Security (TLS), основой которого является
Netscape SSL 3.0 (эти версии не являются
взаимозаменяемыми). Microsoft IIS
поддерживает TLS 1.0 (новая версия) и SSL
3.0 (для обеспечения совместимости с более
ранними версиями).
SSL
и TLS обеспечивают очень надежное шифрование.
Хорошо известны случаи похищения номеров
кредитных карт с веб-сайтов, использующих
технологию SSL/TLS, но эти преступления удалось
совершить лишь потому, что информация хранилась
в базе данных некорректным образом, а не потому,
что хакер взломал шифр SSL/TLS.
Как работает
безопасное веб-соединение
TLS
и SSL составляют неотъемлемую часть большинства
веб-браузеров (клиентов) и веб-серверов. В
SSL/TLS используется уровень приложений,
расположенный между протоколами HTTP и TCP,
которые являются частью браузеров Microsoft и
Netscape и встроены в IIS. Под сокетами (от
названия протокола Secure Socket Layer)
понимается возможность всех операционных систем,
используемых приложениями, передавать и
принимать данные через сеть.
Шифруемое соединение SSL/TLS позволяет шифровать
на сервере и расшифровывать на клиенте (и
наоборот) всю информацию, передаваемую между
ними. Шифрование осуществляется с помощью
симметричного шифра после безопасного обмена
сеансовыми ключами посредством шифрования на
открытом ключе (см. раздел "Комбинирование
методов шифрования"). Алгоритмом открытого ключа
является RSA, а симметричным шифром,
используемым по умолчанию, – RC-4. Дополнительно
все данные, передаваемые через шифруемые
соединения, защищаются механизмом обнаружения
злоумышленных действий, который отслеживает
изменение данных при передаче.
Сеанс SSL между клиентом и сервером
устанавливается следующим образом.
- Клиент
открывает сокет и запрашивает подключение к
серверу.
- Сервер
аутентифицирует клиента (либо по паролю,
либо посредством сертификата, отправляемого
клиентом).
- После
установки соединения сервер передает
браузеру свой открытый ключ посредством
отправки сертификата сервера, выпущенного
доверенным бюро сертификатов.
- Клиент
аутентифицирует сертификат.
- Клиент и
сервер осуществляют обмен настроечной
информацией для определения типа и силы
шифрования, используемых в сеансе
соединения.
- Клиент
создает сеансовый ключ, используемый для
шифрования данных.
- Клиент
шифрует сеансовый ключ с помощью открытого
ключа сервера (полученного из сертификата
сервера) и отправляет его серверу. Секретный
ключ, с помощью которого можно расшифровать
сеансовый ключ, находится только на сервере.
- Сервер
расшифровывает сеансовый ключ и использует
его для создания безопасной сессии, через
которую будет осуществляться обмен данными с
клиентом.
Необходимым условием успешной реализации этих
шагов является заранее установленный на клиенте
корневой сертификат, полученный от доверенного
бюро сертификатов. При использовании
сертификата, полученного от коммерческого CA,
корневой сертификат которого уже имеется в
Microsoft Internet Explorer и Netscape
Communicator (например, Verisign), не нужно
беспокоиться об этом. При использовании
сертификатов клиентов серверу необходимо
установить клиентский корневой сертификат,
выпущенный клиентским бюро сертификатов.
Настройка IIS
на работу с SSL/TLS
При
настройке сайта IIS на шифрование SSL/TLS нужно
выполнить четыре процедуры.
- Создание
пары открытых ключей, используемых в CA при
запросе сертификата.
- Запрос
сертификата сервера от CA.
- Установка
сертификата.
- Настройка
каталогов и страниц, безопасность которых
необходимо обеспечить.
Совет.
При приобретении сертификата у коммерческого
бюро сертификатов весь процесс займет больше
времени, причем оно будет потрачено, в
основном, на ожидание завершения процедуры
подтверждения в бюро сертификатов. Этот
процесс может занять несколько дней, поэтому
вы не сможете выполнить все четыре шага за
один раз. Вам придется предоставить бюро
сертификатов достаточное количество
документов, подтверждающих заявленный статус
и сферу деятельности вашей организации, и
только после проверки этих данных вы
получите сертификат. Тем не менее, некоторые
коммерческие CA предоставляют через интернет
пробные сертификаты, срок действия которых
сильно ограничен, но это, по крайней мере,
позволяет завершить экспериментальную
настройку.
Выполнение
запроса на подпись сертификата
При
первой установке безопасного протокола на
компьютер, скорее всего, у вас еще нет открытого
ключа, поэтому нужно предварительно создать пару
ключей и подготовить сайт к запросу сертификата
в бюро сертификатов. Создание ключей для сервера
IIS осуществляется с помощью
запроса на подпись
сертификата (CSR). Для обеспечения
правильного соответствия открытого и секретного
ключей следует выполнить CSR с компьютера, для
которого будет запрашиваться сертификат.
- Откройте
консоль MMC Internet Services Manager
(Диспетчер служб интернета) и в дереве
ресурсов перейдите к веб-сайту, на котором
требуется SSL/TLS для обеспечения
безопасности веб-страниц. Щелкните правой
кнопкой мыши на сайте и во всплывающем меню
выберите Properties (Свойства).
- В окне
Web Site Properties (Свойства веб-узла)
откройте вкладку Directory Security
(Безопасность каталога). В области Secure
Communications (Безопасные соединения)
нажмите на кнопку Server Certificate
(Сертификат) (см. рис. 8.2). Откроется
мастер, который сгенерирует пару открытых
ключей и создаст CSR. Обратите внимание, что
кнопки View Certificate (Просмотр
сертификата) и Edit (Изменить) еще
недоступны, так как сертификат до этого не
устанавливался.
Рис. 8.2. Используйте вкладку
Directory Security (Безопасность каталога)
окна Web Site Properties (Свойства веб-узла)
для создания CSR
- Следуйте
инструкциям мастера и отвечайте на вопросы
по мере выполнения шагов. При создании
запроса необходимо выполнить следующие
действия.
-
Выберите метод присвоения Assign A New
Certificate (Присвоить новый
сертификат).
-
Выберите опцию Prepare The Request Now,
But Send It Later (Подготовить запрос
сейчас, но отправить его позже).
- В
параметрах Name (Имя) и Security
Settings (Параметры безопасности)
введите предпочитаемое имя, после чего
выберите длину, по крайней мере, в 1024
бита в области выбора Bit Length (Длина
бита) (подразумевается, что эта опция
доступна). Если вы работаете с сайтом в
США, не следует выбирать опцию Server
Gated Cryptography (Шифрование с
использованием серверного шлюза).
Совет.
При длине ключа большей, чем 1024 бита,
затрачивается много времени на
вычисление. Для большинства приложений
длина ключа в 1024 бита обеспечивает
надежную защиту.
- Укажите
название организации и предоставьте
информацию о подразделении в окне
Organization Information (Информация об
организации). Подразделение организации не
имеет принципиального значения, если
компания невелика, тем не менее, укажите
имя.
- В окне
Geographic Information (Данные о
расположении) выберите страну в списке,
введите штат (область), после чего укажите
город. Не сокращайте вводимые данные, так
как это может стать причиной отклонения
запроса на сертификат.
- В окне
Certificate Request File Name (Имя файла
сертификата) выберите удобное имя и место,
которое вы откроете из браузера при итоговом
заполнении веб-формы для запроса на
сертификат.
- По
окончании работы мастера появится окно с
отчетом (см. рис. 8.3). Если вся информация
правильна, нажмите на Next (Далее), чтобы
выйти из браузера.
Рис. 8.3. Дважды проверьте
информацию перед тем, как выйти из мастера
Мастер создаст файл CSR, сохраненный в месте
расположения с указанным именем. Этот файл
содержит открытый ключ для сайта.
Запрос на
сертификат сервера
Первым шагом в получении сертификата является
запрос в бюро сертификатов, которое выпустит
его. При выполнении запроса необходимо
подтвердить информацию, описывающую ваш бизнес,
а также созданный открытый ключ.
При
запросе сертификата у коммерческого бюро
сертификатов его нужно отправлять с сайта этой
организации (например, www.verisign.com). При
запросе сертификата в бюро сертификатов внутри
организации администратор бюро создаст
веб-страницу и предоставит соответствующий URL.
Скорее всего, вы получите сертификат не сразу.
Исключением является ситуация, когда сертификаты
используются внутри сети. В этом случае в
организации предусматривается политика, которая
не требует просмотра запросов на сертификаты при
условии доверия запрашивающему пользователю
(т.е. если ваше имя из списка пользователей
Windows Domain распознано), и если управляемый
внутри сети сервер сертификатов настроен на
автоматизированное подтверждение. Однако,
большая часть времени после передачи запроса в
бюро сертификатов уйдет на ожидание решения
(Pending), пока администратор бюро сертификатов
не подтвердит или не отклонит ваш запрос.
Когда откроется страница запроса на сертификат в
бюро сертификатов, нужно заполнить ряд форм.
Набор вводимых данных зависит от конкретного
бюро сертификатов, хотя все эти данные
представляют минимально необходимую информацию,
требуемую стандартом x509 v3, если используется
сертификат именно этого типа. Будет предложено
выбрать пароль и указать открытый ключ. На
рисунке 8.4 показана форма, предназначенная для
указания открытого ключа при запросе сертификата
у Verisign.
Открытый ключ представляет собой большое
двоичное число, сохраненное в файле, созданном в
процессе CSR. Можно просмотреть содержимое
открытого ключа в программе Notepad (Блокнот)
Windows 2000 (см. рис. 8.5). В нужный момент
процедуры регистрации сертификата укажите этот
ключ в бюро сертификатов. Если вы обратились в
Verisign, то для предоставления ключа откройте
файл, вырежете и вставьте его содержимое из
Notepad в поле формы. Все зависит от конкретного
бюро сертификатов; просто следуйте инструкциям
используемого бюро.
После заполнения форм CA и подтверждения
введенной информации запрос будет помещен в
очередь ожидания решения CA Pending. В случае
одобрения бюро сертификатов подготовит
сертификат и заверит его подписью. СА обычно
проверяет введенную информацию и отсылает по
электронной почте уведомления об отрицательном
или положительном результате рассмотрения
запроса.
Рис. 8.4. Процедура регистрации
сертификата Verisign заключается в заполнении
определенного набора форм
Если запрос одобрен, то, в зависимости от
политики бюро сертификатов, сообщение
электронной почты может содержать сам сертификат
или ссылку (URL) на страницу сайта, защищаемую
SSL; эта страница гарантирует безопасную
доставку сертификата. На этой странице введите
пароль, указанный вами при регистрации
приложения, после чего загрузите сертификат на
локальный диск вашего сервера.
Рис. 8.5. Обычно бюро сертификатов
предлагает вырезать и вставить открытый ключ в
форму запроса сертификата
Совет.
В данном примере используется
демонстрационный сертификат Verisign. При
отправке компанией Verisign сообщения
электронной почты для подтверждения запроса
сертификат прикрепляется к нижней части
сообщения. Он очень похож на открытый ключ,
вырезанный и вставленный в форму запроса на
сертификат. Нужно вырезать и вставить
сертификат в новый документ Notepad
(Блокнот) и сохранить его под именем,
оканчивающимся расширением .cer; данное
расширение сообщает мастеру о том, что файл
является сертификатом.
Установка
цифрового сертификата
После получения уведомления об одобрении запроса
на сертификат и загрузки самого сертификата
установите его на веб-сервер. Для установки
вернитесь в консоль MMC Internet Services
Manager (Диспетчер служб интернета) и выполните
следующие шаги.
- Откройте
консоль Internet Services Manager и в дереве
ресурсов перейдите к веб-сайту, на который
нужно установить сертификат. Щелкните правой
кнопкой мыши на сайте, после чего в
появившемся меню выберите Properties
(Свойства), чтобы отобразить окно Web Site
Properties (Свойства веб-узла).
- Откройте
вкладку Directory Security (Безопасность
каталога) и нажмите на кнопку Server
Certificate, как и при создании запроса на
подпись сертификата (см. рис. 8.2).
Откроется Web Server Certificate Wizard
(Мастер сертификатов веб-сервера). Мастер
распознает, что у вас имеется
нерассмотренный запрос (см. рис. 8.6).
Убедитесь, что выбрана опция обработки
запроса в очереди, после чего нажмите на
Next (Далее) для продолжения установки.
Рис. 8.6. Продолжите выполнение
запроса в очереди в Certificate Wizard
(Мастер сертификатов)
Совет.
Если на любом этапе процедуры
регистрации сертификата возникнут
трудности, нажмите на кнопку Back
(Назад), чтобы вернуться в предыдущий
шаг, либо нажмите на Cancel (Отмена),
чтобы просто закрыть окно и начать
выполнение процедуры сначала.
- Укажите
расположение и имя файла сертификата,
полученного от бюро сертификатов. Нажмите на
кнопку Browse (Обзор), чтобы перейти к этому
файлу, либо укажите его имя, после чего
нажмите на Next (Далее) для продолжения
работы. Последнее окно мастера представляет
собой отчет (см. рис. 8.7) о деталях вашего
сертификата.
-
Просмотрите все детали сертификата и
убедитесь в их корректности. Если сертификат
корректен, нажмите на Next.
- В
появившемся окне нажмите на кнопку Finish
(Готово), чтобы завершить установку.
Рис. 8.7. После получения
сертификата перед подтверждением установки
убедитесь в корректности информации
Обеспечение
безопасности сайта или каталога
После установки сертификата завершите процесс
настройки SSL/TLS для сайта. Чтобы сделать это
корректным образом, обдумайте структуру сайта.
На
большей части сайтов, даже если на них
используется шифрование, имеется нешифруемый
раздел. С точки зрения производительности крайне
неразумно шифровать все страницы. Каждый раз на
это тратится процессорное время. При шифровании
всех данных на сайте вероятно возникновение
перегрузки и затруднений в работе сервера. Этого
можно избежать, используя вспомогательную карту
шифрования (см. лекции 9). Однако, не стоит
забывать, что загрузку сервера можно разумно
планировать.
Ваша домашняя страница не требует шифрования.
Большинство компаний оставляют раздел сайта с
рекламным материалом, контактной информацией и
другими открытыми данными в отдельных
нешифруемых каталогах. Веб-дизайнер создаст
отдельный раздел (или другой сайт) с содержимым,
предназначенным для конфиденциального доступа
клиентов, и обеспечит шифрование только этой
информации. Если сайт организован аналогичным
образом, имеет смысл структурировать его так,
как показано на рис. 8.8.
Рис. 8.8. Не нужно шифровать каждую
страницу веб-узла
После упорядочивания информации можно начинать
установку. Теперь, когда сайт является
совместимым с SSL/TLS, укажите, будут ли
зашифрованные страницы располагаться по всему
сайту или только в определенных каталогах.
Процедура настройки шифрования SSL/TLS состоит
из следующих шагов.
- Откройте
консоль MMC Internet Services Manager
(Диспетчер служб интернета) и в дереве
ресурсов найдите сервер. Щелкните правой
кнопкой мыши на сервере либо откройте
сервер, чтобы перейти в каталог, содержащий
подлежащие защите страницы, после чего
выберите во всплывающем меню команду
Properties (Свойства).
- Укажите
порт, который будет использоваться IIS для
функционирования SSL/TLS. Это можно сделать
на вкладке Web Site (Веб-узел) (см. рис.
8.9). Стандартным портом для безопасных
соединений в интернете является порт 443.
- Для
сохранения конфигурации нажмите на кнопку
Apply (Применить).
Совет.
Шифрование каталога IIS работает иначе,
чем в Windows 2000. При установке
каталога с зашифрованными свойствами в
Windows Explorer или с рабочего стола
Windows информация будет шифроваться на
диске. В IIS SSL/TLS шифруют информацию
при непосредственной передаче по сети
браузеру клиента.
Рис. 8.9. На вкладке Web Site
(Веб-узел) установите порт SSL
- Откройте
вкладку Directory Security (Безопасность
каталога). В области Secure Communications
(Безопасные соединения) станут доступными
кнопки View Certificate (Просмотр) и Edit
(Изменить) (см. рис. 8.10). Для каталога
кнопка изменения сертификата будет
недоступна, так как эта операция
осуществляется на уровне веб-узла, а не на
уровне каталога. Нажмите на кнопку Edit
(Изменить) для настройки параметров SSL/TLS.
- В окне
Secure Communications (Безопасные
соединения) (см. рис. 8.11) отметьте опцию
Require Secure Channel (SSL) (Требовать
безопасное соединение [SSL]). Станет
доступной опция Require 128-Bit Encryption
(Требовать 128-битное шифрование); ее также
следует отметить.
Важно.
Для обеспечения безопасности сайта не
используйте шифрование на ключе длиной
меньше, чем 128 бит. 56-битный алгоритм
DES довольно легко взломать, но стоит
сменить длину ключа на 128 бит – и
шифрование станет на несколько порядков
мощнее.
- На данном
этапе выполнены все требования, необходимые
для включения SSL/TLS. Нажмите на OK, чтобы
применить настройки и выйти из окна Web Site
Properties.
Рис. 8.10. Во вкладке Directory
Security (Безопасность каталога) нажмите на
кнопку Edit (Изменить) для настройки
безопасных соединений на сайте,
поддерживающем сертификаты
Рис. 8.11. Выберите нужные настройки
SSL в окне Secure Communications (Безопасные
соединения)
Обратите внимание на рисунок 8.11: окно Secure
Communications (Безопасные соединения) позволяет
указать способ поддержки сертификатов на
клиентах, посещающих веб-сервер. Можно выбрать
следующие опции.
-
Игнорировать сертификаты клиентов.
Отключает использование на сервере
клиентских сертификатов для аутентификации
независимо от того, установил ли клиент
сертификат.
-
Принимать сертификаты клиентов.
Позволяет серверу принимать сертификаты
клиентов в качестве одного из методов
аутентификации.
-
Требовать сертификаты клиентов.
Предотвращает доступ клиентов, не имеющих
сертификаты на своих системах, к защищенному
содержимому сайта.
Можно связать сертификаты клиентов с учетными
записями пользователей на веб-сервере. После
установки этой связи каждый раз при входе
пользователя с использованием сертификата
клиента сервер автоматически свяжет этого
пользователя с соответствующей учетной записью
Windows. Так осуществляется автоматическая
аутентификация пользователей, входящих в систему
с помощью клиентских сертификатов, без
применения аутентификации Basic (Базовая),
Messaging Digest (Обработка сообщений) или
встроенной аутентификации Windows.
ПРОБЛЕМА
Обе технологии, IIS SSL и TLS, позволяют
использовать различные шифры посредством
изменения значений в реестре Windows 2000.
Имейте в виду, что изменение длины ключа или
значения шифра повлияет на шифры на всем
компьютере в целом, поэтому приложения типа
Internet Explorer (использующий те же записи
реестра для определения доступных шифров) будут
использовать новые шифры. Это может пригодиться
при возникновении определенных обстоятельств на
веб-сайте, где основным приложением является
IIS. Для изменения параметров шифра IIS SSL/TLS
выполните следующие шаги.
- Запустите
программу Regedit и найдите ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
- В списке
доступных шифров выберите тот шифр, который
не хотите использовать. В области справа
просмотрите Enabled Value (Значение) для
этой записи. Значением может быть одна из
величин:
0xffffffff (включено)
0x0 (выключено)
- Щелкните
на записи Enabled (Включено), выберите Edit
(Изменить), после чего выберите Modify
(Изменить).
- В
окне Edit DWORD Value (Изменение
параметра DWORD) убедитесь, что параметр
Value (Значение) установлен на Enabled
(Включено), а опция Base Value (Базовое
значение) – на Hexademical
(Шестнадцатеричное).
- В
поле Value Data (Данные значения)
удалите прежнее значение, после чего
включите его, указав значение
0, либо
отключите, указав значение
ffffffff.
- Нажмите
на OK. Перезапустите IIS, чтобы применить
изменения.
Сводный
перечень действий по настройке параметров SSL
- Решите,
какую политику доверия и метод
аутентификации нужно использовать для работы
с цифровыми сертификатами, и выберите либо
коммерческое бюро сертификатов, либо
самоуправляемый сервер сертификатов.
-
Сгенерируйте пару открытых ключей в
диспетчере IIS Internet Information Services
посредством создания запроса на подпись
сертификата, который будет отправлен в бюро
сертификатов.
- Запросите
сертификат сервера из бюро сертификатов,
перейдя по адресу URL запроса сертификата и
заполнив данные в соответствующей форме.
-
Установите сертификат на веб-сервер
посредством выполнения инструкций,
включенных в полученный от бюро сертификатов
ответ.
- Настройте
каталоги и страницы, безопасность которых
необходимо обеспечить. Выполните следующие
шаги:
-
настройте параметры Web Site Properties
(Свойства веб-узла) на использование
порта 443 (или другого) для
функционирования SSL/TLS;
- на
вкладке Directory Security (Безопасность
каталога) откройте окно Secure
Communications (Безопасные соединения) и
настройте параметры для 128-битного
шифрования SSL;
-
примите решение о необходимости
аутентификации клиентов с помощью
цифровых сертификатов и укажите
соответствующие параметры в окне Secure
Communications (Безопасные соединения).
|