Ошибка установления связи SSL при использовании набора шифров TLSv1.3 на ApacheBench (ab)

Я пытался использовать Apache Bench (ab) на моем локальном сервере, который работает HTTP-сервер Apache с включенным модулем ssl , использующий TLS1.3 в качестве протокола для связи, но каждый раз, когда я пытаюсь его использовать, я на моем терминале командной строки появляется сообщение об ошибке установления связи SSL .

Я просто установил apache2 на свой локальный компьютер (работающий под управлением Zorin OS 15.2) и внес некоторые изменения в файле ssl.conf , в котором я указал протоколы SSL для использования:

SSLProtocol -all +TLSv1.2 +TLSv1.3

и в файле конфигурации сайта для активации механизма SSL укажите все файлы сертификатов, присвоение имени сервера и т. д.

После того, как все это сделано, я просто запускаю команду ab для тестирования, и если я запускаю команду следующим образом:

ab -n 100 -c 10 https://myhostname/

Все работает нормально, но если я попытаюсь указать протокол TLS1.3, использующий один шифр, который используется для TLS1.3, дает следующее сообщение об ошибке:

ab -n 1000 -c 50 -Z TLS_AES_256_GCM_SHA384 https://myhostname:443/
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking hostname (be patient)
SSL handshake failed (1).
139632751683456:error:141A90B5:SSL routines:ssl_cipher_list_to_bytes:no ciphers available:../ssl/statem/statem_clnt.c:3786:No ciphers enabled for max supported SSL/TLS version

Что мне странно, если я запускаю ту же команду, используя некоторые шифры, поддерживаемые TLS1.2, все работает нормально, но если я использую какие-либо шифры, поддерживаемые TLS1.3, я получаю эту ошибку.

Я даже пытался выполнить простое подключение, используя openssl s_client с опцией - tls1_3 для подключения к моему сервер, использующий TLS1.3 в качестве протокола, и соединение работает нормально.

Вот список программного обеспечения, которое я использую:

  • HTTP-сервер Apache (версия 2.4.29)
  • ApacheBench (версия 2.3)
  • OpenSSL (версия 1.1.1)

Я просто хочу запустить ту же команду, но с использованием шифров, поддерживаемых протоколом TLS1.3.

0
задан 15 July 2020 в 20:44
1 ответ

Документация для ab – инструмент для тестирования HTTP-серверов Apache содержит:

-f протокол

Укажите протокол SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 или ВСЕ). Поддержка TLS1.1 и TLS1.2 доступна в версиях 2.4.4 и позже.

Это также упоминается в журнале изменений:

Изменения в Apache 2.4.4

  • ab: добавьте параметры TLS1.1/TLS1.2 в -f. ] и адаптируйте вывод для более точного отчета о согласованном протоколе. PR 53916. [Николас Пернас Марадей, Каспар Бранд]

Поскольку аналогичного упоминания о TLS 1.3 нет, можно предположить, что ab его еще не поддерживает (несмотря на то, что Apache 2.4 поддерживает TLS 1.3).

0
ответ дан 15 July 2020 в 18:52

Теги

Похожие вопросы