Безпека сертифікатів SSL
- Визначення довжини ключа SSL
- Враховуємо навантаження і характеристики обладнання
- підготовка CSR
- Оновлення кореневих сертифікатів
- Застосовуйте передові методи безпеки
Більш детально з цими рекомендаціями можна ознайомитися в документі «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-сертифікатів. Вдалого поновлення!
Алан Сугано ( [email protected] ) - президент компанії ADS Consulting Group, що спеціалізується на розробках в області Microsoft.NET, SQL Server і мережевих технологіях
Asp?