Προστασία WordPress από επιθέσεις hackers και malware
Προστασία του WP Admin με βάση την IP
Μπορείτε να περιορίσετε την πρόσβαση στην είσοδο στο Admin του WP σας, με βάση την ΙP, έτσι ώστε ακόμη κι αν κάποιος έχει τα στοιχεία εισόδου, να μην μπορεί να κάνει είσοδο εκεί, πχ:
Order deny,allow Deny from All Allow from 123.456.789.0
Μπορείτε να επιτρέψετε ή να αποκλείσετε την πρόσβαση με βάση την IP με διάφορους τρόπους:
- αποκλεισμός όλων:
order deny,allow deny from all
- να επιτρέπεται η πρόσβαση από την IP του σπιτιού μου:
order deny,allow deny from all allow from XX.XX.XXX.XXX
- να επιτρέπεται η πρόσβαση από την IP του γραφείου μου:
order deny,allow deny from all allow from XX.XX.XXX.XXX
++++++++++++++++++++++++++++++++++++++++++++++++
Προστασία αρχείου wp-Config.php
Ανοίξτε το .htaccess αρχείο στον κεντρικό φάκελο του WP σας και βάλτε τον παρακάτω κώδικα:
<Files wp-config.php> order allow,deny deny from all </Files>
+++++++++++++++++++++++++++++++++++++++++++++++
Απενεργοποίηση του File Editor
Αν δεν κάνετε χειρωνακτικές επεμβάσεις στον κώδικα των αρχείων/plugins/themes του WP σας, τότε απενεργοποιήστε τον file editor! Προσθέστε την επιλογή DISALLOW_FILE_EDIT στο αρχείο wp-config.php
define('DISALLOW_FILE_EDIT', true);
+++++++++++++++++++++++++++++++++++++++++++++++
Απενεργοποίηση του WP_DEBUG option
Ρυθμίστε το WP_DEBUG option από το αρχείο wp-config.php
define('WP_DEBUG', false);
+++++++++++++++++++++++++++++++++++++++++++++++
Απόκρυψη έκδοσης WordPress
Αυτή η σήμανση βρίσκεται στο αρχείο header.php. Προσθέστε την παρακάτω γραμμή στο functions.php αρχείο του theme σας.
remove_action('wp_head', 'wp_generator');
ή
function no_generator() { return ''; } add_filter( 'the_generator', 'no_generator' );
Επίσης αφαιρέστε το readme.html καθώς και το αρχείο εγκατάστασης /wp-admin/install.php
από τον κεντρικό φάκελο του WP σας
.
++++++++++++++++++++++++++++++++++++++++++++++++
Απόκρυψη μηνυμάτων σφάλματος στη σελίδα WordPress Admin Login
Ενημερώστε το αρχείο function.php με αυτό τον κώδικα:
add_filter('login_errors',create_function('$a', "return null;"));
ή
function explain_less_login_issues(){ return 'ERROR: Entered credentials are incorrect.';} add_filter( 'login_errors', 'explain_less_login_issues' );
++++++++++++++++++++++++++++++++++++++++++++++++
Aλλαγές στη βάση MySQL
Το ονομα χρηστη του διαχειριστή (admin) δεν είναι και πολύ ασφαλές και μπορείτε να το αλλάξετε.
Συνδεθείτε στη διαχείριση της βάσης του WP σας και αλλάξτε το από admin σε πχ newuser τρέξτε την παρακάτω εντολή:
update tableprefix_users set user_login='newuser' where user_login='admin';
Το πρόθεμα της βάσης δεν είναι ασφαλές, έτσι μπορείτε να αλλάξετε τα προθέματα όλων των πινάκων της βάσης, από wp_ σε κάτι άλλο.
Έπειτα θα πρέπει να εισάγετε το νέο πρόθεμα και μέσα στο αρχείο wp-confg.php στη σχετική μεταβλητή.
$table_prefix = 'tableprefix_';
++++++++++++++++++++++++++++++++++++++++++++++++
Ασφάλεια στο φάκελο αρχείων (uploads directory)
1. Βάλτε ένα κενό αρχείο index.php στο φάκελο uploads έτσι ώστε να μην είναι πλοηγήσιμος μέσω internet.
2. Στο /wp-content/uploads/ φτιάξτε ένα αρχείο με όνομα .htaccess και εισάγετε τον παρακάτω κώδικα:
<Files ~ ".*..*">
Order Allow,Deny Deny from all </Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|tif|tiff)$">
Order Deny,Allow Allow from all </FilesMatch>
Προσθέστε όποιο file extension χρειάζεται να ανεβαίνει στο WordPress website σας, όπως πχ pdf ή mp4.
3. Προστασία φακέλου "uploads" από εκτέλεση PHP
<FilesMatch ".(php|php.)(.+)(w|d)$">
Order Allow,Deny Deny from all </FilesMatch>
++++++++++++++++++++++++++++++++++++++++++++++++
Aπαγόρευση directory browsing
Προσθέτοντας την παρακάτω γραμμή στο .htaccess, απενεργοποιείται η δυνατότητα πλοήγησης στους φακέλους του WordPress:
# directory browsing Options All -Indexes
++++++++++++++++++++++++++++++++++++++++++++++++
Aπαγόρευση πρόσβασης στο φάκελο "wp-content"
Στο .htaccess του φακέλου (αν δεν έχει φτιάξτε ένα) προσθέστε τις παρακάτω γραμμές:
Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </Files>
++++++++++++++++++++++++++++++++++++++++++++++++
Προστασία συγκεκριμένων αρχείων
Για να προστατεύσετε συγκεκριμένα αρχεία, αντί για ολόκληρο το φάκελο:
# Protect the filename.php <files filename.php=""> order allow,deny deny from all </files>
++++++++++++++++++++++++++++++++++++++++++++++++
Προστασία του αρχείου .htaccess
Μπορείτε να κλειδώσετε την πρόσβαση στο .htaccess, με τον παραπάνω τρόπο ή έτσι (θα απαγορεύσει την πρόσβαση σε οποιδήποτε αρχείο αρχίζει με hta):
# STRONG HTACCESS PROTECTION
<Files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
++++++++++++++++++++++++++++++++++++++++++++++
Προστασία φακέλου "wp-includes"
Τα scripts αυτού του φακέλου δεν προορίζονται για δημόσια πρόσβαση και μπορούν να κλειδωθούν. Προσέξτε ο παρακάτω κώδικας να είναι εκτός των σημάνσεων # BEGIN WordPress και # END WordPress tags στο αρχείο .htaccess
# Block the include-only files. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>
Για περισσότερη, πιο ολοκληρωμένη και αυτοματοποιημένη προστασία του WordPress σας, συστήνουμε να χρησιμοποιήσετε τη δωρεάν υπηρεσία της Cloudflare σε συνδυασμό με ένα από τα παρακάτω plugins που διαθέτουν και δωρεάν, αλλά και συνδρομητικές εκδόσεις: