Un des grands défaut de la plupart des sites qui existent sur la toile est l’accessibilité des interfaces d’administration. Et je pense plus particulièrement a WordPress dont l’interface est ouvert a tout vent. Un seul mot de passe trop simpliste et hop, des hackers dignes de ce nom peuvent venir mettre le bronx sur votre blog en 2 secondes. Et ce n’est pas très difficile d’aller trouver des vicitimes potentielles en 2 secondes : http://goo.gl/FKBme
Pourtant, pour la plupart d’entre nous, il existe une méthode simple pour limiter le risque (je dis bien limiter). Notre adresse IP !
Bon nombre d’entre nous avons des adresses IP fixes. Il suffit donc de limiter les accès à cette adresse IP et le tour est joué.
La méthode « Configuration Apache »
Perso, je suis une grosse feignasse, et je n’aime pas laisser traîner des fichiers .htaccess un peu partout. Alors je définis tout dans les « VirtualHost » apache. Voici ma configuration pour WordPress :
<VirtualHost *:80>
#Configuration de base
ServerAdmin webmaster@localhost
ServerName Domaine.fr
ServerAlias autre.domaine.com autre.sousdomaine.fr
DocumentRoot /home/mondossierweb<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>#Configuration du dossier contenant le blog
<Directory /home/mondossierweb>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all# Règles de réécriture
RewriteEngine On
RewriteBase /#Celle ci sert a garder toujous le même domaine, peu importe celui qui a été appelé
RewriteCond %{HTTP_HOST} !^www\.domaine\.com
RewriteRule ^(.*)$ http://www.domaine.com/$1 [R=301,L]# Réécriture d’url WP
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]</Directory>
# On autorise l’admin a certaines IP seulement
<Directory ~ /wp-admin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
Deny from all
Allow from monip1 monip2 ou Tranched’ip
</Directory># Idem pour le login
<Files ~ wp-login.php>
Options Indexes FollowSymLinks MultiViews
Order deny,allow
Deny from all
Allow from monip1 monip2 ou Tranched’ip
</Files># Les logs, important pour suivre le trafic
ErrorLog ${APACHE_LOG_DIR}/blog-error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/blog-access.log combined
</VirtualHost>
La méthode .htaccess
Vous n’avez peut être pas accès a la configuration apache si vous êtes en mutualisé. Alors ajoutez dans votre fichier .htaccess
# On autorise l’admin a certaines IP seulement
<Directory ~ /wp-admin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order deny,allow
Deny from all
Allow from monip1 monip2 ou Tranched’ip
</Directory># Idem pour le login
<Files ~ wp-login.php>
Options Indexes FollowSymLinks MultiViews
Order deny,allow
Deny from all
Allow from monip1 monip2 ou Tranched’ip
</Files>
Et si on a pas d’ip fixe ?
Alors il faut utiliser un tunnel SSH, ce qui suppose d’avoir accès au serveur (ça fera l’objet d’un autre billet)
Et si on a ni IP fixe, ni tunnel SSH ?
Alors là.. je peux plus rien pour vous !
Bonne journée à tous !











