Обслужване на клиенти Фактуриране:

Понеделник — петък:
9:00 - 18:00 CET време

Техническа поддръжка:

Понеделник — петък:
9:00 - 18:00 CET време

Система за поръчки/издаване на сертификати:

24/7

Новини

SSL получи слаб ефимерен ключ на Diffie-Hellman: как да разрешите този проблем

SSL received a weak ephemeral Diffie Hellman key  how to solve this problem

В някои случаи, като например когато SSL сертификатът не е инсталиран правилно на сървъра, в браузъра ще се появи следното предупредително съобщение: an error has occurred while connecting to www.site.com (възникна грешка при свързване към www.site.com). SSL получи слаб ефимерен ключ на Diffie-Hellman в съобщението на ръкостискане "Exchange keys server.” (Сървър за обмен на ключове). (Код на грешка: ssl_error_weak_server_ephemeral_dh_key).

  • Страницата, която се опитвате да отворите, не може да бъде показана, тъй като автентичността на получените данни не може да бъде потвърдена.
  • Моля, свържете се със собствениците на уебсайта, за да докладвате този проблем.

Причината зад този проблем е, че сървърът се опитва да установи защитена връзка с помощта на слаб шифроващ ключ (по-малко от 1024 бита). Препоръчителният размер на шифроващия ключ е 2048 бита. Най-лесният начин да генерирате този вид подобрен шифроващ ключ е да използвате OpenSSL:

Openssl dhparam -out dhparams.pem 2048

За да разрешите проблема при различни сървъри, трябва да извършите следните стъпки:

  1. Посочете защитени набори от шифри
  2. Определете подходящите параметри за алгоритъма Diffie-Hellman

Решение за Apache:

Параметрите на SSL могат да бъдат глобално дефинирани във файла httpd.conf или в специфични виртуални хостове.

Набори от шифри

Деактивирайте поддръжката на SSLv2 и SSLv3 и активирайте поддръжката на TLS, като изрично разрешите/деактивирате определени шифри в посочената последователност:

SSLProtocol all -SSLv2 -SSLv3

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

SSLHonorCipherOrder   on

Параметри на Diffie-Hellman:

В последни версии на Apache (2.4.8 и по-нови версии), както и OpenSSL 1.0.2 и по-нови версии, вие можете директно да посочите файл с параметри на Diffie-Hellman:

SSLOpenSSLConfCmd DHParameters "{path to dhparams.pem}"

Ако използвате Apache с LibreSSL или ако работите с версии на Apache 2.4.7 или OpenSSL 0.9.8a, или по-нови версии, можете да добавите параметрите на Diffie-Hellman, генерирани по-рано, към края на вашия файл на сертификат.

Извършете нулиране на конфигурацията:

Sudo service apache2 reload

Решението за Nginx

В блока на сървъра в конфигурацията на сайта (/etc/nginx/sites-enabled/default), добавете следното:

Набори от шифри:

ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';

ssl_prefer_server_ciphers on;

Параметри на Diffie-Hellman:

Ssl_dhparam {path to dhparams.pem}

Презареждане на конфигурация:

Sudo nginx -s reload

Microsoft IIS

1. Отворете Group Policy Object Editor (Редактор на обекти на групова политика) (изпълнете gpedit.msc в командния ред).

2. Отидете на Computer Configuration (Конфигурация на компютър), Administrative Templates (Административни шаблони), Network (Мрежа), след което щракнете върху SSL Configuration Settings (Настройки на конфигурация на SSL).

3. В раздела SSL Configuration Settings (Настройки на конфигурация на SSL),отворете параметъра SSL Cipher Suite Order (Ред на пакет с шифри за SSL)

4. Задайте стабилни шифри. Можете да прегледате списъка с шифри на уебсайта на Microsoft или на страницата на Mozilla.

Lighttpd

Извършени са промени в /etc/lighttpd/lighttpd.conf.

Набори от шифри:

ssl.cipher-list = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA "

Параметри на Diffie-Hellman:

Ssl.dh-file = “{path to dhparams.pem}"

Нулиране на конфигурация:

Sudo service lighttpd restart

Apache Tomcat

Във файла server.xml (за JSSE)

Набори от шифри:

<Connector

ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_SHA,TLS_ECDHE_RSA_WITH_AES_256_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_SHA384,TLS_ECDHE_RSA_WITH_AES_256_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_128_SHA,TLS_DHE_DSS_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_256_SHA256,TLS_DHE_DSS_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_256_SHA"

/>

Забележка: За да използвате шифрите AES 256 бита, вие трябва да инсталирате JCE файлове с правила за юрисдикция с неограничена сила. Можете да ги намерите на следната връзка.

Postfix SMTP

И двата параметъра трябва да бъдат посочени в /etc/postfix/main.cf.

Набори от шифри:

smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA, KRB5-DES, CBC3-SHA

Параметри на Diffie-Hellman:

smtpd_tls_dh1024_param_file = ${config_directory}/dhparams.pem

Нулиране на конфигурация:

sudo postfix reload

Sendmail

Промените могат да бъдат извършени в раздела LOCAL_CONFIG на файла /etc/mail/sendmail.mc

Набори от шифри:

O CipherList=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Параметри на Diffie-Hellman:

O DHParameters={path to dhparams.pem}

Нулиране на конфигурация:

sudo service sendmail restart

Dovecot

Промените могат да бъдат извършени в /etc/dovecot.conf

Набори от шифри:

ssl_cipher_list=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

ssl_prefer_server_ciphers = yes (Dovecot 2.2.6 или по-нова версия)

Параметри на Diffie-Hellman:

#генерират се повторно всяка седмица

ssl_dh_parameters_length = 2048

Нулиране на конфигурация:

sudo doveadm reload

HAProxy

Промените са извършени в глобалния раздел на конфигурацията.

Набори от шифри:

ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

Параметри на Diffie-Hellman:

Добавете най-отдолу на .crt файла с параметъра на Diffie-Hellman, генериран с OpenSSL.

Забележка: въпреки опцията tune.ssl.default-dh-param, която ви позволява да посочите максималния размер на прости числа, използвани за DHE, поставянето на произволни параметри във файла на вашия сертификат ще доведе до презаписване на тези стойности.

Нулиране на конфигурация:

sudo haproxy -f haproxy.cfg -p $(</var/run/haproxy-private.pid) -st $(</var/run/haproxy-private.pid)

Amazon Elastic Load Balancing

Последният набор от предварително дефинирани SSL параметри (2015-05) използва шифри ECDHE, и не DHE, които са устойчиви на LogJam атака. Подробности можете да намерите в документацията.

OpenSSH

Протоколът SSH е защитен от LogJam атаки, когато нападател може да превключи връзка към по-слаба криптография. Въпреки това, много реализации на SSH, включително OpenSSH, използват прости числа, например 1024-битова Oakley група 2. Въпреки това, има няколко начина, по които можете да разрешите този проблем. Първият и най-лесният метод е да помолите клиентите да използват алгоритъма на Diffie-Hellman върху елиптични криви. По-специално кривата 25519. Можете да направите това, като зададете алгоритми на обмен на ключове:

KexAlgorithms curve25519-sha256@libssh.org

Ако желаете да продължите поддръжката на неелиптичния алгоритъм на Diffie-Hellman, вие трябва да деактивирате поддръжката на група 1, като премахнете diffie-hellman-group1-sha1. Можете да оставите diffie-hellman-group14-sha1, който използва 2038-битови прости числа.

Можете също да генерирате нови групи на Diffie-Hellman:

ssh-keygen -G moduli-2048.candidates -b 2048

ssh-keygen -T moduli-2048 -f moduli-2048.candidates

След това ще трябва да инсталирате moduli-2048 в moduli файла на вашата система. В Debian / Ubuntu се намира в /etc/ssh/moduli. SSH избира (произволно) групите от този файл, така че трябва да добавите новите генерирани групи към moduli файла, като премахнете старите.

Ако имате допълнителни въпроси или притеснения, моля, не се колебайте да се свържете с екипа за поддръжка на LeaderTelecom, като използвате информацията за контакт, предоставена на уебсайта.


Готови ли сте да изпробвате?


Да! Да го направим безплатно!

Имате въпроси? Обадете ни се сега +31 20 7640722