Πώς να κάνετε το WordPress site σας πιο ασφαλές

Αυτό το άρθρο αποτελεί συνέχεια των άρθρων της Hostdog για την ασφάλεια των sites από επιθέσεις και θα προσπαθήσει να καλύψει κάποια βασικά βήματα που μπορεί να ακολουθήσει ο καθένας ώστε να κάνει ακόμα πιο ασφαλή την εγκατάσταση WordPress που διατηρεί, τόσο σε επίπεδο server όσο κι εφαρμογής π.χ. με την χρήση plugins.

Το WordPress φαίνεται ότι είναι η πιο δημοφιλή πλατφόρμα διαχείρισης περιεχομένου (CMS) και οι εκτιμήσεις για το 2013 που γράφτηκε αυτό το άρθρο, κάνουν λόγο για χρήση από το 20% των sites παγκοσμίως, ενώ ανάμεσα στις CMS εφαρμογές έχει ένα εντυπωσιακό μερίδιο που πλησιάζει το 60% !

Φυσικά δεν αποτελεί εξαίρεση στον κανόνα της ασφάλειας που λέει πως ό,τι είναι πιο δημοφιλές έχει και την έντονη προσοχή των κακόβουλων χρηστών και hackers.

Server-side WordPress securing

Backup, backup, backup!

Για να διαβάζει κανείς αυτό το συγκεκριμένο για το WordPress άρθρο, φανταζόμαστε ότι δεν χρειάζεται να αναφερθούμε στο πόσο σημαντικό είναι να υπάρχουν backups και ότι ισχύει σε κάθε περίπτωση "όσο πιο πολλά, τόσο το καλύτερο".

Θα πρέπει λοιπόν να παίρνει κανείς backup (ιδανικά καθημερινά):
1) Όλα τα αρχεία της εγκατάστασης WordPress
2) Ολόκληρη την database του WordPress

Φυσικά υπάρχουν και plugins που κάνουν αυτήν την δουλειά όπως: BackUpWordPress, , BackWPup (free)

webserver, filesystem, permissions

Προστασία filesystem και αρχείων

Τα directories της εγκατάστασης θα πρέπει να έχουν permissions 755, κάτι που μπορεί να εκτελεστεί εύκολα με την παρακάτω εντολή:

find /path/to/wordpress -type d -exec chmod 755 {} \;

Και αντίστοιχα τα files

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

Εξαίρεση αποτελεί το wp-config.php αρχείο που θα πρέπει να έχει permissions: 600.

Προσοχή! Μην βάζετε permissions 777 σε κανένα αρχείο ή directory!

Προστασία wp-config.php

Προστατέψτε το αρχείο wp-config.php με την προσθήκη του παρακάτω κώδικα στο .htaccess αρχείο

<files wp-config.php>
order allow,deny
deny from all
</files>

WordPress securing

Επιλέξτε προσεκτικά τα plugins και τα thems που χρησιμοποιείτε

Το WordPress είναι πραγματικά μια μεγάλη κοινότητα, κάτι που κάνει τον έλεγχο όλων των plugins και themes πολύ δύσκολο, ακόμα και στο επίσημο plugin repository έχουν παρατηρηθεί κρούσματα όπου υπήρχε κακόβουλο λογισμικό. Δεν είπαμε και να διαβάσετε όλο το source code όλων των plugin που θέλετε να ενεργοποιήσετε αλλά σίγουρα προτιμάτε plugins με μεγάλο ιστορικό, ratings και downloads. Επίσης σε πολλά themes που είτε δεν είναι από το επίσημο site του Wordpress, είτε είναι "σπασμένα" είναι σχεδόν κοινή πρακτική να περιέχουν κακόβουλο κώδικα (διαβάστε περισσότερα στο γενικό άρθρο για την περίπτωση hacking στο site και αντιμετώπιση ). Μάλιστα στο παρελθόν είχε γίνει έρευνα για δημοφιλείς αναζητήσεις όπως "free wordpress themes" και τα αποτελέσματα του google είχαν σελίδες που διένεμαν themes με κακόβουλο λογισμικό.

Αποφεύγετε default ρυθμίσεις

Για παράδειγμα, μην χρησιμοποιείτε admin ή administrator για το username του διαχειριστή, καθώς αυτόματα προσφέρετε στους κακόβουλους χρήστες το ένα από τα δύο πράγματα που χρειάζονται για να έχουν πρόσβαση στο site σας (username/password). Ακόμα η αλλαγή του default tablename prefix "wp_" μπορεί να σας γλιτώσει κάποια SQL injections.

WordPress plugins for security

Το BulletProof Security plugin αποτελεί ένα από τα πιο πλήρη διαθέσιμα plugin για την ασφάλεια του WordPress. Ενημερώνεται συχνά και ακολουθεί πιστά τις ενημερώσεις του WordPress. Η λίστα με όλες τις λειτουργίες του είναι πολύ μεγάλη για να την αναφέρουμε, εν συντομία, φροντίζει από απλές επιθέσεις (brute-forcing, Code/SQL injection) μέχρι και εξελιγμένες κι άγνωστες (CSS, CSRF, RFI) εφαρμόζοντας κατάλληλα μέτρα ασφαλείας στο .htaccess αρχείο, καθώς επίσης προστατεύει και το login form.

Το Better WP Security είναι ένα ακόμα ολοκληρωμένο και δημοφιλές plugin ασφαλείας για το WordPress που εφαρμόζει ένα σύνολο καλών τακτικών ασφαλείας (security best practices).

Ένα ακόμα plugin-σουίτα ασφαλείας σαν τα δύο προηγούμενα που αξίζει σίγουρα μια ματιά είναι το Wordfence Security

Το AntiVirus είναι ένα security plugin για το WordPress που ελέγχει αυτόματα καθημερινά την εγκατάσταση του WordPress για κακόβουλο λογισμικό και έχει την δυνατότητα να στέλνει e-mail ειδοποιήσεις.

Τελευταίο στην λίστα, αλλά πολλά υποσχόμενο plugin είναι το All In One WP Security & Firewall που με έναν πολύ όμορφο και συγκεντρωτικό τρόπο αναλαμβάνει να εφαρμόσει τις υποδείξεις της WordPress που θα βρείτε και στο τέλος του άρθρου.

Optimization

Τέλος μπορεί να μην φαίνεται ότι έχει άμεση σχέση, αλλά κι από άποψη ασφάλειας μία optimized εγκατάσταση WordPress μπορεί να αντεπεξέλθει πιο εύκολα σε μικρότερες επιθέσεις. Η χρήση αντίστοιχων plugins είναι συνήθως απαραίτητη (σχετικό άρθρο γενικά και ειδικά WordPress). Καθώς επίσης κάποια CDN όπως το CloudFlare απαγορεύουν την πρόσβαση από κακόβουλα bots και αφαιρούν σημαντική ποσότητα φόρτου από τον webserver.

Απαραίτητη αναφορά είναι η σελίδα που διατηρούν όλα τα CMS σχεδόν με κοινές καλές πρακτικές ασφαλείας σχετικά: http://codex.wordpress.org/Hardening_WordPress