PhpMyAdmin / PhpMyInfo

Création d’une zone sécurisée

Nous allons créer une zone sécurisée qui va rassembler tous les liens contenant :

  •   PhpMyAdmin
  •   PhpMyInfo

Ainsi, il n’y a que nous qui aurons le droit d’y accèder. Pour cela, nous allons utiliser un fichier .htaccess.

Je vais donc créer un dossier sécurisé qui sera placé dans « /var/www/administration » :

# création du dossier
mkdir /var/www/administration

# on donne les droits à www-data d'y accèder
chown -R www-data:www-data /var/www/administration

Il faut ensuite éditer le fichier VirtualHost d’Apache2 pour y spécifier le dossier à sécuriser :

# édition du fichier
nano /etc/apache2/sites-enabled/000-default

# définition du dossier
<Directory /var/www/administration>
Options Indexes Includes FollowSymlinks MultiViews
# AuthConfig va permettre d'utiliser un fichier .htaccess
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

Il faut ensuite créer le fichier .htpasswd (qui sera créé dans /var pour empêcher qu’il soit accessible par le serveur Web) qui va contenir le mot de passe et le login de l’utilisateur :

htpasswd -c /var/.htpasswd mon_login
New password:
Re-type new password:
Adding password for user mon_login

Puis il faut créer le fichier .htaccess qui va spécifier la méthode d’accès :

# création du fichier à la racine du répertoire /var/www/administration
nano /var/www/administration/.htaccess

AuthUserFile /var/.htpasswd
AuthName "Accès protégé"
AuthType Basic

<Limit GET POST>
Require valid-user
</Limit>

Puis on redémarre Apache2 :

/etc/init.d/apache2 restart

Ensuite nous créons une petite page HTML qui va contenir les liens vers PhpMyAdmin et PhpSysInfo :

<html>
<head><title>Administration du serveur RPS</title></head>
<body>
<h1>Administration du serveur</h1>
<ul>
<li><a href="phpmyadmin/">PhpMyAdmin</li>
<li><a href="phpsysinfo/">PhpSysInfo</a></li>
</ul>

</body>
</html>

On y accède avec un simple navigateur : http://www.ip_de_votre_serveur.com/administration et le serveur Apache2 va nous demander un mot de passe. Si vous avez une erreur de type 500, revérifiez les paramètres.

PhpMyAdmin

Pour récupérer la dernière version, il faut aller sur le site officiel.

Puis commencer l’installation :

# on se place dans /tmp
cd /tmp

# on télécharge phpmyadmin
wget http://ovh.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.6.4-pl4.tar.gz

# on décompresse le fichier téléchargé
tar -zxf phpMyAdmin-2.6.4-pl4.tar.gz

# on renomme le dossier pour lui donner le nom de "phpmyadmin"
mv phpMyAdmin-2.6.4-pl4 phpmyadmin

# suppression de l'archive compressé
rm phpMyAdmin-2.6.4-pl4.tar.gz

Poursuivons la configuration :

nano config.inc.php

Il faut spécifier un code et choisir le mode d’authentification, personnellement j’ai choisi par cookie.

$cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // indiquer ici une valeur de votre choix
$cfg['Servers'][$i]['auth_type']     = 'cookie';

Lors de l’accès à PhpMyAdmin il faudra se loguer avec les informations des comptes utilisateurs (par exemple avec l’utilisateur root) de la base MySQL.

Il faut ensuite placer PhpMyAdmin dans notre dossier sécurisé :

mv /tmp/phpmyadmin /var/www/administration

Pour connaitre toutes les possibilités du fichier de configuration, la documentation en ligne vous aidera.

PhpSysInfo

Pour récupérer la dernière version, il faut aller sur le site officiel.

# on se place dans /tmp
cd /tmp

# on télécharge phpsysinfo
wget http://ovh.dl.sourceforge.net/sourceforge/phpsysinfo/phpsysinfo-2.5.1.tar.gz

# on décompresse le fichier téléchargé
tar -zxf phpsysinfo-2.5.1.tar.gz

# suppression de l'archive compressé
rm phpsysinfo-2.5.1.tar.gz

# on se place dans /phpsysinfo
cd phpsysinfo

# copie du fichier de config
cp config.php.new config.php

Il est possible de faire quelques modifications comme obliger une langue et un thème.

nano config.php

// define the default lng and template here
$default_lng='fr';

$hide_picklist = true;

Il faut ensuite placer PhpSysInfo dans notre dossier sécurisé :

mv /tmp/phpsysinfo /var/www/administration

Conclusion

Cette technique est simple et vous permet de vous protéger face à des personnes qui peuvent tenter de se loguer sur votre PhpMyAdmin par exemple.

Bien évidemment je vous conseille de changer le nom du répertoire administration par un plus technique 😉

Avec mots-clefs , , , .Lien pour marque-pages : permalien.

Laisser un commentaire