Sécuriser son PhpMyAdmin

Le problème exposé dans ce sujet a été résolu.

Hello,

Je viens de louer un VPS chez OVH (sous Debiann 8), et j'y ai installé le nécessaire pour faire tourner un serveur Web, à savoir :

  • Apache
  • PHP 5 (migration prévue vers PHP 7 à sa sortie)
  • MySQL
  • PhpMyAdmin

La configuration par défaut d'Apache proposée par PhpMyAdmin consiste à afficher ce dernier lorsque l'on tente d'accéder à mondomaine.tld/phpmyadmin (indépendamment du domaine de troisième niveau, si bien que clem.mondomaine.tld/phpmyadmin permet également d'accéder à cette interface).

Cette configuration par défaut ne me plaît cependant pas beaucoup, pour des raisons évidentes de sécurité (en dépit des mots de passes « forts »1), aussi je me demandais si vous aviez des recommandations pour « cacher » (à défaut de retirer complètement, car j'en ai quand même besoin…) cette partie sensible ?

Merci d'avance pour vos réponse :)


  1. Mais on sait tous qu'un mot de passe n'est jamais assez « fort » ;) 

+0 -0

Déjà, changer /phpmyadmin pour ne pas se faire scanner un peu bêtement, ça peut être pas mal.

Une idée qui me vient serait de faire du SSL avec un certificat client nécessaire pour accéder au site. Ce n’est à mon avis pas très difficile à mettre en place, le souci étant qu’il faut avoir le certificat pour se connecter et qu’en mobilité ça peut poser souci (mais c’est aussi ce que tu veux).

+1 -0

Une idée qui me vient serait de faire du SSL avec un certificat client nécessaire pour accéder au site. Ce n’est à mon avis pas très difficile à mettre en place, le souci étant qu’il faut avoir le certificat pour se connecter et qu’en mobilité ça peut poser souci (mais c’est aussi ce que tu veux).

lethom

Tu parles de mettre en place du HTTPS ? C'est ce que je suis en train d'essayer de faire, mais en quoi cela rendrait l'accès difficile ? :-/

Est-ce que tu as moyen de faire en sorte que PhpMyAdmin ne soit accessible que depuis ton VPS ? Si oui, tu pourras utiliser un tunnel SSH quand tu voudras t'y connecter.

Grimur

C'est pas bête, ça, faudrait que je regarde comment on peut mettre ça en place :)

+0 -0

Si tu fais ça, interdis aussi l'authentification par mdp via SSH et n'utilise que de l'authentification par clef. C'est sûr que c'est plus chiant d'avoir à ouvrir un tunnel SSH mais ça vaut bien un peu de sécurité en plus. Tu pourras rajouter un alias dans ton .ssh/config de ton ordinateur pour ce tunnel. Si tu veux pouvoir utiliser PhpMyAdmin partout tu pourras utiliser JuiceSSH sur ton téléphone.

Tu parles de mettre en place du HTTPS ? C'est ce que je suis en train d'essayer de faire, mais en quoi cela rendrait l'accès difficile ? :-/

Le HTTPS, souvent, c’est utilisé pour authentifié le serveur. Là je parle d’authentifier le client. Le serveur refusera une connexion entrante si le client (toi) ne lui fournit pas le certificat qui va bien (que tu serais le seul à posséder).

+1 -0

Si tu fais ça, interdis aussi l'authentification par mdp via SSH et n'utilise que de l'authentification par clef. C'est sûr que c'est plus chiant d'avoir à ouvrir un tunnel SSH mais ça vaut bien un peu de sécurité en plus. Tu pourras rajouter un alias dans ton .ssh/config de ton ordinateur pour ce tunnel. Si tu veux pouvoir utiliser PhpMyAdmin partout tu pourras utiliser JuiceSSH sur ton téléphone.

Grimur

D'accord, je vais regarder comment je peux faire ça, merci :)

Tu parles de mettre en place du HTTPS ? C'est ce que je suis en train d'essayer de faire, mais en quoi cela rendrait l'accès difficile ? :-/

Le HTTPS, souvent, c’est utilisé pour authentifié le serveur. Là je parle d’authentifier le client. Le serveur refusera une connexion entrante si le client (toi) ne lui fournit pas le certificat qui va bien (que tu serais le seul à posséder).

lethom

Oh, je vois, je ne pensais pas que c'était possible o_O

Du coup je vais voir pour combiner vos deux solutions, merci à vous :)

ÉDIT : je ne passe pas tout de suite le sujet en résolu, je le ferai lorsque ce sera en place ^^

+0 -0

Ou alors, tu désinstalle tout simplement phpMyAdmin, et tu utilise un logiciel en local (type MySQL Workbench).

elyppire

Hmmm… je t'avoue être sceptique sur ce coup-là : j'ai configuré ma base de données de façon à ne pas être accessible depuis l'extérieur, ça ne représente pas un trou dans la sécurité d'autoriser l'accès depuis l'extérieur du serveur ? :-/

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte