Aller au contenu

Messages recommandés

Bonjour,

J'ouvre ce topic car j'ai été incapable de trouver une explication simple "pour les nuls" sur comment sécuriser phpmyadmin installé sur un NAS Syno... J'en commence même à croire que ceci est réservé à une élite de personnes....

Je viens donc rechercher ici une aide simple afin de m'éclairer et de me rassurer quant à la sécurité de ce service, à défaut (ou en plus), si vous avez des liens de lecture sur le sujet (simples), cela peux me convenir.

J'ai installé donc le paquet PhpMyAdmin sur mon syno (dsm 4.2), et ai changé mon password du compte root.

- J'ai pu voir qu'il y avait la présence de plusieurs utilisateurs,

- j'ai pu également voir que je pouvais accéder aux fichiers presents dans les dossiers du dossier phpmyadmin... ,

- il semble que le log-in à php est en http et non https...

- etc...

Je souhaiterai, dans un premier temps, pouvoir me loguer en https, avoir un seul utilisateur (un compte admin tout pouvoir, et c'est tout), interdire (ou limiter à ma seule ip) l'accès aux dossiers présents dans phpmyadmin....

Dans un premier temps, j'ai vraiment besoin d'éclaircissement, mais j'avoue que j'aimerai beaucoup avoir des conseils de lectures sur le sujet de la sécurité phpmyadmin (php tout court d'ailleurs) pour les utilisateurs novices.

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

En fait, je ne vois pas vraiment - Web station, c'est le service, je n'ai pas d'administration précise pour ce service, et encore moins un endroit où mettre le https ? ou j'ai loupé qqch

Mais surtout je demande d'autre chose sur mon post initial et aimerai bien, si possible, que qqun m'éclaire.

Lien vers le commentaire
Partager sur d’autres sites

Pour le chiffrement il y a une option, la :

"Control Panel -> Web Services -> HTTP Service -> Enable HTTPS connexion for Web services"

Pour n'avoir qu'un seul utilisateur, je pense que tu dois pouvoir supprimer ceux en trop a partir de ton utilisateur admin dans phpMyAdmin

Pour limiter la visibilite es repertoires de phpMyAdmin, il faudrait regarder dans la configuration d'Apache et ajouter des .htaccess

Modifié par Fravadona
Lien vers le commentaire
Partager sur d’autres sites

C'est bien ce que je pensais - j'ai activé le https dans Service Web depuis longtemps déja, (avant même d'activer Web Station), reste que lorsque je me connecte à phpMyAdmin je suis en HTTP...

Pour ce qui est des utilisateurs, tu es sûr ou tu penses ? J'ai pas trop envie de faire de mauvaise manip...

Enfin, je suis totalement débutant en terme de sécurité web, phpMyadmin, mysql... Alors je veux bien apprendre, mais si je demande des précisions ou une lecture sur le sujet c'est que je veux apprendre, mais j'ai décidément trouver aucun sujet (ici ou sur le net) pour les débutants/débutants....

Merci tout de même

Lien vers le commentaire
Partager sur d’autres sites

Je veux pouvoir créer des bases de données qui seront utilisés par des applications que je développe et/ou des webapp,

et à moyen terme une base de données gérant les utilisateurs/acheteurs de mes produits...

Egalement, a executer des scripts pour mes applications et site internet.

Je ne sais pas si cette réponse suffira à m'orienter.

Merci

Modifié par septeven
Lien vers le commentaire
Partager sur d’autres sites

Ça reste encore très vague.

Dois-je en déduire qu'il n'y aura aucun accès distant à MySQL ?

Il y a deux choses distinctes à sécuriser : MySQL et phpMyAdmin.

  • Pour MySQL, je recommande d'utiliser un utilisateur différent par application et de n'autoriser que le client localhost (le NAS).
  • Pour phpMyAdmin, un simple fichier .htaccess dans le dossier /var/services/web/phpMyAdmin. suffira à définir les réseaux et/ou hôtes ayant le droit d'y accéder (voir les directives Order, Allow, et Deny)
Lien vers le commentaire
Partager sur d’autres sites

Par défaut MySQL ne chiffre pas les échanges, du coup tout passe en clair sur le réseau.

Seul le mot de passe est crypté (40 caractères, ça doit être du SHA1), d'où l'intérêt d'utiliser des mots de passe forts car un mot de passe simple (et souvent court) peut être réversible quelque soit l'algorithme de cryptage.

Une webapp ne s'installe pas sur un Smartphone, elle s'utilise au travers d'un navigateur. Il n'y a a donc aucun accès direct à MySQL depuis un appareil mobile (sinon c'est un énorme défaut de conception).

Il ne te reste qu'à sécuriser phpMyAdmin avec un fichier .htaccess.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour prendre de ton temps pour mes questions niaises...

- Pour le mot de passe, cela veux dire que lorsque je me connecte à http://adresse_du_nas/phpMyAdmin/, et que je dois entrer mon mot de passe root, le mot de passe est envoyé crypté ? et par conséquent que le protocole http ne pose pas de problème de sécurité ?

- Mes webapps sont intégrées à une webview, cela ne change t-il rien?

- Pour le .htaccess, tu me parles du dossier /var/services/web/phpMyAdmin. tu veux dire /web/phpMyAdmin. ??

Egalement, au sujet des utilisateurs créés par défaut par le syno, puis-je tous les supprimer, et garder un root all privileges, puis ensuite créer individuellement mes utilisateurs par applications/sites ? Si oui, est-ce aussi simple que sélectionner/supprimer ?

Pour mémoire, les utilisateurs créés par défaut :

syno_phpMyadmin_users.jpg

Enfin une autre question, je fais des scripts php pour apprendre, entre autre, un script qui accède à ma base sql afin d'y ajouter une entrée. Je me demande..., les variables de connexion à ma base qui sont dans mon script en claires, sont-elles lisibles par un tiers ?

Car au début de mon script, il y a l'adresse de ma base, l'utilisateur et le password, donc il y a t-il un risque, ou ce script php mis sur mon serveur ne risque rien (si je gère les accès avec .htaccess).

Je fini sur une autre dernière petite chose, avez vous un conseil d'un bon bouquin pour débutant sur le sujet ? Merci encore!

Lien vers le commentaire
Partager sur d’autres sites

- Pour le mot de passe, cela veux dire que lorsque je me connecte à http://adresse_du_nas/phpMyAdmin/, et que je dois entrer mon mot de passe root, le mot de passe est envoyé crypté ? et par conséquent que le protocole http ne pose pas de problème de sécurité ?

Attention, je ne parlais pas de phpMyAdmin dans mon précédent message mais de la connexion à partir d'un client MySQL (phpMyAdmin est un client web).

Les identifiants passent en clair en HTTP (Basic Authentification), si tu accèdes à phpMyAdmin à l'extérieur de ton réseau local je te conseille vivement d'utiliser HTTPS qui cryptera les échanges.

- Mes webapps sont intégrées à une webview, cela ne change t-il rien?

Je ne sais pas comment fonctionnent tes webapps, mais je n'en connais aucune qui permette au client de se connecter directement à une base de données.

- Pour le .htaccess, tu me parles du dossier /var/services/web/phpMyAdmin. tu veux dire /web/phpMyAdmin. ??

Le chemin que j'ai donné est le chemin réel sur le disque du NAS qui correspond au partage /web/phpMyAdmin., c'est bien la même chose.

Egalement, au sujet des utilisateurs créés par défaut par le syno, puis-je tous les supprimer, et garder un root all privileges, puis ensuite créer individuellement mes utilisateurs par applications/sites ? Si oui, est-ce aussi simple que sélectionner/supprimer ?

Il faut regarder la colonne Client qui indique l'hôte source qui peut se connecter avec le compte défini.

Dans ta capture d'écran on voit que le client localhost peut se connecter en root avec un mot de passe alors que le client 127.0.0.1 (identique à localhost) peut se connecter avec le même compte mais sans mot de passe.

Enfin une autre question, je fais des scripts php pour apprendre, entre autre, un script qui accède à ma base sql afin d'y ajouter une entrée. Je me demande..., les variables de connexion à ma base qui sont dans mon script en claires, sont-elles lisibles par un tiers ?

Car au début de mon script, il y a l'adresse de ma base, l'utilisateur et le password, donc il y a t-il un risque, ou ce script php mis sur mon serveur ne risque rien (si je gère les accès avec .htaccess).

Étant donné que tes scripts PHP ne sont exécutés que sur ton serveur, le client ne peut pas lire les identifiants à moins que ton script ne les affiche à l'exécution du script.

Je fini sur une autre dernière petite chose, avez vous un conseil d'un bon bouquin pour débutant sur le sujet ? Merci encore!

À ma connaissance un tel bouquin n'existe pas, il faut regarder dans les documentations officielles de MySQL et Apache.

Lien vers le commentaire
Partager sur d’autres sites

Merci !

Je n'arrive cependant pas à faire à accéder à phpMyAdmin avec mon fichier .htaccess tel quel :

Order Allow, Deny
Deny from all
Allow from 127.0.0.1

J'ai essayé de remplacé l'ip localhost par mon ip locale, mon ip externe, rien n'y fait, il ne semble écouter que le deny from all...

Ai je fais qqch d'incorrect ?

Egalement, comment faire une redirection, par exemple, lorsque j'essaye d'aller sur http://nas_adress/consolephp celui est redirigé vers http://nas_adress/phpMyAdmin???

Merci pour ton aide.

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.