Alexa'nın en iyi sitelerinden biri (ortadaki daire), HTTPS tarafından korunan, alt alan adları (gri) ve bağımlılıkları (beyaz) olan ve aralarında savunmasız olanların da bulunduğu (kesikli gölgeleme)
Günümüzde HTTPS güvenli bağlantı simgesi, herhangi bir ciddi sitenin standardı ve hatta gerekli bir özelliği haline geldi. Eğer
Ancak adres çubuğunda bir "kilit" bulunmasının her zaman korumayı garanti etmediği ortaya çıktı.
Araştırma sonuçları
Çalışma, Venedik Üniversitesi Ca' Foscari (İtalya) ve Viyana Teknik Üniversitesi'nden uzmanlar tarafından yürütülmüştür. 40-20 Mayıs 22 tarihlerinde San Francisco'da yapılacak olan 2019. IEEE Güvenlik ve Gizlilik Sempozyumunda detaylı bir rapor sunacaklar.
En iyi 10 Alexa listesi HTTPS sitesi ve 000 ilgili ana bilgisayar test edildi. 90 ana bilgisayarda, yani toplamın yaklaşık %816'inde güvenlik açığı bulunan kriptografik yapılandırmalar tespit edildi:
- 4818 MITM'ye karşı savunmasız
- 733, tam TLS şifre çözmeye karşı savunmasızdır
- 912, kısmi TLS şifre çözmeye karşı savunmasızdır
898 site bilgisayar korsanlığına tamamen açıktır, yani yabancı komut dosyalarının eklenmesine izin verir ve 977 site, bir saldırganın etkileşim kurabileceği, kötü korunan sayfalardan içerik yükler.
Araştırmacılar, "tamamen ele geçirilmiş" 898 kaynak arasında çevrimiçi mağazalar, finansal hizmetler ve diğer büyük sitelerin bulunduğunu vurguluyor. 660 siteden 898'ı savunmasız ana bilgisayarlardan harici komut dosyaları indirir: bu, ana tehlike kaynağıdır. Yazarlara göre, modern web uygulamalarının karmaşıklığı saldırı yüzeyini büyük ölçüde artırıyor.
Diğer sorunlar da bulundu: Yetkilendirme formlarının %10'unda bilgilerin güvenli iletimiyle ilgili sorunlar var, bu da şifreleri sızdırma tehdidi oluşturuyor, 412 site çerezlerin ele geçirilmesine ve oturumun ele geçirilmesine izin veriyor ve 543 site çerez bütünlüğüne yönelik saldırılara maruz kalıyor (alt alan adları aracılığıyla) .
Sorun şu ki, son yıllarda SSL / TLS protokolleri ve yazılımları
Önerilen ayarlar
Önerilen HTTPS ayarları listesi üzerinde resmi olarak onaylanmış ve üzerinde anlaşmaya varılmış kimse yoktur. Bu yüzden,
Modern mod
Desteklenen en eski istemciler: Windows 27, Edge, Opera 30, Safari 11, Android 7 ve Java 17 üzerinde Firefox 9, Chrome 5.0, IE 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>;
....
}
Orta destek
Desteklenen en eski istemciler: 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>;
....
}
Eski Destek
Desteklenen en eski istemciler: 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>;
....
}
Her zaman tam şifre paketini ve OpenSSL'nin en son sürümünü kullanmanız önerilir. Sunucu ayarlarındaki şifre takımı, istemci ayarlarına bağlı olarak kullanılacakları önceliği belirtir.
Araştırmalar, yalnızca bir HTTPS sertifikası kurmanın yeterli olmadığını gösteriyor. "Çerezlerle 2005'teki gibi ilgilenmesek ve 'düzgün TLS' olağan hale gelse de, bu temel şeylerin şaşırtıcı derecede çok sayıda çok popüler siteyi güvence altına almak için yeterli olmadığı ortaya çıktı."
Kaynak: habr.com