Služba za stranke Zaraèunavanje:

ponedeljek–petek:
9:00 - 18:00 srednjeevropski èas (CET)

Tehnièna podpora:

ponedeljek–petek:
9:00 - 18:00 srednjeevropski èas (CET)

Sistem za naroèanje/izdajanje potrdila:

24/7

Novice

SSL je prejel šibek efemerni Diffie-Hellmanov ključ: kako rešiti to težavo

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

V nekaterih primerih, na primer ko potrdilo SSL ni pravilno nameščeno v strežniku, se v brskalniku prikaže naslednje opozorilno sporočilo: Pri vzpostavljanju povezave s spletnim mestom www.spletno-mesto.com je prišlo do napake. SSL je prejel šibek efemerni Diffie-Hellmanov ključ v sporočilu za izmenjavo ključev »Exchange keys server«. (Koda napake: ssl_error_weak_server_ephemeral_dh_key).

  • Strani, ki jo poskušate odpreti, ni mogoče prikazati, ker ni bilo mogoče preveriti pristnosti prejetih podatkov.
  • Obrnite se na lastnike spletnih strani in jih obvestite o tej težavi.

Razlog za to težavo je, da strežnik poskuša vzpostaviti varno povezavo z uporabo šibkega šifrirnega ključa (manj kot 1024 bitov). Priporočena velikost šifrirnega ključa je 2048 bitov. Takšen izboljšan šifrirni ključ najlažje ustvarite z uporabo OpenSSL:

Openssl dhparam -out dhparams.pem 2048

Če želite rešiti težavo z različnimi strežniki, uporabite ta postopek:

  1. Določite varne nabore šifer
  2. Določite ustrezne parametre za Diffie-Hellmanov algoritem

Rešitev za Apache:

Parametri SSL so lahko globalno opredeljeni v datoteki httpd.conf ali v določenih virtualnih gostiteljih.

Nabori šifer

Onemogočite podporo SSLv2 in SSLv3 ter omogočite podporo TLS z izrecno odobritvijo/izključitvijo določenih šifer v določenem vrstnem redu:

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-Hellmanovi parametri:

V zadnjih različicah strežnika Apache (2.4.8 in novejših) ter OpenSSL 1.0.2 in novejših lahko neposredno določite datoteko z Diffie-Hellmanovi parametri:

SSLOpenSSLConfCmd DHParameters "{pot do dhparams.pem}"

Če uporabljate Apache z LibreSSL ali delate z različicami Apache 2.4.7 ali OpenSSL 0.9.8a ali novejšimi, lahko prej ustvarjene Diffie-Hellmanove parametre dodate na konec datoteke potrdila.

Izvedite ponastavitev konfiguracije:

Sudo service apache2 reload

Rešitev za Nginx

V blok strežnika v konfiguraciji spletnega mesta (/etc/nginx/sites-enabled/default) dodajte naslednje:

Nabori šifer:

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-Hellmanovi parametri

Ssl_dhparam {po do dhparams.pem}

Ponovno naložite konfiguracijo:

Sudo nginx -s reload

Microsoft IIS

1. Odprite Group Policy Object Editor (v ukazni vrstici zaženite gpedit.msc).

2. Pojdite v Computer Configuration, Administrative Templates, Network in kliknite SSL Configuration Settings.

3. V razdelku SSL Configuration Settings odprite parameter SSL Cipher Suite Order.

4. Nastavite stabilne šifre. Seznam šifer si lahko ogledate na Microsoftovem spletnem mestu ali na strani Mozilla.

Lighttpd

Spremembe opravite v datoteki /etc/lighttpd/lighttpd.conf.

Nabori šifer:

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-Hellmanovi parametri

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

Ponastavitev konfiguracije:

Sudo service lighttpd restart

Apache Tomcat

V datoteki server.xml (za JSSE)

Nabori šifer:

<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"

/>

Opomba: Če želite uporabljati 256-bitne šifre AES, morate namestiti datoteke JCE Unlimited Strength Jurisdiction Policy Files. Najdete jih na naslednji povezavi.

Postfix SMTP

Oba parametra je treba navesti v datoteki /etc/postfix/main.cf.

Nabori šifer:

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-Hellmanovi parametri

smtpd_tls_dh1024_param_file = ${config_directory}/dhparams.pem

Ponastavitev konfiguracije:

sudo postfix reload

Sendmail

Spremembe lahko izvedete v razdelku LOCAL_CONFIG datoteke /etc/mail/sendmail.mc.

Nabori šifer:

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-Hellmanovi parametri

O DHParameters={pot do dhparams.pem}

Ponastavitev konfiguracije:

sudo service sendmail restart

Dovecot

Spremembe lahko vnesete v datoteko /etc/dovecot.conf

Nabori šifer:

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 ali novejši)

Diffie-Hellmanovi parametri:

#regenerates every week

ssl_dh_parameters_length = 2048

Ponastavitev konfiguracije:

sudo doveadm reload

HAProxy

Spremembe opravite v globalnem razdeku konfiguracije.

Nabori šifer:

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-Hellmanovi parametri:

Dodajte na dno datoteke .crt z Diffie-Hellmanovim parametrom, ustvarjene z OpenSSL.

Opomba: Kljub možnosti »tune.ssl.default-dh-param«, ki vam omogoča, da določite največjo velikost praštevil, uporabljenih za DHE, bo namestitev poljubnih parametrov v datoteko potrdila te vrednosti prepisala.

Ponastavitev konfiguracije:

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

Amazon Elastic Load Balancing

Zadnji nabor vnaprej določenih parametrov SSL (2015-05) uporablja šifre ECDHE (ne DHE), ki so odporne na napad LogJam.  Podrobnosti so na voljo v dokumentaciji.

OpenSSH

Protokol SSH je zaščiten pred napadi LogJam, ko lahko napadalec preklopi povezavo na šibkejšo kriptografijo. Vendar številne izvedbe SSH, vključno z OpenSSH, uporabljajo praštevila, na primer 1024-bitno Oakleyjevo skupino 2. Obstaja več načinov za rešitev te težave. Prvi in najpreprostejši način je, da stranke prepričamo, da uporabljajo Diffie-Hellmanov algoritem na eliptičnih krivuljah, zlasti krivuljo 25519. To lahko storite tako, da nastavite algoritme za izmenjavo ključev:

KexAlgorithms curve25519-sha256@libssh.org

Če želite še naprej podpirati neeliptični Diffie-Hellmanov algoritem, morate onemogočiti podporo za skupino 1 tako, da odstranite diffie-hellman-group1-sha1. Pustite lahko diffie-hellman-group14-sha1, ki uporablja 2038-bitna praštevila.

Ustvarite lahko tudi nove Diffie-Hellmanove skupine:

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

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

Moduli-2048 morate nato namestiti v sistemsko datoteko moduli. V sistemu Debian/Ubuntu se nahaja v mapi /etc/ssh/moduli. SSH (naključno) izbere skupine iz te datoteke, zato morate v datoteko moduli dodati nove ustvarjene skupine in odstraniti stare.

Če imate kakršna koli nadaljnja vprašanja ali pomisleke, se obrnite na ekipo za podporo LeaderTelecom s podatki za stik, ki so navedeni na spletnem mestu.


Ste pripravljeni za preizkus?


Da! Želim brezplačen preizkus!

Imate vprašanja?
Pokličite nas na +31 20 7640722