
La sécurité WordPress est l'un des facteurs les plus affaiblis parmi les blogueurs débutants. Dans une installation WordPress non supervisée, il existe un certain nombre de vulnérabilités potentielles qui sont laissées sans surveillance. La plupart des didacticiels d'installation de WordPress expliquent un moyen rapide et facile d'implémenter WordPress en quelques minutes. Mais certains facteurs de sécurité importants sont perdus. Par exemple, la navigation dans les répertoires et l'utilisation du nom d'utilisateur "admin" sont considérées comme de sérieuses failles de sécurité. Aujourd'hui, nous allons jeter un coup d'œil à 10 extraits de code secret qui aideront à améliorer la sécurité de votre blog WordPress. Avant de commencer, jetons un coup d'œil à ce qu'est le fichier htaccess.
Qu'est-ce que le fichier .htaccess?
Un fichier htaccess est un fichier de configuration facultatif que le serveur Web Apache doit interpréter, pour chaque répertoire. Vous pouvez stocker divers paramètres dans ce fichier, tels que: protéger par mot de passe un répertoire, bloquer les adresses IP, bloquer un fichier ou un dossier d'accès public, etc. Traditionnellement, le fichier .htaccess est présent dans le répertoire d'installation de base de WordPress. Stocke la structure de permalien par défaut.
CONSEIL: Avant de commencer le didacticiel, assurez-vous de sauvegarder le fichier .htaccess actuel (le cas échéant) sur un service de stockage cloud comme Dropbox. Il s'agit de revenir au dernier fichier .htaccess fonctionnel, si un certain morceau de code casse votre site. Nous allons commencer.
1. Bloquer les Bad Bots

L'une des meilleures utilisations du fichier .htaccess est sa capacité à refuser l'accès à votre site à plusieurs adresses IP. Ceci est utile lors du blocage des spammeurs connus et d'autres sources d'accès suspects ou malveillants. Le code est:
# Block one or more IP address. # Replace IP_ADDRESS_* with the IP you want to block order allow,deny deny from IP_ADDRESS_1 deny from IP_ADDRESS_2 allow from all
Où IP_ADDRESS_1 est la première IP que vous souhaitez empêcher d'accéder à votre site. Vous pouvez ajouter autant d'adresses IP que vous le souhaitez. Quels que soient les agents utilisateurs (navigateurs) qui utilisent ces adresses IP, ils ne pourront pas accéder à un seul fichier depuis votre serveur. Le serveur Web refusera automatiquement tout accès.
2. Désactiver la navigation dans les répertoires

C'est l'une des failles de sécurité les plus compromises d'un site WordPress. Par défaut, le serveur Web Apache active la navigation dans les répertoires. Cela signifie que tous les fichiers et dossiers du répertoire racine (parfois appelé répertoire personnel) du serveur Web peuvent être répertoriés et accessibles par un visiteur. Vous ne voulez pas cela parce que vous ne voulez pas que les gens parcourent vos téléchargements multimédias ou vos thèmes ou fichiers de plug-in.
Si je choisis au hasard 10 sites Web personnels ou commerciaux exécutant WordPress, la navigation dans les répertoires ne sera pas désactivée pour 6 à 8 d'entre eux. Cela permet à quiconque de sentir facilement wp-content / uploads dossier ou tout autre répertoire qui n'a pas la valeur par défaut index.php archiver. En fait, la capture d'écran que vous voyez provient d'un des sites de mon client, avant de recommander la solution. Extrait de code pour désactiver la navigation dans les répertoires:
# Disable directory browsing Options All -Indexes
3. Autoriser uniquement les fichiers sélectionnés à partir de wp-content

