Де компанії зазвичай зберігають сертифікати SSL для подальшого використання?


26

Нещодавно ми придбали сертифікат SSL для малого домену для нашого домену. Ми перетворили всі серти в сховище Java, але тепер ми запитуємо себе, де нам їх зберігати для подальшого використання.

Чи користуються люди керування джерелами, як BitBucket, для таких типів файлів або просто генерують щоразу, коли це потрібно, чи щось інше?

Нам цікаво, чи існує стандартне рішення чи якісь «найкращі практики» навколо зберігання цих сертифікатів для подальшого використання.


Завантажте їх зашифрованими до традиційного резервного рішення. Не зберігайте приватні ключі в незашифрованому вигляді з будь-яким зовнішнім постачальником. Зазвичай я включаю дати випуску та закінчуючу дату в моєму сертифікаті та ключовому імені файлу для розмежування.
Андрій Домашек

Відповіді:


22

Є кілька рішень:

Один проспект - це специфічний сховище ключів або прилад на базі апаратних засобів, апаратний модуль захисту або програмний еквівалент.

Інша - просто відкликати старий ключ і генерувати нову приватну / публічну пару ключів, коли виникає ситуація. Це дещо зміщує проблему від збереження ключової безпеки до забезпечення імені користувача / пароля облікового запису у постачальника сертифікатів та їх процедур для повторної видачі. Перевага полягає в тому, що більшість організацій вже мають пільгове рішення щодо управління обліковими записами, наприклад, 1 2

Існує декілька способів зберігання в режимі офлайн - від друку на паперовій копії приватної та відкритої пари ключів, включаючи пароль (але це буде відновити самку-собаку) до простого зберігання їх на цифрових носіях, призначених для тривалого зберігання .

Дійсно погані місця - GitHub, ваша команда WiKi або мережева частка (і ви отримаєте ідею).

Оновлення 2015/4/29: Keywhiz також здається цікавим підходом.


Мені цікаво, що ви маєте на увазі під "програмним еквівалентом" для HSM?

Деякі виробники апаратних приладів сьогодні продають свої прилади також у вигляді віртуальної техніки, VM. Також є такі речі, як сховище ключів Oracle та SoftHSM з відкритим кодом, щоб назвати деякі.
HBruijn


1
"але це буде собака для відновлення" -> Цей зробив мій день! Жарти вбік, вам слід зашифрувати її перед збереженням.
Ісмаїл Мігель

За визначенням ви відкриєте свій відкритий ключ для всіх. Немає підстав для шифрування цього. Але і це не є причиною нерозумно з цим. Безпека полягає в першу чергу для приватного ключа, який, як правило, дійсно повинен бути зашифрованим / захищеним паролем. Ви повинні прагнути мати якомога менше примірників цього.
HBruijn

21

Ні, сертифікати SSL не перебувають у контролі джерела, принаймні, не в частині приватного ключа.

Ставтесь до них так, як би ви ввели пароль. Наші фактично зберігаються точно так само, як і наші паролі - в KeePass. Він дозволяє приєднувати файли і зашифровується.


3

Якщо ви покладете приватний ключ на керування джерелом, кожен, хто має доступ до нього, зможе представити ваш сервер. Якщо ваш веб-сервер не використовує PFS (ідеальну таємницю вперед), то також можливо розшифрувати будь-який захоплений трафік SSL за допомогою загальнодоступних інструментів з відкритим кодом, таких як Wireshark.

Ви можете захистити ключ за допомогою DES або AES, зашифрувавши його за допомогою парольної фрази за допомогою OpenSSL. OpenSSL доступний для Linux, OSX та Windows.

OpenSSL також може видалити фразу, коли пароль не є зручним (наприклад, на веб-сервері, який запускається автоматично, але не підтримує автоматичне введення парольних фраз).

Додавання парольної фрази за допомогою шифрування AES (безпечніше, ніж DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

Видалення парольної фрази (вам буде запропоновано ввести парольну фразу): -

openssl rsa -in encrypted.private.key -out decrypted.private.key

1
Якщо ви все робите належним чином, то навіть викриття приватного ключа не повинно призвести до компромісу минулого трафіку, хоча це, безсумнівно , полегшить MITM'ing, щоб значно спростити майбутній трафік.
CVn

Привіт @Michael, теоретично, але, на жаль, мені вдалося розшифрувати багато захоплень Apache та IIS, тому я можу лише припустити, що PFS вимкнено за замовчуванням. Навіть багато VPN IPSEC відключили його.
Хитрий

За замовчуванням PFS не так сильно вимкнений, оскільки не підтримується багатьма пакетами шифрів. Спробуйте деякий час тест сервера лабораторій SSL; він вказує, які шифрові пакети підтримують FS. Звичайно, вимкнення всіх пакетів шифрів, що не належать до FS, швидше за все, залишать багатьох клієнтів на холоді, оскільки вони не підтримують набір шифрів FS. Надання пільгових процедур для FS-пакетів повинно працювати (але я настійно раджу проти замовлення шиферних пакетів вручну, якщо ви не знаєте, що ви робите, та їх відносні сильні та слабкі сторони).
CVn

Дякуємо за рекомендацію в SSL Labs @Michael. На жаль, мої сервери не мають інтернету, але я зіграв із включеними шифрами, і, як ви пропонуєте, PFS, здається, підтримується лише деякими шифрами. PFS дійсно заважає мені декодувати сліди пакетів. Відповідно оновлю відповідь.
Хитрі

1

Ще одним варіантом, прочитавши про KeyWhiz, був Сейф HashiCorp. Це не просто менеджер паролів, а магазин Secrets, я вважаю дещо схожим на KeyWhiz. Її написано в GO, і клієнт працює як сервер, і з'єднується з купою резервних копій та методами аутентифікації. Сейф також є відкритим кодом, з опцією Enterprise.

Оскільки ключі та сертифікати SSL - це лише текстові файли, ви можете базувати їх на 6464 коді та зберігати їх як рядок у Vault або навіть просто текст у Vault. Не існує WebUI або GUI, його весь командний рядок або керований сценарій, і він має дуже гарний стабільний веб-API для завантаження.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault

0

Я б рекомендував заглянути в офлайновий HSM (наприклад, маркер шифрування обладнання або CAC) для зберігання приватного ключа та сертифіката. Це не тільки захищає приватний ключ від випадкових компромісів, але також забезпечує деяке основне криптографічне завантаження.

Якщо у вас є більше криптографічних активів для управління, я рекомендую переглянути програмне забезпечення Enterprise Key & Certificate Management, яке може автоматизувати оновлення, відстежувати життєвий цикл, автоматизувати надання до кінцевих точок тощо. Більшість із них зберігають зашифрований актив у режимі спокою як CLOB в базі даних.


Чому голоси? Не скаржиться; цікаво, що не так у цій відповіді.
Метт

Не впевнений, чому він проголосував. HSM спеціально розроблені для безпечного зберігання ключів та високошвидкісного шифрування. Я можу лише здогадуватися, що це пов'язано із витратами чи складнішим управлінням. Усі основні банки використовують HSM для ключових операцій у таких операціях, як транзакції Chip & Pin.
Хитрий
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.