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

Ρυθμίσεις 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

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

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

Προβολή

Σύνδεση: κωδικοί πρόσβασης, έλεγχος ταυτότητας δύο παραγόντων και brute force

Ενότητα 7: Ασφάλεια · Χρόνος ανάγνωσης: 9 λεπτά

Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να προστατεύσετε τη σύνδεση στον ιστότοπό σας με ισχυρούς κωδικούς πρόσβασης, έλεγχο ταυτότητας δύο παραγόντων και περιορισμό των προσπαθειών σύνδεσης, και θα γνωρίζετε τι είναι το xmlrpc.php.

Βασικές έννοιες: διαχειριστής κωδικών πρόσβασης, φράση πρόσβασης, μοναδικός κωδικός πρόσβασης, έλεγχος ταυτότητας δύο παραγόντων (2FA, TOTP), passkey, brute force, περιορισμός προσπαθειών σύνδεσης, wp-login.php με βάση τη διεύθυνση IP, xmlrpc.php, ονόματα χρήστη που διαρρέουν (REST, ?author=), κωδικοί πρόσβασης εφαρμογών

Ο κωδικός πρόσβασης: μακρύς και μοναδικός

Ένας καλός κωδικός πρόσβασης έχει δύο χαρακτηριστικά:

  1. Μακρύς: το μήκος μετράει περισσότερο από τους παράξενους χαρακτήρες. Μια φράση πρόσβασης από τέσσερις ή πέντε τυχαίες λέξεις (κόσκινο-πιγκουίνος-οκτώβριος-φανάρι) είναι πιο ισχυρή και πιο εύκολη να θυμηθείτε από το W8w00rd!. Η ολλανδική κυβερνητική εκστρατεία Veilig Internetten συνιστά έναν μοναδικό κωδικό πρόσβασης τουλάχιστον 12 χαρακτήρων, κατά προτίμηση μια φράση πρόσβασης.
  2. Μοναδικός: να μη χρησιμοποιείται πουθενά αλλού. Το credential stuffing (μάθημα 7.1) λειτουργεί μόνο όταν επαναχρησιμοποιείτε έναν κωδικό πρόσβασης.

Κανείς δεν θυμάται δεκάδες μακρούς μοναδικούς κωδικούς πρόσβασης. Γι' αυτό χρησιμοποιήστε έναν διαχειριστή κωδικών πρόσβασης: ένα πρόγραμμα που τους δημιουργεί, τους αποθηκεύει και τους συμπληρώνει για εσάς. Έτσι χρειάζεται να θυμάστε μόνο έναν: αυτόν του ίδιου του διαχειριστή, τον οποίο προστατεύετε επίσης με έλεγχο ταυτότητας δύο παραγόντων.

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

Έλεγχος ταυτότητας δύο παραγόντων

Με τον έλεγχο ταυτότητας δύο παραγόντων (2FA) χρειάζεστε κατά τη σύνδεση, εκτός από τον κωδικό πρόσβασης, κάτι επιπλέον: συνήθως έναν εξαψήφιο κωδικό από μια εφαρμογή στο τηλέφωνό σας (έναν authenticator, σύμφωνα με το πρότυπο TOTP). Ένας εισβολέας με τον κωδικό πρόσβασής σας δεν μπορεί τότε ακόμα να μπει.

Το WordPress δεν διαθέτει ενσωματωμένο έλεγχο ταυτότητας δύο παραγόντων. Τον προσθέτετε με ένα πρόσθετο. Υπάρχουν πολλά· ένα απλό είναι το Two Factor, που έχει δημιουργηθεί από συνεισφέροντες στο ίδιο το WordPress. Και τα πρόσθετα ασφαλείας το διαθέτουν συχνά. Κατά την επιλογή, προσέξτε:

  • εφαρμογές TOTP και κωδικούς εφεδρείας (για την περίπτωση που χάσετε το τηλέφωνό σας)· οι κωδικοί μέσω email είναι πιο αδύναμοι, επειδή και το γραμματοκιβώτιό σας μπορεί να παραβιαστεί·
  • δυνατότητα να γίνει υποχρεωτικό για διαχειριστές και συντάκτες·
  • passkeys: σύνδεση με το δακτυλικό σας αποτύπωμα, το πρόσωπό σας ή ένα κλειδί ασφαλείας, χωρίς κωδικό πρόσβασης. Υπάρχουν και πρόσθετα γι' αυτό. Τα passkeys είναι ανθεκτικά στο phishing, επειδή λειτουργούν μόνο στον πραγματικό ιστότοπο.

Ενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων και σε όλα όσα βρίσκονται γύρω από τον ιστότοπό σας: το πάνελ φιλοξενίας σας, το email σας, τον καταχωρητή domain σας και τον διαχειριστή κωδικών πρόσβασής σας. Ένας εισβολέας που αναλαμβάνει το πάνελ φιλοξενίας σας δεν χρειάζεται τον κωδικό πρόσβασης του WordPress σας.

Brute force και περιορισμός προσπαθειών σύνδεσης

Ένας ανοιχτός ιστότοπος WordPress δέχεται όλη την ημέρα προσπάθειες σύνδεσης στο wp-login.php, συχνά με το όνομα χρήστη admin και λίστες συχνά χρησιμοποιούμενων κωδικών πρόσβασης. Με έναν μακρύ κωδικό πρόσβασης και 2FA δεν μπαίνουν μέσα, αλλά κάθε προσπάθεια κοστίζει υπολογιστική ισχύ στον server σας (μια πλήρη εκκίνηση του WordPress). Σε ένα μεγάλο κύμα, ο ιστότοπός σας γίνεται αργός.

Το ίδιο το WordPress δεν περιορίζει τον αριθμό των προσπαθειών. Αυτό που βοηθά, με σειρά «νωρίς σταματημένο»:

  1. Στον server: πολλοί πάροχοι φιλοξενίας μπλοκάρουν μια διεύθυνση IP που κάνει πολλές αποτυχημένες προσπάθειες σε σύντομο χρονικό διάστημα, ακόμα πριν ξεκινήσει το WordPress (με ένα firewall ή μια λειτουργία του webserver). Ρωτήστε τον πάροχο φιλοξενίας σας τι συμβαίνει.
  2. Το wp-login.php μόνο για τη δική σας διεύθυνση IP: με λίγες γραμμές στο .htaccess (σε LiteSpeed και Apache):
<Files wp-login.php>
Require ip 192.0.2.10
</Files>

Αυτό λειτουργεί καλά αν έχετε σταθερή διεύθυνση IP. Αν δεν έχετε (από το σπίτι, από το τηλέφωνό σας), τότε αποκλείετε τον εαυτό σας όταν αλλάζει η διεύθυνσή σας. Μια εναλλακτική είναι ένας επιπλέον κωδικός πρόσβασης στη σελίδα σύνδεσης (ένας «προστατευμένος φάκελος», basic authentication) με διαφορετικό κωδικό πρόσβασης από τον κωδικό πρόσβασης του WordPress σας.

  1. Ένα πρόσθετο που περιορίζει τις προσπάθειες: μετά από πέντε αποτυχημένες προσπάθειες, η διεύθυνση IP μπλοκάρεται για κάποιο διάστημα. Λειτουργεί, αλλά μόνο αφού το WordPress έχει ήδη ξεκινήσει, οπότε η υπολογιστική επιβάρυνση παραμένει.

Η απόκρυψη ή η μετονομασία της σελίδας σύνδεσης (για παράδειγμα /mijn-login αντί για /wp-login.php) μειώνει τον θόρυβο στο αρχείο καταγραφής σας. Δεν αποτελεί πραγματική ασφάλεια, και ορισμένα πρόσθετα και θέματα εμφάνισης αναμένουν την προεπιλεγμένη διεύθυνση. Εντάξει ως επιπλέον μέτρο, ποτέ αντί για έναν καλό κωδικό πρόσβασης και 2FA.

xmlrpc.php

Το xmlrpc.php είναι μια παλιά σύνδεση από την εποχή πριν από το REST API, μέσω της οποίας εφαρμογές και άλλοι ιστότοποι επικοινωνούν με το WordPress. Χρησιμοποιείται ακόμα από ορισμένες εφαρμογές, από το Jetpack και από μερικές συνδέσεις. Για τους περισσότερους ιστότοπους είναι περιττό.

Οι εισβολείς αγαπούν το xmlrpc.php, επειδή μπορείτε να δοκιμάσετε εκατοντάδες κωδικούς πρόσβασης ταυτόχρονα σε ένα μόνο αίτημα (με τη συνάρτηση system.multicall), και επειδή μπορεί να χρησιμοποιηθεί καταχρηστικά για επιθέσεις σε άλλους ιστότοπους (pingbacks). Τι κάνετε:

  • Δεν τον χρησιμοποιείτε: μπλοκάρετέ τον. Ορισμένοι πάροχοι φιλοξενίας, μεταξύ αυτών και το WebOké, μπλοκάρουν το xmlrpc.php εξ ορισμού στον server. Διαφορετικά, με μια γραμμή στο .htaccess ή με ένα πρόσθετο ασφαλείας.
  • Τον χρησιμοποιείτε (για παράδειγμα για μια εφαρμογή που τον χρειάζεται): αφήστε τον ανοιχτό, αλλά φροντίστε για ισχυρούς κωδικούς πρόσβασης, 2FA και περιορισμό προσπαθειών. Οι σύγχρονες εφαρμογές χρησιμοποιούν συνήθως το REST API με κωδικό πρόσβασης εφαρμογής (μάθημα 3.3).

Ονόματα χρήστη που διαρρέουν

Στο μάθημα 3.3 είδατε ότι το WordPress εμφανίζει μια παράγωγη μορφή των ονομάτων χρήστη:

  • το https://example.com/?author=1 ανακατευθύνει στο /author/<naam>/·
  • το https://example.com/wp-json/wp/v2/users εμφανίζει μια λίστα με τα slugs όλων όσων έχουν δημοσιεύσει κάτι.

Είναι σοβαρό αυτό; Ένα όνομα χρήστη δεν είναι κωδικός πρόσβασης. Με έναν μακρύ μοναδικό κωδικό πρόσβασης και 2FA, δεν έχει μεγάλη σημασία. Όμως δίνει σε έναν εισβολέα τα μισά στοιχεία σύνδεσης και διευκολύνει το στοχευμένο phishing. Λογικά μέτρα:

  • δώστε στους διαχειριστές ένα όνομα χρήστη που δεν είναι το δημόσιο όνομά τους, και μη δημοσιεύετε με λογαριασμό διαχειριστή (μάθημα 3.3)·
  • περιορίστε τη λίστα χρηστών στο REST API με ένα πρόσθετο ασφαλείας ή λίγες γραμμές κώδικα, αν δεν τη χρειάζεστε. Μην κλείνετε εντελώς το REST API: ο επεξεργαστής μπλοκ και πολλά πρόσθετα το χρειάζονται.

Κωδικοί πρόσβασης εφαρμογών

Οι κωδικοί πρόσβασης εφαρμογών (μάθημα 3.3) αποτελούν έναν ασφαλή τρόπο για να δώσετε πρόσβαση σε μια εφαρμογή ή σύστημα, όμως παρακάμπτουν τον έλεγχο ταυτότητας δύο παραγόντων σας: μια εφαρμογή με κωδικό πρόσβασης εφαρμογής δεν χρειάζεται κωδικό. Δημιουργήστε τους μόνο όταν είναι απαραίτητο, σε λογαριασμό με χαμηλό ρόλο, και ανακαλέστε τους όταν δεν χρησιμοποιείτε πλέον τη σύνδεση.

Σύνοψη

  • Χρησιμοποιείτε μακρούς, μοναδικούς κωδικούς πρόσβασης (φράσεις πρόσβασης) σε έναν διαχειριστή κωδικών πρόσβασης.
  • Ενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων, με ένα πρόσθετο στο WordPress και επίσης στο πάνελ φιλοξενίας σας, στο email σας και στον καταχωρητή domain σας.
  • Σταματήστε τις προσπάθειες σύνδεσης όσο το δυνατόν νωρίτερα: στον server, με έναν κανόνα IP ή επιπλέον κωδικό πρόσβασης, ή με ένα πρόσθετο.
  • Μπλοκάρετε το xmlrpc.php αν δεν το χρησιμοποιείτε.
  • Τα ονόματα χρήστη που διαρρέουν δεν είναι καταστροφή, αλλά είναι μια ένδειξη: μη δημοσιεύετε ως διαχειριστής και περιορίστε τη λίστα χρηστών του REST αν δεν τη χρειάζεστε.

