TrustServers Blog

More than Web Hosting: Αφοσιωμένοι άνθρωποι, Όραμα, Αξίες, Εμπειρία και Τεχνογνωσία που μπορείς να εμπιστεύεσαι

Πώς να προστατέψετε το WordPress σας μέσω του .htaccess

Skip to main content
TrustServers Knowledge Base

Tip: Start typing to get instant search results.

Περιεχόμενα Άρθρου

Τα αρχεία .htaccess (Hypertext Access) αποτελούν αρχεία ρυθμίσεων που χρησιμοποιούνται για να δίνουν οδηγίες στον web server σχετικά με τον τρόπο λειτουργίας του.

Σε όλους τους dedicated servers μας επιλέγουμε τη χρήση του NGINX web server. Ωστόσο, στα πλάνα managed hosting που διαθέτουν hosting panel, όπως το shared hosting και το semi-dedicated hosting, λειτουργεί παράλληλα με τον NGINX και Apache web server με LiteSpeed PHP API module, γεγονός που καθιστά εφικτή τη χρήση των αρχείων .htaccess για δική σας ευκολία.

Παρακάτω εστιάζουμε στη ισχυροποίηση της ασφάλειας και παρουσιάζουμε σημαντικούς κανόνες που μπορείτε να προσθέσετε στο .htaccess ειδικά για την ενίσχυση της ασφάλειας των WordPress website σας.

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

Ορισμένα αρχεία στο WordPress περιέχουν κρίσιμες πληροφορίες και δεν πρέπει να είναι προσβάσιμα από το διαδίκτυο.

Αρχείο wp-config.php

Ένα τέτοιο αρχείο είναι το wp-config.php το οποίο περιέχει για παράδειγμα τα στοιχεία σύνδεσης στη βάση δεδομένων. Προσθέτοντας το παρακάτω μπλοκ στο αρχείο .htaccess μπορούμε να περιορίσουμε την δημόσια πρόσβαση στο αρχείο wp-config.php

<Files wp-config.php>
    Order allow,deny
    Deny from all
</Files>

Κρυφά αρχεία

Τα κρυφά αρχεία είναι επίσης αρχεία τα οποία είναι καλό να μην είναι προσβάσιμα από το διαδίκτυο, όπως είναι και το ίδιο το .htaccess, το .git, το .user.ini και άλλα. Προσθέτοντας το παρακάτω μπλοκ στο αρχείο .htaccess μπορούμε να περιορίσουμε την δημόσια πρόσβαση σε όλα τα κρυφά αρχεία.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule (^|/)\. - [F]
</IfModule>

Άλλα ευαίσθητα αρχεία

Επίσης, μπορούμε να μπλοκάρουμε την πρόσβαση σε ένα σύνολο ευαίσθητων αρχείων με το παρακάτω μπλοκ.

<FilesMatch "^(readme\.html|license\.txt|wp-config\.php|wp-config-sample\.php|xmlrpc\.php|\.env|composer\.json|composer\.lock|package\.json|package-lock\.json)$">
    Order allow,deny
    Deny from all
</FilesMatch>

Προστασία φακέλου wp-includes

Ο φάκελος wp-includes περιέχει αρχεία του πυρήνα του WordPress όπως βιβλιοθήκες, functions και κλάσεις που χρησιμοποιεί εσωτερικά το σύστημα. Μπορούμε να προστατεύουμε την πρόσβαση στο συγκεκριμένο φάκελο. Ένας τρόπος να το κάνουμε αυτό είναι ο εξής:

<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, καθώς το ίδιο το σύστημα φορτώνει τα αρχεία του wp-includes φακέλου εσωτερικά και όχι μέσω απευθείας HTTP αιτήματος.

Περιορισμός πρόσβασης στο WordPress Backend

Σε περίπτωση που διαθέτουμε στατική IP μπορούμε να εφαρμόσουμε έναν αποτελεσματικό κανόνα ασφαλείας για το WordPress περιορίζοντας την πρόσβαση στη σελίδα σύνδεσης του backend αποκλειστικά στη δική μας IP διεύθυνση.

