HTTPS Àr inte alltid sÄ sÀkert som det verkar. SÄrbarheter finns pÄ 5,5 % av HTTPS-webbplatserna

HTTPS Àr inte alltid sÄ sÀkert som det verkar. SÄrbarheter finns pÄ 5,5 % av HTTPS-webbplatserna
En av de bÀsta Alexa-sajterna (central cirkel), skyddad av HTTPS, med underdomÀner (grÄ) och beroenden (vita), bland vilka det finns sÄrbara (skuggade)

Nuförtiden har HTTPS-ikonen för sÀker anslutning blivit ett standard- och till och med nödvÀndigt attribut för alla seriösa webbplatser. Om certifikat saknas, nÀstan alla senaste webblÀsare visar en varning om att anslutningen till webbplatsen Àr "inte sÀker" och rekommenderar inte att du överför konfidentiell information till den.

Men det visar sig att nÀrvaron av ett "lÄs" i adressfÀltet inte alltid garanterar skydd. Kontrollerar 10 000 ledande sajter frÄn Alexa-rankingen visade: mÄnga av dem Àr utsatta för kritiska SSL/TLS-protokollsÄrbarheter, vanligtvis genom underdomÀner eller beroenden. Enligt studiens författare ökar komplexiteten hos moderna webbapplikationer attackytan kraftigt.

Forskningsresultat

Studien utfördes av specialister frĂ„n Ca' Foscari-universitetet i Venedig (Italien) och Wiens tekniska universitet. De kommer att presentera en detaljerad rapport vid det 40:e IEEE Symposium on Security and Privacy, som kommer att hĂ„llas 20−22 maj 2019 i San Francisco.

De 10 000 bÀsta HTTPS-sajterna pÄ Alexas lista och 90 816 associerade vÀrdar kontrollerades. SÄrbara kryptografiska konfigurationer identifierades pÄ 5574 vÀrdar, det vill sÀga ungefÀr 5,5 % av det totala:

  • 4818 sĂ„rbar för MITM
  • 733 sĂ„rbar för full TLS-dekryptering
  • 912 sĂ„rbar för partiell TLS-dekryptering

898 webbplatser Àr helt öppna för hackning, det vill sÀga de tillÄter injektion av tredjepartsskript, och 977 webbplatser laddar ner innehÄll frÄn svagt skyddade sidor som en angripare kan interagera med.

Forskare betonar att bland de 898 "helt komprometterade" resurserna finns onlinebutiker, finansiella tjÀnster och andra stora sajter. 660 av 898 sajter laddar ner externa skript frÄn sÄrbara vÀrdar: detta Àr den frÀmsta kÀllan till fara. Enligt författarna ökar komplexiteten hos moderna webbapplikationer attackytan kraftigt.

Andra problem upptÀcktes ocksÄ: 10 % av auktoriseringsformulÀren har problem med sÀker överföring av information, vilket hotar lösenordslÀckage, 412 webbplatser tillÄter avlyssning av cookies och "sessionskapning" och 543 webbplatser Àr mottagliga för attacker pÄ cookieintegritet (via underdomÀner) ).

Problemet Àr att de senaste Ären har SSL/TLS-protokoll och mjukvara ett antal sÄrbarheter har identifierats: PUDLE (CVE-2014-3566), BEAST (CVE-2011-3389), BROTT (CVE-2012-4929), BREACH (CVE-2013-3587) och Heartbleed (CVE-2014-0160). För att skydda mot dem krÀvs ett antal instÀllningar pÄ server- och klientsidan för att undvika anvÀndning av gamla sÄrbara versioner. Men detta Àr en ganska icke-trivial procedur, eftersom sÄdana instÀllningar innebÀr att man vÀljer frÄn en omfattande uppsÀttning chiffer och protokoll, som Àr ganska svÄra att förstÄ. Det Àr inte alltid klart vilka chiffersviter och protokoll som anses vara "tillrÀckligt sÀkra".

Rekommenderade instÀllningar

Det finns ingen officiellt godkÀnd och överenskommen lista över rekommenderade HTTPS-instÀllningar. SÄ, Mozilla SSL Configuration Generator erbjuder flera konfigurationsalternativ, beroende pÄ vilken skyddsnivÄ som krÀvs. Till exempel, hÀr Àr de rekommenderade instÀllningarna för nginx 1.14.0-servern:

Modernt lÀge

Äldsta klienter som stöds: Firefox 27, Chrome 30, IE 11 och senare Windows 7, Edge, Opera 17, Safari 9, Android 5.0 och 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>;

....
}

Genomsnittligt stöd

Äldsta klienter som stöds: 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>;

....
}

Gammalt stöd

Äldsta klienter som stöds: 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>;

....
}

Det rekommenderas att alltid anvÀnda hela chiffersviten och den senaste versionen av OpenSSL. UppsÀttningen av chiffer i serverinstÀllningarna anger i vilken prioritet de kommer att anvÀndas, beroende pÄ klientinstÀllningarna.

Forskning visar att det inte rĂ€cker att bara installera ett HTTPS-certifikat. "Även om vi inte hanterar cookies som vi gjorde 2005, och "anstĂ€ndig TLS" har blivit vanligt, visar det sig att dessa grundlĂ€ggande saker inte rĂ€cker för att sĂ€kra ett förvĂ„nansvĂ€rt stort antal mycket populĂ€ra webbplatser," de sĂ€ger författare till verket. För att pĂ„ ett tillförlitligt sĂ€tt skydda kanalen mellan servern och klienten mĂ„ste du noggrant övervaka infrastrukturen för dina egna underdomĂ€ner och tredjepartsvĂ€rdar frĂ„n vilka innehĂ„llet för webbplatsen levereras. Det kan vara vettigt att bestĂ€lla en revision frĂ„n nĂ„got tredjepartsföretag som Ă€r specialiserat pĂ„ informationssĂ€kerhet.

HTTPS Àr inte alltid sÄ sÀkert som det verkar. SÄrbarheter finns pÄ 5,5 % av HTTPS-webbplatserna

KĂ€lla: will.com

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster