Серверы Apache являются одной из наиболее часто используемых серверных платформ для SSL, однако его простота может
быть как простой в использовании, так и кошмаром для устранения неполадок. Вот пять самых распространенных решений для серверов Apache.
Где секретный ключ?
Распространенным заблуждением является то,
что Центр сертификации (CA), DigiCert, предоставляет закрытый ключ при выдаче сертификата. Это не тот случай.
Файл Private Key является важным компонентом, который расшифровывает зашифрованную информацию, отправленную на
сервер через SSL. Если у кого-либо из сторон есть доступ к секретному ключу, они могут легко получить зашифрованную информацию
и дешифровать ее самостоятельно, делая любое соединение SSL уязвимым для подмены.
Поэтому важно, чтобы файл Private Key оставался навсегда защищенным на сервере.
Когда был создан секретный ключ?
Чтобы лучше объяснить это, нам сначала нужно понять, как работает процесс при запросе сертификата от DigiCert или любой
компании ЦА. Во-первых, с сервера создается запрос на подпись сертификата (CSR) и отправляется в DigiCert.
Когда сервер генерирует этот файл CSR, он таким образом создает пару ключей в это время, как Public, так и Private Keys.
Открытый ключ отправляется внутри CSR в CA, а закрытый ключ остается на сервере для обеспечения его безопасности.
Обратите внимание, что администратор сервера может сохранять закрытый ключ в любом месте, на свое усмотрение,
так как нет расположения файлов по умолчанию.
Оба предыдущих вопроса напрямую связаны с третьей самой распространенной проблемой Apache, или, скорее,
с ошибкой, «x509_check_private_key: несоответствие значений ключей». Когда процесс CSR создал пару ключей, открытый ключ
встроен в файл CSR в DigiCert. Когда DigiCert утверждает заказ на запрос, это открытый ключ, подписанный DigiCert и
выданный клиенту, который запросил сертификат, обычно называемый сертификатом SSL. Этот подписанный открытый ключ
затем должен быть установлен с закрытым ключом, из которого он появился, что делает его совпадением пары ключей.
Несоответствие этой частной и открытой пары ключей вызовет ошибку и обычно связано с предыдущими вопросами.
Просмотрите следующее решение для базы знаний, которое помогает устранить эту проблему:
Error: Unable to configure RSA server private key / error:0B080074:x509 certificate routines: X509_check_private_key: key values mismatch
При перезапуске Apache может появиться следующее сообщение об ошибке:
Эта ошибка возникает, когда в файле конфигурации (httpd.conf или ssl.conf) выбраны файлы с неправильным
закрытым ключом (.key) и / или открытым ключом (.crt).
Чтобы устранить эту проблему, укажите правильный закрытый ключ для сертификата, откройте файл httpd.conf или ssl.conf в текстовом редакторе.
Найдите виртуальный хост, связанный с сертификатом (а не глобальные настройки). Убедитесь, что эти два аргумента существуют:
SSLCertificateFile [path of public key]
SSLCertificateKeyFile [path of private key]
Если эти аргументы существуют, выполните следующую команду для каждого файла:
openssl x509 -noout -text -in [path of public key]
openssl rsa -noout -text -in [path of private key]
Убедитесь, что поля MODULUS и PUBLIC EXPONENT соответствуют общедоступному и закрытому ключу.
Если эти поля отличаются, используются неправильные пути. Если правильные файлы не найдены
проще всего перевыпустить сертификат
Промежуточные сертификаты CA легко устанавливаются в Апач по аналогии с самим серверным сертификатом
- просто пропишите в конфигурационном файле путь где находится промежуточный сертификат chain сертификат
Поскольку Apache может распознавать только один файл при настройке промежуточных элементов,
а вам необходимо два промежуточных сертификата, объедините их в один бандле файл.
В зависимости от используемой версии Apache в файле конфигурации может быть указана другая директива
для использования в прилагаемом файле промежуточных сертификатов. Это также может вызвать путаницу, поскольку
есть моменты, когда они показывают обе эти директивы или только одну из них.
Вернемся к закрытому ключу. Поскольку многие считают, что DigiCert выдает и / или контролирует файл Private Key,
также часто ошибочно принимается за то, что мы выдаем и / или управляем паролем для файла Private Key.
Пароль секретного ключа создается во время создания и не выдается и / или контролируется DigiCert.
Существует способ удалить пароль из файла Private Key, однако DigiCert «настоятельно рекомендует» этого не делать,
но право принятия решения остается за вами.
Удаление пароля, связанного с закрытым ключом, делает уязвимый ключ более уязвимым в случае его скомпрометирования.
Чтобы удалить требование парольной фразы на ваш закрытый ключ, выполните следующую команду: