Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

HSTS και κεφαλίδες ασφαλείας για τον ιστότοπό σας

Με κάθε σελίδα, ο web server σας στέλνει και headers: σύντομες γραμμές με οδηγίες για τον browser. Αυτές καθορίζουν εν μέρει πόσο ασφαλή χειρίζεται ο browser την ιστοσελίδα σας. Εδώ θα διαβάσετε τι είναι το HSTS, ποιες άλλες κεφαλίδες ασφαλείας υπάρχουν και πώς τις ρυθμίζετε και τις ελέγχετε.

Πρώτα η ιστοσελίδα σας πρέπει να διαθέτει ένα πιστοποιητικό που λειτουργεί και να ανακατευθύνει τους επισκέπτες σε https. Αυτό το διαβάζετε στα άρθρα Ενεργοποίηση και ανανέωση πιστοποιητικού SSL και επίλυση προβλημάτων και Υποχρεωτική ανακατεύθυνση επισκεπτών σε https.

Τι κάνει το HSTS;

Η ανακατεύθυνση σε https έχει ένα αδύναμο σημείο: το πρώτο αίτημα μέσω http αποστέλλεται ακόμη χωρίς κρυπτογράφηση. Κάποιος στο ίδιο δίκτυο, για παράδειγμα σε δημόσιο wifi, μπορεί να υποκλέψει αυτό το αίτημα. Το HSTS (HTTP Strict Transport Security) λύνει αυτό το πρόβλημα. Η ιστοσελίδα σας στέλνει μέσω https την εξής κεφαλίδα:

Strict-Transport-Security: max-age=31536000

Ο browser θυμάται τότε ότι επιτρέπεται να ανοίγει την ιστοσελίδα σας μόνο μέσω https. Αν αργότερα ένας επισκέπτης πληκτρολογήσει http://, ο browser το μετατρέπει ο ίδιος σε https, πριν ακόμη σταλεί οτιδήποτε στο δίκτυο. Μια κεφαλίδα HSTS που φτάνει μέσω απλού http αγνοείται από τον browser.

ΣτοιχείοΣημασία
max-ageΓια πόσο χρόνο το θυμάται ο browser, σε δευτερόλεπτα. Ο έλεγχος του internet.nl θεωρεί επαρκές τουλάχιστον ένα έτος (31536000).
includeSubDomainsΙσχύει επίσης για όλα τα subdomains, όπως shop.yourdomain.nl και mail.yourdomain.nl.
preloadΖητάτε την καταχώριση στη λίστα που είναι ενσωματωμένη στους browsers (hstspreload.org). Τότε προστατεύεται ακόμη και η πρώτη επίσκεψη. Για αυτό απαιτούνται, μεταξύ άλλων, ένα έτος, includeSubDomains και https σε όλα τα subdomains. Η αφαίρεση από τη λίστα διαρκεί πολύ.
max-age=0Διαγράφει την αποθηκευμένη οδηγία, κατά την επόμενη επίσκεψη μέσω https.
Ενεργοποιήστε το HSTS μόνο όταν το https λειτουργεί παντού. Αν ένας browser έχει αποθηκεύσει το HSTS και εμφανιστεί σφάλμα πιστοποιητικού, ο επισκέπτης δεν έχει κουμπί για να συνεχίσει παρ' όλα αυτά. Αν το πιστοποιητικό σας λήξει ή δεν είναι σωστό για το www, η ιστοσελίδα σας δεν είναι προσβάσιμη για αυτούς τους επισκέπτες μέχρι να λυθεί το πρόβλημα. Με includeSubDomains αυτό ισχύει και για κάθε subdomain, όπως μια παλιά σελίδα κάμερας ή εκτυπωτή χωρίς πιστοποιητικό. Γι' αυτό προχωρήστε σταδιακά: ξεκινήστε με σύντομο max-age, για παράδειγμα μία ημέρα (86400), ελέγξτε ότι όλα λειτουργούν και αυξήστε το βήμα βήμα έως ένα έτος.

Το HSTS στη WebOké

