Безпека сертифікатів SSL

  1. Визначення довжини ключа SSL
  2. Враховуємо навантаження і характеристики обладнання
  3. підготовка CSR
  4. Оновлення кореневих сертифікатів
  5. Застосовуйте передові методи безпеки

Більш детально з цими рекомендаціями можна ознайомитися в документі «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).

  1. В IE зверніться до сайту, на якому встановлений SSL-сертифікат.
  2. Клацніть на піктограмі замку (Security Report) праворуч від URL-адреси, а потім натисніть кнопку View Certificates.
  3. Перейдіть на вкладку Details і перейдіть до поля Public key. Як показано на екрані 1, довжина SSL-ключа вказана в дужках.

Як показано на екрані 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 розрядів. Для перевірки довжини ключа кореневого сертифіката виконайте наступні дії.

  1. Запустіть консоль управління Microsoft Management Console (MMC).
  2. В консолі MMC клацніть File, Add / Remove Snap-in.
  3. У лівому стовпчику під заголовком Available snap-ins клацніть Certificates, а потім натисніть кнопку Add.
  4. Виберіть Computer account і натисніть кнопку Next.
  5. Виберіть Local computer і натисніть кнопку Finish.
  6. На екрані 2 показано, як має виглядати діалогове вікно Add or Remove Snap-ins. Натисніть кнопку OK.
  7. У лівій панелі консолі MMC розгорніть вузол Certificates (Local Computer).
  8. Розгорніть Trusted Root Certification Authorities.
  9. Виберіть Certificates. В результаті повинен з'явитися список кореневих сертифікатів, як показано на екрані 3.
  10. У центральній панелі двічі клацніть кореневий сертифікат, який потрібно перевірити. У цьому прикладі відзначений Go Daddy Class 2 Certification Authority.
  11. Перейдіть на вкладку Details.
  12. Прокрутіть екран вниз до поля Public key і подивіться значення.

Прокрутіть екран вниз до поля Public key і подивіться значення

У перевіреному кореневому сертифікаті Go Daddy довжина ключа становить 2048 розрядів, тому на комп'ютері встановлений оновлений кореневий сертифікат.

Застосовуйте передові методи безпеки

Сьогодні саме час почати перевірку SSL-сертифікатів, щоб з'ясувати, для якої кількості сертифікатів необхідно збільшити довжину ключа. Досить простий на перший погляд процес може ускладнитися, якщо є кілька SSL-сайтів з інтенсивним трафіком, які потребують модернізації обладнання відповідно до рекомендацій NIST. Але я сподіваюся, що ви не відстанете на шляху поновлення SSL-сертифікатів. Вдалого поновлення!

Алан Сугано ( [email protected] ) - президент компанії ADS Consulting Group, що спеціалізується на розробках в області Microsoft.NET, SQL Server і мережевих технологіях

Asp?