Τι είναι οι κεφαλίδες ασφαλείας HTTP και πώς τις χρησιμοποιείτε;

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

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





ΚΑΤΑΣΚΕΥΗ ΒΙΝΤΕΟ ΤΗΣ ΗΜΕΡΑΣ

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





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

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





Η ενεργοποίηση του 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>
Header always set Strict-Transport-Security "max-age=2592000; includeSubDomains"
</VirtualHost>

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





add_header Strict-Transport-Security max-age=2592000; includeSubdomains 

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

<system.webServer> 
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Για χρήστες Cloudflare

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

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

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

  Αύξηση της ασφάλειας του ιστότοπου με κεφαλίδες HTTP

Το 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:

chrome: // flags/#enable-ntp-remote-προτάσεις
Header always append X-Frame-Options SAMEORIGIN 

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

<httpProtocol> 
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>

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

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

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

πόσο κοστίζει η αναβάθμιση από τα windows 10 home σε pro

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

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

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

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

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

Header always append X-XSS-Protection 1 

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

<httpProtocol> 
<customHeaders>
<add name="X-XSS-Protection" value="1" />
</customHeaders>
</httpProtocol>

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

X-XSS-Protection: 1; mode=block 

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

Τι είναι οι 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:

Header always X-Content-Type-Options nosniff 

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

<httpProtocol> 
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
</customHeaders>
</httpProtocol>

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

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

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

  Χρήση κεφαλίδων HTTP για την προστασία εμπιστευτικών πληροφοριών στον ιστότοπο

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

Set-Cookie: user=t=cdabe8a1c2153d726; path=/; HttpOnly 

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

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

Set-Cookie: user=t=cdabe8a1c2153d726; path=/; Secure 

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

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

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