Έλεγχος HTTPS & headers ασφαλείας
Σύντομη απάντηση
Ελέγξτε το HTTPS, την ανακατεύθυνση από HTTP σε HTTPS, το μικτό περιεχόμενο, το HSTS και τα headers ασφάλειας και ευρετηρίασης που στέλνει η σελίδα σας.
Τι δεν κάνει: Δεν εξετάζει το πιστοποιητικό TLS ή την ημερομηνία λήξης του (αυτό το κάνει ο έλεγχος uptime), και ελέγχει τις κεφαλίδες του ενός URL που εισάγετε.
Τι Κάνει
Ελέγχει τη ρύθμιση HTTPS ενός ιστότοπου και τις κεφαλίδες απόκρισης που τον προστατεύουν. Το μέρος HTTPS ελέγχει ότι η σελίδα φορτώνει μέσω HTTPS, ότι το απλό HTTP ανακατευθύνει μόνιμα σε αυτό, ότι η ασφαλής σελίδα δεν φορτώνει τίποτα μέσω απλού HTTP και ότι το HSTS έχει οριστεί με αρκετά μεγάλο max-age. Το μέρος κεφαλίδων ελέγχει το X-Content-Type-Options, το Content-Security-Policy, την προστασία από clickjacking, αν ο διακομιστής αποκαλύπτει την τεχνολογία του και αν μια κεφαλίδα X-Robots-Tag κρατά τη σελίδα εκτός αποτελεσμάτων αναζήτησης.
Γιατί Έχει Σημασία
Το HTTPS είναι ελαφρύ σήμα κατάταξης της Google από το 2014, και οι περιηγητές επισημαίνουν τις απλές σελίδες HTTP ως μη ασφαλείς. Μια προσωρινή ανακατεύθυνση, μια απούσα κεφαλίδα HSTS ή μια αδέσποτη κεφαλίδα `noindex` είναι εύκολο να διαφύγει, γιατί η σελίδα εξακολουθεί να φαίνεται εντάξει σε έναν περιηγητή.
Πώς Λειτουργεί
-
Εισαγάγετε ένα URL σελίδας
-
Ζητάμε τη σελίδα HTTPS και την απλή HTTP έκδοση της ίδιας διεύθυνσης
-
Ελέγχουμε την ανακατεύθυνση, το HSTS και το μεικτό περιεχόμενο, κατόπιν διαβάζουμε τις κεφαλίδες απόκρισης
-
Επιστρέφουμε ένα αποτέλεσμα για κάθε μέρος, με το τι να διορθώσετε
Δείγμα εισόδου + εξόδου
url: https://rankproof.eu
HTTPS & ανακατευθύνσεις το site φορτώνει μέσω HTTPS OK ανακατεύθυνση HTTP → HTTPS: 301 OK μεικτό περιεχόμενο στην ασφαλή σελίδα: 0 OK HSTS max-age: 365 ημέρες OK Κεφαλίδες ασφάλειας & ευρετηρίασης X-Content-Type-Options ορισμένο OK Content-Security-Policy ορισμένο OK προστασία από clickjacking OK απόκρυψη τεχνολογίας διακομιστή OK η σελίδα μπορεί να ευρετηριαστεί OK 2 από 2 τομείς φαίνονται καλά
Πώς διαβάζεται το αποτέλεσμα
- Δύο μέρη
- Η αναφορά έχει ένα μέρος για HTTPS και ανακατευθύνσεις και ένα για κεφαλίδες ασφάλειας και ευρετηρίασης. Το καθένα έχει δική του βαθμολογία, και η σύνοψη γίνεται πράσινη μόνο όταν είναι πράσινα και τα δύο, ώστε τέλειες κεφαλίδες να μην κρύβουν μια ανακατεύθυνση που λείπει.
- Το site φορτώνει μέσω HTTPS
- Η διεύθυνση που δώσατε απάντησε μέσω HTTPS. Αν δώσετε διεύθυνση http://, ο έλεγχος αποτυγχάνει, οπότε δώστε τη διεύθυνση https:// που θέλετε να χρησιμοποιούν οι επισκέπτες.
- Ανακατεύθυνση HTTP → HTTPS (301 στο δείγμα)
- Ζητάμε την απλή έκδοση http:// της ίδιας διεύθυνσης χωρίς να ακολουθήσουμε ανακατευθύνσεις. Ένα 301 ή 308 προς διεύθυνση https:// περνά· ένα προσωρινό 302 ή 307 κοστίζει πόντους, επειδή οι μηχανές αναζήτησης μπορεί να συνεχίσουν να δείχνουν τη διεύθυνση http://. Αν το απλό HTTP δεν απαντά καθόλου, αυτό δεν μετράει εις βάρος σας.
- Μεικτό περιεχόμενο (0)
- Εικόνες, scripts, stylesheets, frames και άλλοι πόροι που η ασφαλής σελίδα φορτώνει μέσω απλού http://. Οι browsers μπλοκάρουν τα μη ασφαλή scripts και frames και μπλοκάρουν ή αναβαθμίζουν τα μη ασφαλή πολυμέσα, οπότε το καθένα είναι είτε χαλασμένο είτε προειδοποίηση στη γραμμή διευθύνσεων.
- HSTS max-age (365 ημέρες)
- Για πόσο καιρό λέγεται στους browsers να χρησιμοποιούν μόνο HTTPS για το site. Ένα έτος ή περισσότερο περνά· μικρότερη τιμή ή καθόλου κεφαλίδα παίρνει προειδοποίηση. Τα includeSubDomains και preload δεν βαθμολογούνται.
- Κεφαλίδες ασφάλειας
- Το X-Content-Type-Options εμποδίζει τους browsers να μαντεύουν τύπους αρχείων· το Content-Security-Policy περιορίζει από πού μπορούν να φορτώνονται scripts· το X-Frame-Options ή η οδηγία frame-ancestors εμποδίζει άλλα sites να βάζουν τη σελίδα σας σε frame (clickjacking). Η «απόκρυψη τεχνολογίας διακομιστή» σημαίνει ότι καμία κεφαλίδα X-Powered-By δεν κατονομάζει το λογισμικό σας.
- Η σελίδα μπορεί να ευρετηριαστεί
- Μια κεφαλίδα X-Robots-Tag με noindex κρατά τη σελίδα έξω από τα αποτελέσματα αναζήτησης χωρίς να εμφανίζεται πουθενά στο HTML. Είναι το μόνο πρόβλημα κεφαλίδας που κάνει μόνο του αυτό το μέρος κόκκινο.
Ποιοι το Χρησιμοποιούν
-
Μηχανικός DevOps
Εκτελέστε τον μετά από αλλαγή διακομιστή ή CDN για να επιβεβαιώσετε ότι η ανακατεύθυνση, το HSTS και οι κεφαλίδες ασφαλείας επιβίωσαν.
-
Ελεγκτής ασφαλείας
Ελέγξτε κάθε domain παραγωγής για μεικτό περιεχόμενο, αδύναμο HSTS και απούσες κεφαλίδες ασφαλείας.
-
Ειδικός SEO
Πριν μια μετεγκατάσταση πάει live, επιβεβαιώστε ότι το HTTP ανακατευθύνει μόνιμα και καμία κεφαλίδα δεν εμποδίζει την ευρετηρίαση.
Συχνά προβλήματα και πώς λύνονται
-
Το HTTP δεν ανακατευθύνει ή ανακατευθύνει με 302
Ανακατευθύνετε κάθε αίτημα απλού HTTP στην ίδια διαδρομή σε HTTPS με 301, στον web server ή στο CDN και όχι στον κώδικα της σελίδας, ώστε να καλύπτονται και εικόνες και αρχεία.
# nginx server { listen 80; server_name example.com www.example.com; return 301 https://example.com$request_uri; } -
Μεικτό περιεχόμενο στην ασφαλή σελίδα
Αλλάξτε τις διευθύνσεις πόρων από http:// σε https:// ή, για τα δικά σας αρχεία, σε σχετικές διαδρομές. Αν ένας τρίτος δεν έχει έκδοση HTTPS, φιλοξενήστε το αρχείο μόνοι σας ή αφαιρέστε το. Η οδηγία upgrade-insecure-requests μπορεί να αναβαθμίσει τα υπόλοιπα όσο τα διορθώνετε.
Content-Security-Policy: upgrade-insecure-requests -
Χωρίς HSTS ή με μικρό max-age
Προσθέστε το Strict-Transport-Security όταν κάθε σελίδα λειτουργεί μέσω HTTPS και ανεβάστε το max-age σε τουλάχιστον ένα έτος (31536000 δευτερόλεπτα). Προσθέστε includeSubDomains μόνο όταν όλα τα subdomains έχουν HTTPS, και το preload τελευταίο — οι λίστες preload αργούν πολύ να σας αφαιρέσουν.
Strict-Transport-Security: max-age=31536000; includeSubDomains -
Λείπουν κεφαλίδες ασφάλειας
Στείλτε X-Content-Type-Options: nosniff σε κάθε απάντηση. Για το clickjacking, το frame-ancestors στο Content-Security-Policy είναι το τρέχον πρότυπο και το X-Frame-Options καλύπτει παλαιότερους browsers. Μια πλήρης πολιτική για scripts θέλει δοκιμές, οπότε ξεκινήστε με αυτά τα δύο και χτίστε τη σταδιακά.
X-Content-Type-Options: nosniff Content-Security-Policy: frame-ancestors 'self' X-Frame-Options: SAMEORIGIN -
Μια κεφαλίδα noindex που δεν βάλατε εσείς
Ψάξτε για X-Robots-Tag στις ρυθμίσεις του server, του CDN ή του framework· ρυθμίσεις που αντιγράφηκαν από ένα δοκιμαστικό site είναι ένας τρόπος να συμβεί. Αφαιρέστε τη από σελίδες που πρέπει να βρίσκονται και ζητήστε ευρετηρίαση της σελίδας στο Search Console.
-
Οι κεφαλίδες κατονομάζουν το λογισμικό του server
Απενεργοποιήστε το X-Powered-By (και τους αριθμούς έκδοσης στην κεφαλίδα Server) στις ρυθμίσεις του framework ή του server. Δεν σταματά επιθέσεις, αλλά παύει να ανακοινώνει ποια έκδοση να στοχεύσει κανείς.
# php.ini expose_php = Off // Express (Node.js) app.disable('x-powered-by');
Συχνές Ερωτήσεις
- Ελέγχει το πιστοποιητικό SSL/TLS;
- Όχι. Ελέγχει αν η σελίδα φορτώνει μέσω HTTPS, πώς ανακατευθύνει το HTTP προς αυτήν, το HSTS, το μεικτό περιεχόμενο και τις κεφαλίδες απόκρισης. Δεν επιθεωρεί το πιστοποιητικό ή την ημερομηνία λήξης του.
- Τι είναι το HSTS;
- HTTP Strict Transport Security — μια κεφαλίδα που λέει στους περιηγητές να χρησιμοποιούν HTTPS για το domain σας ακόμη κι όταν κάποιος πληκτρολογήσει `http://`. Στοχεύστε σε max-age τουλάχιστον ενός έτους.
- Τι είναι το μεικτό περιεχόμενο;
- Μια σελίδα HTTPS που φορτώνει πόρους (εικόνες, scripts, CSS) μέσω απλού HTTP. Οι περιηγητές αποκλείουν μη ασφαλή scripts και αναβαθμίζουν ή προειδοποιούν για μη ασφαλείς εικόνες.
- Ποιες κεφαλίδες ελέγχονται;
- X-Content-Type-Options, Content-Security-Policy, X-Frame-Options ή η οδηγία CSP frame-ancestors, X-Powered-By και X-Robots-Tag. Η αναφορά παραθέτει επίσης τις κεφαλίδες απόκρισης που επέστρεψε η σελίδα.
- Πώς μπορεί μια κεφαλίδα να εμποδίσει την ευρετηρίαση;
- Μια κεφαλίδα `X-Robots-Tag: noindex` κρατά μια σελίδα εκτός αποτελεσμάτων αναζήτησης όπως ακριβώς μια ετικέτα meta robots, αλλά δεν εμφανίζεται στην πηγή της σελίδας, οπότε συχνά περνά απαρατήρητη.
- Πότε πρέπει να τον εκτελώ;
- Μετά από μετεγκατάσταση, και μετά από κάθε αλλαγή διακομιστή ή CDN.
Πηγές
Η τεκμηρίωση στην οποία βασίζονται το εργαλείο και οι εξηγήσεις αυτής της σελίδας.
- HTTPS as a ranking signal — Google Search Central Blog
- Strict-Transport-Security — MDN Web Docs
- Mixed content — MDN Web Docs
- X-Content-Type-Options header — MDN Web Docs
- Content Security Policy (CSP) — MDN Web Docs
- Content-Security-Policy: frame-ancestors directive — MDN Web Docs
- Robots Meta Tags Specifications — Google Search Central