Εισαγωγή στο HSTS
Το HSTS σημαίνει HTTP Strict-Transport-Security, το οποίο είναι ένας μηχανισμός πολιτικής ασφάλειας ιστού. Το HSTS συμπεριλήφθηκε για πρώτη φορά στο ραντάρ τεχνολογίας ThoughtWorks το 2015 και στο τελευταίο τεύχος του Technology Radar το 2016, πέρασε απευθείας από το στάδιο "Δοκιμή" στη φάση "Υιοθέτηση", πράγμα που σημαίνει ότι η ThoughtWorks υποστηρίζει σθεναρά την ενεργό υιοθέτηση αυτού του μέτρου άμυνας ασφαλείας από τη βιομηχανία και η ThoughtWorks το έχει εφαρμόσει στα δικά της έργα. Ο πυρήνας του HSTS είναι μια κεφαλίδα απόκρισης HTTP. Είναι αυτό που ενημερώνει το πρόγραμμα περιήγησης ότι το τρέχον όνομα τομέα είναι προσβάσιμο μόνο μέσω HTTPS για το επόμενο χρονικό διάστημα και εάν το πρόγραμμα περιήγησης διαπιστώσει ότι η τρέχουσα σύνδεση δεν είναι ασφαλής, θα αρνηθεί αναγκαστικά τα επόμενα αιτήματα πρόσβασης του χρήστη.
Ένας ιστότοπος με πολιτική HSTS θα διασφαλίσει ότι το πρόγραμμα περιήγησης είναι πάντα συνδεδεμένο με την κρυπτογραφημένη έκδοση HTTPS του ιστότοπου, εξαλείφοντας την ανάγκη των χρηστών να εισάγουν με μη αυτόματο τρόπο την κρυπτογραφημένη διεύθυνση στη γραμμή διευθύνσεων URL, μειώνοντας τον κίνδυνο παραβίασης περιόδου λειτουργίας.
Το HTTPS (SSL και TLS) διασφαλίζει ότι οι χρήστες και οι ιστότοποι επικοινωνούν με ασφάλεια, καθιστώντας δύσκολο για τους εισβολείς να υποκλέψουν, να τροποποιήσουν και να πλαστοπροσωπήσουν. Όταν ένας χρήστηςΜη αυτόματη εισαγωγή ονόματος τομέα ή συνδέσμου http://, του δικτυακού τόπουΤο πρώτο αίτημα δεν είναι κρυπτογραφημένο, χρησιμοποιώντας απλό http. Ωστόσο, οι πιο ασφαλείς ιστότοποι στέλνουν αμέσως μια ανακατεύθυνση που κατευθύνει τον χρήστη σε μια σύνδεση https,Ένας εισβολέας man-in-the-middle μπορεί να επιτεθεί για να υποκλέψει το αρχικό αίτημα HTTP και έτσι να ελέγξει την επακόλουθη απάντηση του χρήστη。
Αρχές HSTS
Το HSTS ελέγχει κυρίως τις λειτουργίες του προγράμματος περιήγησης στέλνοντας κεφαλίδες απόκρισης από τον διακομιστή: Όταν ένας πελάτης υποβάλλει μια αίτηση μέσω HTTPS, ο διακομιστής περιλαμβάνει το πεδίο Strict-Transport-Security στην κεφαλίδα απόκρισης HTTP που επιστρέφει. Αφού το πρόγραμμα περιήγησης λάβει αυτές τις πληροφορίες,Οποιοδήποτε αίτημα στον ιστότοπο εντός ορισμένης χρονικής περιόδου ξεκινά στο HTTPSχωρίς να ανακατευθύνονται στο HTTPS από τον διακομιστή που εκκινείται από το HTTP.
Μορφή κεφαλίδας απόκρισης HSTS
Περιγραφή παραμέτρου:
max-age (σε δευτερόλεπτα): Χρησιμοποιείται για να ενημερώσει το πρόγραμμα περιήγησης ότι πρέπει να γίνει πρόσβαση στον ιστότοπο μέσω του πρωτοκόλλου HTTPS εντός καθορισμένης χρονικής περιόδου. Δηλαδή, για τη διεύθυνση HTTP αυτού του ιστότοπου, το πρόγραμμα περιήγησης πρέπει να την αντικαταστήσει με HTTPS τοπικά πριν στείλει το αίτημα. includeSubDomains (προαιρετικό): Εάν καθοριστεί αυτή η παράμετρος, υποδεικνύει ότι πρέπει επίσης να είναι δυνατή η πρόσβαση σε όλους τους υποτομείς του ιστότοπου μέσω του πρωτοκόλλου HTTPS. προφόρτωση: Μια λίστα ονομάτων τομέα που χρησιμοποιούν HTTPS ενσωματωμένο στο πρόγραμμα περιήγησης.
Λίστα προφόρτωσης HSTS
Ενώ το HSTS είναι μια καλή λύση για επιθέσεις υποβάθμισης HTTPS, για το HSTSΤο πρώτο αίτημα HTTP πριν τεθεί σε ισχύ, ακόμαΔεν μπορεί να αποφευχθείΑεροπειρατεία。 Για την επίλυση αυτού του προβλήματος, οι κατασκευαστές προγραμμάτων περιήγησης έχουν προτείνει τη λύση HSTS Preload List. (παραλείπεται)
Ρύθμιση παραμέτρων IIS
Πριν από τη διαμόρφωση, επισκεφτείτε τον ιστότοπο όπως φαίνεται παρακάτω:
Για να το εφαρμόσετε αυτό στο IIS7+, απλώς προσθέστε την απαίτηση CustomHeader για HSTS στο web.config, η οποία έχει ρυθμιστεί ως εξής:
Μετά την τροποποίηση, επισκεφθείτε ξανά τον ιστότοπο, όπως φαίνεται παρακάτω:
Διαμόρφωση Nginx
Εάν ο ιστότοπος χρησιμοποιεί αντίστροφο διακομιστή μεσολάβησης nginx, μπορείτε επίσης να διαμορφώσετε απευθείας το nginx για να το εφαρμόσετε, ως εξής:
Κανόνες προβολής Chrome
Για να δείτε τους τρέχοντες κανόνες HSTS, χρησιμοποιήστε το Google Chrome chrome για να πληκτρολογήσετεchrome://net-internals/#hstsΕισαγάγετε το αυτοκίνητο, όπως φαίνεται στην παρακάτω εικόνα:
αναφορά
Αυστηρή ασφάλεια μεταφοράς HTTP:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
(Τέλος)
|