Comment connaissez-vous contenu wp Le dossier contient la plupart de ses thèmes, plugins et toutes les charges multimédias. Vous ne voulez certainement pas que les gens y accèdent sans restrictions. En plus de désactiver la navigation dans les répertoires, vous pouvez également refuser l'accès à tous les types de fichiers, à l'exception de certains. En substance, vous pouvez déverrouiller sélectivement des fichiers comme JPG, PDF, DOCX, CSS, JS etc. et les nier du reste. Pour ce faire, collez cet extrait de code dans votre fichier .htaccess:
# Disable access to all file types except the following Order deny,allow Deny from all Allow from all
Vous devez créer un nouveau fichier .htaccess avec le code et le coller dans le contenu wp dossier. Ne placez pas cela dans le répertoire d'installation de base; sinon cela ne fonctionnera pas. Vous pouvez également ajouter n'importe quel type de fichier à la liste en ajoutant un "| après" rar ". La liste ci-dessus contient les fichiers nécessaires: XML, CSS et JavaScript, les images et formats de document courants et enfin les formats de fichier les plus utilisés .
4. Restreindre tout accès à wp-includes

Les dossier wp-include Il ne contient que les fichiers strictement nécessaires à l'exécution de la version principale de WordPress, l'un sans plugins ni thèmes. N'oubliez pas que le thème par défaut réside toujours dans le contenu / thème wp répertoire. Par conséquent, aucun visiteur (y compris vous) ne devrait avoir besoin d'accéder au contenu du wp-include dossier. Vous pouvez désactiver l'accès avec cet extrait de code suivant:
# Block wp-includes folder and files 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)
5. Autoriser uniquement les adresses IP sélectionnées à accéder à wp-admin

Les wp-admin Le dossier contient les fichiers nécessaires à l'exécution du tableau de bord WordPress. Dans la plupart des cas, vos visiteurs n'ont pas besoin d'accéder au tableau de bord WordPress, sauf s'ils souhaitent créer un compte. Une bonne mesure de sécurité consiste à n'autoriser que quelques adresses IP sélectionnées à accéder wp-admin dossier. Vous pouvez autoriser les adresses IP des personnes qui ont besoin d'accéder au tableau de bord WordPress: éditeurs, contributeurs et autres administrateurs. Cet extrait de code permet uniquement aux adresses IP fixes d'accéder wp-admin dossier et refuse l'accès au reste du monde.
# Limit logins and admin by IP order deny,allow deny from all allow from 302.143.54.102 allow from IP_ADDRESS_2
Assurez-vous de créer un nouveau fichier .htaccess et de le coller dans le dossier wp-admin et non dans le répertoire d'installation de base. Si c'est ce dernier, personne d'autre que vous ne pourra naviguer sur votre site, pas même les moteurs de recherche! Vous ne voulez certainement pas cela. Certains inconvénients de cette mesure sont les suivants:
- Si votre site autorise ou promeut Enregistrement d'un nouvel utilisateur, il serait presque impossible de suivre le nombre d'utilisateurs. Par exemple, chez WPExplorer, si vous souhaitez télécharger nos incroyables thèmes gratuits, vous devez vous inscrire.
- Les personnes avec adresses IP dynamiques (La plupart des utilisateurs haut débit ADSL utilisant des protocoles PPP ou PPPoE) changent leurs adresses IP chaque fois qu'ils se déconnectent et se connectent à leur FAI. Il serait certainement impossible de garder une trace de toutes ces adresses IP et de les ajouter au fichier htaccess.
- Haut débit mobile: Que vous soyez en 3G ou 4G, votre adresse IP dépend de la tour cellulaire actuelle à laquelle vous êtes connecté. Disons que vous voyagez: votre adresse IP changera constamment à chaque kilomètre parcouru depuis votre origine. Encore une fois, le suivi du fichier htaccess est presque impossible.
- Points d'accès Wi-Fi publics: L'utilisation d'informations d'identification lorsqu'il est connecté à Internet via un point d'accès Wi-Fi public est un excellent non, car un enfant avec un petit logiciel peut extraire chaque caractère que vous tapez. Sans oublier que chaque point d'accès Wi-Fi aura une adresse IP unique.
Heureusement, tous ces inconvénients (sauf le premier) peuvent être corrigés en utilisant un VPN. Si vous configurez votre VPN pour se connecter en utilisant une seule adresse IP, vous pouvez l'ajouter à votre fichier htaccess et tous vos problèmes seront résolus.
6. Protégez wp-config.php et .htaccess de tous

