Несколько параметров DH / ECDH в конфигурационном файле Apache 2.4.7

Я запускаю Apache 2.4.7 на сервере Ubuntu 14.04 («Trusty»). Идентификатор пакета Ubuntu – «2.4.7-1ubuntu4.1».

Если в явном виде не указаны параметры DH / ECDH (см. Ниже), Apache использует стандартные параметры DH из RFC 3526 для дискретного журнала DH. Длина параметра соответствует длине открытого ключа RSA (например, 2048-битный ключ RSA получает 2048-битный DH-параметр, 4096-разрядный RSA-ключ получает 4096-битный параметр DH и т. Д.).

Похоже, что для ECDH используется только NIST P-256 cuve, независимо от размера открытого ключа RSA или ECDSA.

Документация Apache указывает, что в дополнение к SSL-сертификату сайта можно вручную указать параметры DH или ECDH в файле, на который SSLCertificateFile директива SSLCertificateFile в файле конфигурации сайта.

Точный текст соответствующей записи в документах:

Дополнительные необязательные элементы – это параметры DH и / или имя кривой EC для эфемерных ключей, генерируемые openssl dhparam и openssl ecparam соответственно (поддерживаются в версии 2.4.7 или новее) и, наконец, закрытый ключ сертификата конечного объекта.

Тем не менее, похоже, что Apache только считывает первые DH и первые параметры ECDH, объявленные таким образом. Дополнительные параметры параметров, объявленные в этом файле, игнорируются.

Можно ли объявить несколько наборов параметров, чтобы клиенты могли выбрать, какой из них использовать для DH / ECDH?

В частности, я хотел бы объявить несколько приемлемых эллиптических кривых для ECDH.

Например, я бы хотел, чтобы secp256r1 доступен по соображениям совместимости, но также предлагает secp384r1 и secp521r1 для клиентов, которые поддерживают такие кривые.

Кроме того, было бы неплохо иметь 1024-битные параметры DH для устаревших клиентов, но 2048-бит или более высокие параметры для более новых клиентов, которые поддерживают более длинные простые числа.

Можно ли объявить несколько наборов параметров DH и ECDH, и я просто что-то пропустил, или можно только явно объявить один набор параметров DH и ECDH, соответственно?

3 Solutions collect form web for “Несколько параметров DH / ECDH в конфигурационном файле Apache 2.4.7”

Невозможно сделать это для не-EC DH.

Для ECDH:

 SSLOpenSSLConfCmd ECDHParameters prime256v1 SSLOpenSSLConfCmd Curves brainpoolP512r1:secp521r1:brainpoolP384r1:secp384r1:brainpoolP256r1:prime256v1 
  1. Параметры DH – это применимо только в том случае, если вы планируете использовать DHE_RSA_<insert cipher here> . Если вы не планируете использовать любого из этих шифров, точка является спорной
  2. EC Params – вам необходимо перейти на Apache 2.4.8 или выше и иметь OpenSSL 1.0.2 или выше. Ни один из них не входит в Ubuntu 14.04.x. Вам нужно будет сделать:

     apt-add-repository ppa:ondrej/apache2 #corrected apt-get update apt-get upgrade openssl apt-get upgrade apache2 

После того, как вы находитесь в последних библиотеках Apache2 и OpenSSL, вы можете обновить шифры EC, добавив следующую строку в контейнер <VirtualHost *:443> :

 SSLOpenSSLConfCmd Curves secp384r1 

Если вы хотите больше одной кривой:

 SSLOpenSSLConfCmd Curves secp384r1:secp521r1 

Затем поднимите службу:

 service apache2 restart 

Если вы используете apache 2.4.7 и OpenSSL 0.9.8a или новее, вы можете изменить параметры DH, добавив файл dhparam в конец ваших файлов сертификатов.

Не знаю о параметрах ЕС …

  • Easy-RSA index.txt, серийный номер и дубликаты
  • Apache 2.4 SSL Config - сервер отклоняет запросы с HTTP 400
  • Backporting OpenSSL-1.0.1e для Debian Lenny (armv4l)
  • Не удается запустить службу httpd из-за неправильного или неправильного пароля
  • Как добавить несколько адресов электронной почты в сертификат SSL через командную строку?
  • Как преобразовать открытый ключ ssh-keygen в формат, который открывает функцию PEM_read_bio_RSA_PUBKEY ()?
  • openssl не загружает двигатель из файла конфигурации
  • Как добавить SubjectAltNames в сертификат конечного объекта в частной PKI?
  • Как связать библиотеку OpenSSL в macOS с помощью gcc?
  • Как запустить специальный тест из набора тестов OpenSSL?
  • libcrypto.so.1.0.0: информация о версии отсутствует (требуется /opt/Android/Sdk/cmake/3.6.3155560/bin/cmake)
  • Interesting Posts

    CIFS VFS: cifs_mount не удалось получить код возврата = -95

    GUI для добавления источника программного обеспечения Fedora

    Проверьте, активен ли встроенный звук из разных пользователей

    Где перенести сначала, когда из свободного места на Cent OS Web Server?

    Равномерно распределять ресурсы по нескольким направлениям

    Как проверить, с каким интерфейсом (ами) связана служба?

    Как отображать подсветку синтаксиса в файле?

    Возобновить зеркалирование через wget

    невозможно выполнить незаметную игру на удаленном хосте

    Есть ли смягчение от подделки даты / времени касания?

    Выполняется карта Nvidia .. странно

    Задайте предпочтение для отправки пакетов через определенное сетевое устройство

    получить приблизительный размер каталога (рекурсивно, включая все файлы и подкаталоги)

    Как захватить головную часть сайта с помощью команды curl и grep?

    Совпадение шаблона оболочки и появление регулярных выражений

    Linux и Unix - лучшая ОС в мире.