Πώς να κάνετε το HTTPS το πρώτο αίτημα μέσω VPN
Η λειτουργία μόνο HTTPS, οι πραγματικοί σελιδοδείκτες HTTPS και το HSTS είναι τρεις διαφορετικές επιδιορθώσεις. Εκτελέστε τα με τη σειρά, ώστε το πρώτο αίτημα να κρυπτογραφηθεί και όχι να ανακατευθυνθεί.
Ένα πρόγραμμα περιήγησης που πληκτρολογεί http:// πρώτα και προσγειώνεται στο https:// μετά από μια ανακατεύθυνση έχει ήδη στείλει ένα αίτημα στο σαφές και ένα VPN δεν το αλλάζει αυτό. Η σήραγγα προστατεύει το πόδι από τον πελάτη στον κόμβο εξόδου· δεν κρυπτογραφεί τίποτα πάνω από το επίπεδο μεταφοράς, επομένως ένας παρατηρητής μεταξύ της εξόδου και της αρχής εξακολουθεί να βλέπει το hop απλού κειμένου. Το να κάνετε το HTTPS το πρώτο αίτημα είναι μια αλλαγή από την πλευρά του πελάτη με τρία μέρη: μια πραγματική διεύθυνση HTTPS, τη λειτουργία αναβάθμισης του προγράμματος περιήγησης και την πολιτική του ίδιου του ιστότοπου. Τα παρακάτω βήματα είναι η σειρά που χρησιμοποιώ, το καθένα με τον έλεγχο που σας λέει αν χρειάστηκε.
Βήμα 1: επιβεβαιώστε ποιο είναι στην πραγματικότητα το πρώτο αίτημα
Πριν αλλάξετε οτιδήποτε, δείτε τι στέλνει το πρόγραμμα περιήγησης. Ανοίξτε τον πίνακα δικτύου με τη σελίδα επαναφορτωμένη από μια ψυχρή κρυφή μνήμη και διαβάστε την πρώτη σειρά: εάν το σχήμα είναι http και η κατάσταση είναι 301 ή 308, όλα μετά από αυτήν τη σειρά είναι ένα δεύτερο αίτημα. Το curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com αναπαράγει την ίδια ακολουθία εκτός του προγράμματος περιήγησης και εκτυπώνει τη διεύθυνση URL στην οποία καταλήξατε.
Δύο αποτελέσματα είναι πιθανά και χρειάζονται διαφορετικές επιδιορθώσεις. Εάν ο ιστότοπος εξυπηρετεί HTTPS στον ίδιο κεντρικό υπολογιστή, η επιδιόρθωση είναι να σταματήσει η δημοσίευση της φόρμας HTTP: ενημερώστε τον σελιδοδείκτη, τον σύνδεσμο wiki, τη συντόμευση της επιφάνειας εργασίας και το πρότυπο ηλεκτρονικού ταχυδρομείου που κάνουν κλικ οι χρήστες. Εάν ο ιστότοπος δεν εξυπηρετεί καθόλου HTTPS, καμία ρύθμιση του προγράμματος περιήγησης δεν θα τον δημιουργήσει και η ειλικρινής απάντηση είναι ότι ο προορισμός είναι το πρόβλημα. Μην κάνετε χαρτί στη δεύτερη περίπτωση με εξαίρεση, επειδή μια εξαίρεση πιστοποιητικού σε μια σελίδα λογαριασμού μετατρέπει ένα πρόβλημα μεταφοράς σε πρόβλημα διαπιστευτηρίων. Σημειώστε σε ποια θήκη βρίσκεστε προτού αγγίξετε μια ρύθμιση.
Βήμα 2: ενεργοποιήστε τη λειτουργία μόνο HTTPS του προγράμματος περιήγησης
Η λειτουργία αναβάθμισης είναι το δεύτερο μέρος και οι λειτουργίες δεν είναι εναλλάξιμες. Ελέγξτε τι κάνει το δικό σας προτού το ενεργοποιήσετε: αναβάθμιση σιωπηλά, αναβάθμιση με προειδοποίηση ή άρνηση φόρτωσης.
Στον Firefox τα χειριστήρια βρίσκονται πίσω από το about:config και στη σελίδα ρυθμίσεων απορρήτου, με το dom.security.https_only_mode ως διακόπτη και τις εξαιρέσεις ανά τοποθεσία που διαχειρίζονται από το μενού του λουκέτου. Στο Chrome και στο Edge, η ίδια ιδέα βρίσκεται στις Ρυθμίσεις, Απόρρητο και ασφάλεια, Ασφάλεια, με την ένδειξη Να χρησιμοποιείτε πάντα ασφαλείς συνδέσεις. Όποια και αν είναι η ετικέτα, επαληθεύστε τη συμπεριφορά έναντι ενός κεντρικού υπολογιστή που απαντά μόνο στη θύρα 80, επειδή μια λειτουργία που αναβαθμίζεται και μετά σιωπηλά επιστρέφει δεν είναι η προστασία που νομίζετε ότι έχετε ενεργοποιήσει. Η Τεκμηρίωση μόνο για το HTTPS-Firefox περιγράφει τη συμπεριφορά αναβάθμισης, προειδοποίησης και εξαίρεσης για αυτό το πρόγραμμα περιήγησης.
Βήμα 3: διορθώστε τους πόρους, όχι μόνο τη γραμμή διευθύνσεων
Όταν μια αναβάθμιση αποτύχει, διαβάστε το ακριβές σφάλμα αντί για τη γραμμή διευθύνσεων. Ένας κεντρικός υπολογιστής χωρίς πρόγραμμα ακρόασης HTTPS, ένα όνομα κεντρικού υπολογιστή που δεν ταιριάζει με το πιστοποιητικό και μια ληγμένη αλυσίδα παράγουν διαφορετικά μηνύματα και ανήκουν σε διαφορετικούς κατόχους. Μόνο το πρώτο είναι ένα κενό από την πλευρά του διακομιστή· Το δεύτερο είναι συνήθως ένας σελιδοδείκτης που δεν ενημερώθηκε ποτέ· Το τρίτο είναι ένα πρόβλημα ανανέωσης με το οποίο η σύνδεση VPN είναι άσχετη.
Μην προσθέσετε εξαίρεση πιστοποιητικού σε ιστότοπο λογαριασμού επειδή το VPN είναι ενεργοποιημένο. Η εξαίρεση απενεργοποιεί τον έλεγχο που θα έπιανε ακριβώς την υποκλοπή που προορίζεται να αποτρέψει ένα VPN.
Το τρίτο μέρος βρίσκεται μέσα στη σελίδα και είναι αυτό που λείπει από τους άλλους. Μια σελίδα που φορτώνεται μέσω HTTPS μπορεί ακόμα να αντλεί εικόνες, γραμματοσειρές ή σενάρια από μια διεύθυνση URL http και το πρόγραμμα περιήγησης είτε θα τις αποκλείσει είτε θα υποβαθμίσει την ένδειξη ασφαλείας για ολόκληρη τη σελίδα. Επιθεωρήστε τα αποτυχημένα αιτήματα στον πίνακα δικτύου και διορθώστε τις αναφορές πόρων στον κάτοχό τους αντί να υποθέσετε ότι η γραμμή διευθύνσεων περιγράφει κάθε αίτημα. Σε έναν ιστότοπο που εκτελείτε, αυτό σημαίνει ότι διορθώνετε τις αποθηκευμένες διευθύνσεις URL στο CMS ή το πρότυπο αντί να τις ξαναγράφετε στο πρόγραμμα περιήγησης. Εάν δεν μπορείτε να αλλάξετε την πηγή, καταγράψτε το μικτό περιεχόμενο ως γνωστό κενό, επειδή ένα λουκέτο σε μια σελίδα που αντλεί πόρους απλού κειμένου είναι ένα ψευδές σήμα.
Βήμα 4: τι προσθέτει το HSTS και τι όχι
Το HSTS είναι μια πολιτική τοποθεσίας και όχι μια προτίμηση προγράμματος περιήγησης και είναι ο μόνος μηχανισμός εδώ που διατηρεί ένα πληκτρολογημένο http:// σε ένα νέο προφίλ. Μόλις ένα πρόγραμμα περιήγησης δει μια κεφαλίδα Strict-Transport-Security για έναν κεντρικό υπολογιστή, ξαναγράφει αργότερα αιτήματα στο https πριν τα στείλει, που είναι ακριβώς η ιδιότητα που θέλετε. Δεν κάνει τίποτα για έναν κεντρικό υπολογιστή που δεν έχει επισκεφτεί ποτέ το πρόγραμμα περιήγησης και τίποτα για διαφορετικό όνομα κεντρικού υπολογιστή που εξυπηρετεί την ίδια εφαρμογή.
Ελέγξτε τι στέλνει η προέλευση με curl -sSI https://example.com | grep -i strict-transport-security. Μια κεφαλίδα που λείπει είναι μια αλλαγή διακομιστή και όχι κάτι που μπορεί να εγκαταστήσει ένας πελάτης. Εάν υπάρχει, διαβάστε το max-age και εάν έχει οριστεί το includeSubDomains, επειδή λήγει ένα σύντομο μέγιστο όριο ηλικίας μεταξύ των επισκέψεων και ένα στοιχείο που λείπει από το includeSubDomains αφήνει κάθε υποτομέα απροστάτευτο. Το RFC 6797 ορίζει πώς ένας παράγοντας χρήστη εφαρμόζει την πολιτική και τι μπορεί να αγνοήσει. Η προφόρτωση είναι μια ξεχωριστή δέσμευση, επομένως ελέγξτε την κατάσταση μέσω του API hstspreload.org προτού υποσχεθείτε σε κάποιον ότι ένας τομέας περιλαμβάνεται στη λίστα.
Επαλήθευση και επαναφορά
Η επαναφορά είναι φθηνή για τις ρυθμίσεις πελάτη και ακριβή για HSTS. Η απενεργοποίηση της λειτουργίας μόνο HTTPS επαναφέρει αμέσως την προηγούμενη συμπεριφορά· ένα μεγάλο max-age δεν ισχύει και οι επισκέπτες που το έχουν ήδη λάβει συνεχίζουν να αναβαθμίζουν μέχρι να λήξει.
Επαληθεύστε λοιπόν με τη σειρά προτού το ολοκληρώσετε. Φορτώστε ξανά από μια ψυχρή κρυφή μνήμη και επιβεβαιώστε ότι το πρώτο αίτημα στον πίνακα δικτύου είναι https χωρίς προηγούμενη ανακατεύθυνση. Στη συνέχεια, ελέγξτε έναν υποτομέα, επειδή το includeSubDomains είναι το σημείο όπου αυτές οι πολιτικές συνήθως αποδεικνύονται πιο στενές από ό,τι υποτίθεται. Στη συνέχεια, ελέγξτε μια σελίδα που αντλεί στοιχεία τρίτων, καθώς το μικτό περιεχόμενο είναι η αποτυχία που επιβιώνει από κάθε άλλη επιδιόρθωση.
Εάν το πρώτο αίτημα εξακολουθεί να είναι http μετά από όλα αυτά, ο πελάτης δεν είναι πλέον η μεταβλητή: ο σύνδεσμος που κάνουν κλικ οι άνθρωποι είναι. Αναζητήστε τα μέρη που ελέγχετε για τη φόρμα http του ονόματος κεντρικού υπολογιστή, ενημερώστε τα και δοκιμάστε ξανά με την ίδια επαναφόρτωση ψυχρής προσωρινής μνήμης. Διατηρήστε την ερώτηση VPN ξεχωριστά καθ' όλη τη διάρκεια, επειδή το τούνελ αλλάζει ποιος μπορεί να δει το αίτημα και δεν αλλάζει ποτέ εάν το αίτημα είναι κρυπτογραφημένο. Η γραμμή που πρέπει να βάλετε στο εισιτήριο είναι ότι το πρώτο αίτημα είναι αυτό που έχει σημασία και η ανακατεύθυνση είναι μόνο μια απόδειξη για ένα αίτημα που έχει ήδη σταλεί.