Το άρθρο αυτό ανήκει στη σειρά Εγκληματολογία WordPress: πρακτικοί οδηγοί για ασφάλεια, ανάκτηση και μετάβαση WordPress.
Εισαγωγή
Τα περισσότερα προβλήματα ασφάλειας WordPress είναι αποτρέψιμα. Το ζήτημα είναι ότι οι ιδιοκτήτες sites δεν ξέρουν τι να ελέγξουν παρά μόνο μετά από παραβίαση. Ο οδηγός αυτός σας περνά από έναν ολοκληρωμένο έλεγχο ασφάλειας: την ίδια λίστα που χρησιμοποιούμε πριν αναλάβουμε οποιονδήποτε πελάτη WordPress.
Η Απογραφή πριν από τον Έλεγχο
Πριν βουτήξετε, τεκμηριώστε την τρέχουσα κατάστασή σας:
- Έκδοση WordPress
- Έκδοση PHP
- Ενεργό θέμα και έκδοση
- Λίστα όλων των plugins (ενεργών και ανενεργών)
- Όλους τους λογαριασμούς χρηστών και τους ρόλους τους
- Πάροχο φιλοξενίας και τύπο πακέτου
- Ημερομηνία και τοποθεσία του τελευταίου γνωστού αντιγράφου
1. Ασφάλεια Πυρήνα WordPress
Έκδοση WordPress
- Έλεγχος: Πίνακας ελέγχου → Ενημερώσεις
- Κίνδυνος: ο ξεπερασμένος πυρήνας είναι το #1 διάνυσμα επίθεσης
- Ενέργεια: ενημέρωση στην τελευταία σταθερή έκδοση (δοκιμή σε staging πρώτα)
Δικαιώματα Αρχείων
- Φάκελοι: 755
- Αρχεία: 644
- wp-config.php: 600 ή 640
- .htaccess: 644
Θωράκιση wp-config.php
- Μοναδικά κλειδιά ταυτοποίησης (χρησιμοποιήστε τη γεννήτρια salts του WordPress)
- Πρόθεμα πινάκων βάσης αλλαγμένο από το προεπιλεγμένο wp_
- Λειτουργία debug απενεργοποιημένη στην παραγωγή
- Επεξεργασία αρχείων απενεργοποιημένη:
define('DISALLOW_FILE_EDIT', true);
2. Έλεγχος Λογαριασμών Χρηστών
Εξέταση Λογαριασμών Διαχειριστή
- Κανένας λογαριασμός με όνομα «admin» (μετονομάστε αν υπάρχει)
- Ελάχιστος αριθμός λογαριασμών διαχειριστή
- Όλοι οι λογαριασμοί διαχειριστή με ισχυρούς, μοναδικούς κωδικούς
- Ταυτοποίηση δύο παραγόντων ενεργή για όλους τους διαχειριστές
Έλεγχος Ρόλων Χρηστών
- Αφαιρέστε αχρησιμοποίητους λογαριασμούς
- Επαληθεύστε ότι κάθε χρήστης έχει τα ελάχιστα αναγκαία δικαιώματα
- Ελέγξτε για ύποπτους λογαριασμούς (άγνωστα email, πρόσφατη δημιουργία)
- Εξετάστε τα logs δραστηριότητας χρηστών, αν υπάρχουν
3. Ασφάλεια Plugins
Απογραφή Plugins
- Διαγράψτε όλα τα ανενεργά plugins (όχι απλώς απενεργοποίηση)
- Ελέγξτε την ημερομηνία τελευταίας ενημέρωσης κάθε plugin
- Επαληθεύστε ότι τα plugins προέρχονται από το WordPress.org ή αξιόπιστες πηγές
- Αφαιρέστε plugins που δεν ενημερώθηκαν για 12+ μήνες
Έλεγχος Ευπαθειών Plugins
- Διασταυρώστε με τη βάση ευπαθειών WPScan
- Ελέγξτε τις κριτικές των plugins για παράπονα ασφάλειας
- Επαληθεύστε τη φήμη του δημιουργού
Κατηγορίες Plugins Υψηλού Κινδύνου
- Κατασκευαστές φορμών (κίνδυνος SQL injection)
- Plugins μεταφόρτωσης αρχείων (κίνδυνος RCE)
- Page builders (κίνδυνος XSS)
- Plugins SEO με πρόσβαση σε αρχεία
- Plugins αντιγράφων με εξωτερική αποθήκευση
4. Ασφάλεια Θέματος
Έλεγχος Θέματος
- Διαγράψτε όλα τα ανενεργά θέματα εκτός από ένα προεπιλεγμένο (Twenty Twenty-Four)
- Επαληθεύστε την πηγή του θέματος (WordPress.org, ThemeForest ή ιδιοκατασκευή)
- Ελέγξτε για «nulled»/πειρατικά θέματα (διάνυσμα κακόβουλου λογισμικού)
- Εξετάστε τις ημερομηνίες τροποποίησης των αρχείων του θέματος
Έλεγχος Child Theme
- Χρήση child theme για προσαρμογές (όχι τροποποίηση του γονικού)
- Το functions.php του child theme ελεγμένο για ύποπτο κώδικα
5. Ασφάλεια Βάσης Δεδομένων
Διαπιστευτήρια Βάσης
- Ισχυρός κωδικός βάσης (όχι ίδιος με του διαχειριστή WordPress)
- Ο χρήστης της βάσης με τα ελάχιστα απαιτούμενα δικαιώματα
- Απομακρυσμένη πρόσβαση στη βάση απενεργοποιημένη, αν δεν χρειάζεται
Εξέταση Πινάκων Βάσης
- Ελέγξτε για άγνωστους πίνακες (πιθανό backdoor)
- Εξετάστε το wp_options για ύποπτες εγγραφές
- Ελέγξτε το wp_users για μη εξουσιοδοτημένους λογαριασμούς
- Αναζητήστε strings κωδικοποιημένα σε base64 στο περιεχόμενο των άρθρων
6. Server και Φιλοξενία
Ρυθμίσεις PHP
- Έκδοση PHP 8.1+ (η 7.x έχει φτάσει στο τέλος ζωής της)
- display_errors = Off στην παραγωγή
- expose_php = Off
- allow_url_fopen = Off (αν δεν χρειάζεται)
Κανόνες Ασφάλειας .htaccess
- Μπλοκάρισμα πρόσβασης σε ευαίσθητα αρχεία (wp-config.php, .htaccess)
- Απενεργοποίηση περιήγησης φακέλων
- Μπλοκάρισμα εκτέλεσης PHP στον φάκελο uploads
- Περιορισμός προσπαθειών σύνδεσης μέσω .htaccess ή plugin
7. SSL και HTTPS
- Έγκυρο πιστοποιητικό SSL εγκατεστημένο
- Όλες οι σελίδες επιβάλλουν HTTPS (χωρίς μεικτό περιεχόμενο)
- WordPress και Site URL ορισμένα σε HTTPS
- Κεφαλίδα HSTS ρυθμισμένη
8. Επαλήθευση Αντιγράφων
- Αυτοματοποιημένα αντίγραφα που τρέχουν προγραμματισμένα
- Αντίγραφα αποθηκευμένα εκτός έδρας (όχι μόνο στον ίδιο server)
- Περιλαμβάνονται ΚΑΙ τα αρχεία ΚΑΙ η βάση
- Δοκιμή επαναφοράς τις τελευταίες 30 ημέρες
- Ορισμένη πολιτική διατήρησης αντιγράφων
Ενέργειες μετά τον Έλεγχο
- Ιεραρχήστε τα ευρήματα κατά κίνδυνο (κρίσιμο, υψηλό, μεσαίο, χαμηλό)
- Φτιάξτε πλάνο αποκατάστασης με χρονοδιάγραμμα
- Εφαρμόστε τις αλλαγές πρώτα σε staging
- Τεκμηριώστε όλες τις αλλαγές
- Προγραμματίστε τον επόμενο έλεγχο (συνιστάται ανά τρίμηνο)
Συμπέρασμα
Ο έλεγχος ασφάλειας δεν είναι γεγονός μίας φοράς· είναι επαναλαμβανόμενη πρακτική. Το οικοσύστημα του WordPress κινείται γρήγορα και νέες ευπάθειες εμφανίζονται διαρκώς. Ενσωματώστε αυτή τη λίστα στη ρουτίνα συντήρησής σας και θα πιάνετε τα προβλήματα πριν από τους επιτιθέμενους.