Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών.

Όταν θέλετε να επισκεφτείτε έναν ιστότοπο, το πρόγραμμα περιήγησης που χρησιμοποιείτε λαμβάνει ορισμένα δεδομένα από αυτόν τον ιστότοπο. Ως αποτέλεσμα, εμφανίζεται ένας διάλογος μεταξύ της συσκευής σας και του ιστότοπου. Αυτό συμβαίνει με το πρωτόκολλο που ονομάζεται HTTP. Είναι δυνατό να ληφθούν κάποια πρόσθετα μέτρα ασφαλείας με την παρέμβαση σε αυτόν τον διάλογο.

Εάν διαχειρίζεστε έναν ιστότοπο ή στοχεύετε στην καριέρα ως προγραμματιστής ιστού, οι κεφαλίδες ασφαλείας HTTP είναι πολύτιμες για εσάς, επειδή παίζουν ενεργό ρόλο στην ασφάλεια τόσο του χρήστη όσο και του ιστότοπου.

Τι είναι το HTTP Strict-Transport-Security (HSTS);

HTTP Strict Transport Security (HSTS) αναγκάζει τους χρήστες να χρησιμοποιούν HTTPS για κάθε αίτημα που κάνουν στο πρόγραμμα περιήγησής τους. Αυτός είναι ένας σταθερός τρόπος για την καταπολέμηση των επιθέσεων στον κυβερνοχώρο όπως οι υποβαθμίσεις και για τη διασφάλιση της ασφάλειας όλης της κυκλοφορίας.

instagram viewer

Η ενεργοποίηση του HSTS είναι αρκετά εύκολη. Εξετάστε το διάλογο μεταξύ πελάτη και διακομιστή. Όταν προσπαθείτε να αποκτήσετε πρόσβαση σε έναν ιστότοπο μέσω του προγράμματος περιήγησής σας, είστε ο πελάτης. Ο ιστότοπος που θέλετε να ανοίξετε εξαρτάται από τον διακομιστή. Ο στόχος σας είναι να πείτε στον διακομιστή, "Θέλω να ανοίξω αυτόν τον ιστότοπο". Αυτή είναι μια λειτουργία αιτήματος. Ο διακομιστής, από την άλλη πλευρά, σας κατευθύνει στον ιστότοπο εάν πληροίτε τις επιθυμητές προϋποθέσεις.

Λάβετε αυτό υπόψη σχετικά με αυτό το δείγμα επισήμανσης κεφαλίδας HTTP:

Strict-Transport-Security: max-age=16070200;

Όταν προσθέτετε αυτήν τη σημαία στις πληροφορίες κεφαλίδας της απόκρισης HTTP, όλα τα αιτήματα που δημιουργούνται από τον χρήστη θα γίνουν HTTPS. Ό, τι κι αν γράψει ο χρήστης εδώ, το πρόγραμμα περιήγησης θα αξιολογήσει αυτόματα το πρωτόκολλο ως HTTPS και θα δημιουργήσει μια ασφαλή σύνδεση.

Πώς να χρησιμοποιήσετε το HSTS

Αντί να προσθέτετε όλες αυτές τις πληροφορίες κεφαλίδας HTTP στο επίπεδο κώδικα, μπορείτε να το κάνετε σε Apache, IIS, Nginx, Tomcat και άλλες εφαρμογές διακομιστή ιστού.

Για να ενεργοποιήσετε το HSTS στον Apache:

LoadModule headers_module modules/mod_headers.so
<VirtualHost *:443>
Κεφαλίδα πάντα σειράΑυστηρός-Μεταφορά-Ασφάλεια "max-age=2592000; περιλαμβάνειΥποτομείς"
</VirtualHost>

Για να ενεργοποιήσετε το HSTS στο Nginx:

add_header Strict-Transport-Security max-age=2592000; περιλαμβάνει υποτομείς

Για να ενεργοποιήσετε το HSTS με IIS web.config:

<system.webServer>
<httpProtocol>
<customHeaders>
<προσθήκη ονόματος="Αυστηρή-Μεταφορές-Ασφάλεια" αξία="max-age=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Για χρήστες Cloudflare

Το Cloudflare παρέχει δωρεάν υπηρεσία HTTPS για όλους με την υπηρεσία SSL χωρίς κλειδί. πριν υποβάλετε αίτηση για προφόρτωση HSTS, θα πρέπει να γνωρίζετε ότι το πιστοποιητικό σας δεν σας ανήκει. Πολλοί ιστότοποι χρησιμοποιούν πιστοποιητικά SSL γιατί είναι ένας απλός τρόπος για να διατηρείτε τα δεδομένα ασφαλή.

