Tag Archive for Sécurité

[TUTO] Sécuriser efficacement son blog (ou l’admin de son site)

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 !