Έτσι ένας επιτιθέμενος δεν θα μπορεί να φτάσει στη φόρμα του wp-login.php καθώς ο server θα του επιστρέφει απευθείας 403 Forbiddenαφού θα προσπαθεί να συνδεθεί από διαφορετική IP από την επιτρεπόμενη.

<Files wp-login.php>
    Order deny,allow
    Deny from all
    Allow from 1.2.3.4
</Files>

Προστασία από SQL Injection & XSS

Οι επιθέσεις SQL Injection και XSS (Cross-Site Scripting) είναι από τις πιο συνηθισμένες μεθόδους επίθεσης σε web εφαρμογές.
Με την εισαγωγή του παρακάτω μπλοκ στο αρχείο .htaccess, ελέγχεται το query string κάθε αιτήματος για ύποπτο σχετικό περιεχόμενο και αν εντοπιστεί χαρακτηριστικό μοτίβο επίθεσης, μπλοκάρεται.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteRule ^(.*)$ - [F,L]
</IfModule>

Σημαντικό: Ο κανόνας αυτός αποτελεί ένα επιπλέον επίπεδο άμυνας και δεν υποκαθιστά τη σωστή κωδικοποίηση και το sanitization των δεδομένων σε επίπεδο WordPress. Προτείνουμε να συνδυάζεται με plugins ασφαλείας (π.χ. Wordfence).

Απενεργοποίηση του XML-RPC

Το XML-RPC είναι ένα πρωτόκολλο επικοινωνίας που επιτρέπει σε εξωτερικές εφαρμογές να αλληλεπιδρούν με το WordPress. Παλαιότερα ήταν χρήσιμο, σήμερα όμως έχει αντικατασταθεί σε μεγάλο βαθμό από το REST API και για τους περισσότερους ιστότοπους δεν είναι απαραίτητο. Πολλές φορές παραμένει ενεργό από προεπιλογή και αποτελεί έναν από τους πιο συχνά εκμεταλλευόμενους φορείς επίθεσης στο WordPress.

Προσθέτοντας το παρακάτω μπλοκ περιορίζουμε την πρόσβαση στο αρχείο.

<Files xmlrpc.php>
    Order allow,deny
    Deny from all
</Files>

Προσοχή: Πριν απενεργοποιήσετε το XML-RPC, βεβαιωθείτε ότι δεν το χρησιμοποιεί κάποιο plugin ή υπηρεσία που έχετε εγκατεστημένη.

Περιορισμός HTTP μεθόδων

Ένα WordPress website χρειάζεται μόνο τρεις μεθόδους: GET για την ανάκτηση σελίδων, POST για την υποβολή φορμών, και HEAD για τεχνικούς ελέγχους από bots και browsers.

Προτείνουμε να αποτρέπετε μεθόδους όπως PUT, DELETE, TRACE και CONNECT ώστε να μην είναι εφικτή εκμετάλλευσή τους σε προσπάθεια επίθεσης στο website, ως εξής:

<LimitExcept GET POST HEAD>
    Order allow,deny
    Deny from all
</LimitExcept>

Για περισσότερες πληροφορίες σχετικά με τρόπους χρήσης του αρχείου .htaccess μπορείτε να δείτε στο άρθρο μας.

Ήταν χρήσιμο το άρθρο?
Παρακαλούμε μοιραστείτε τη γνώμη σας
Πώς μπορεί να βελτιωθεί το άρθρο;
Dimitris Charitos
Επισκόπηση απορρήτου

Αυτός ο ιστότοπος χρησιμοποιεί cookies για να σας παρέχουμε την καλύτερη δυνατή εμπειρία χρήστη. Οι πληροφορίες των cookies αποθηκεύονται στο πρόγραμμα περιήγησής σας και εκτελούν λειτουργίες όπως η αναγνώρισή σας όταν επιστρέφετε στον ιστότοπό μας και βοηθώντας την ομάδα μας να καταλάβει ποια τμήματα του ιστότοπου μας θεωρείτε πιο ενδιαφέροντα και χρήσιμα.