Ωστόσο, Cloudflare τώρα υποστηρίζει τη δυνατότητα HSTS. Μπορείτε να ενεργοποιήσετε όλες τις λειτουργίες HSTS, συμπεριλαμβανομένης της προφόρτωσης, μέσω της διεπαφής ιστού Cloudflare χωρίς να ταλαιπωρηθείτε με τις διαμορφώσεις στον διακομιστή ιστού.

Τι είναι το X-Frame-Options;

Το X-Frame-Options είναι μια κεφαλίδα ασφαλείας που υποστηρίζεται από όλα τα σύγχρονα προγράμματα περιήγησης. Το X-Frame-Options στοχεύει στην προστασία από κλοπή κλικ όπως το Clickjacking. Όπως υποδηλώνει το όνομα, πρόκειται για τη λειτουργία ενός ευάλωτου ενσωματωμένου πλαισίου, γνωστό και ως iframe. Αυτά είναι στοιχεία σε έναν ιστότοπο που ενσωματώνουν μια άλλη σελίδα HTML στον "γονικό" ιστότοπο, ώστε να μπορείτε να χρησιμοποιήσετε περιεχόμενο από άλλες πηγές στον ιστότοπό σας. Ωστόσο, οι εισβολείς χρησιμοποιούν iframes υπό τον έλεγχό τους για να κάνουν τους χρήστες να πραγματοποιήσουν ενέργειες που δεν θέλουν.

Για αυτόν τον λόγο, πρέπει να αποτρέψετε τους εισβολείς από το να μπορούν να βρουν iframes στον ιστότοπο.

Πού και πώς να χρησιμοποιήσετε τις επιλογές X-Frame;

Αυτό που κάνει το X-Frame-Options, ορισμένοι προγραμματιστές προσπαθούν να κάνουν με γλώσσες όπως η JavaScript. Αυτό δεν είναι εντελώς λάθος. Ωστόσο, εξακολουθεί να υπάρχει κίνδυνος επειδή οι κώδικες που γράφονται από πολλές απόψεις δεν επαρκούν. Επομένως, θα ήταν συνετό να αφήσετε αυτήν την εργασία στο πρόγραμμα περιήγησης που χρησιμοποιείτε.

Ωστόσο, ως προγραμματιστής, υπάρχουν τρεις παράμετροι που πρέπει να γνωρίζετε για τις X-Frame-Options:

  • Αρνούμαι: Αποτρέψτε εντελώς την κλήση της σελίδας σε οποιοδήποτε iframe.
  • ΙΔΙΑ ΚΑΤΑΓΩΓΗ: Αποτρέψτε την κλήση οποιουδήποτε τομέα εκτός του δικού σας εντός του iframe.
  • ΕΠΙΤΡΕΠΩ-ΑΠΟ ουρι: Αποδοχή κλήσεων iframe του URI που δίνονται ως παράμετροι. Αποκλεισμός άλλων.

Εδώ, το ΙΔΙΑ ΚΑΤΑΓΩΓΗ χαρακτηριστικό ξεχωρίζει περισσότερο. Επειδή, ενώ μπορείτε να καλέσετε εφαρμογές στους διαφορετικούς υποτομείς σας με iframes μεταξύ τους, μπορείτε να αποτρέψετε την κλήση τους στον τομέα που βρίσκεται υπό τον έλεγχο του εισβολέα.

Ακολουθούν παραδείγματα για το πώς μπορείτε να χρησιμοποιήσετε το SAMEORIGIN και το X-Frame-Options με τα NGINX, Apache και IIS:

Χρήση X-Frame-Options SAMEORIGIN για Nginx:

add_header X-Frame-Options SAMEORIGIN;

Χρήση X-Frame-Options SAMEORIGIN για Apache:

Η κεφαλίδα προσαρτά πάντα X-Frame-Options SAMEORIGIN

Χρήση X-Frame-Options SAMEORIGIN για υπηρεσίες IIS:

<httpProtocol>
<customHeaders>
<προσθήκη ονόματος="X-Frame-Options" αξία="ΙΔΙΑ ΚΑΤΑΓΩΓΗ" />
</customHeaders>
</httpProtocol>

Η απλή προσθήκη της κεφαλίδας SAMEORIGIN θα παρέχει μεγαλύτερη ασφάλεια στους επισκέπτες σας.

