Более подробно с этими рекомендациями можно ознакомиться в документе «Recommendation for Key Management» по адресу csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf. Как ни удивительно, многие крупные компании по-прежнему ведут бизнес в Web, используя SSL-сертификаты с 1024-разрядными ключами.
Конечно, каждый потребитель самостоятельно решает, какой уровень безопасности ему нужен. Но если компания сочла нужным установить SSL-сертификат на сайте, значит, конфиденциальность содержащихся на нем данных представляет некоторую ценность. Поэтому рассмотрим, как определить длину ключа имеющегося сертификата, и выясним некоторые обстоятельства, существенные для перехода от 1024-разрядных ключей к 2048-разрядным.
Определение длины ключа SSL
Существует простой способ определить длину ключа любого SSL-сертификата в Internet Explorer (IE).
- В IE обратитесь к сайту, на котором установлен SSL-сертификат.
- Щелкните на пиктограмме замка (Security Report) справа от URL-адреса, а затем нажмите кнопку View Certificates.
- Перейдите на вкладку Details и прокрутите страницу до поля Public key. Как показано на экране 1, длина SSL-ключа указана в скобках.
В этом примере SSL-сертификат издан с 2048-разрядным ключом, соответствующим рекомендациям NIST. Любопытно, что, по оценкам NIST, SSL-сертификаты с 2048-разрядным ключом можно будет безопасно применять до 2030 года. Конечно, с помощью этого метода можно проверить не только SSL-сертификаты компании, но и любой компании, имеющей защищенный сайт (то есть сайт с протоколом HTTPS). Если конечные пользователи часто посещают защищенные сайты (например, сайт 401k), полезно проверить сертификаты этих сайтов на соответствие рекомендациям NIST.
Если сайт уязвим, можно обратиться к соответствующим компаниям и выяснить, планируют ли они обновить свои SSL-сертификаты.
Не откладывайте повторное издание 1024-разрядных SSL-сертификатов в своей сети, так как непредвиденные проблемы могут привести к задержкам процесса. Применение 1024-разрядных ключей типично для SSL-сертификатов, обновлявшихся на период не менее двух лет. Некоторые поставщики коммерческих SSL-сертификатов, такие как Go Daddy, позволяют заменить ключ существующего сертификата, чтобы не покупать новый сертификат, если нужно просто увеличить длину ключа.
Учитываем нагрузку и характеристики оборудования
В случае интенсивного SSL-трафика для увеличения длины ключа SSL-сертификата иногда требуется модернизировать аппаратные средства. При изменении длины ключа с 1024 до 2048 разрядов возрастает нагрузка на процессор сервера или SSL-устройства. В большинстве случаев существующих ресурсов достаточно, но если оборудование едва справляется с SSL-трафиком, то, возможно, удастся получить у руководства средства на SSL-акселератор, в приобретении которого вам отказывали в течение двух лет. Высокий коэффициент использования процессора веб-сервера иногда указывает на большую SSL-нагрузку, но может быть результатом выполнения на сервере некорректного сценария. SSL-нагрузку на сервере можно оценить с помощью системного монитора (perfmon.exe) со счетчиком Web Service.
Быстрый и практичный способ определить связь превышения допустимой нагрузки Microsoft IIS Server с SSL-трафиком — загрузить пакет Web Capacity Analysis Tools (WCAT) от Microsoft, опубликованный по адресу support.microsoft.com/kb/231282 и technet.microsoft.com/magazine/2008.04.utilityspotlight.aspx. Протестируйте надежные и уязвимые сайты, запустив системный монитор и измеряя нагрузку на процессор веб-сервера. Если нагрузка на центральный процессор близка к 100% при доступе через протокол HTTPS и существенно ниже при аналогичном доступе через протокол HTTP, то, вероятно, причина в SSL-трафике на сервере. Можно даже провести сравнительное тестирование 1024-и 2048-разрядных сертификатов, чтобы оценить потенциальное влияние 2048-разрядного сертификата на производительность веб-сервера.
Наряду с повышенной нагрузкой, связанной с управлением сеансами SSL, может оказаться, что имеющееся оборудование несовместимо с SSL-сертификатами с длиной ключа более 1024 разрядов. Это ограничение не зависит от SSL-трафика. Например, одно из устройств, непригодных для 2048-разрядных ключей, — SonicWALL SSL-VPN 200. Как сообщили представители компании, источник проблемы в аппаратных средствах, а не в микропрограммном обеспечении, поэтому модернизировать устройство невозможно. Придется приобрести новое устройство для работы с 2048-разрядными ключами. Дополнительную информацию об этой проблеме можно найти по адресу fuzeqna.com/sonicwallkb/consumer/kbdetail.asp?kbid=7354. Вероятно, такие изъяны могут встретиться и в других устройствах. Поэтому не будет преждевременным начать ревизию SSL-сертификатов и оборудования, чтобы успеть составить смету, приобрести и обновить оборудование до конца 2010 года.
Подготовка CSR
Большинство поставщиков SSL перестали издавать SSL-сертификаты с 1024-разрядными ключами и требуют запрос на подпись сертификата (CSR) с длиной ключа не менее 2048 разрядов. Некоторые поставщики SSL (например, Thawte, VeriSign) по-прежнему принимают запросы CSR на 1024-разрядные ключи, но срок действия таких сертификатов завершится 31 декабря 2010 г. При обновлении сертификатов SSL не имеет смысла посылать запрос CSR на 1024-разрядный ключ, так как SSL-сертификат будет действовать только до конца года. Дополнительные сведения о поставщиках SSL можно найти на сайте WhichSSL (www.whichssl.com), содержащем сравнительную информацию о различных поставщиках, которая будет полезна при оценке и выборе поставщика.
Чтобы обновить SSL-сертификат на сервере IIS, обычно составляют запрос обновления CSR и посылают его поставщику SSL. После проверки домена заявителя поставщик издает SSL-сертификат. Различные поставщики используют разные процедуры проверки. Большинство посылает сообщение по адресу электронной почты, приведенному в поле WHOIS регистрационной информации домена для быстрого издания SSL-сертификатов; процедура проверки корпоративных SSL-сертификатов, как правило, гораздо строже. Однако, если послать запрос на обновление существующего SSL-сертификата с 1024-разрядным ключом в IIS, CSR обновления также будет иметь 1024-разрядный ключ. Чтобы обойти это препятствие, экспортируйте существующий SSL-сертификат, а затем подготовьте новый запрос CSR, что позволит выбрать длину ключа.
Конечно, пока запрос CSR обрабатывается поставщиком SSL, сайт будет неработоспособен. Для таких сайтов, как OWA, простой обычно не связан с проблемами, если CSR формируется в нерабочее время. Даже для сайтов с интенсивным трафиком рекомендуется формировать новый запрос CSR, так как я убедился в надежности процесса. Если простой сайта недопустим ни при каких обстоятельствах, нужно подготовить зеркальный сайт, сформировать новый запрос CSR, установить SSL-сертификат, протестировать его, а затем перейти на зеркальный сайт, чтобы уменьшить время простоя.
Дополнительная информация по этой проблеме приведена в статье Microsoft «How To Renew or Create New Certificate Signing Request While Another Certificate Is Currently Installed» по адресу support.microsoft.com/kb/295281. Для сайтов, на которых простои недопустимы, особенно важно познакомиться с доменом поставщика SSL и процедурами проверки компаний. Прежде чем сформировать запрос CSR, убедитесь, что имеются все необходимые адреса электронной почты и другие средства проверки, чтобы своевременно издать новый SSL-сертификат.
Обновление корневых сертификатов
Обновления для корневых сертификатов можно загрузить с сайта службы поддержки Microsoft (support.microsoft.com/kb/931125). Конечно, можно загрузить корневые сертификаты непосредственно от поставщика SSL. Как известно, корневые сертификаты используются в цепочке доверительных отношений, чтобы проверить правильность SSL-сертификата. Следует убедиться, что корневой сертификат от поставщика SSL также имеет ключ размером не менее 2048 разрядов. Для проверки длины ключа корневого сертификата выполните следующие действия.
- Запустите консоль управления Microsoft Management Console (MMC).
- В консоли MMC щелкните File, Add/Remove Snap-in.
- В левом столбце под заголовком Available snap-ins щелкните Certificates, а затем нажмите кнопку Add.
- Выберите Computer account и нажмите кнопку Next.
- Выберите Local computer и нажмите кнопку Finish.
- На экране 2 показано, как должно выглядеть диалоговое окно Add or Remove Snap-ins. Нажмите кнопку OK.
- В левой панели консоли MMC разверните узел Certificates (Local Computer).
- Разверните Trusted Root Certification Authorities.
- Выберите Certificates. В результате должен появиться список корневых сертификатов, как показано на экране 3.
- В центральной панели дважды щелкните корневой сертификат, который нужно проверить. В этом примере отмечен Go Daddy Class 2 Certification Authority.
- Перейдите на вкладку Details.
- Прокрутите экран вниз до поля Public key и посмотрите значение.
В проверенном корневом сертификате Go Daddy длина ключа составляет 2048 разрядов, поэтому на компьютере установлен обновленный корневой сертификат.
Применяйте передовые методы безопасности
Сегодня самое время начать проверку SSL-сертификатов, чтобы выяснить, для какого количества сертификатов необходимо увеличить длину ключа. Довольно простой на первый взгляд процесс может усложниться, если имеется несколько SSL-сайтов с интенсивным трафиком, требующих модернизации оборудования в соответствии с рекомендациями NIST. Но я надеюсь, что вы не отстанете на пути обновления SSL-сертификатов. Удачного обновления!
Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET, SQL Server и сетевых технологиях