HTTP2, apache2, с certbot

Я пытаюсь настроить HTTP2 с помощью apache2 и certbot-auto, дело в том, что у меня есть другой рабочий сервер с HTTP2 + Apache2 + с сертификатом letsencrypt, HTTP2 отлично работает на этом сервере. У меня есть это на обоих серверах:

SSLHonorCipherOrder     on

SSLProtocol             all -SSLv3
SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS

SSLOpenSSLConfCmd DHParameters "/etc/ssl/private/dhparams_4096.pem"

Я попытался восстановить оба ключа dhparams с помощью:

openssl dhparam -out /etc/ssl/private/dhparams_4096.pem 4096

Перезапускаю апач, та же проблема, сервер 1 работает, сервер 2 нет.

На ssllabs.com у меня есть хром, FF, ...:

Server negotiated HTTP/2 with blacklisted suite

Если я тестирую с:

openssl s_client -host 127.0.0.1 -port 443

На рабочем сервере у меня есть:

Server Temp Key: ECDH, P-256, 256 bits
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

На нерабочем сервере:

Server Temp Key: DH, 4096 bits
Cipher    : DHE-RSA-AES128-GCM-SHA256

Я знаю, что для работы должен быть ключ ECDH, но я не знаю, почему он не работает, поскольку все серверы имеют одинаковую конфигурацию!

Я всегда использую: certbot-auto --apache -d mydomain.com для создания сертификата, я работаю с HTTP2 на первом сервере, а не на втором (ошибка неадекватной безопасности и переход на http1.1)

Вы можете помочь мне ? Мне нужна рабочая конфигурация с apache2 и SSL/HTTP2, мне не нужна совместимость со старыми браузерами. Или, если вы знаете очень хороший рабочий учебник, чтобы сделать это.

Apache 2.4.25 и открытый ssl 1.0.2k на обоих серверах.


person neoteknic    schedule 02.03.2017    source источник
comment
Я сделал несколько тестов: ECDHE-ECDSA-AES128-GCM-SHA256 есть в конфигурации, но сервер его не принимает. Если я поставлю только этот шифр, у меня произойдет сбой рукопожатия. Я не знаю, как установить шифр ECDHE-ECDSA-AES128-GCM-SHA256, apache? опенсл ?   -  person neoteknic    schedule 02.03.2017
comment
С: openssl ciphers -v 'ALL:eNULL' ECDHE-RSA-AES128-GCM-SHA256 находится в списке. Почему апач не берет?   -  person neoteknic    schedule 02.03.2017
comment
Нам нужно увидеть сертификаты сервера. Команда openssl s_client -host 127.0.0.1 -port 443 может быть неправильной. Вам подойдет строка комплекта шифров "HIGH:!kRSA:!aNULL:!MD5:!RC4". Он пройдет аудит SSL Labs, и ChaCha20/Poly1305 будет предпочтительнее для TLS 1.3 (когда он станет доступен). Также см. Ошибка 963: поддержка TLS 1.3 в системе отслеживания проблем OpenSSL.   -  person jww    schedule 02.03.2017
comment
Stack Overflow — это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. раздел О каких темах я могу задать здесь в Справочном центре. Возможно, Суперпользователь или Unix & Linux Stack Exchange лучше спросить. См. также раздел Где размещать вопросы о Dev Ops?   -  person jww    schedule 02.03.2017


Ответы (1)


Я только что (пере) выпустил apache 2.4.25 с точно такими же флагами компиляции, и теперь он работает! Возможно, некоторые библиотеки шифров были скомпилированы до более новой версии openssl. Я на генту.

person neoteknic    schedule 02.03.2017