5 προχωρημένες ενέργειες ασφάλειας για το WordPress site σου

21 Αυγούστου 2015, από

5 συμβουλές για ασφάλεια στο wordpress

Η ασφάλειά σου απέναντι σε επίδοξους hackers, πρέπει να αποτελεί κύρια προτεραιότητα στην ενασχόλησή με το site σου. Αφού διαβάσεις και εφαρμόσεις τις πιο βασικές συμβουλές ασφαλείας, με τις οποίες ασχοληθήκαμε σε προηγούμενο post, είναι ώρα να μπεις λίγο πιο βαθιά στο WordPress security, και να δεις μερικές ακόμα συμβουλές, κάποιες από τις οποίες υλοποιούνται μέσα από το Plesk, το control panel που παρέχεται στα πακέτα φιλοξενίας της TopHost.

1. Μην επιτρέπεις την επεξεργασία αρχείων από το dashboard του site σου

Κάθε χρήστης που διαθέτει πρόσβαση στο dashboard του site σου, έχει τη δυνατότητα να επεξεργαστεί τα αρχεία που βρίσκονται σε αυτό, μέσω του Appearance >> Editor.
Αυτό σημαίνει πως αν κάποιος χάκερ καταφέρει να αποκτήσει πρόσβαση στο site σου θα έχει αυτόματα τη δυνατότητα επεξεργασίας των αρχείων, προς δικό του όφελος.

Για να αποφύγεις μια τέτοια δυσάρεστη κατάσταση, θα χρειαστεί να προσθέσεις μια πολύ απλή γραμμή κώδικα στο configuration file του site σου, ακολουθώντας την παρακάτω διαδικασία:

  • Συνδέσου στο Plesk με τους κωδικούς που έχεις λάβει κατά την ενεργοποίηση του πακέτου σου.

plesk-panel

  • Στην κεντρική οθόνη, επιλέγεις το httpdocs/, που βρίσκεται κάτω από το domain name σου.

wp-httpdocs-file

  • Στο File Manager επιλέγεις το wp-config.php.

wp-config

  • Αφού ανοίξεις το αρχείο, επιλέγεις “Edit in Text Editor”.

wp-config

  • Σε μία νέα γραμμή στο τέλος του αρχείου προσθέτεις το[php] define( ‘DISALLOW_FILE_EDIT’, true ); [/php]και πατάς “Save”.

wp-config

2. Περιόρισε τις αποτυχημένες προσπάθειες σύνδεσης

Ένα από τα plugins που χρησιμοποιούμε στο blog της TopHost, είναι και το Login Lockdown. Αυτό το plugin περιορίζει τις αποτυχημένες προσπάθειες σύνδεσης και καθυστερεί κατά πολύ έναν hacker που προσπαθεί να αποκτήσει πρόσβαση στο site σου.

Σκέψου ότι οι εφαρμογές που χρησιμοποιούνται για να ανακαλύψουν κωδικούς πρόσβασης, δοκιμάζουν εκατοντάδες passwords το λεπτό. Αντίθετα, με το Login Lockdown έχεις τη δυνατότητα να καθορίσεις εσύ πόσες θα είναι οι προσπάθειες σύνδεσης και να μπλοκάρεις την πρόσβαση στην IP που απέτυχε να συνδεθεί, για ένα ορισμένο χρονικό διάστημα. Πρόκειται σίγουρα για ένα plugin που ενδυναμώνει την “άμυνα” του site σου.

3. Κρύψε τα login errors

Με το να ενημερώνεις έναν hacker, που προσπαθεί να κάνει login στο site σου, ότι έχει κάνει λάθος στο username ή το password, του παρέχεις χρήσιμη πληροφορία και έμμεσα τον βοηθάς στο “έργο” του.

  • Για να απενεργοποιήσεις την εμφάνιση αυτών των μηνυμάτων, θα χρειαστεί να συνδεθείς ξανά στο Plesk και να μπεις στο httpdoc/. Από εκεί, αυτή τη φορά θα επιλέξεις το wp-content και μετα το themes.

plesk-content

  • Από τη λίστα με τα themes που θα εμφανιστεί, επίλεξε εκείνο που χρησιμοποιείς και μπες στον φάκελο functions.php, μέσα σε αυτό.

plesk-content

  • Επίλεξε ξανά “Edit in Text Editor” και πρόσθεσε μέσα στο αρχείο το[php] add_filter(‘login_errors’,create_function(‘$a’, “return null;”)); [/php]σε μια νέα γραμμή. Αφού το προσθέσεις, πάτα “Save” και η ρύθμιση είναι έτοιμη.

plesk-content

4. Κρύψε την έκδοση του WordPress που χρησιμοποιείς

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

Τι μπορείς να κάνεις γι’ αυτό; Αρχικά, να αναβαθμίσεις την πλατφόρμα! Όπως έχουμε πει και σε προηγούμενο post για την ασφάλεια, πρέπει να διατηρείς πάντα τις τελευταίες εκδόσεις, τόσο στα plugins και στα themes, όσο και στην ίδια την πλατφόρμα του WordPress.

Αν για οποιονδήποτε λόγο δεν μπορείς να εγκαταστήσεις τη νεότερη έκδοση, μπορείς να κάνεις μερικές ενέργειες μέσω από το control panel σου, για να αποκρύψεις τον εντοπισμό της έκδοσης που έχεις εγκαταστήσει.

