Ένας από τους κορυφαίους ιστότοπους της Alexa (κεντρικός κύκλος), με ασφάλεια μέσω HTTPS, με υποτομείς (γκρι) και εξαρτήσεις (λευκό), μεταξύ των οποίων υπάρχουν ευάλωτοι (διακεκομμένη σκίαση)
Σήμερα, το εικονίδιο ασφαλούς σύνδεσης HTTPS έχει γίνει τυπικό και ακόμη απαραίτητο χαρακτηριστικό οποιουδήποτε σοβαρού ιστότοπου. Αν
Αλλά αποδεικνύεται ότι η παρουσία μιας "κλειδαριάς" στη γραμμή διευθύνσεων δεν εγγυάται πάντα προστασία.
Αποτελέσματα της μελέτης
Η μελέτη διεξήχθη από ειδικούς από το Πανεπιστήμιο της Βενετίας Ca' Foscari (Ιταλία) και το Τεχνικό Πανεπιστήμιο της Βιέννης. Θα παρουσιάσουν μια λεπτομερή έκθεση στο 40ο Συμπόσιο IEEE για την Ασφάλεια και την Προστασία Προσωπικών Δεδομένων, που θα πραγματοποιηθεί 20-22 Μαΐου 2019 στο Σαν Φρανσίσκο.
Οι κορυφαίοι 10 ιστότοποι HTTPS της λίστας Alexa και οι 000 σχετικοί κεντρικοί υπολογιστές δοκιμάστηκαν. Ευάλωτες κρυπτογραφικές διαμορφώσεις εντοπίστηκαν σε 90 κεντρικούς υπολογιστές, δηλαδή περίπου το 816% του συνόλου:
- 4818 ευάλωτο στο MITM
- 733 είναι ευάλωτα σε πλήρη αποκρυπτογράφηση TLS
- 912 είναι ευάλωτα σε μερική αποκρυπτογράφηση TLS
898 ιστότοποι είναι εντελώς ανοιχτοί στο hacking, δηλαδή επιτρέπουν την εισαγωγή ξένων σεναρίων και 977 ιστότοποι φορτώνουν περιεχόμενο από ελάχιστα προστατευμένες σελίδες με τις οποίες μπορεί να αλληλεπιδράσει ένας εισβολέας.
Οι ερευνητές τονίζουν ότι μεταξύ των 898 «εντελώς παραβιασμένων» πόρων είναι τα ηλεκτρονικά καταστήματα, οι χρηματοοικονομικές υπηρεσίες και άλλοι μεγάλοι ιστότοποι. 660 από τους 898 ιστότοπους κατεβάζουν εξωτερικά σενάρια από ευάλωτους κεντρικούς υπολογιστές: αυτή είναι η κύρια πηγή κινδύνου. Σύμφωνα με τους συγγραφείς, η πολυπλοκότητα των σύγχρονων διαδικτυακών εφαρμογών αυξάνει σημαντικά την επιφάνεια επίθεσης.
Βρέθηκαν επίσης και άλλα προβλήματα: το 10% των φορμών εξουσιοδότησης έχουν προβλήματα με την ασφαλή μετάδοση πληροφοριών, η οποία απειλεί να διαρρεύσει κωδικούς πρόσβασης, 412 ιστότοποι επιτρέπουν την υποκλοπή cookies και την παραβίαση περιόδων σύνδεσης και 543 ιστότοποι υπόκεινται σε επιθέσεις στην ακεραιότητα των cookie (μέσω υποτομέων) .
Το πρόβλημα είναι ότι τα τελευταία χρόνια στα πρωτόκολλα και το λογισμικό SSL/TLS
Προτεινόμενες ρυθμίσεις
Δεν υπάρχει κανένας επίσημα εγκεκριμένος και συμφωνημένος κατάλογος προτεινόμενων ρυθμίσεων HTTPS. Ετσι,
Σύγχρονη λειτουργία
Παλαιότεροι υποστηριζόμενοι πελάτες: Firefox 27, Chrome 30, IE 11 σε Windows 7, Edge, Opera 17, Safari 9, Android 5.0 και 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>;
....
}
Μεσαία υποστήριξη
Παλαιότεροι υποστηριζόμενοι πελάτες: 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>;
....
}
Παλιά υποστήριξη
Παλαιότεροι υποστηριζόμενοι πελάτες: 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>;
....
}
Συνιστάται να χρησιμοποιείτε πάντα την πλήρη σειρά κρυπτογράφησης και την πιο πρόσφατη έκδοση του OpenSSL. Η σουίτα κρυπτογράφησης στις ρυθμίσεις διακομιστή καθορίζει την προτεραιότητα στην οποία θα χρησιμοποιηθούν, ανάλογα με τις ρυθμίσεις πελάτη.
Η έρευνα δείχνει ότι δεν αρκεί απλώς να εγκαταστήσετε ένα πιστοποιητικό HTTPS. "Ενώ δεν χειριζόμαστε τα cookies όπως κάναμε το 2005 και το "αξιοπρεπές TLS" έχει γίνει συνηθισμένο, αποδεικνύεται ότι αυτά τα βασικά πράγματα δεν αρκούν για να εξασφαλίσουν έναν εκπληκτικά μεγάλο αριθμό πολύ δημοφιλών τοποθεσιών."
Πηγή: www.habr.com