Forum général.général Sécurité serveur MySQL

Posté par  .
Étiquettes : aucune
-1
14
oct.
2010
Bonjour à tous!

J'aimerai avoir votre avis concernant la sécurité d'un serveur MySQL.

Je m'explique : je suis en train de coder un logiciel (Qfacture [http://www.julienpecqueur.com/wordpress/projets/qfacture/]) pour faire de la facturation. Il stocke ses données dans une base MySQL (PgSQL à venir).

Actuellement, la base de donnée est stockée sur mon serveur @home et le port 3306 est ouvert uniquement pour une IP de mon réseau local (mon desktop) et j'autorise dans /etc/host.allow que l'IP de mon desktop.

Par contre j'aimerai avoir accès à mes données depuis mon netbook et surtout depuis l'extérieur (genre rédiger une facture chez le client depuis sa connexion wifi)...

Est-ce que le service MySQL est suffisamment sécurisé pour rendre accessible le port depuis l'extérieur (le root est accessible uniquement depuis localhost et le user de la db utilisée depuis partout)?

Y'a - t - il moyen de crypter les données (encapsulation ssh par exemple)?

Sinon avez vous des suggestions?
  • # VPN

    Posté par  . Évalué à 4.

    Afin de me protéger d'éventuelle faille, je passerai par un tunnel VPN ou SSH pour chiffrer les flux
  • # LMGIFY

    Posté par  . Évalué à 4.

  • # Tunnel SSH sur le port 443

    Posté par  (site web personnel) . Évalué à 5.

    Si le wifi de ton client filtre un peu trop les connexions sortantes de son réseau, et que tu n'utilises pas le port 443 de ta connexion internet, tu peux planquer un serveur SSH derrière le port 443.

    Depuis ton laptop, tu te connectes en SSH sur le serveur, et tu demandes un tunnel du port 3306 du serveur sur le port 3306 du localhost de ton portable.

    En clair, cela donne cela :

    ssh -oPort=443 -L 3306:localhost:3306 user@adresse_ip_serveur

    Tu n'as plus qu'à connecter ton appli sur ton port localhost:3306, qui va te renvoyer directement sur le serveur MySQL de ton serveur.

    Afin, de sécuriser la chose, tu peux :
    - faire que le login de ton "user@adresse_ip_serveur" tombe sur un faux-shell (/usr/local/bin/fake_shell). Quelque chose du type (code en C) :


    #include <stdio.h>
    #include <unistd.h>

    int main (int argc, char* argv[]) {
    printf("Le tunnel SSH actif\n\
    Vous pouvez lancer les connexions aux tunnels.\n\
    Vous pouvez arrêter cette connexion en tapant plusieurs fois Ctrl+C\n");
    sleep(-1);
    return 0;
    }


    Que tu compiles comme cela :
    gcc -Wall -o /usr/local/bin/fake_shell fake_shell.c

    - et enfin, mettre en place une paire de clé publique/privée, protégées par un mot de passe, qui fera que seul cette clé peut se connecter au serveur SSH.

    J'ai écrit un article pour Linux+DVD, et fait une conférence sur le sujet. Tu trouveras les transparents de la conférence ici : http://olivieraj.free.fr/fr/linux/information/prise_en_main_(...)
    • [^] # Re: Tunnel SSH sur le port 443

      Posté par  . Évalué à 2.

      iptables qui redirige le port 443 vers (au choix)
      - mysql en ssl
      - openvpn


      puis depuis l'exterieur, soit tu connectes ton appli sur le port 443
      soit tu ouvres un vpn puis tu accedes en reseau local
  • # Merci pour les réponses!

    Posté par  . Évalué à 1.

    Merci pour les réponses....

    Je pense que dans un premier temps je vais utiliser la méthode du tunnel ssh afin de ne pas faire de modifications dans le soft.

    Je vous tiens au courant!
  • # Mais pourquoi réinventer la roue?

    Posté par  (site web personnel) . Évalué à 1.

    Bonjour,

    tu as un logiciel excellent qui s'appelle Dolibarr.

    Il fonctionne, très bien.

    A+

    Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.