Στους περισσότερους servers μας, ο web server στέλνει από προεπιλογή HSTS για κάθε ιστοσελίδα που ανοίγει μέσω https: Strict-Transport-Security: max-age=31536000. Αυτό αντιστοιχεί σε ένα έτος, χωρίς includeSubDomains και χωρίς preload. Δεν χρειάζεται να κάνετε τίποτα γι' αυτό. Σε λίγους servers δεν είναι ενεργοποιημένο από προεπιλογή· εκεί το ενεργοποιείτε μόνοι σας. Αν η ιστοσελίδα σας στέλνει ήδη HSTS και με ποιο max-age, μπορείτε να το δείτε στα εργαλεία προγραμματιστή του browser σας ή στον έλεγχο του internet.nl (δείτε παρακάτω).

Ο διακόπτης HSTS στο DirectAdmin

Στο DirectAdmin μεταβείτε στο Domains και κάντε κλικ στο όνομα του domain σας. Αν είναι ενεργοποιημένο το Secure SSL, θα δείτε στο HSTS τον διακόπτη Enable HTTP Strict Transport Security. Στη συνέχεια κάντε κλικ στο Save για αποθήκευση. Πώς γίνεται αυτό βήμα βήμα, διαβάστε στο άρθρο Ανακατεύθυνση επισκεπτών πάντα σε https.

Αν η ιστοσελίδα σας στέλνει ήδη HSTS, δεν χρειάζεστε τον διακόπτη. Ενεργοποιήστε τον μόνο αν η ιστοσελίδα σας δεν στέλνει ακόμη HSTS. Ρυθμίστε το HSTS σε ένα μόνο σημείο: στο DirectAdmin ή στο .htaccess, όχι και στα δύο. Αν ο browser λάβει δύο κεφαλίδες HSTS, χρησιμοποιεί μόνο την πρώτη.

Οι υπόλοιπες κεφαλίδες ασφαλείας

ΚεφαλίδαΠροστασία απόΤιμή για αρχή
X-Content-Type-OptionsΟ browser μαντεύει μόνος του τι είδους αρχείο είναι κάτι, με αποτέλεσμα μια ανεβασμένη «εικόνα» να μπορεί να εκτελεστεί ως script.nosniff (η μόνη έγκυρη τιμή)
Content-Security-Policy: frame-ancestors ή X-Frame-OptionsClickjacking: μια άλλη ιστοσελίδα φορτώνει αόρατα τη σελίδα σας σε ένα frame, ώστε οι επισκέπτες να κάνουν κλικ στα κουμπιά σας χωρίς να το αντιληφθούν.frame-ancestors 'self', ή η παλαιότερη κεφαλίδα X-Frame-Options: SAMEORIGIN
Referrer-PolicyΌταν γίνεται κλικ προς άλλη ιστοσελίδα, ο browser στέλνει τη διεύθυνση της προηγούμενης σελίδας, μερικές φορές με όρο αναζήτησης ή αριθμό παραγγελίας.strict-origin-when-cross-origin, ή αυστηρότερα same-origin ή no-referrer. Το internet.nl θεωρεί σωστές μόνο τις αυστηρές τιμές.
Permissions-PolicyΚαθορίζει ποιες λειτουργίες του browser μπορούν να χρησιμοποιούν η σελίδα σας και τα ενσωματωμένα frames, όπως κάμερα, μικρόφωνο και τοποθεσία.Το camera=(), microphone=(), geolocation=() απενεργοποιεί αυτές τις τρεις. Αν η ιστοσελίδα σας χρησιμοποιεί κάποια από αυτές τις λειτουργίες, παραλείψτε την.
Content-Security-Policy (πλήρης)Περιορίζει από ποιες πηγές επιτρέπεται να φορτώνονται scripts, styles και εικόνες. Έτσι γίνεται πολύ δυσκολότερη η εισαγωγή κακόβουλων scripts (XSS).Εξατομικευμένη για κάθε ιστοσελίδα. Αποφύγετε τα unsafe-inline, unsafe-eval και τα wildcards.

Ρύθμιση στο .htaccess

Τοποθετήστε αυτές τις γραμμές στην αρχή του αρχείου .htaccess στον φάκελο public_html του domain σας. Δημιουργήστε πρώτα ένα αντίγραφο του αρχείου.

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Content-Security-Policy "frame-ancestors 'self'"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
  # Μόνο αν η ιστοσελίδα σας δεν στέλνει ακόμη HSTS (δείτε παραπάνω):
  # Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>

Προσθέστε το includeSubDomains μόνο όταν είστε βέβαιοι ότι κάθε subdomain διαθέτει https. Αν χρησιμοποιείτε WordPress, μπορείτε να ρυθμίσετε τις κεφαλίδες και με ένα plugin. Επιλέξτε ένα γνωστό plugin που ενημερώνεται ακόμη και ρυθμίστε κάθε κεφαλίδα σε ένα μόνο σημείο: στο plugin ή στο .htaccess.

Μια πλήρης Content-Security-Policy μπορεί να χαλάσει την ιστοσελίδα σας: ένας υπερβολικά αυστηρός κανόνας μπλοκάρει για παράδειγμα τα στατιστικά σας, το κουμπί πληρωμής, ένα ενσωματωμένο βίντεο ή το παράθυρο chat. Δοκιμάστε την πρώτα με την κεφαλίδα Content-Security-Policy-Report-Only. Αυτή δεν μπλοκάρει τίποτα, αλλά δείχνει στην κονσόλα του browser τι θα μπλοκαριζόταν. Σε περίπτωση αμφιβολίας, αφήστε το στον κατασκευαστή της ιστοσελίδας σας ή ξεκινήστε μόνο με το frame-ancestors.

Σε VPS με nginx ή Caddy

Σε ένα VPS δεν χρησιμοποιείτε DirectAdmin και συχνά ούτε .htaccess. Σε αυτή την περίπτωση ορίζετε τις κεφαλίδες στις ρυθμίσεις του web server σας. Κανένας από τους δύο δεν στέλνει αυτόματα HSTS ή αυτές τις κεφαλίδες.

nginx: στο μπλοκ server για τη θύρα 443:

add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "frame-ancestors 'self'" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Με το always οι κεφαλίδες αποστέλλονται και στις σελίδες σφάλματος. Προσοχή: αν ένα μπλοκ location περιέχει δικό του add_header, οι κανόνες του μπλοκ server δεν ισχύουν πλέον για αυτό το location. Επαναλάβετέ τους εκεί ή τοποθετήστε τους σε ξεχωριστό αρχείο που εισάγετε παντού με include. Ελέγξτε τις ρυθμίσεις με nginx -t και φορτώστε τις με systemctl reload nginx.

Caddy: στο μπλοκ της ιστοσελίδας σας στο Caddyfile:

header {
	Strict-Transport-Security "max-age=31536000"
	X-Content-Type-Options "nosniff"
	Content-Security-Policy "frame-ancestors 'self'"
	Referrer-Policy "strict-origin-when-cross-origin"
}

Φορτώστε την αλλαγή με systemctl reload caddy. Για τη δημιουργία μιας ιστοσελίδας με nginx ή Caddy, δείτε τα άρθρα nginx με πιστοποιητικό από το Let's Encrypt και Caddy: ιστοσελίδα με αυτόματο https στον οδηγό VPS.

Έλεγχος

  • Internet.nl: εισαγάγετε το domain σας στον έλεγχο ιστοσελίδας στο internet.nl.
  • Ο browser σας: ανοίξτε την ιστοσελίδα σας, πατήστε F12 (ή επιλέξτε Επιθεώρηση), μεταβείτε στην καρτέλα Δίκτυο, φορτώστε ξανά τη σελίδα και κάντε κλικ στο πρώτο αίτημα. Στην ενότητα Κεφαλίδες απόκρισης (Response Headers) βλέπετε όλα όσα στέλνει ο server σας.
  • Η γραμμή εντολών: η εντολή curl -sI https://yourdomain.nl/ εμφανίζει τις κεφαλίδες.

Μετά από κάθε αλλαγή, ελέγξτε ότι η ιστοσελίδα, οι φόρμες και η σελίδα πληρωμής σας εξακολουθούν να λειτουργούν. Επιπλέον, διατηρείτε ενημερωμένα το CMS, τα plugins και τα themes σας. Δείτε το άρθρο Προστασία του wp-login.php του WordPress.

Περισσότερες πληροφορίες

Θέλετε να μάθετε περισσότερα; Παρακολουθήστε το δωρεάν μάθημα Ασφάλεια στο διαδίκτυο για επιχειρηματίες, ενότητα 4.2 Η ιστοσελίδα σας: https, HSTS και κεφαλίδες ασφαλείας, ή το δωρεάν μάθημα WordPress, ενότητα 7.4 Θωράκιση της ιστοσελίδας: δικαιώματα, κεφαλίδες και plugins ασφαλείας.

Ήταν χρήσιμο αυτό το άρθρο;

← Επιστροφή σε DirectAdmin και πίνακας ελέγχου WebOké

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…