Τι είναι το X-XSS-Protection;

Η χρήση πληροφοριών κεφαλίδας X-XSS-Protection μπορεί να προστατεύσει τους χρήστες από επιθέσεις XSS. Πρώτον, πρέπει να εξαλείψετε Ευπάθειες XSS στην πλευρά της εφαρμογής. Μετά την παροχή ασφάλειας βάσει κώδικα, απαιτούνται περαιτέρω μέτρα, π.χ. κεφαλίδες X-XSS-Protection, έναντι των ευπαθειών XSS στα προγράμματα περιήγησης.

Πώς να χρησιμοποιήσετε το X-XSS-Protection

Τα σύγχρονα προγράμματα περιήγησης μπορούν να εντοπίσουν πιθανά ωφέλιμα φορτία XSS φιλτράροντας περιεχόμενο που δημιουργείται από εφαρμογές. Είναι δυνατή η ενεργοποίηση αυτής της δυνατότητας με τις πληροφορίες κεφαλίδας X-XSS-Protection.

Για να ενεργοποιήσετε την κεφαλίδα X-XSS-Protection στο Nginx:

add_header X-Frame-X-XSS-Protection 1;

Για να ενεργοποιήσετε την κεφαλίδα X-XSS-Protection στον Apache:

Η κεφαλίδα προσαρτά πάντα το X-XSS-Protection 1

Για να ενεργοποιήσετε την κεφαλίδα X-XSS-Protection στο IIS:

<httpProtocol>
<customHeaders>
<προσθήκη ονόματος="X-XSS-Προστασία" αξία="1" />
</customHeaders>
</httpProtocol>

Για να αποτρέψετε την εκτέλεση του μπλοκ κώδικα με επίθεση XSS από προεπιλογή, μπορείτε να χρησιμοποιήσετε κάτι σαν αυτό:

X-XSS-Προστασία: 1; λειτουργία=μπλοκ

Αυτή η μικρή αλλαγή πρέπει να γίνει εάν υπάρχει μια δυνητικά επικίνδυνη κατάσταση και θέλετε να αποτρέψετε την απόδοση όλου του περιεχομένου.

Τι είναι οι X-Content-Type-Options;

Τα προγράμματα περιήγησης εκτελούν μια ανάλυση που ονομάζεται MIME Type Sniffing σε περιεχόμενο που τους παρουσιάζεται από την εφαρμογή Ιστού. Για παράδειγμα, εάν υπάρχει αίτημα για πρόσβαση σε ένα αρχείο PDF ή αρχείο PNG, τα προγράμματα περιήγησης που εκτελούν ανάλυση της απόκρισης HTTP συμπεραίνουν τον τύπο αρχείου.

Σκεφτείτε ένα αρχείο με επέκταση jpeg αλλά το οποίο στην πραγματικότητα έχει περιεχόμενο Κείμενο/HTML. Αφού χρησιμοποιήσετε τις επεκτάσεις και τις προστασίες μεταφοράς στη μονάδα μεταφόρτωσης, το αρχείο μεταφορτώθηκε με επιτυχία. Το μεταφορτωμένο αρχείο καλείται μέσω της διεύθυνσης URL και το MIME Type sniffing επιστρέφει Κείμενο/HTML ως αποτέλεσμα. Αποδίδει το περιεχόμενο ως HTML. Τότε εμφανίζεται η ευπάθεια XSS.

Επομένως, πρέπει να αποτρέψετε τα προγράμματα περιήγησης από το να αποφασίζουν για το περιεχόμενο μέσω του MIME Type Sniffing. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το nosniff.

Κεφαλίδα X-Content-Type-Options για Nginx:

add_header X-Content-Type-Options nosniff;

Κεφαλίδα X-Content-Type-Options για Apache:

Κεφαλίδα πάντα X-Content-Type-Options nosniff

Κεφαλίδα X-Content-Type-Options για τις υπηρεσίες IIS:

<httpProtocol>
<customHeaders>
<προσθήκη ονόματος="X-Content-Type-Options" αξία="μυρμηγκιά" />
</customHeaders>
</httpProtocol>

Τι είναι η σημαία cookie HttpOnly;

Οι εφαρμογές Ιστού παρακολουθούν τις συνεδρίες των χρηστών μέσω του αναγνωριστικού περιόδου σύνδεσης. Τα προγράμματα περιήγησης θα το αποθηκεύσουν και θα το προσθέσουν αυτόματα σε κάθε αίτημα HTTP εντός του πεδίου εφαρμογής του cookie.