Κουίζ

1. Ποιος κωδικός πρόσβασης είναι ο ισχυρότερος;



2. Γιατί είναι δημοφιλές το xmlrpc.php στους εισβολείς;



3. Περιορίζετε το wp-login.php στη διεύθυνση IP του γραφείου σας. Ποιος είναι ο κίνδυνος;



4. Είναι αρκετή η μετονομασία της σελίδας σύνδεσης σε μια μυστική διεύθυνση ως ασφάλεια;



Άσκηση

Άσκηση A7.3: Τι αποκαλύπτει ο ιστότοπός σας κατά τη σύνδεση; Συμπληρώστε τη διεύθυνση του ιστότοπού σας και αποδείξτε ότι είναι δικός σας (με τον κωδικό της άσκησης, ως εγγραφή TXT ή ως αρχείο). Το πρόγραμμα ελέγχει τρία πράγματα: αν το xmlrpc.php επιστρέφει μια λίστα συναρτήσεων (ανοιχτό) ή είναι μπλοκαρισμένο, αν το /wp-json/wp/v2/users εμφανίζει ονόματα χρήστη (slugs), και πού ανακατευθύνει το /?author=1. Συμπληρώστε αν χρειάζεστε το xmlrpc.php· αν όχι, τότε ένα ανοιχτό xmlrpc.php εμφανίζεται κόκκινο. Τα slugs που διαρρέουν εμφανίζονται πορτοκαλί με επεξήγηση.

Άσκηση A7.3: Τι αποκαλύπτει ο ιστότοπός σας κατά τη σύνδεση;

Αυτός ο έλεγχος ζητά διαδρομές που ελέγχετε μόνο στον δικό σας ιστότοπο. Κάντε πρώτα κλικ στο "Εμφάνιση του κωδικού μου" και τοποθετήστε αυτόν τον κωδικό ως εγγραφή TXT στο _weboke-cursus.<το δικό σας domain> ή ως αρχείο στον ιστότοπό σας (δείτε την εξήγηση δίπλα στον κωδικό).



Ό,τι συμπληρώνετε και ό,τι βρίσκουμε δεν το αποθηκεύουμε. Το πρόγραμμα περιήγησής σας θυμάται τις απαντήσεις σας και αν περάσατε την άσκηση. Αν έχετε εγγραφεί, αποθηκεύουμε μόνο ότι η άσκηση ήταν (σχεδόν) σωστή στο Τα μαθήματά μου· εκεί μπορείτε και να το διαγράψετε.

Άσκηση D7.3: Ενεργοποίηση ελέγχου ταυτότητας δύο παραγόντων. Ενεργοποιήστε τον έλεγχο ταυτότητας δύο παραγόντων για όλους τους διαχειριστές του ιστότοπού σας WordPress, καθώς και στο πάνελ φιλοξενίας σας και στο email σας. Αποθηκεύστε τους κωδικούς εφεδρείας στον διαχειριστή κωδικών πρόσβασής σας. Σημειώστε για κάθε στοιχείο ότι είναι ενεργοποιημένο και καταγράψτε ποια μέθοδο χρησιμοποιείτε (εφαρμογή, passkey, email) και πού βρίσκονται οι κωδικοί εφεδρείας. Καταγράψτε επίσης πώς προστατεύετε επιπλέον το wp-login.php και γιατί επιλέγετε αυτόν τον τρόπο.

Άσκηση D7.3: Ενεργοποίηση ελέγχου ταυτότητας δύο παραγόντων

Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.




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

Περαιτέρω ανάγνωση

Αυτά τα άρθρα περιγράφουν τα βήματα στα πάνελ του WebOké· σε άλλα πάνελ λειτουργούν με παρόμοιο τρόπο.

Μια στιγμή…

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

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

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