SSL lags

Sergey Komarov skom на skom.ru
Ср Ноя 28 20:31:31 UTC 2018


Здравствуйте,
Простите за, возможно, глупый вопрос.
Правильно ли я понимаю, что для выключения ДХ в nginx необходимо только 
выключить ssl_dhparams?
Или же, нужно в ssl_ciphers выпилить все ECDHE и DHE?

Best Regards
Sergey Komarov

28.11.2018 20:06, Maxim Dounin пишет:
> Hello!
>
> On Wed, Nov 28, 2018 at 06:20:12PM +0200, Vladimir Getmanshchuk wrote:
>
>> Странная ситуация с SSL - жуткий лаг на отдаче:
>>
>>
>> # curl -w "time_connect: %{time_connect}\ntime_total: %{time_total}\n" -X
>> GET -s -q http://1.1.1.1/google663dfea033864f54.html -o /dev/null
>>
>> time_connect: 0.000
>>
>> time_total: 0.001
>>
>>
>> # curl -w "time_connect: %{time_connect}\ntime_total: %{time_total}\n" -X
>> GET -s -q https://1.1.1.1/google663dfea033864f54.html --insecure -o
>> /dev/null
>>
>> time_connect: 0.000
>>
>> time_total: *0.106*
> В SSL есть операция SSL handshake, и в зависимости от используемых
> шифров и сертификатов - она может занимать как просто много
> времени, так и очень много времени.  (Ну и поскольку curl между
> запусками не может сохранять ранее установленную сессию - каждый
> запуск будет требовать полного handshake'а.)
>
> В частности, если вдруг используется обмен ключами с помощью
> алгоритма Диффи-Хеллмана - будет тормозить.  Особенно если задать
> параметры где-нибудь на 4096 бит.  Смотрите внимательно, что
> именно за шифры у вас используются, и если DHE - то что именно у
> вас лежит в ssl_dhparam.  Ну или просто уберите ssl_dhparam из
> конфига - по умолчанию nginx просто не будет использовать DHE.
>
> Кроме того, будет тормозить, если используются RSA-сертификаты
> больше 2048 бит.  Смотрите, что за сертификат используется.
> RSA-сертификаты на 4096 бит - зачастую по умолчанию прилетают из
> модных и молодёжных инструментов получения сертификатов от
> LetsEncrypt, но малопригодны для работы web-сервера.
>



Подробная информация о списке рассылки nginx-ru