Όπως και στο προηγούμενο tip για τα login errors, πρέπει να μεταβείς στο functions.php του theme που χρησιμοποιείς. Εκεί, αρκεί να εισάγεις στο τέλος του κώδικα το

[php]remove_action(‘wp_head’,’wp_generator’);[/php]

και να πατήσεις “Save”.

plesk-wp-version

5. Άλλαξε το display name σου για τη σελίδα του author

Όταν δημιουργείς έναν καινούριο user στη dashboard του site σου, το WordPress καθορίζει αυτόματα το username του και σαν κομμάτι του link που παρουσιάζει το προφίλ του, στο τέλος ενός post. Είναι δηλαδή της μορφής yoursite.gr/author/username. Με αυτόν τον τρόπο, όμως,  το username σου γίνεται ορατό σε όλους, παρέχοντας στους χάκερς το 50% των στοιχείων που χρειάζονται για να εισέλθουν στο περιβάλλον διαχείρισης του site σου.

Για να το αποφύγεις αυτό, αρκεί να αλλάξεις το display name, εκείνο δηλαδή που φαίνεται στο link. Το username με το οποίο κάνεις login, θα παραμείνει ως έχει.

  • Και γι’ αυτή τη διαδικασία θα χρειαστεί να συνδεθείς στο Plesk, κι έπειτα να επιλέξεις το tab Databases.

plesk-username

  • Στη βάση που έχεις δημιουργήσει, επίλεξε Webadmin, ώστε να μπορέσεις να την επεξεργαστείς.

plesk-username

  • Αφού εισέλθεις, εντόπισε το φάκελο users και μπες σε αυτόν για να αλλάξεις τα display names που επιθυμείς. Καλό ήταν να αλλάξεις και τα nicenames (το πεδίο “user_nicename”), ώστε να είναι ίδια με τα display names, αλλά διαφορετικά από τα login.

plesk-username

Για παράδειγμα, αν το όνομα του author είναι Lila και το username a437skw θα αλλάξεις το user_nicename σε lila. Αυτό θα σου αλλάξει το Author URL από http://blog.tophost.gr/author/a437skw (το οποίο θα αποκάλυπτε το username σου) σε http://blog.tophost.gr/author/lila.

Έτσι, ένας hacker, ακόμα και να βρει το σωστό password, δεν θα μπορέσει να αποκτήσει πρόσβαση χρησιμοποιώντας το lila ως username.

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

Αν έχεις κάποιο άλλο security tip, άφησέ το στα σχόλια για το λάβω υπόψιν μου σε κάποιο επόμενο άρθρο σχετικά με την ασφάλεια!

Σου άρεσε αυτό το blog post;

Τότε σίγουρα θα λατρέψεις τα επόμενα! Συμπλήρωσε το email σου για να μη χάσεις ούτε ένα.;

Κάνε δωρεάν την εγγραφή σου και στο εξής θα λαμβάνεις ενημερώσεις για τα νέα post του Τοp.Host Blog. Οποιαδήποτε στιγμή θελήσεις μπορείς να αφαιρέσεις το email σου από τη λίστα παραληπτών. Μάθε περισσότερα στην Πολιτική Απορρήτου.

Μπες στη συζήτηση

  • Καλησπέρα σας, έβαλα το παρακάτω στο functions.php και δεν φορτώνει το site. Βγάζει λευκή σελίδα.

    add_filter(‘login_errors’,create_function(‘$a’, “return null;”));

    • Καλημέρα!
      Αυτό που κάνει η συγκεκριμένη λειτουργία είναι να αφαιρεί το μήνυμα που εμφανίζει το WordPress (δες την εικόνα) όταν ένα χρήστης αποτύχει να εισέλθει σε ένα site.

      Έβαλες τον κώδικα και φαίνεται down το site σου ή δεν σου αποκρύπτει το μήνυμα από τη σελίδα του login;

    • Γεια σου και πάλι Νίκο!

      Φαίνεται πως εντοπίστηκε το λάθος! Είναι στα εισαγωγικά, και στον τρόπο που τα εισήγαγε στο post ο editor του WordPress!
      Δοκίμασε να εισάγεις αυτό το κομμάτι add_filter(‘login_errors’,create_function(‘$a’, “return null;”));
      και, λογικά, δε θα έχεις κανένα πρόβλημα!

      Σ’ ευχαριστώ για την επισήμανση!

      • Καλημέρα και καλή εβδομάδα! Ναι, δούλεψε! Όντως, ήταν το θέμα με τα εισαγωγικά. Σε ευχαριστώ πολύ για την άμεση ανταπόκριση.

      • Θα πρέπει να αντικατασταθεί και στις υπόλοιπες οδηγίες που έχεις παραθέσει το “αυτάκι” με ‘ καθότι αν κάποιος το πάρει copy-paste, δεν θα του δουλέψει. Τέλος, στο παράδειγμα σου για την αλλαγή στο wp-config.php φαίνεται να βάζεις το: define( ‘DISALLOW_FILE_EDIT’, true ); μετά το ?> ενώ θα πρέπει να μπει πριν από αυτό. Πολύ χρήσιμες οι οδηγίες που έχεις δώσει και σε αυτό και στα υπόλοιπα άρθρα σου! Σε ευχαριστώ πολύ και περιμένω νέα tips!

Πες μας τη γνώμη σου!