Les wp-config.php Le fichier contient les informations de connexion les plus confidentielles pour votre site WordPress. Contient le nom de la base de données et les informations d'identification d'accès et diverses autres données critiques, entre autres paramètres. Vous ne souhaitez en aucun cas que d'autres personnes recherchent ce fichier. Et bien sûr, vous voulez désactiver l'accès public à la source de toute cette sécurité: le .htaccess fichier lui-même. Vous pouvez désactiver l'accès à wp-config.php avec ce code suivant:
# Deny access to wp-config.php file order allow,deny deny from all
Pour refuser l'accès à tous les fichiers htaccess (rappelez-vous que certains peuvent résider dans wp-admin et d'autres dossiers), utilisez cet extrait de code:
# Deny access to all .htaccess files order allow,deny deny from all satisfy all
7. Refuser l'image hotlinking

L'un des meilleurs hacks de fichiers .htaccess, celui-ci envoie des grattoirs de contenu avec sa queue entre ses jambes. Lorsque quelqu'un utilise l'image de votre site, sa bande passante est consommée et la plupart du temps, il n'est même pas crédité. Cet extrait de code élimine ce problème et envoie cette image lorsqu'un lien actif est détecté.
# Prevent image hotlinking script. Replace last URL with any image link you want.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com (NC)
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourotherwebsite.com (NC)
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg (NC,R,L)
8. Activer la mise en cache du navigateur

Également connu sous le nom de mise en cache côté client, ce hack .htaccess vous permet d'activer les options de mise en cache du navigateur recommandées pour votre site WordPress. Vous pouvez également l'utiliser dans d'autres projets: sites HTML, etc.
# Setup browser caching ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days"
9. Rediriger vers une page de maintenance

Lorsque vous migrez des hébergeurs Web ou effectuez une maintenance, il est toujours recommandé de créer un fichier HTML statique "maintenance idle" pour informer vos visiteurs que le site Web est en cours de mise à jour ou de maintenance. Créez simplement un fichier maintenance.html (ou tout autre nom de fichier) et téléchargez-le dans le répertoire d'installation de base de WordPress. Collez l'extrait de code suivant dans votre fichier .htaccess. Une fois l'opération terminée, assurez-vous de supprimer ou de commenter ces lignes pour revenir à l'opération générale. Vous pouvez commenter en ajoutant un "#" au début de chaque ligne.
# Redirect all traffic to maintenance.html file
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /maintenance.html (R=302,L)
10. Pages d'erreur personnalisées

Vous pouvez également utiliser le fichier .htaccess pour configurer des pages d'erreur personnalisées faciles à utiliser pour des erreurs telles que 403, 404 et 500. Une fois que vous avez préparé votre page d'erreur, dites error.html, chargez-la dans votre répertoire d'installation WordPress de base. Ajoutez ensuite l'extrait de code suivant à votre fichier .htaccess pour activer la page d'erreur personnalisée:
# Custom error page for error 403, 404 and 500 ErrorDocument 404 /error.html ErrorDocument 403 /error.html ErrorDocument 500 /error.html
Conclusion:
Aujourd'hui, nous avons appris certains des meilleurs hacks htaccess pour renforcer votre site WordPress. Je vous suggère de tester chaque module un par un tout en sauvegardant le fichier .htaccess avant et après le test de chaque module. En effet, le fichier .htaccess est très critique. Caractère manquant ou égaré "ced" Pourrait détruire l'intégrité de votre site. Si vous accédez fréquemment à votre tableau de bord WordPress en déplacement, il est recommandé de ne pas activer l'IP sélective pour votre wp-admin dossier.
Pour vous, quelle est votre opinion sur cette publication? Pensez-vous que le fichier htaccess mérite d'être édité? Connaissez-vous un meilleur conseil de sécurité? Nous aimerions avoir de vos nouvelles.
