Έλεγχος ρύθμισης HTTPS — HSTS, cookies, μικτό περιεχόμενο και πιστοποιητικό
Έλεγχος ρυθμίσεων HTTPS
Επικόλληση των κεφαλίδων απόκρισης ενός ιστοτόπου — και, αν υπάρχουν, του πιστοποιητικού του, ενός αποσπάσματος του πηγαίου κώδικα και του ονόματος κεντρικού υπολογιστή — και αυτή η σελίδα αναφέρει πώς είναι ρυθμισμένη η πλευρά HTTPS: αν έχει οριστεί HSTS και για πόσο, αν μια πολιτική ασφαλείας περιεχομένου αναβαθμίζει μη ασφαλή αιτήματα, αν τα cookies φέρουν Secure και SameSite, αν ένα banner διακομιστή αποκαλύπτει έκδοση, και τι λένε οι κεφαλίδες μεσολάβησης για το αίτημα που πράγματι είδε η εφαρμογή. Το πιστοποιητικό ελέγχεται στην ίδια αναφορά, οι απλοί υποπόροι http:// καταγράφονται από τον πηγαίο κώδικα της σελίδας, και οι εντολές που μπορούν να δουν το handshake παρατίθενται για εκτέλεση από τον ίδιο τον χρήστη. Όλα εκτελούνται στο πρόγραμμα περιήγησης και η σελίδα δεν κάνει δικό της αίτημα.
1. Κεφαλίδες απόκρισης
Ολόκληρο το μπλοκ κεφαλίδων απόκρισης, συμπεριλαμβανομένης της γραμμής κατάστασης. Η ευκολότερη πηγή: curl -sI https://example.com/ σε τερματικό, ή η καρτέλα Headers του Network στα εργαλεία προγραμματιστή, αντιγραμμένη από την κορυφή. Οι επιπλέον κεφαλίδες διαβάζονται και αγνοούνται· αναφέρονται μόνο όσες αφορούν το HTTPS.
2. Πιστοποιητικό ή αλυσίδα (προαιρετικό)
Με αυτό συμπληρωμένο η ίδια αναφορά περιέχει και τον πλήρη έλεγχο πιστοποιητικού, ώστε η ρύθμιση και το πιστοποιητικό να διαβάζονται μαζί. Λειτουργούν PEM, απλό σώμα base64 ή δεκαεξαδικό και δέμα PKCS#7 .p7b· ο έλεγχος πιστοποιητικού εξετάζει το πιστοποιητικό μόνο του σε μεγαλύτερο βάθος.
3. Απόσπασμα πηγαίου κώδικα σελίδας (προαιρετικό)
Επικόλληση του πηγαίου κώδικα της σελίδας (ή μόνο των ετικετών με διευθύνσεις URL) και καταγράφεται κάθε διεύθυνση http://, επειδή ένας υποπόρος που φορτώνεται μέσω HTTP χαλάει το λουκέτο και μπορεί να αλλοιωθεί κατά τη μεταφορά, ακόμη και όταν η ίδια η σελίδα έφτασε μέσω HTTPS. Οι διευθύνσεις προς τον ίδιο κεντρικό υπολογιστή του ιστοτόπου επισημαίνονται χωριστά, επειδή αυτές είναι που θα διόρθωνε ένα σχετικό URL.
4. Όνομα κεντρικού υπολογιστή (προαιρετικό)
Με όνομα κεντρικού υπολογιστή εδώ, ο έλεγχος αντιστοιχίζει τα εναλλακτικά ονόματα θέματος όπως κάνει ένα πρόγραμμα περιήγησης, συμπεριλαμβανομένων των κανόνων μπαλαντέρ, και αντιστοιχίζει σε αυτά τις απλές διευθύνσεις http://.
δεν έχει ελεγχθεί τίποτα
Το δείγμα είναι σκόπιμα ατελές, ώστε κάθε μέρος της αναφοράς να έχει κάτι: μπλοκ κεφαλίδων με HSTS και πολιτική ασφαλείας περιεχομένου (αλλά χωρίς preload και ένα cookie χωρίς SameSite), αλυσίδα δύο πιστοποιητικών, και ένα απόσπασμα σελίδας που φορτώνει ένα σενάριο μέσω απλού http:// και δείχνει μια εικόνα στον ίδιο κεντρικό υπολογιστή με τον ίδιο τρόπο. Αναμένεται F στο δείγμα, και η ανάγνωση των ευρημάτων από κάτω δείχνει τι σημαίνει το καθένα.
Τι ελέγχεται. Από το μπλοκ κεφαλίδων: HSTS, το max-age, το includeSubDomains και το preload· πολιτική ασφαλείας περιεχομένου που αναβαθμίζει μη ασφαλή αιτήματα· οι σημαίες Secure, HttpOnly και SameSite σε κάθε Set-Cookie· ένα banner διακομιστή που ονομάζει προϊόν και έκδοση· και οι προωθημένες κεφαλίδες που δείχνουν αν η εφαρμογή είδε το αίτημα ως HTTPS. Από το μπλοκ πιστοποιητικού: ο πλήρης έλεγχος πιστοποιητικού, μέχρι το αν κάθε σύνδεση της αλυσίδας υπέγραψε πράγματι την επόμενη. Από τον πηγαίο κώδικα της σελίδας: οι απλοί υποπόροι http://. Τα τρία αναφέρονται χωριστά και έπειτα συνοψίζονται μαζί, επειδή ένα σπασμένο λουκέτο συνήθως οφείλεται σε ένα από τα τρία και όχι στα άλλα δύο. Για την πλήρη λίστα OWASP των κεφαλίδων ασφαλείας απόκρισης — X-Content-Type-Options, προστασία πλαισίου, Referrer-Policy, Permissions-Policy, COOP, COEP, CORP και τη βαθμολογία — επικολλάται το ίδιο μπλοκ κεφαλίδων στη σελίδα Έλεγχος κεφαλίδων ασφαλείας· οι δύο σελίδες μοιράζονται τη δουλειά ανάμεσα στο επίπεδο TLS και στο επίπεδο κεφαλίδων.
Τι δεν μπορεί να δει. Αυτή η σελίδα δεν ανοίγει ποτέ σύνδεση TLS. Τα προγράμματα περιήγησης δεν εκθέτουν το handshake σε σελίδα, οπότε η έκδοση πρωτοκόλλου, η σουίτα κρυπτογράφησης, η ομάδα ανταλλαγής κλειδιού, το OCSP stapling, η επαναφορά συνεδρίας, το 0-RTT, η αλυσίδα πιστοποιητικών που στέλνει πραγματικά ένας ζωντανός διακομιστής, και το αν η ανακατεύθυνση από HTTP σε HTTPS γίνεται στην προέλευση ή σε διακομιστή μεσολάβησης βρίσκονται έξω από ό,τι μπορεί να αναφέρει οποιαδήποτε ιστοσελίδα. Ούτε μπορεί να προσεγγίσει τρίτο ιστότοπο για να συλλέξει τις κεφαλίδες, και δεν μπορεί να πει αν ένα πιστοποιητικό είναι αξιόπιστο, επειδή αυτό εξαρτάται από αποθετήριο ριζών που μια σελίδα δεν μπορεί να διαβάσει. Οι εντολές παρακάτω σε αυτή τη σελίδα βλέπουν αυτά τα πράγματα και προορίζονται να εκτελεστούν τοπικά, στο δικό μηχάνημα.
Πού να ληφθεί το μπλοκ κεφαλίδων. Σε τερματικό, η εντολή curl -sI https://example.com/ εκτυπώνει ακριβώς ό,τι ζητά αυτή η σελίδα. Σε πρόγραμμα περιήγησης, ανοίγονται τα εργαλεία προγραμματιστή, μεταβαίνει στην καρτέλα Network, γίνεται επαναφόρτωση, επιλέγεται το αίτημα του εγγράφου και αντιγράφεται ολόκληρη η περιοχή Response Headers, ή χρησιμοποιείται Copy → Copy response headers. Για τον έλεγχο ανακατεύθυνσης εκτελείται επίσης curl -sI http://example.com/ και επικολλώνται και τα δύο μπλοκ· η σελίδα τα αναφέρει το ένα μετά το άλλο.
Αναφορά ελέγχου
Δεν έχει γίνει έλεγχος ακόμη. Επικόλληση μπλοκ κεφαλίδων παραπάνω και πάτημα του Έλεγχος αυτής της ρύθμισης για την πλήρη αναφορά· ένα πιστοποιητικό, απόσπασμα πηγαίου κώδικα και όνομα κεντρικού υπολογιστή είναι προαιρετικά και το καθένα προσθέτει τη δική του ενότητα.
Δοκιμή προσβασιμότητας — το μόνο μέρος αυτής της σελίδας που χρησιμοποιεί το δίκτυο
Μια σελίδα δεν μπορεί να ανοίξει σύνδεση TLS, αλλά μπορεί να δοκιμάσει ένα συνηθισμένο αίτημα. Αν ο ιστότοπος επιτρέπει αναγνώσεις cross-origin, η διεύθυνση στην οποία καταλήγει η απόκριση δείχνει αν το http:// ανακατευθύνθηκε σε https://, και μόνο αυτό μπορεί να αποδείξει. Αν το αίτημα αποτύχει, η σελίδα δεν μπορεί να πει αν ο κεντρικός υπολογιστής είναι εκτός λειτουργίας, αν η σύνδεση του χρήστη είναι εκτός λειτουργίας, ή αν ο ιστότοπος απλώς δεν επιτρέπει αναγνώσεις cross-origin — το τελευταίο είναι η συνηθισμένη περίπτωση, επειδή οι περισσότεροι ιστότοποι δεν στέλνουν Access-Control-Allow-Origin. Ένα URL http:// απαντάται πριν από οποιαδήποτε ανακατεύθυνση, οπότε αυτό είναι το μόνο πράγμα εδώ που ένα πρόγραμμα περιήγησης θα επιχειρήσει σε απλή σύνδεση. Τίποτα δεν φεύγει από το πρόγραμμα περιήγησης μέχρι να πατηθεί το κουμπί.
Αυτές προορίζονται να εκτελεστούν τοπικά, από τον ίδιο τον χρήστη, σε μηχάνημα που ελέγχει, έναντι κεντρικού υπολογιστή που επιτρέπεται να δοκιμαστεί. Η έξοδος του -showcerts μπορεί να επικολληθεί απευθείας στον έλεγχο πιστοποιητικού, και η έξοδος των κεφαλίδων πίσω σε αυτή τη σελίδα.
Το πιστοποιητικό είναι δημόσιο έγγραφο. Κάθε δημοσίως αξιόπιστο πιστοποιητικό δημοσιεύεται στα αρχεία Certificate Transparency, οπότε κάθε όνομα κεντρικού υπολογιστή μέσα σε αυτό — συμπεριλαμβανομένου ενός εσωτερικού ή λανθασμένα γραμμένου ονόματος που υπέγραψε δημόσια αρχή πιστοποίησης — μπορεί να βρεθεί με αναζήτηση σε αυτά τα αρχεία. Ένα πιστοποιητικό φέρει επίσης τις διευθύνσεις ανάκλησης που επέλεξε ο εκδότης του, και αυτές μερικές φορές ονομάζουν εσωτερικό κεντρικό υπολογιστή. Γι' αυτό το πιστοποιητικό που σερβίρει ένα CDN δεν λέει τίποτα για τον διακομιστή προέλευσης: τα ονόματα σε αυτό ανήκουν στο CDN. Αν ο έλεγχος βρει ένα όνομα κεντρικού υπολογιστή που δεν αναμενόταν, αντιμετωπίζεται ως δημόσιο και αντικαθίσταται ό,τι προστατεύει.
Ιδιωτικότητα: το μπλοκ κεφαλίδων, το πιστοποιητικό και ο πηγαίος κώδικας της σελίδας διαβάζονται τοπικά και δεν μεταφορτώνονται, και δεν γίνεται κανένα αίτημα οποιουδήποτε είδους, παρά μόνο αν πατηθεί το κουμπί στη δοκιμή προσβασιμότητας. Για δημιουργία πιστοποιητικού χρησιμοποιείται η γεννήτρια αυτο-υπογεγραμμένων πιστοποιητικών· για έλεγχο ότι ένα ιδιωτικό κλειδί ανήκει σε πιστοποιητικό, χρησιμοποιείται ο αντιστοιχιστής πιστοποιητικού και κλειδιού.
🔒 Εργαλεία SSL & TLS
Βοηθητικά εργαλεία πιστοποιητικών και κλειδιών που εκτελούνται εξ ολοκλήρου στο πρόγραμμα περιήγησης.