Назад | Перейти на главную страницу

Попытка получить 100% при обмене ключей ssllabs.com

Я хотел знать, какие шаги необходимы, чтобы получить 100% результатов по каждой категории на ssllabs.com. Я понимаю, что это может привести к проблемам в старых системах, но мне все равно.

В моем сертификате letsencrypt.org используется 4096 бит. Это лучший результат, который я мог получить, используя следующую конфигурацию:

SSLCipherSuite AES256+EECDH:AES256+EDH:!aNULL
SSLHonorCipherOrder on
SSLProtocol all -TLSv1.1 -TLSv1 -SSLv3 -SSLv2

Я читаю где-то что обмен ключами можно улучшить с помощью предварительно сгенерированного файла dhparam.

Итак, я создал этот файл, используя openssl dhparam -out dhparam.pem 4096 (это заняло около часа) и добавил его в мою конфигурацию apache, используя

SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

но результат такой же, как и раньше. Так что же мне здесь не хватает?

Полный результат ssllabs.com

По состоянию на 2017-10 гг., Если вы используете Диффи-Хеллмана, вы должны иметь оба параметра DH и ключи с эквивалентными 4096 битами RSA.

Вы предлагаете хотя бы один сертификат для 2048-битного ключа. У вас также есть необычные метаданные в этом сертификате, проверьте, что (сертификат snake-oil по умолчанию, в котором говорится, что «я не обслуживаю клиентов, не относящихся к sni», обычно имеет только имя хоста в Common Name)

Редактировать: Вы не будете оштрафованы в рейтинге SSL Labs за сертификаты, которые вы предлагаете исключительно клиентам, не относящимся к SNI. Вы также не будете наказаны за сертификаты со слабым ключом, которые вы предоставляете как часть своей цепочки сертификатов известному корню.

Полную документацию по рейтингу вы найдете на ssllabs учетная запись github.

Для пакетов, которые полагаются на обмен ключами DHE или ECDHE, сила параметров DH учитывается при определении силы рукопожатия в целом. Многие серверы, поддерживающие DHE, используют параметры DH, обеспечивающие безопасность 1024 бита. На таких серверах сила обмена ключами никогда не превысит 1024 бит, даже если секретный ключ сильнее (обычно 2048 бит).

В рейтинге не сказано, но я смог подтвердить, что вы не можете получить рейтинг 100, если ваш сервер предпочитает secp256v1 (эквивалент 3k бит RSA), предлагая при этом шифры ECDHE, которые могли бы использовать secp384v1 (эквивалентно 7k битам RSA).

Chrome 57 / Win 7
R
RSA 4096 (SHA256)
TLS 1.2 > http/1.1
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384   
ECDH secp256r1  FS

В руководстве по Apache перечислен один вариант принудительного выполнения этого действия (просто заказав Curves параметр по силе оказался недостаточным)

Совместимость: доступно в httpd 2.4.8 и новее, при использовании OpenSSL 1.0.2 или новее SSLOpenSSLConfCmd ECDHParameters brainpoolP256r1

https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslopensslconfcmd

Если вы назовете здесь кривую, которая может считаться эквивалентной RSA> = 4096 бит, лаборатории ssl будут использовать это для ваших шифров ECDHE, перечисляя вам клиенты, которые больше не могут успешно установить связь с вашим сервером, потому что они не поддерживают эту кривую .

Внимательно изучите список браузеров, которые вы хотите поддерживать, выбрав нестандартную кривую EC. воля сделайте ваш сайт недоступным для многих старых браузеров!