В Windows 2000 и IIS реализовано несколько методов шифрования.
Шифрование, используемое в аутентификации 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. Некоторые коммерческие
Важно. Стандарт DES разработан в начале 1970-х годов. Он десятилетиями использовался для шифрования финансовых транзакций между банками и финансовыми институтами. Сейчас этот стандарт устарел, так как длина его ключа ограничена 56 битами. Новые стандарты не имеют этого ограничения. Используя мощь современных микропроцессоров, 56-битный ключ DES может быть взломан за несколько часов, в то время как на взлом 128-битного ключа потребуются многие месяцы работы самых мощных компьютеров. Вывод: не следует использовать алгоритмы шифрования с ключами, длина которых меньше 128 бит.
Преимущество шифрования на симметричном ключе заключается в быстрой и эффективной работе, что делает его подходящим для приложений, требующих шифрования в реальном времени, в отличие от других методов, отрицательно влияющих на производительность систем.
Недостатком шифрования с использованием симметричного ключа является то, что ключи должны согласовываться между отправителем и получателем заранее, т.е. им необходимо договориться о ключах. При обмене ключами нужно соблюдать особые меры предосторожности, так как если ключи станут известны третьему лицу, то он легко расшифрует текст. Если количество получателей текста невелико, этот процесс можно осуществить с относительной легкостью, но при увеличении числа получателей его сложность возрастает в геометрической прогрессии. Следовательно, несмотря на возможность автоматизации, обмен ключами является очень ответственным процессом на веб-сайтах, с которыми работает большое число клиентов.
В 1970-х годах появилась новая система шифрования, называемая шифрованием на ассиметричном (открытом) ключе. Она называется ассиметричной, потому что не требует использования идентичных ключей отправителем и получателем шифрованного сообщения. Она является системой с открытым ключом, так как один из ключей не содержится в секрете.
Давайте остановимся на этом поподробнее. Шифрование на открытом ключе использует два различных ключа, составляющих пару, но не идентичных. В шифровании с симметричным ключом каждый ключ является уникальным. Пара ключей открытый/секретный работает сообща: один ключ предназначен для шифрования данных, а другой – для расшифровки, и наоборот. Секретный ключ должен содержаться в секретности в целях безопасности, а открытый ключ может передаваться по небезопасному соединению без угрозы для системы. Следовательно, система шифрования на открытом ключе решает одну из главных проблем старых систем шифрования, заключающуюся в безопасном способе передачи ключа шифрования другой стороне.
Как правило, открытые ключи используются только для зашифровки данных. Расшифровать их сможет только тот пользователь, чей компьютер содержит соответствующий секретный ключ. Эта система построена на математических принципах, используемых в шифрах с открытыми ключами и обеспечивающих существование одного и только одного уникального секретного ключа, соответствующего уникальному открытому ключу. Следовательно, если выполняется шифрование данных пользователя на общем ключе, можете быть уверены, что только пользователь, владеющий второй, секретной, половиной ключа, сможет их расшифровать.
Первым коммерческим алгоритмом шифрования на открытом ключе был
Несмотря на то, что шифрование на открытом ключе имеет преимущество с точки зрения безопасности обмена ключами, его недостатком является скорость работы. Системы шифрования с ассиметричными ключами работают гораздо медленнее, чем системы с симметричными ключами. Они применяются только для шифрования небольших объемов данных, их не рекомендуется использовать в случае больших объемов информации при шифровании в реальном времени в сеансах безопасного соединения.
Стандарты SSL/TLS и IPSec, применяемые для шифрования данных в режиме реального времени в интернете, комбинируют алгоритмы ассиметричного и симметричного шифрования для использования преимуществ каждого. Например, на практике шифрование на открытом ключе не используется для шифрования данных в сессии безопасного соединения, так как оно работает медленно в сравнении с шифрованием на секретном ключе такой же длины.
Вместо этого для аутентификации, шифрования и отправки ключа для симметричного шифра
Комбинирование методов шифрования повышает общий уровень безопасности системы шифрования. Посредством ассиметричного шифрования для доставки
Шифрование на общем ключе привело к введению цифровых сертификатов, используемых для аутентификации на веб-сайтах с протоколами SSL/TLS и IPSec. Цифровой сертификат представляет собой цифровой документ (небольшой файл), заверяющий подлинность и статус владельца для пользователя или компьютерной системы. Например, бизнес-сертификат подтверждает тот факт, что компания обладает определенным открытым ключом. Цифровые сертификаты помогают автоматизировать распределение открытых ключей в протоколе шифрования с открытым ключом. Когда другому компьютеру необходимо произвести обмен данными с вашей системой, он осуществляет доступ к цифровому сертификату, содержащему ваш открытый ключ.
Набор продуктов и процессов, необходимых для безопасного создания, управления и распределения цифровых сертификатов, называется инфраструктурой открытого ключа (
Существуют компании, например, Verisign и SSL.com, являющиеся коммерческими CA. Эти организации за определенную плату выпускают сертификаты для отдельных лиц и компаний. Если организация взяла на себя роль своего собственного бюро сертификатов и выпускает свои сертификаты, то необходим программный продукт Microsoft Sertificate Server, но придется установить этот компонент и управлять им на отдельном сервере в целях безопасности. Руководство многих компаний предпочитает оплатить услугу по получению сертификатов вместо покупки своего собственного оборудования и выделения необходимых ресурсов для самостоятельного
Стандарт цифровых сертификатов X.509 обеспечивает совместимость с протоколами SSL/TLS и IPSec, используемыми в Microsoft Windows 2000 и IIS. Согласно этому стандарту цифровой
Имея эту информацию, два узла в виртуальной частной сети или веб-сервер и правильно настроенный веб-браузер могут отправлять и получать потоки данных, которые будут расшифрованы только ими.
Установление доверия к бюро сертификатов осуществляется по решению персонала или руководства компании. В интернете, как правило, принимается сертификат Verisign. После вынесения решения о доверии корневой сертификат СА нужно установить на серверах и клиентах, осуществляющих взаимную аутентификацию. Корневым сертификатом называется сертификат, содержащий открытый ключ CA, которому будут сопоставляться отдельно выпущенные и подписанные сертификаты с применением концепции открытого ключа для подтверждения подлинности сертификатов. Например, браузер авторизует цифровой сертификат веб-сайта, сопоставляя подпись сертификата с открытым ключом корневого сертификата CA, установленного в браузере. С помощью этой проверки браузер определяет, что сайт на самом деле принадлежит компании или организации, которую он представляет (в силу доверия к бюро сертификатов).
Протоколы открытых ключей позволяют устанавливать авторизованные шифруемые связи между узлами внутренних сетей и в интернете. Существуют три модели аутентификации, проводимой в этих протоколах; они используются как по отдельности, так и в комбинации.
Большая часть коммерческих CA, таких как Verisign, встроены в браузеры Netscape и Microsoft как корневые сертификаты по умолчанию. Пользователям и менеджерам сети не нужно устанавливать сертификаты, аутентификация сервера работает автоматически. Если организация выступает в роли своего собственного бюро сертификатов, то необходимо дополнительно установить корневой сертификат во всех браузерах компьютеров-клиентов интранет-сети и предоставить соответствующие инструкции.
На рисунке 8.1 показано, как работает аутентификация SSL/TLS. На практике в большей части веб-сайтов используется только серверная аутентификация с помощью цифрового сертификата, так как распространение клиентских сертификатов среди всех посетителей сайта представляет собой огромную работу (это сделать несколько легче, если клиенты объединены в сеть интранет).
Аргументом против использования сертификатов на компьютерах-клиентах является то, что при этом система открывается для потенциальных словарных атак. Клиент с браузером аутентифицирует сервер методами открытого ключа, но сервер просто использует пароли для аутентификации своих клиентов, поэтому хакер может выполнить атаку посредством угадывания пароля. Руководство компаний, не использующих сертификаты, считает, что цена разработки выше, чем реальная угроза; как и большая часть бизнес-решений, данное утверждение основывается на экономическом факторе.
(рис 8.1) Аутентификация сервера сертификата клиента
С точки зрения безопасности нешифруемое соединение между сайтом 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 нужно выполнить четыре процедуры.
Совет. При приобретении сертификата у коммерческого бюро сертификатов весь процесс займет больше времени, причем оно будет потрачено, в основном, на ожидание завершения процедуры подтверждения в бюро сертификатов. Этот процесс может занять несколько дней, поэтому вы не сможете выполнить все четыре шага за один раз. Вам придется предоставить бюро сертификатов достаточное количество документов, подтверждающих заявленный статус и сферу деятельности вашей организации, и только после проверки этих данных вы получите сертификат. Тем не менее, некоторые коммерческие CA предоставляют через интернет пробные сертификаты, срок действия которых сильно ограничен, но это, по крайней мере, позволяет завершить экспериментальную настройку.
При первой установке безопасного протокола на компьютер, скорее всего, у вас еще нет открытого ключа, поэтому нужно предварительно создать пару ключей и подготовить сайт к запросу сертификата в бюро сертификатов. Создание ключей для сервера IIS осуществляется с помощью запроса на подпись сертификата (
Совет. При длине ключа большей, чем 1024 бита, затрачивается много времени на вычисление. Для большинства приложений длина ключа в 1024 бита обеспечивает надежную защиту.
Мастер создаст файл
Первым шагом в получении сертификата является запрос в бюро сертификатов, которое выпустит его. При выполнении запроса необходимо подтвердить информацию, описывающую ваш бизнес, а также созданный открытый ключ.
При запросе сертификата у коммерческого бюро сертификатов его нужно отправлять с сайта этой организации (например, www.verisign.com). При запросе сертификата в бюро сертификатов внутри организации администратор бюро создаст веб-страницу и предоставит соответствующий URL.
Скорее всего, вы получите сертификат не сразу. Исключением является ситуация, когда сертификаты используются внутри сети. В этом случае в организации предусматривается политика, которая не требует просмотра запросов на сертификаты при условии доверия запрашивающему пользователю (т.е. если ваше имя из списка пользователей Windows Domain распознано), и если управляемый внутри сети
Когда откроется страница запроса на сертификат в бюро сертификатов, нужно заполнить ряд форм. Набор вводимых данных зависит от конкретного бюро сертификатов, хотя все эти данные представляют минимально необходимую информацию, требуемую стандартом x509 v3, если используется сертификат именно этого типа. Будет предложено выбрать пароль и указать открытый ключ. На рисунке 8.4 показана форма, предназначенная для указания открытого ключа при запросе сертификата у Verisign.
Открытый ключ представляет собой большое двоичное число, сохраненное в файле, созданном в процессе
После заполнения форм CA и подтверждения введенной информации запрос будет помещен в очередь ожидания решения CA
(рис 8.4) Процедура регистрации сертификата Verisign заключается в заполнении определенного набора формЕсли запрос одобрен, то, в зависимости от политики бюро сертификатов, сообщение электронной почты может содержать сам сертификат или ссылку (URL) на страницу сайта, защищаемую SSL; эта страница гарантирует безопасную доставку сертификата. На этой странице введите пароль, указанный вами при регистрации приложения, после чего загрузите сертификат на локальный диск вашего сервера.
(рис 8.5) Обычно бюро сертификатов предлагает вырезать и вставить открытый ключ в форму запроса сертификатаСовет. В данном примере используется демонстрационный сертификат Verisign. При отправке компанией Verisign сообщения электронной почты для подтверждения запроса сертификат прикрепляется к нижней части сообщения. Он очень похож на открытый ключ, вырезанный и вставленный в форму запроса на сертификат. Нужно вырезать и вставить сертификат в новый документ Notepad (Блокнот) и сохранить его под именем, оканчивающимся расширением .
cer ; данное расширение сообщает мастеру о том, что файл является сертификатом.
После получения уведомления об одобрении запроса на сертификат и загрузки самого сертификата установите его на веб-сервер. Для установки вернитесь в консоль MMC Internet Services Manager (Диспетчер служб интернета) и выполните следующие шаги.
Совет. Если на любом этапе процедуры регистрации сертификата возникнут трудности, нажмите на кнопку Back (Назад), чтобы вернуться в предыдущий шаг, либо нажмите на Cancel (Отмена), чтобы просто закрыть окно и начать выполнение процедуры сначала.
(рис 8.7) После получения сертификата перед подтверждением установки убедитесь в корректности информацииПосле установки сертификата завершите процесс настройки SSL/TLS для сайта. Чтобы сделать это корректным образом, обдумайте структуру сайта.
На большей части сайтов, даже если на них используется шифрование, имеется нешифруемый раздел. С точки зрения производительности крайне неразумно шифровать все страницы. Каждый раз на это тратится процессорное время. При шифровании всех данных на сайте вероятно возникновение перегрузки и затруднений в работе сервера. Этого можно избежать, используя вспомогательную карту шифрования (см. лекции 9). Однако, не стоит забывать, что загрузку сервера можно разумно планировать.
Ваша домашняя страница не требует шифрования. Большинство компаний оставляют раздел сайта с рекламным материалом, контактной информацией и другими открытыми данными в отдельных нешифруемых каталогах. Веб-дизайнер создаст отдельный раздел (или другой сайт) с содержимым, предназначенным для конфиденциального доступа клиентов, и обеспечит шифрование только этой информации. Если сайт организован аналогичным образом, имеет смысл структурировать его так, как показано на рис. 8.8.
(рис 8.8) Не нужно шифровать каждую страницу веб-узлаПосле упорядочивания информации можно начинать установку. Теперь, когда сайт является совместимым с SSL/TLS, укажите, будут ли зашифрованные страницы располагаться по всему сайту или только в определенных каталогах. Процедура настройки шифрования SSL/TLS состоит из следующих шагов.
Совет. Шифрование каталога IIS работает иначе, чем в Windows 2000. При установке каталога с зашифрованными свойствами в Windows Explorer или с рабочего стола Windows информация будет шифроваться на диске. В IIS SSL/TLS шифруют информацию при непосредственной передаче по сети браузеру клиента.
(рис 8.9) На вкладке Web Site (Веб-узел) установите порт SSLВажно. Для обеспечения безопасности сайта не используйте шифрование на ключе длиной меньше, чем 128 бит. 56-битный алгоритм DES довольно легко взломать, но стоит сменить длину ключа на 128 бит – и шифрование станет на несколько порядков мощнее.

(рис 8.11) Во вкладке Directory Security (Безопасность каталога) нажмите на кнопку Edit (Изменить) для настройки безопасных соединений на сайте, поддерживающем сертификаты(рис 8.10) Выберите нужные настройки SSL в окне Secure Communications (Безопасные соединения) Обратите внимание на рисунок 8.11: окно
Можно связать сертификаты клиентов с учетными записями пользователей на веб-сервере. После установки этой связи каждый раз при входе пользователя с использованием сертификата клиента сервер автоматически свяжет этого пользователя с соответствующей учетной записью Windows. Так осуществляется автоматическая аутентификация пользователей, входящих в систему с помощью клиентских сертификатов, без применения аутентификации Basic (Базовая),
Обе технологии, IIS SSL и TLS, позволяют использовать различные шифры посредством изменения значений в реестре Windows 2000. Имейте в виду, что изменение длины ключа или значения шифра повлияет на шифры на всем компьютере в целом, поэтому приложения типа Internet Explorer (использующий те же записи реестра для определения доступных шифров) будут использовать новые шифры. Это может пригодиться при возникновении определенных обстоятельств на веб-сайте, где основным приложением является IIS. Для изменения параметров шифра IIS SSL/TLS выполните следующие шаги.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
0xffffffff (включено) 0x0 (выключено)
0, либо отключите, указав значение ffffffff.В Windows 2000 и IIS реализовано несколько методов шифрования.
Шифрование, используемое в аутентификации 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. Некоторые коммерческие
Важно. Стандарт DES разработан в начале 1970-х годов. Он десятилетиями использовался для шифрования финансовых транзакций между банками и финансовыми институтами. Сейчас этот стандарт устарел, так как длина его ключа ограничена 56 битами. Новые стандарты не имеют этого ограничения. Используя мощь современных микропроцессоров, 56-битный ключ DES может быть взломан за несколько часов, в то время как на взлом 128-битного ключа потребуются многие месяцы работы самых мощных компьютеров. Вывод: не следует использовать алгоритмы шифрования с ключами, длина которых меньше 128 бит.
Преимущество шифрования на симметричном ключе заключается в быстрой и эффективной работе, что делает его подходящим для приложений, требующих шифрования в реальном времени, в отличие от других методов, отрицательно влияющих на производительность систем.
Недостатком шифрования с использованием симметричного ключа является то, что ключи должны согласовываться между отправителем и получателем заранее, т.е. им необходимо договориться о ключах. При обмене ключами нужно соблюдать особые меры предосторожности, так как если ключи станут известны третьему лицу, то он легко расшифрует текст. Если количество получателей текста невелико, этот процесс можно осуществить с относительной легкостью, но при увеличении числа получателей его сложность возрастает в геометрической прогрессии. Следовательно, несмотря на возможность автоматизации, обмен ключами является очень ответственным процессом на веб-сайтах, с которыми работает большое число клиентов.
В 1970-х годах появилась новая система шифрования, называемая шифрованием на ассиметричном (открытом) ключе. Она называется ассиметричной, потому что не требует использования идентичных ключей отправителем и получателем шифрованного сообщения. Она является системой с открытым ключом, так как один из ключей не содержится в секрете.
Давайте остановимся на этом поподробнее. Шифрование на открытом ключе использует два различных ключа, составляющих пару, но не идентичных. В шифровании с симметричным ключом каждый ключ является уникальным. Пара ключей открытый/секретный работает сообща: один ключ предназначен для шифрования данных, а другой – для расшифровки, и наоборот. Секретный ключ должен содержаться в секретности в целях безопасности, а открытый ключ может передаваться по небезопасному соединению без угрозы для системы. Следовательно, система шифрования на открытом ключе решает одну из главных проблем старых систем шифрования, заключающуюся в безопасном способе передачи ключа шифрования другой стороне.
Как правило, открытые ключи используются только для зашифровки данных. Расшифровать их сможет только тот пользователь, чей компьютер содержит соответствующий секретный ключ. Эта система построена на математических принципах, используемых в шифрах с открытыми ключами и обеспечивающих существование одного и только одного уникального секретного ключа, соответствующего уникальному открытому ключу. Следовательно, если выполняется шифрование данных пользователя на общем ключе, можете быть уверены, что только пользователь, владеющий второй, секретной, половиной ключа, сможет их расшифровать.
Первым коммерческим алгоритмом шифрования на открытом ключе был
Несмотря на то, что шифрование на открытом ключе имеет преимущество с точки зрения безопасности обмена ключами, его недостатком является скорость работы. Системы шифрования с ассиметричными ключами работают гораздо медленнее, чем системы с симметричными ключами. Они применяются только для шифрования небольших объемов данных, их не рекомендуется использовать в случае больших объемов информации при шифровании в реальном времени в сеансах безопасного соединения.
Стандарты SSL/TLS и IPSec, применяемые для шифрования данных в режиме реального времени в интернете, комбинируют алгоритмы ассиметричного и симметричного шифрования для использования преимуществ каждого. Например, на практике шифрование на открытом ключе не используется для шифрования данных в сессии безопасного соединения, так как оно работает медленно в сравнении с шифрованием на секретном ключе такой же длины.
Вместо этого для аутентификации, шифрования и отправки ключа для симметричного шифра
Комбинирование методов шифрования повышает общий уровень безопасности системы шифрования. Посредством ассиметричного шифрования для доставки
Шифрование на общем ключе привело к введению цифровых сертификатов, используемых для аутентификации на веб-сайтах с протоколами SSL/TLS и IPSec. Цифровой сертификат представляет собой цифровой документ (небольшой файл), заверяющий подлинность и статус владельца для пользователя или компьютерной системы. Например, бизнес-сертификат подтверждает тот факт, что компания обладает определенным открытым ключом. Цифровые сертификаты помогают автоматизировать распределение открытых ключей в протоколе шифрования с открытым ключом. Когда другому компьютеру необходимо произвести обмен данными с вашей системой, он осуществляет доступ к цифровому сертификату, содержащему ваш открытый ключ.
Набор продуктов и процессов, необходимых для безопасного создания, управления и распределения цифровых сертификатов, называется инфраструктурой открытого ключа (
Существуют компании, например, Verisign и SSL.com, являющиеся коммерческими CA. Эти организации за определенную плату выпускают сертификаты для отдельных лиц и компаний. Если организация взяла на себя роль своего собственного бюро сертификатов и выпускает свои сертификаты, то необходим программный продукт Microsoft Sertificate Server, но придется установить этот компонент и управлять им на отдельном сервере в целях безопасности. Руководство многих компаний предпочитает оплатить услугу по получению сертификатов вместо покупки своего собственного оборудования и выделения необходимых ресурсов для самостоятельного
Стандарт цифровых сертификатов X.509 обеспечивает совместимость с протоколами SSL/TLS и IPSec, используемыми в Microsoft Windows 2000 и IIS. Согласно этому стандарту цифровой
Имея эту информацию, два узла в виртуальной частной сети или веб-сервер и правильно настроенный веб-браузер могут отправлять и получать потоки данных, которые будут расшифрованы только ими.
Установление доверия к бюро сертификатов осуществляется по решению персонала или руководства компании. В интернете, как правило, принимается сертификат Verisign. После вынесения решения о доверии корневой сертификат СА нужно установить на серверах и клиентах, осуществляющих взаимную аутентификацию. Корневым сертификатом называется сертификат, содержащий открытый ключ CA, которому будут сопоставляться отдельно выпущенные и подписанные сертификаты с применением концепции открытого ключа для подтверждения подлинности сертификатов. Например, браузер авторизует цифровой сертификат веб-сайта, сопоставляя подпись сертификата с открытым ключом корневого сертификата CA, установленного в браузере. С помощью этой проверки браузер определяет, что сайт на самом деле принадлежит компании или организации, которую он представляет (в силу доверия к бюро сертификатов).
Протоколы открытых ключей позволяют устанавливать авторизованные шифруемые связи между узлами внутренних сетей и в интернете. Существуют три модели аутентификации, проводимой в этих протоколах; они используются как по отдельности, так и в комбинации.
Большая часть коммерческих CA, таких как Verisign, встроены в браузеры Netscape и Microsoft как корневые сертификаты по умолчанию. Пользователям и менеджерам сети не нужно устанавливать сертификаты, аутентификация сервера работает автоматически. Если организация выступает в роли своего собственного бюро сертификатов, то необходимо дополнительно установить корневой сертификат во всех браузерах компьютеров-клиентов интранет-сети и предоставить соответствующие инструкции.
На рисунке 8.1 показано, как работает аутентификация SSL/TLS. На практике в большей части веб-сайтов используется только серверная аутентификация с помощью цифрового сертификата, так как распространение клиентских сертификатов среди всех посетителей сайта представляет собой огромную работу (это сделать несколько легче, если клиенты объединены в сеть интранет).
Аргументом против использования сертификатов на компьютерах-клиентах является то, что при этом система открывается для потенциальных словарных атак. Клиент с браузером аутентифицирует сервер методами открытого ключа, но сервер просто использует пароли для аутентификации своих клиентов, поэтому хакер может выполнить атаку посредством угадывания пароля. Руководство компаний, не использующих сертификаты, считает, что цена разработки выше, чем реальная угроза; как и большая часть бизнес-решений, данное утверждение основывается на экономическом факторе.
(рис 8.1) Аутентификация сервера сертификата клиента
С точки зрения безопасности нешифруемое соединение между сайтом 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 нужно выполнить четыре процедуры.
Совет. При приобретении сертификата у коммерческого бюро сертификатов весь процесс займет больше времени, причем оно будет потрачено, в основном, на ожидание завершения процедуры подтверждения в бюро сертификатов. Этот процесс может занять несколько дней, поэтому вы не сможете выполнить все четыре шага за один раз. Вам придется предоставить бюро сертификатов достаточное количество документов, подтверждающих заявленный статус и сферу деятельности вашей организации, и только после проверки этих данных вы получите сертификат. Тем не менее, некоторые коммерческие CA предоставляют через интернет пробные сертификаты, срок действия которых сильно ограничен, но это, по крайней мере, позволяет завершить экспериментальную настройку.
При первой установке безопасного протокола на компьютер, скорее всего, у вас еще нет открытого ключа, поэтому нужно предварительно создать пару ключей и подготовить сайт к запросу сертификата в бюро сертификатов. Создание ключей для сервера IIS осуществляется с помощью запроса на подпись сертификата (
Совет. При длине ключа большей, чем 1024 бита, затрачивается много времени на вычисление. Для большинства приложений длина ключа в 1024 бита обеспечивает надежную защиту.
Мастер создаст файл
Первым шагом в получении сертификата является запрос в бюро сертификатов, которое выпустит его. При выполнении запроса необходимо подтвердить информацию, описывающую ваш бизнес, а также созданный открытый ключ.
При запросе сертификата у коммерческого бюро сертификатов его нужно отправлять с сайта этой организации (например, www.verisign.com). При запросе сертификата в бюро сертификатов внутри организации администратор бюро создаст веб-страницу и предоставит соответствующий URL.
Скорее всего, вы получите сертификат не сразу. Исключением является ситуация, когда сертификаты используются внутри сети. В этом случае в организации предусматривается политика, которая не требует просмотра запросов на сертификаты при условии доверия запрашивающему пользователю (т.е. если ваше имя из списка пользователей Windows Domain распознано), и если управляемый внутри сети
Когда откроется страница запроса на сертификат в бюро сертификатов, нужно заполнить ряд форм. Набор вводимых данных зависит от конкретного бюро сертификатов, хотя все эти данные представляют минимально необходимую информацию, требуемую стандартом x509 v3, если используется сертификат именно этого типа. Будет предложено выбрать пароль и указать открытый ключ. На рисунке 8.4 показана форма, предназначенная для указания открытого ключа при запросе сертификата у Verisign.
Открытый ключ представляет собой большое двоичное число, сохраненное в файле, созданном в процессе
После заполнения форм CA и подтверждения введенной информации запрос будет помещен в очередь ожидания решения CA
(рис 8.4) Процедура регистрации сертификата Verisign заключается в заполнении определенного набора формЕсли запрос одобрен, то, в зависимости от политики бюро сертификатов, сообщение электронной почты может содержать сам сертификат или ссылку (URL) на страницу сайта, защищаемую SSL; эта страница гарантирует безопасную доставку сертификата. На этой странице введите пароль, указанный вами при регистрации приложения, после чего загрузите сертификат на локальный диск вашего сервера.
(рис 8.5) Обычно бюро сертификатов предлагает вырезать и вставить открытый ключ в форму запроса сертификатаСовет. В данном примере используется демонстрационный сертификат Verisign. При отправке компанией Verisign сообщения электронной почты для подтверждения запроса сертификат прикрепляется к нижней части сообщения. Он очень похож на открытый ключ, вырезанный и вставленный в форму запроса на сертификат. Нужно вырезать и вставить сертификат в новый документ Notepad (Блокнот) и сохранить его под именем, оканчивающимся расширением .
cer ; данное расширение сообщает мастеру о том, что файл является сертификатом.
После получения уведомления об одобрении запроса на сертификат и загрузки самого сертификата установите его на веб-сервер. Для установки вернитесь в консоль MMC Internet Services Manager (Диспетчер служб интернета) и выполните следующие шаги.
Совет. Если на любом этапе процедуры регистрации сертификата возникнут трудности, нажмите на кнопку Back (Назад), чтобы вернуться в предыдущий шаг, либо нажмите на Cancel (Отмена), чтобы просто закрыть окно и начать выполнение процедуры сначала.
(рис 8.7) После получения сертификата перед подтверждением установки убедитесь в корректности информацииПосле установки сертификата завершите процесс настройки SSL/TLS для сайта. Чтобы сделать это корректным образом, обдумайте структуру сайта.
На большей части сайтов, даже если на них используется шифрование, имеется нешифруемый раздел. С точки зрения производительности крайне неразумно шифровать все страницы. Каждый раз на это тратится процессорное время. При шифровании всех данных на сайте вероятно возникновение перегрузки и затруднений в работе сервера. Этого можно избежать, используя вспомогательную карту шифрования (см. лекции 9). Однако, не стоит забывать, что загрузку сервера можно разумно планировать.
Ваша домашняя страница не требует шифрования. Большинство компаний оставляют раздел сайта с рекламным материалом, контактной информацией и другими открытыми данными в отдельных нешифруемых каталогах. Веб-дизайнер создаст отдельный раздел (или другой сайт) с содержимым, предназначенным для конфиденциального доступа клиентов, и обеспечит шифрование только этой информации. Если сайт организован аналогичным образом, имеет смысл структурировать его так, как показано на рис. 8.8.
(рис 8.8) Не нужно шифровать каждую страницу веб-узлаПосле упорядочивания информации можно начинать установку. Теперь, когда сайт является совместимым с SSL/TLS, укажите, будут ли зашифрованные страницы располагаться по всему сайту или только в определенных каталогах. Процедура настройки шифрования SSL/TLS состоит из следующих шагов.
Совет. Шифрование каталога IIS работает иначе, чем в Windows 2000. При установке каталога с зашифрованными свойствами в Windows Explorer или с рабочего стола Windows информация будет шифроваться на диске. В IIS SSL/TLS шифруют информацию при непосредственной передаче по сети браузеру клиента.
(рис 8.9) На вкладке Web Site (Веб-узел) установите порт SSLВажно. Для обеспечения безопасности сайта не используйте шифрование на ключе длиной меньше, чем 128 бит. 56-битный алгоритм DES довольно легко взломать, но стоит сменить длину ключа на 128 бит – и шифрование станет на несколько порядков мощнее.

(рис 8.11) Во вкладке Directory Security (Безопасность каталога) нажмите на кнопку Edit (Изменить) для настройки безопасных соединений на сайте, поддерживающем сертификаты(рис 8.10) Выберите нужные настройки SSL в окне Secure Communications (Безопасные соединения) Обратите внимание на рисунок 8.11: окно
Можно связать сертификаты клиентов с учетными записями пользователей на веб-сервере. После установки этой связи каждый раз при входе пользователя с использованием сертификата клиента сервер автоматически свяжет этого пользователя с соответствующей учетной записью Windows. Так осуществляется автоматическая аутентификация пользователей, входящих в систему с помощью клиентских сертификатов, без применения аутентификации Basic (Базовая),
Обе технологии, IIS SSL и TLS, позволяют использовать различные шифры посредством изменения значений в реестре Windows 2000. Имейте в виду, что изменение длины ключа или значения шифра повлияет на шифры на всем компьютере в целом, поэтому приложения типа Internet Explorer (использующий те же записи реестра для определения доступных шифров) будут использовать новые шифры. Это может пригодиться при возникновении определенных обстоятельств на веб-сайте, где основным приложением является IIS. Для изменения параметров шифра IIS SSL/TLS выполните следующие шаги.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
0xffffffff (включено) 0x0 (выключено)
0, либо отключите, указав значение ffffffff.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.