Είναι δυνατόν να χρησιμοποιεί cookies για σκοπούς εκτός από τη μεταφορά του κλειδιού συνεδρίας, ωστόσο. Οι χάκερ θα μπορούσαν να ανακαλύψουν δεδομένα χρήστη χρησιμοποιώντας την προαναφερθείσα ευπάθεια XSS ή μέσω επίθεσης πλαστογράφησης αιτημάτων μεταξύ ιστότοπων (CSRF). Ποια cookies είναι λοιπόν πιο σημαντικά όσον αφορά την ασφάλεια;

Μπορείτε να θεωρήσετε τις πληροφορίες που περιέχονται στην τελευταία εικόνα στην οποία κάνατε κλικ στη συλλογή εικόνων ως παράδειγμα. Με αυτόν τον τρόπο, η επισκεψιμότητα HTTP είναι λιγότερη και ένα μέρος του φορτίου μπορεί να επιλυθεί από το πρόγραμμα περιήγησης στο διαδίκτυο του χρήστη με δέσμες ενεργειών από την πλευρά του πελάτη.

Εκεί είναι που HttpOnly Έρχεται σε. Ακολουθεί ένα παράδειγμα του πώς θα πρέπει να είναι η εκχώρηση cookie:

Σειρά-Κουλουράκι: χρήστης=t=cdabe8a1c2153d726; μονοπάτι=/; HttpOnly

Παρατηρήστε την τιμή HttpOnly που αποστέλλεται στο Set-Cookie λειτουργία. Το πρόγραμμα περιήγησης θα το δει και δεν θα επεξεργάζεται τιμές με τη σημαία HttpOnly όταν γίνεται πρόσβαση στο cookie μέσω του έγγραφο.cookie μεταβλητός. Μια άλλη σημαία που χρησιμοποιείται στη διαδικασία Set-Cookie είναι η σημαία Secure. Αυτό υποδηλώνει ότι η τιμή του cookie θα προστεθεί στην κεφαλίδα μόνο για αιτήματα HTTPS. Οι ιστότοποι ηλεκτρονικού εμπορίου το χρησιμοποιούν συνήθως επειδή θέλουν να μειώσουν την κίνηση του δικτύου και να αυξήσουν την απόδοση.

Χρησιμοποιώντας αυτήν τη μέθοδο, μπορείτε να αποκρύψετε τα κρίσιμα δεδομένα των χρηστών, όπως ονόματα χρήστη, κωδικούς πρόσβασης και πληροφορίες πιστωτικής κάρτας. Υπάρχει όμως ένα πρόβλημα. Στους χρήστες που ολοκληρώνουν τη διαδικασία σύνδεσης εκχωρείται μια τιμή cookie χωρίς τη σημαία Secure. Ο χρήστης μπορεί να έχει το κλειδί περιόδου λειτουργίας όταν κάνει ένα αίτημα HTTP σε συνδέσμους που δεν είναι HTTPS. Η προσθήκη της ασφαλούς σημαίας είναι εύκολη:

Σειρά-Κουλουράκι: χρήστης=t=cdabe8a1c2153d726; μονοπάτι=/; Ασφαλής

Πότε δεν πρέπει να χρησιμοποιείτε το HttpOnly; Εάν βασίζεστε σε Javascript, θα πρέπει να είστε προσεκτικοί καθώς αυτό μπορεί να κάνει τον ιστότοπό σας λιγότερο ασφαλή.

Τα μικρά βήματα λειτουργούν για την ευρύτερη ασφάλεια Ιστού

Δεν χρειάζεστε προηγμένες γνώσεις λογισμικού και διακομιστή για να αυξήσετε την ασφάλεια των διαδικτυακών εφαρμογών. Αλλάζοντας μόνο μερικές γραμμές, μπορείτε να αποτρέψετε ορισμένες σοβαρές επιθέσεις. Αυτό βέβαια δεν αρκεί. Ωστόσο, είναι ένα μικρό αλλά αποτελεσματικό βήμα για την ασφάλεια της ιστοσελίδας. Η γνώση είναι η καλύτερη πρόληψη, επομένως είναι επίσης χρήσιμο να γνωρίζετε τις λεπτές αποχρώσεις του τρόπου με τον οποίο το HTTPS προστατεύει τα δεδομένα κατά τη μεταφορά.