Skip to content
 

sécuriser l’accès à phpmyadmin

Vous voulez que votre serveur devienne une serveur LAMP ? cet acronyme désigne les quatre applications qui font un serveur performant :

  1. un système d’exploitation Linux stable et garanti.  Si vous êtes sur ce site, vous êtes probablement déjà convaincu.
  2. un serveur web Apache pour servir les requêtes envoyés par le navigateur,
  3. une base de données MySQL ,
  4. un langage de script PHP pour générer des pages web dynamiques et gérer la base MySQL.

Il ne vous manquera alors qu’un outil pour administrer vos bases de données: phpmyadmin, un utilitaire écrit en PHP.

L’avantage de phpmyadmin n’est pas mince pour administrer un serveur : il permet de visualiser les tables et les champs de façon plus confortable qu’avec la console.phpmyadmin

L’inconvénient est que vos informations transitent par internet et peuvent être interceptées.

L’utilisation de SSL permet de sécuriser l’utilisation de phpmyadmin.

Pour installer le paquet, simplement sudo apt-get install phpmyadmin

Phpmyadmin s’installe dans le repertoire /usr/share/phpmyadmin.

Comme il est d’usage que les requêtes web se fassent sur le répertoire /var/www, un petit lien symbolique s’impose

placez vous dans le répertoire: cd /var/www, puis ln -s /usr/share/phpmyadmin phpmyadmin

Pour générer le certificat SSL, vous aurez besoin du paquet open ssl.

Pour générer le certificat et la clef, tapez

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -out /etc/apache2/server.crt -keyout /etc/apache2/server.key

Pour accéder à phpmyadmin, j’utilise tout simplement l’adresse de mon serveur, du type http://mon serveur.fr  et la fonction d’hôte virtuel. Je pourrais aussi utiliser tout simplement l’adresse IP.

Voici comment paramétrer l’hôte virtuel dans le fichier /etc/apache2/sites-available/phpmyadmin

NameVirtualHost *:443
NameVirtualHost *:80

ServerName monadresse.fr
redirect / https://monadresse.fr


ServerAdmin webmaster@localhost
ServerName monadresse.fr
DocumentRoot /var/www/phpmyadmin
SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key


Options FollowSymLinks
AllowOverride All

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all

../..

Commentaire : les requêtes sur le port 80 sont renvoyées vers le port 443 des transactions sécurisées HTTPS. Comme toujours, veillez à ce que votre parefeu autorise les requêtes vers le port 443.

Une dernière précaution serait de demander une authentification. A défaut, vous risquez uen attaque brute force.

Placez ce fichier .htaccess dans /usr/share/phpmyadmin

AuthName « Acces restreint »
AuthType Basic
AuthUserFile « /chemin/vers/.htpasswd »
Require valid-user

et placez dans un autre répertoire votre fichier .htpasswd avec l’encryptage md5 du mot de passe sous la forme user:motdepassecrypté.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BlogMemes Fr
  • email
  • Netvibes
  • PDF
  • Wikio FR
  • Technorati
  • Twitter
  • Twitthis

Laissez une réponse