Sécurité côté Serveur
3 avril 2010
Chapitre 3 : sécuriser le blog sur le serveur
Pour finir,
il est souhaitable de compléter les recommandations des chapitres précédents par quelques mesures concernant l’accès au serveur, en limitant ou interdisant certaines actions, essentiellement à partir d’un fichier .htaccessfichier de configuration d’un serveur Apache, utilisé, en particulier, pour modifier les droits d’accès, voir: .htaccess surWikipedia .
.htaccess sur AskApache.
Plan: 3 Chapitres en 5 posts
Chapitre 3
- Sécurité côté Serveur
- Identification par .htaccess et .htpasswd
- Autoriser un nombre limité d’adresses IP
- Interdire certaines adresses IP
- Protéger le fichier wp-config.php
- Protéger le fichier .htaccess
- Interdire le listage des fichiers
- Serveur Apache et masquage
- Les CHMOD
- Empêcher l’indexation
- Une connexion sécurité plus plus
- .htaccess, en résumé
1)-Identification par .htaccess et .htpasswd
Afin de sécuriser au mieux la connexion au panneau d’administration du blog WordPress, et comme expliqué de façon détaillée ici même dans Sécuriser le mot de passe, on peut envisager d’ajouter un formulaire d’identification grâce à deux fichiers, .htaccess et , .htpasswd, placés sur le serveur, dans la directory à protéger, en l’occurence /wp-admin/.
2)-Autoriser un nombre limité d’adresses IP
Toujours dans la perspective de sécuriser la connexion au panneau d’administration du blog, il peut être utile de n’autoriser que des connexions dûment répertoriées, soit grâce à une adresse IP fixe, soit par l’intermédiaire d’un Nom Fixe. Ces données seront définies au sein d’un fichier .htaccess, placé sur le serveur, dans le Répertoire à protéger, en l’occurrence /wp-admin/.
- Si vous possédez une ou plusieurs adresses IP fixes, il est facile de limiter la connexion à ces adresses, en le précisant dans le fichier .htaccess.
Voir: NightAngel ou bien encore Nicolas Fayet.
- Si votre IP est dynamique, c’est à dire valable pour une période temporaire, déterminée par votre fournisseur d’accès, celle-ci ne peut pas être utilisée pour la reconnaissance de la connexion. On peut, dans ce cas, envisager d’utiliser un service de DNS dynamique, ou service en ligne de gestion d’adresse IP dynamique, qui va permettre d’associer un nom fixe et permanent à une adresse IP variable. La plupart du temps, comme chez DynDNS, ce service est gratuit. Il suffira alors de renseigner le fichier .htaccess, en autorisant la connexion seulement pour ce nom. Par exemple, ici, le nom choisi serait: monblog.net
Voir sécurité IP ou Comment avoir une IP Fixe
Voir la syntaxe et l’utilisation d’un .htaccess sur Modul Apache ou Comment ça marche
3)-Interdire certaines adresses IP
La plupart des spammers changent en permanence d’adresse IP ce qui les rend difficiles à blacklister. Il en existe encore un petit nombre qui garde toujours la même adresse IP, et il est alors très simple de les bannir, en bloquant leur accès à partir d’un fichier .htaccess placé à la racine du blog. Voir: NightAngel, ou bien encore Tuteurs informatique.
4)-Protéger le fichier wp-config.php
Cette mesure
est indispensable!
Comme expliqué dans ce post, ici même, le fichier wp-config.php est extrêmement sensible puisqu’il contient le nom de la base de données, l’identifiant de l’utilisateur de la base de données, le mot de passe de connexion, mais aussi, les clés de sécurité, voir ici, et le préfixe des tables. Il doit impérativement être protégé par un .htaccess situé à la racine du blog, avec les quelques lignes de code présentées ci-dessus. Ainsi le serveur en interdira totalement l’accès. Pour une présentation complète de wp-config.php, voir: le codex WordPress.
5)-Protéger le fichier .htaccess
Normalement, si votre blog est hébergé sur un serveur Apache, sa configuration par défaut ne permet pas la visualisation des fichiers .htaccess depuis un navigateur. Cela dit, on est jamais assez prudent, et rien ne vous empêche d’interdire l’accès à ce fichier essentiel, par les quelques lignes de code présentées ci-contre. Ainsi le .htaccess se protège lui-même.
Voir: Maccilabo ou Tranquille Informatique.
6)-Interdire le listage des fichiers
Il suffit de connaître la structure de WordPress pour facilement lister les fichiers d’une directory donnée, si elle ne possède pas de fichier index.html. Il est alors facile d’obtenir, par exemple, la liste des plugins installés, ou la liste des images, etc…
Pour désactiver cette fonction, par défaut permise sur un serveur Apache, il faut placer un .htaccess à la racine du blog, avec l’instruction ci-contre. Cela empêchera le listage de tous les répertoires et sous-répertoires du blog. L’autre solution, consiste à placer un fichier index.html vide dans les directories à protéger du listage, lorsqu’elles ne possèdent ni fichier index.html ni fichier index.php.
Voir: le blog d’Emmanuel Georjon ou celui de NightAngel
7)-Masquer l’affichage des caractéristiques du serveur Apache
Image du site Be Root.com
Cliquer pour agrandir
De la même manière que nous avions cherché à masquer l’affichage de la version de WordPress utilisée, il est bon de masquer les informations qui peuvent être éventuellement fournies par le Serveur lui-même. Si le serveur Apache de votre hébergeur n’est pas totalement sécurisé, il répondra à la demande d’une page inexistante par une page d’erreur 404 avec le message Not Found mais aussi le numéro de version du serveur et autres informations possiblement exploitables par un pirate.
Image du site Be Root.com
Cliquer pour agrandir
Si c’est le cas, il sera donc sage d’ajouter dans le fichier .htaccess placé à la racine du blog, la ligne de code présentée ci-dessus, pour interdire au serveur la présentation de sa version, désactivant ainsi l’affichage de sa signature.
Voir: Be Root.com ou encore Cg Securité.
Remarque importante: le fichier .htaccess permet aussi de définir l’affichage de pages d’erreur personnalisées, plus agréables pour le visiteur que celles générées par le serveur.
- Ainsi, l’adresse inexistante http://www.daletale.net/bidule affichera une page d’erreur 404 typique du blog…
- De même, une url interdite d’accès comme http://www.daletale.net/.htpasswd affichera une page d’erreur 403 personnalisée…
Il suffit pour cela d’ajouter dans le fichier .htaccess situé à la racine du blog, les deux lignes de codes ci-dessous, en prenant soin, bien sûr, de créer les pages 404.php et 403.htm.
8)-CHMOD: les permissions d’accès aux fichiers
A chaque fichier présent sur le serveur est associée une liste de permissions d’accès, autrement appelé: CHMODdescription des permissions d’accès sur Wikipedia .
Droit d’accès sur un système UNIX, abréviation de « change mode« . Ces autorisations d’accès doivent être modulées en fonction du statut de chaque fichier et du niveau de sécurité qui lui est nécessaire. Pour comprendre les CHMOD, rendez-vous sur: Codex WordPress en français, sur Codex WordPress en anglais, ou bien encore sur PHP Débutant.
- Pour visualiser les CHMOD, rien de plus simple: utiliser votre logiciel client FTP préféré, comme par exemple Filezilla: un clic droit sur un fichier présent sur le serveur ouvre un menu contextuel, il suffit alors de choisir la rubrique Attributs du fichier. Dans notre cas, avec le fichier .htaccess, par exemple, le tableau ci-contre apparait.
- Il existe un plugin efficace et indispensable, WP Security Scan, qui vérifie les permissions existantes et indique les changements éventuels nécessaires pour une sécurité maximum. Reste alors à modifier les attributs pour chaque fichier, en rectifiant les valeurs des autorisations, comme préconisé par WP Security Scan.
Tableau des permissions délivré par WP Security ScanLe plugin WP Security Scan, vraiment indispensable, ne se contente pas de vérifier les CHMOD, il teste les vulnérabilités, les possibilités d’intrusion, contrôle la présence du fichier .htaccess, et bien d’autres choses encore…
9)-Empêcher les robots d’indexer inutilement les répertoires sensibles
Il faudrait consacrer un post complet au fichier d’exclusion des robots, robots.txt, voir sur Wikipédia, ou encore Comment ça marche. Contrairement aux fichiers de sécurité .htaccess, qui peuvent être présents dans chaque répertoire, il n’y aura qu’un seul robots.txt pour la totalité du blog, placé à la racine du site.
Son rôle, bien expliqué surAspirine, est d’éviter que les moteurs de recherche n’indexent les fichiers du blog qui n’ont pas à l’être. En matière de sécurité, il s’agit des fichiers de wp-content, wp-includes et wp-admin. Cela dit, il faut bien garder à l’esprit que la sécurité résultante est vraiment toute relative, puisqu’il ne s’agit que d’une indication, et rien n’empêchera un robot malveillant de passer outre.
10)-Une connexion sécurité plus plus
Afin de protéger l’identifiant et le mot de passe d’une éventuelle interception, lors de la connexion au blog en http, il est possible d’utiliser un protocole sécurisé, le https. C’est le type de protocole utilisé pour la transmission de données sensibles et utilisé par exemple par les banques. La présence d’un cadenas indique que les communications entre le navigateur et le site web sont cryptées et donc sécurisées. A moins de vouloir sécuriser un blog ultra sensible, ou bien en cas de paranoïa aiguë, cela reste plutôt réservé à une utilisation professionnelle. D’une manière générale, ce service est offert par les hébergeurs moyennant un supplément.
Pour comprendre: blog nightangel ou bien encore https et ssl.
11)-La sécurisation par .htaccess, en résumé
Ci-dessous, pour résumer, voici les instructions qu’il serait raisonnable de placer dans un .htaccess, d’une part à la racine du blog, d’autre part dans le répertoire wp-admin.
| .ht access à la racine du blog | .ht access dans wp-admin |
|---|---|
Sur le même thème: 5 petits posts | |
| Sécuriser un blog WordPress... | Sécuriser wp-config.php... |
| Sécuriser le mot de passe... | WordPress: Sécurité et... |
| Text widget et PHP Code... | |
![]() | Si vous avez apprécié ce post ou bien si vous souhaitez apporter quelques éclaircissements supplémentaires, n´hésitez pas à laisser un commentaire... |






















































RSS Tarabistouilles
Airedale sur le fil
Astro sur le fil
CSS, HTML, WebDesign
Nature RSS
Photos sur le fil
Wordpress fil RSS












































































Commentaires récents