HTTPS ba koyaushe yake da tsaro kamar yadda ake gani ba. An sami raunin rauni a cikin 5,5% na shafukan HTTPS

HTTPS ba koyaushe yake da tsaro kamar yadda ake gani ba. An sami raunin rauni a cikin 5,5% na shafukan HTTPS
Ɗaya daga cikin manyan rukunin yanar gizo na Alexa (da'irar tsakiya), amintaccen ta HTTPS, tare da yanki (launin toka) da abin dogaro (fararen fata), daga cikinsu akwai masu rauni (shading ɗin da aka lalata)

A zamanin yau, amintaccen alamar haɗin HTTPS ya zama madaidaici har ma da sifa mai mahimmanci na kowane rukunin yanar gizo mai mahimmanci. Idan da takardar shaidar bace, kusan duk kwanan nan browsers nuna gargadi cewa haɗin yanar gizon "ba shi da tsaro" kuma kar a ba da shawarar canja wurin bayanan sirri zuwa gare shi.

Amma ya bayyana cewa kasancewar "kulle" a cikin adireshin adireshin ba koyaushe yana ba da garantin kariya ba. Duba manyan shafuka 10 daga kimantawa, Alexa ya nuna cewa da yawa daga cikinsu suna fuskantar matsanancin rauni a cikin ka'idodin SSL / TLS, yawanci ta hanyar yanki ko dogaro. A cewar mawallafin binciken, sarƙaƙƙiyar aikace-aikacen yanar gizo na zamani yana ƙara haɓakar harin.

Sakamakon bincike

Masana daga Jami'ar Venice Ca' Foscari (Italiya) da Jami'ar Fasaha ta Vienna ne suka gudanar da binciken. Za su gabatar da cikakken rahoto a taron IEEE na 40th akan Tsaro da Sirri, wanda za a gudanar da Mayu 20-22, 2019 a San Francisco.

An gwada manyan rukunin yanar gizo na HTTPS 10 Alexa da 000 masu alaƙa. An gano ƙayyadaddun ƙayyadaddun ƙayyadaddun bayanan sirri akan runduna 90, wato, kusan 816% na jimlar:

  • 4818 mai rauni ga MITM
  • 733 suna da rauni ga cikakken lalata TLS
  • 912 suna da rauni ga ɓangarori na TLS na ɓangare

Shafukan 898 ne gaba daya a bude don shiga ba tare da izini ba, wato, suna ba da damar allurar rubutun wasu, kuma shafuka 977 suna loda abubuwan da ke cikin shafukan da ba su da kyau, wanda maharin zai iya mu'amala da su.

Masu binciken sun jaddada cewa daga cikin albarkatun 898 "cikakke" akwai shagunan kan layi, sabis na kudi da sauran manyan shafuka. 660 daga cikin shafuka 898 suna zazzage rubutun waje daga runduna masu rauni: wannan shine babban tushen haɗari. A cewar marubutan, sarƙaƙƙiyar aikace-aikacen gidan yanar gizo na zamani yana ƙara haɓakar harin.

Hakanan an sami wasu matsalolin: 10% na fom ɗin izini suna da matsala tare da amintaccen watsa bayanai, waɗanda ke barazanar ɓoye kalmomin shiga, rukunin yanar gizo 412 suna ba da izinin kutse kukis da satar zaman taro, kuma rukunin yanar gizo 543 suna fuskantar hare-hare kan amincin kuki (ta hanyar subdomains). .

Matsalar ita ce a cikin 'yan shekarun nan a cikin ka'idodin SSL / TLS da software gano yawan lahani: POODLE (CVE-2014-3566), BEAST (CVE-2011-3389), CRIME (CVE-2012-4929), BREACH (CVE-2013-3587), da Zuciya (CVE-2014-0160). Don kare kansu, ana buƙatar adadin saitunan akan uwar garken da gefen abokin ciniki don guje wa amfani da tsofaffin nau'ikan marasa rauni. Amma wannan hanya ce da ba ta da mahimmanci, domin irin waɗannan saitunan sun haɗa da zaɓi daga babban saiti na ciphers da ladabi, waɗanda ke da wahalar fahimta. Ba ko da yaushe ba a bayyana waɗanne ɗakunan ciphers da ka'idoji da ake la'akari da su “masu isashen aminci”.

Saitunan da aka ba da shawarar

Babu wanda aka amince da shi bisa hukuma kuma aka yarda akan jerin shawarwarin saitunan HTTPS. Don haka, Mozilla SSL Kanfigareshan Generator yana ba da zaɓuɓɓukan sanyi da yawa, dangane da matakin kariya da ake buƙata. Misali, anan akwai shawarwarin saituna don sabar nginx 1.14.0:

Yanayin zamani

Tsofaffin abokan ciniki: Firefox 27, Chrome 30, IE 11 akan Windows 7, Edge, Opera 17, Safari 9, Android 5.0, da Java 8

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;


# modern configuration. tweak to your needs.
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Matsakaicin tallafi

Tsofaffin abokan ciniki: Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1, Windows XP IE8, Android 2.3, Java 7

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Tsohon goyon baya

Tsofaffin abokan ciniki: Windows XP IE6, Java 6

server {
listen 80 default_server;
listen [::]:80 default_server;

# Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://$host$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;

# old configuration. tweak to your needs.
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305: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:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP';
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling ---
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

....
}

Ana ba da shawarar cewa koyaushe ku yi amfani da cikakken cipher suite da sabuwar sigar OpenSSL. Rukunin cipher ɗin a cikin saitunan uwar garken yana ƙayyadaddun fifikon da za a yi amfani da su, ya danganta da saitunan abokin ciniki.

Bincike ya nuna cewa bai isa kawai shigar da takardar shaidar HTTPS ba. "Duk da yake ba ma sarrafa kukis kamar yadda muka yi a 2005, kuma 'TLS mai kyau' ya zama ruwan dare gama gari, ya zamana cewa waɗannan mahimman abubuwan ba su isa su amintar da ɗimbin shahararrun shafuka masu ban mamaki ba." ka ce marubutan aikin. Don amintaccen kare tashar tsakanin uwar garken da abokin ciniki, kuna buƙatar kula da kayan aikin a hankali daga naku yanki da runduna na ɓangare na uku waɗanda aka isar da abun ciki na rukunin yanar gizon. Wataƙila yana da ma'ana don ba da odar tantancewa daga wasu kamfanoni na ɓangare na uku waɗanda suka ƙware kan tsaro na bayanai.

HTTPS ba koyaushe yake da tsaro kamar yadda ake gani ba. An sami raunin rauni a cikin 5,5% na shafukan HTTPS

source: www.habr.com