Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Πώς να διατηρήσω το WordPress site μου ασφαλές;

Πώς να διατηρήσω το WordPress site μου ασφαλές;

Στο 25ο Larissa WordPress Meetup, ο Ορέστης Σαμαράς μας μίλησε για το πώς καταλήγουν τα sites χακαρισμένα, αλλά και ποιες απλές και πρακτικές συμβουλές μπορείτε να ακολουθήσετε για να κρατήσετε την εγκατάσταση WordPress σας ασφαλή.

WordPress Greek Community

February 08, 2025
Tweet

More Decks by WordPress Greek Community

Other Decks in Programming

Transcript

  1. Πώς να διατηρήσω το WordPress site μου ασφαλές; Βέλτιστες πρακτικές

    & συμβουλές Larissa WordPress Meetup - Φεβρουάριος 2025
  2. Γιατί να επιτεθεί κάποιος στο site μου; ❏ Οικονομικό όφελος

    (crypto mining, ransomware, ads, βιομηχανική κατασκοπεία) ❏ Κλοπή δεδομένων & πρόσβαση σε εσωτερικά συστήματα ❏ SEO SPAM / Δυσφήμηση ❏ Παραμόρφωση για Κοινωνικοπολιτικά Αίτια ❏ Κύρος
  3. The stats… ❏ 43% όλων των websites παγκοσμίως είναι βασισμένα

    σε WordPress ❏ 90.000.000 επιθέσεις ημερησίως ❏ 30.000 παραβιασμένα websites ημερησίως ❏ Οι κύριες ευπάθειες ήταν: ❏ Κενά ασφαλείας σε plugins και themes (59%) ❏ Αδύναμοι κωδικοί πρόσβασης (28%) ❏ Μη ασφαλές ή μη ενημερωμένο hosting (13%) (πηγή: sucuri, wpscan, wordfence)
  4. Είναι το WordPress ένα ασφαλές CMS; ❏ Αυστηρά coding standards

    ❏ Tests ❏ Πολιτική για υπεύθυνη αποκάλυψη ευπαθειών ❏ Αυτόματη εγκατάσταση διορθώσεων ασφαλείας
  5. Ασφαλείστε το WordPress Κάντε τις ενημερώσεις ❏ Fixes κενών ασφαλείας

    στις ενημερώσεις ❏ Δημοσιοποίηση ευπαθειών σε changelogs ❏ Αυτοματοποιήστε τις ❏ Dashboard (WP > 5.6) ❏ wp-config.php constants ❏ Φίλτρα auto_update_XXX ❏ Tip! Ελέγξτε τις ενημερώσεις σε ένα staging περιβάλλον
  6. Ασφαλείστε το WordPress Θωρακίστε την σελίδα σύνδεσης ❏ Δημοφιλής στόχος

    για επιθέσεις brute-force ❏ Μπλοκάρετε την πρόσβαση (BasicAuth, plugins, fail2ban, 3rd-party υπηρεσίες) ❏ Χρησιμοποιήστε captcha για να αποφύγετε τα bots ❏ Ενεργοποιήστε Two-Factor Authentication ❏ Κρύψτε την σελίδα σύνδεσης για τον πίνακα ελέγχου
  7. Ασφαλείστε το WordPress Χρησιμοποιήστε επιλεγμένα plugins & themes ❏ Κατά

    την επιλογή ελέγξτε ❏ Συμβατότητα με WP και PHP ❏ Κριτικές ❏ Forum υποστήριξης ❏ Δημιουργός ❏ Χρησιμοποιήστε μόνο ότι χρειάζεστε! ❏ ΜΗΝ χρησιμοποιείτε nulled plugins ή themes
  8. Ασφαλείστε το WordPress Χρησιμοποιήστε ένα plugin ασφαλείας ❏ Δεν είναι

    η λύση για όλα ❏ Χρησιμοποιήστε το συνδυαστικά με άλλα μέτρα που έχετε λάβει ❏ Εάν είναι δυνατόν επενδύστε σε ένα premium plugin
  9. Ασφαλείστε το WordPress Παρακολουθήστε για αλλαγές αρχείων ❏ Όταν ένα

    site παραβιάζεται, αρχεία προστίθενται ή τροποποιούνται για να περιλαμβάνουν τον κακόβουλο κώδικα ❏ Χρησιμοποιήστε το WP CLI, ένα plugin ή υπηρεσία για να παρακολουθείτε τυχόν αλλαγές στα αρχεία της εγκατάστασής σας
  10. Ασφαλείστε το WordPress Απενεργοποιήστε την επεξεργασία αρχείων ❏ Επεξεργασία αρχείων

    από τον πίνακα ελέγχου ❏ Ένας κακόβουλος χρήστης μπορεί να κάνει αλλαγές ❏ Για να την απενεργοποιήσετε, προσθέστε στο wp-config.php ❏ define(‘DISALLOW_FILE_EDIT’, true) ❏ define(‘DISALLOW_FILE_MODS’, true)
  11. Ασφαλείστε το WordPress Απενεργοποιήστε την προβολή σφαλμάτων ❏ Ένα σφάλμα

    μπορεί να εμφανίσει σημαντικές πληροφορίες ❏ Αποκρύψτε τα σφάλματα με: ❏ define(‘WP_DEBUG_DISPLAY’, false) ❏ define(‘WP_DEBUG_LOG’, true) ❏ @ini_set(‘display_errors’, 0)
  12. Ασφαλείστε το WordPress Αποτρέψτε την απαρίθμηση χρηστών ❏ Χρησιμοποιώντας πιθανά

    ID χρηστών, έχουμε λίστα με usernames ❏ https://yoursite.com/?author=1 → https://yoursite.com/author/username ❏ Για να το αποτρέψετε: ❏ Μπλοκάρετε αιτήματα με τη παράμετρο author ❏ Επιτρέψτε την προβολή της λίστας χρηστών του REST API μόνο σε συνδεδεμένους χρήστες ❏ Αφαιρέστε τους χρήστες από το sitemap και από τα embeds ❏ Απενεργοποιήστε τα author archives … ή χρησιμοποιήστε ένα plugin
  13. Ασφαλείστε το WordPress Κρύψτε τις συμβουλές σύνδεσης (login hints) ❏

    Εμφανίζονται μετά από λάθος προσπάθεια σύνδεσης ❏ Μπορούν να χρησιμοποιηθούν για να προσδιοριστεί η ύπαρξη ενός χρήστη ❏ Αλλάξτε το μήνυμα λάθους με το φίλτρο login_errors … ή χρησιμοποιήστε ένα plugin
  14. Ασφαλείστε το WordPress Απενεργοποίηση του XML-RPC ❏ Το XML-RPC επιτρέπει

    την δημοσίευση περιεχομένου στο site σας από απομακρυσμένα συστήματα ❏ Χρησιμοποιείται για επιθέσεις brute-force και DDoS ❏ Απενεργοποιήστε το ❏ Με το φίλτρο xmlrpc_enabled ❏ Μπλοκάροντας requests μέσω του .htaccess ή του nginx.conf … ή χρησιμοποιώντας ένα plugin
  15. Ρυθμίσεις του server Backup, backup, backup ❏ Το κακό θα

    συμβεί! Προετοιμαστείτε ❏ Ωριαία, ημερήσια, εβδομαδιαία ή μηνιαία backups ❏ Αυτοματοποιήστε την δημιουργία των backups - server ή plugin ❏ Διατηρήστε τα backups σε διαφορετικές τοποθεσίες ❏ Tip! Πάντα επαληθεύετε τα backups
  16. Ρυθμίσεις του server Χρησιμοποιήστε πιστοποιητικά SSL ❏ Κρυπτογράφηση δεδομένων που

    μεταφέρονται μεταξύ του server και του browser ❏ Οι πάροχοι hosting συνήθως αναλαμβάνουν την εγκατάσταση των SSL ❏ Βεβαιωθείτε ότι ανακατευθύνετε όλους τους επισκέπτες στην ασφαλή έκδοση ❏ Με οδηγίες στο .htaccess ή στο nginx.conf … ή χρησιμοποιώντας ένα plugin
  17. ❏ Πάνω από το 50% των εγκαταστάσεων WordPress χρησιμοποιούν μη

    υποστηριζόμενες εκδόσεις PHP (< 8.1) ❏ Για να αναβαθμίσετε, ελέγξτε τις ρυθμίσεις του server σας ή μιλήστε με τον πάροχο hosting ❏ Tip! Πριν την ενημέρωση, βεβαιωθείτε για την συμβατότητα των εγκατεστημένων επεκτάσεων σε ένα δοκιμαστικό περιβάλλον (πηγή: wordpress.org) Ρυθμίσεις του server Ενημέρωση έκδοσης PHP
  18. Ρυθμίσεις του server Ασφαλής μεταφορά αρχείων ❏ SFTP αντί για

    FTP ❏ Κρυπτογράφηση δεδομένων ❏ Χρησιμοποιεί μία θύρα ❏ Βεβαιώνει την ταυτότητα του παραλήπτη ❏ Εναλλακτικές: scp, rsync, CI/CD pipeline
  19. Ρυθμίσεις του server With great power, comes great responsibility ❏

    Αλλαγές στις ρυθμίσεις του server ή στο αρχείο .htaccess ή nginx.conf μπορεί να είναι καταστροφικές ❏ Κάντε δοκιμές σε staging ❏ Επικοινωνήστε με τον πάροχο hosting ή απευθυνθείτε σε κάποιον επαγγελματία
  20. Βέλτιστες πρακτικές Χρήση δυνατών κωδικών πρόσβασης ❏ Δυνατός κωδικός σημαίνει

    ❏ Τουλάχιστον 8 χαρακτήρες ❏ Συνδυασμός από κεφαλαία και πεζά γράμματα, αριθμούς και σύμβολα ❏ Μοναδικός και τυχαίος ❏ Επιβολή δυνατών κωδικών ❏ Tip! Χρησιμοποιήστε ένα password manager
  21. Βέλτιστες πρακτικές Αποφυγή κοινών ονομάτων χρηστών ❏ admin είναι το

    πιο δημοφιλές όνομα χρήστη ❏ Εάν έχετε ήδη έναν τέτοιο λογαριασμό ❏ Δημιουργήστε έναν νέο λογαριασμό και διαγράψετε τον προηγούμενο ❏ Αλλάξτε το όνομα χρήστη απευθείας από την βάση δεδομένων
  22. Βέλτιστες πρακτικές Ανάθεση ρόλων χρηστών ❏ Κάθε χρήστης έχει έναν

    ρόλο, που καθορίζει τι ενέργειες μπορεί να κάνει ❏ Δώστε στους χρήστες τον ρόλο που αντιστοιχεί στην εργασία τους ❏ Πιο λεπτομερής έλεγχος των ρόλων μπορεί να γίνει με χρήση plugin