Чому зберігати сертифікат і приватний ключ Apache SSL в окремих файлах?


11

Документація Apache mod_ssl для директив SSLCertificateFile та SSLCertificateKeyFile вказує, що зберігати приватний ключ та сертифікат SSL в одному файлі "сильно не рекомендується".

Тепер очевидно, що файл приватного ключа повинен зберігатися в безпеці, але якщо припустити, що це так, чи є певні ризики зберігання сертифіката в одному файлі? Мені цікаво дізнатись, чому така поведінка підтримується, і все ж сильно не рекомендується без пояснень.

Відповіді:


15

Файл сертифіката SSL - це замок.
Файл ключа сертифіката SSL є його ключем.

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

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


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

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


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

1
Це, мабуть, не так вже й погано, як приклеювати ключ до дверей - можливо, ближче до того, щоб наклеїти ключ на верхню частину
дверного кадру

7

Старі версії OpenSSL вимагали двох окремих файлів (публічного та приватного). Старі версії інших криптовалют вимагали одного файлу (обидва в одному файлі). У "дусі" сумісності (він же "бажання Адміна щодо невідповідності та необхідності підтримувати два набори сертифікатів) більшість тепер підтримує обоє.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.