Όταν κάποιος στέλνει μια φόρμα σε ιστοσελίδα HTTP (όχι HTTPS), τα δεδομένα του ταξιδεύουν στο διαδίκτυο ως απλό κείμενο. Όποιος βρίσκεται στο δίκτυο ανάμεσα σε αυτόν και τον server σου μπορεί να δει τι έγραψε, μαζί με κωδικούς, αριθμούς πιστωτικών καρτών και διευθύνσεις email. Αυτό δεν είναι θεωρητικό. Τα εργαλεία υποκλοπής πακέτων είναι ελεύθερα διαθέσιμα και οι επιτιθέμενοι υποκλέπτουν ενεργά μη κρυπτογραφημένες αποστολές φορμών.
Η κρυπτογράφηση SSL/TLS είναι η τεχνολογία που προστατεύει τα δεδομένα της φόρμας καθώς ταξιδεύουν από τον browser του επισκέπτη στον server σου. Είναι η πιο θεμελιώδης μορφή ασφάλειας φόρμας και δεν διαπραγματεύεται.
Τι θα μάθεις: πώς δουλεύει η κρυπτογράφηση HTTPS, τη διαφορά ανάμεσα σε SSL και TLS, τι είναι ένα πιστοποιητικό SSL και γιατί το χρειάζεσαι, πώς να επαληθεύσεις ότι η φόρμα σου είναι σωστά κρυπτογραφημένη και τι να κάνεις αν το HTTPS δεν δουλεύει.
Τι είναι το HTTPS και πώς κρυπτογραφεί δεδομένα;
Το HTTPS είναι η ασφαλής εκδοχή του HTTP (Hypertext Transfer Protocol). Το "S" σημαίνει Secure (ασφαλές). Το HTTPS χρησιμοποιεί SSL/TLS (Secure Sockets Layer / Transport Layer Security) για να κρυπτογραφεί όλα τα δεδομένα που στέλνονται ανάμεσα στον επισκέπτη και τον server σου.
Να τι γίνεται όταν ένας επισκέπτης στέλνει φόρμα μέσω HTTPS:
- Ο επισκέπτης συμπληρώνει και στέλνει τη φόρμα. Ο browser του μαζεύει τα δεδομένα.
- Ο browser δημιουργεί κρυπτογραφημένη σύνδεση. Επικοινωνεί με τον server σου και επαληθεύει το πιστοποιητικό SSL (περισσότερα παρακάτω).
- Και οι δύο πλευρές συμφωνούν στις ρυθμίσεις κρυπτογράφησης. Διαπραγματεύονται την ισχυρότερη κρυπτογράφηση που υποστηρίζουν και οι δύο.
- Όλα τα δεδομένα κρυπτογραφούνται πριν σταλούν. Τα δεδομένα της φόρμας κωδικοποιούνται με τη συμφωνημένη κρυπτογράφηση.
- Ο server σου λαμβάνει τα κρυπτογραφημένα δεδομένα. Χρησιμοποιεί το ιδιωτικό του κλειδί για να τα αποκρυπτογραφήσει, ώστε να διαβαστούν.
Για όποιον παρακολουθεί κρυφά το δίκτυο, τα δεδομένα φαίνονται ως τυχαίοι χαρακτήρες. Δεν μπορεί να τα διαβάσει χωρίς το κλειδί κρυπτογράφησης, που το έχει μόνο ο server σου.
Η διαφορά ανάμεσα σε SSL και TLS
Το SSL (Secure Sockets Layer) και το TLS (Transport Layer Security) είναι συγγενείς τεχνολογίες που κάνουν την ίδια δουλειά. Το SSL ήταν το αρχικό πρότυπο, που κυκλοφόρησε πρώτη φορά το 1995. Το TLS είναι η σύγχρονη, βελτιωμένη εκδοχή που το αντικατέστησε.
- SSL 3.0: Η τελευταία έκδοση του SSL, που κυκλοφόρησε το 1996. Ξεπερασμένη και πλέον όχι ασφαλής.
- TLS 1.0: Η πρώτη έκδοση του TLS, που κυκλοφόρησε το 1999. Δουλεύει ακόμα αλλά είναι παλιά.
- TLS 1.2: Κυκλοφόρησε το 2008. Χρησιμοποιείται ακόμα ευρέως και θεωρείται ασφαλής.
- TLS 1.3: Κυκλοφόρησε το 2018. Το τρέχον πρότυπο, πιο γρήγορο και πιο ασφαλές.
Οι σύγχρονοι browsers και servers χρησιμοποιούν TLS 1.2 ή TLS 1.3. Όταν οι άνθρωποι λένε "πιστοποιητικό SSL", συνήθως εννοούν πιστοποιητικό που χρησιμοποιείται για κρυπτογράφηση TLS. Οι όροι χρησιμοποιούνται συχνά εναλλακτικά, αλλά το TLS είναι η πραγματική τεχνολογία που χρησιμοποιείται σήμερα.
Τι είναι ένα πιστοποιητικό SSL;
Ένα πιστοποιητικό SSL είναι ένα ψηφιακό αρχείο που χρησιμοποιεί ο web server σου για να αποδείξει την ταυτότητά του και να δημιουργήσει κρυπτογραφημένη σύνδεση. Περιέχει:
- Το domain σου: Για ποιο domain ισχύει το πιστοποιητικό (www.example.com)
- Στοιχεία του οργανισμού σου: Επωνυμία εταιρείας, διεύθυνση κ.λπ.
- Δημόσιο κλειδί: Το χρησιμοποιούν οι browsers των επισκεπτών για να κρυπτογραφήσουν δεδομένα
- Ψηφιακή υπογραφή: Απόδειξη ότι αξιόπιστη αρχή επαλήθευσε αυτό το πιστοποιητικό
- Ημερομηνία λήξης: Πότε λήγει το πιστοποιητικό και πρέπει να ανανεωθεί
Το πιστοποιητικό είναι σαν ψηφιακή ταυτότητα που αποδεικνύει ότι ο server σου είναι νόμιμος.
Πώς επαληθεύονται τα πιστοποιητικά SSL
Όταν ένας επισκέπτης μπαίνει στην ιστοσελίδα σου με HTTPS, ο browser του ελέγχει το πιστοποιητικό SSL για να βεβαιωθεί ότι είναι νόμιμο:
- Ο server σου στέλνει το πιστοποιητικό του. Ο browser το λαμβάνει.
- Ο browser ελέγχει την ψηφιακή υπογραφή. Είναι αυτό το πιστοποιητικό υπογεγραμμένο από αξιόπιστη αρχή πιστοποίησης;
- Ο browser επαληθεύει το domain. Ταιριάζει το πιστοποιητικό με το domain που επισκέπτεται ο χρήστης;
- Ο browser ελέγχει την ημερομηνία λήξης. Ισχύει ακόμα το πιστοποιητικό;
Αν αποτύχει οποιοσδήποτε από αυτούς τους ελέγχους, ο browser δείχνει προειδοποίηση. Αν περάσουν όλοι, ο browser δείχνει εικονίδιο λουκέτου (ή ένδειξη ασφάλειας) που λέει στον επισκέπτη ότι η σύνδεση είναι κρυπτογραφημένη και η ιστοσελίδα νόμιμη.
Τύποι πιστοποιητικών SSL
Πιστοποιητικά Domain Validated (DV)
Το βασικό πιστοποιητικό. Η αρχή πιστοποίησης επαληθεύει ότι κατέχεις το domain, αλλά δεν επαληθεύει τον οργανισμό σου. Η φθηνότερη επιλογή. Καλή για τις περισσότερες φόρμες.
Πιστοποιητικά Organization Validated (OV)
Η αρχή επαληθεύει και το domain και τα στοιχεία του οργανισμού σου. Ακριβότερο από το DV, δίνει περισσότερη εμπιστοσύνη. Ο browser δείχνει το όνομα του οργανισμού σου στις λεπτομέρειες του πιστοποιητικού.
Πιστοποιητικά Extended Validation (EV)
Η αρχή κάνει εκτενή επαλήθευση, μαζί με νομικούς ελέγχους. Το ακριβότερο. Δείχνει το όνομα του οργανισμού απευθείας στη γραμμή διευθύνσεων του browser. Χρησιμοποιείται κυρίως από χρηματοπιστωτικά ιδρύματα και ιστοσελίδες υψηλής ασφάλειας.
Πιστοποιητικά Wildcard
Ισχύουν για ένα domain και όλα τα υποdomain του (π.χ. ένα wildcard για *.example.com καλύπτει τα mail.example.com, blog.example.com κ.λπ.). Χρήσιμο αν έχεις πολλά υποdomain με φόρμες.
Πιστοποιητικά πολλών domain (SAN)
Ισχύουν για πολλά διαφορετικά domain σε ένα πιστοποιητικό. Χρήσιμο αν διατηρείς πολλές ιστοσελίδες με φόρμες.
Πώς παίρνεις πιστοποιητικό SSL
Αρχές πιστοποίησης
Αγοράζεις πιστοποιητικά από αρχές πιστοποίησης (CA) όπως:
- Μια εμπορική αρχή πιστοποίησης
- Εταιρείες καταχώρισης domain που μεταπωλούν πιστοποιητικά
- Μια άλλη μεγάλη αρχή πιστοποίησης
- Μια δωρεάν αρχή πιστοποίησης που χρησιμοποιείται ευρέως
Οι τιμές κυμαίνονται από δωρεάν έως εκατοντάδες δολάρια τον χρόνο (πιστοποιητικά EV).
Μέσω του παρόχου φιλοξενίας
Οι περισσότεροι σύγχρονοι πάροχοι φιλοξενίας περιλαμβάνουν αυτόματα πιστοποιητικά SSL. Δεν χρειάζεται να τα αγοράσεις ή να τα διαχειριστείς ξεχωριστά. Χειρίζονται αυτόματα την ανανέωση.
Εγκατάσταση και ανανέωση
Τα πιστοποιητικά SSL λήγουν και πρέπει να ανανεώνονται. Οι περισσότεροι πάροχοι το χειρίζονται αυτόματα. Έλεγξε κατά διαστήματα την ημερομηνία λήξης του πιστοποιητικού σου, για να βεβαιωθείς ότι ισχύει ακόμα. Αν λήξει, η ιστοσελίδα σου δείχνει προειδοποίηση ασφαλείας και οι επισκέπτες μπορεί να μην την εμπιστευτούν.
Πώς επαληθεύεις ότι η φόρμα σου είναι σωστά κρυπτογραφημένη
Έλεγξε το URL
Η σελίδα της φόρμας σου πρέπει να χρησιμοποιεί HTTPS και όχι HTTP. Έλεγξε τη γραμμή διευθύνσεων.
ΣΩΣΤΟ: https://www.example.com/contact
ΛΑΘΟΣ: http://www.example.com/contact
Ψάξε για την ένδειξη ασφάλειας
Στους σύγχρονους browsers, μια ασφαλής σύνδεση HTTPS δείχνει εικονίδιο λουκέτου ή ετικέτα "Secure" στη γραμμή διευθύνσεων. Πάτησέ το για να δεις τις λεπτομέρειες του πιστοποιητικού.
Έλεγξε την εγκυρότητα του πιστοποιητικού
Πάτησε το λουκέτο και δες το πιστοποιητικό. Ψάξε:
- Ισχύει για το domain σου;
- Έχει λήξει;
- Ποιος το εξέδωσε (η αρχή πιστοποίησης);
Χρησιμοποίησε διαδικτυακό εργαλείο ελέγχου SSL
Διαδικτυακά εργαλεία ελέγχου SSL σου επιτρέπουν να γράψεις το domain σου και να πάρεις αναλυτική αναφορά για τη ρύθμιση SSL. Ελέγχουν αν χρησιμοποιείς τα τελευταία πρότυπα κρυπτογράφησης και εντοπίζουν αδυναμίες.
Συνηθισμένα προβλήματα HTTPS και SSL
Προειδοποίηση μικτού περιεχομένου
Η σελίδα της φόρμας σου είναι HTTPS, αλλά κάποιοι πόροι (εικόνες, scripts, stylesheets) φορτώνονται μέσω HTTP. Οι browsers προειδοποιούν τους επισκέπτες ότι η σελίδα δεν είναι πλήρως ασφαλής. Διόρθωσέ το κάνοντας όλους τους πόρους HTTPS.
Ασυμφωνία πιστοποιητικού
Το πιστοποιητικό είναι για το www.example.com αλλά ο επισκέπτης είναι στο example.com (χωρίς www), ή το αντίστροφο. Οι browsers δείχνουν προειδοποίηση ασφαλείας. Διόρθωσέ το με πιστοποιητικό wildcard ή ανακατευθύνοντας τη μία εκδοχή στην άλλη.
Ληγμένο πιστοποιητικό
Το πιστοποιητικό σου έληξε και χρειάζεται ανανέωση. Οι browsers δείχνουν εμφανή προειδοποίηση ασφαλείας. Οι επισκέπτες μπορεί να μην εμπιστευτούν τη φόρμα σου. Ανανέωσε το πιστοποιητικό αμέσως.
Αυτουπογεγραμμένο πιστοποιητικό
Ο server σου χρησιμοποιεί πιστοποιητικό που δημιούργησες μόνος σου αντί για πιστοποιητικό από αξιόπιστη αρχή. Οι browsers δεν το εμπιστεύονται και δείχνουν προειδοποίηση. Μη χρησιμοποιείς ποτέ αυτουπογεγραμμένα πιστοποιητικά σε δημόσιες φόρμες. Αγόρασε ή χρησιμοποίησε πιστοποιητικό από αναγνωρισμένη αρχή.
Το HTTPS δεν είναι μόνο για φόρμες
Κάθε σελίδα της ιστοσελίδας σου πρέπει να χρησιμοποιεί HTTPS, όχι μόνο οι σελίδες με φόρμες. Αυτό προστατεύει όλα τα δεδομένα των επισκεπτών και λέει στη Google ότι η ιστοσελίδα σου είναι ασφαλής. Ανακατεύθυνε όλη την κίνηση HTTP σε HTTPS, ώστε οι επισκέπτες να προστατεύονται πάντα.
Φόρμες στο WEMASY
Στον Δημιουργό ιστοσελίδων του WEMASY μπορείς να προσθέσεις φόρμα στην ιστοσελίδα σου.
Δες τι περιλαμβάνει κάθε πακέτο στη σελίδα τιμών.