Sécuriser son PhpMyAdmin

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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 » ;) 

A graphical interface is like a joke: if you have to explain it, that's shit. | Les logiciels Deuchnord

+0 -0

Cette réponse a aidé l'auteur du sujet

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).

Auteur du sujet

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 :)

A graphical interface is like a joke: if you have to explain it, that's shit. | Les logiciels Deuchnord

+0 -0

Cette réponse a aidé l'auteur du sujet

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.

+1 -0

Cette réponse a aidé l'auteur du sujet

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).

Auteur du sujet

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 ^^

Édité par Jérôme Deuchnord

A graphical interface is like a joke: if you have to explain it, that's shit. | Les logiciels Deuchnord

+0 -0
Auteur du sujet

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 ? :-/

A graphical interface is like a joke: if you have to explain it, that's shit. | Les logiciels Deuchnord

+0 -0
Auteur du sujet

Bon, je viens d'essayer, mais bien qu'il arrive à se connecter au serveur, il plante méchamment sur un SYSCALL lors de l'interrogation de la base de données. C'est dommage, ça m'aurait bien aidé (en plus d'être simple à mettre en place)…

Merci tout de même pour cette proposition ^^

A graphical interface is like a joke: if you have to explain it, that's shit. | Les logiciels Deuchnord

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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