mis à jour le 22 décembre 2024
Ce tutoriel concerne le paramétrage de l'installation de Rufus pour permettre son accès via internet sur un serveur MySQL version 5.7 ou ultérieure.
Pour les versions précédentes, il y a quelques différences, notamment en ce qui concerne l'emplacement du fichier my.cnf. De plus, la commande service mysql restart ne fonctionne pas dans MySQL 5.7. En cas de difficulté, reportez-vous à la page web http://www.it-connect.fr/configurer-le-ssl-pour-securiser-mysql/. La connexion d'un poste client Rufus à un serveur MySQL par internet se fait via un protocole de cryptage openSSL sur 2048 bits, inviolable sans moyens démesurés. Une fois installée, cette connexion cryptée est totalement transparente pour l'utilisateur. Un poste peut être paramétré pour avoir plusieurs accès possibles. C'est le cas par exemple pour un ordinateur portable qui pourra se connecter selon les cas par internet (accès au serveur depuis un cabinet secondaire, la clinique ou le domicile) ou directement au réseau local quand on s'en sert au cabinet. Dans ce cas, au démarrage de Rufus, un choix est proposé en fonction de la façon dont le poste a été paramétré dans Rufus Dans ce tutoriel, il est supposé que Rufus est déjà installé et opérationnel sur le poste que vous voulez paramétrer. La manipulation consiste à:
Ce tuto est long et un peu complexe mais à la portée de n'importe qui un peu motivé. +++ Quelques précisions Il y a de nombreuses instructions en ligne de commande. Plutôt que de les retaper, il est beaucoup plus rapide et sûr de faire à chaque fois un copier-coller de la ligne à taper depuis ce document vers le terminal pour éliminer les risques d'erreur (Command-C pour copier – Command-V pour coller). !Attention! Vous devez être administrateur du système pour pouvoir faire cette installation. Vérifiez vos droits dans Pomme/Préférences Système/Utilisateurs et groupes. La case Autoriser l'administration de cet ordinateur doit être cochée. A plusieurs reprises, le terminal du mac vous demandera votre mot de passe. Quand vous tapez un mot de passe dans le terminal, il n'y a aucun « echo » à votre frappe, ce qui est normal. Attention aussi aux espaces dans les lignes de commande du terminal. On les oublie souvent Enfin, chaque ligne de commande à taper est bien entendu suivie par la touche Enter par exemple : cd (Enter) nano .bash_profile (Enter) |
1. Paramétrage d'une adresse IP statique pour le serveur
Les postes clients se connectent au serveur par le biais de son adresse IP sur le réseau. L'adresse IP d'un poste lui est en général attribuée par la box à chaque allumage du poste et elle peut donc varier d'une mise en route à l'autre. Pour que les postes clients puissent retrouver le serveur à chaque fois, celui-ci doit donc se voir attribuer une adresse IP fixe, qui ne varie pas.
|
|
|
|
2. Paramétrage de la box
Votre box internet doit être paramétrée pour: → ne pas attribuer d'IP à un appareil autre que le serveur quand celui-ci est éteint. C'est le paramètre du DHCP. → débloquer son pare-feu pour le port 3306 → laisser passer les requêtes SQL et les rediriger vers le serveur sur lequel vous avez installé MySQL. C'est ce qu'on appelle la redirection de port ou translation de port qui se fait donc par le port 3306 pour MySQL. Pour atteindre ces réglages, il faut se connecter au serveur web interne de la box.
trouver l'onglet de paramétrage du DHCP (le DHCP est le protocole qui permet à la box d'attribuer des adresses IP) et refaire le réglage. Sur les anciennes box SFR, l'écran qui permettait de faire ça était le suivant |
Dans ce cas, on voit que le DHCP n'est compris que pour les adresses entre 192.168.1.20 et 192.168.1.30. Choisissez une plage nettement plus large pour le DHCP. L'IP statique de votre serveur ne doit bien entendu pas figurer dans cette plage.
Débloquer le pare-feu pour le port 3306
|
3. Génération des clés SSL
|
sudo mkdir -p /USB/mysql/certs sudo cp /cedossier/ca-key.pem /cleUSB/mysql/certs sudo cp /cedossier/ca.pem /cleUSB/mysql/certs sudo cp /cedossier/client-cert.pem /cleUSB/mysql/certs sudo cp /cedossier/client-key.pem /cleUSB/mysql/certs sudo cp /cedossier/private_key.pem /cleUSB/mysql/certs sudo cp /cedossier/public_key.pem /cleUSB/mysql/certs sudo cp /cedossier/server-cert.pem /cleUSB/mysql/certs sudo cp /cedossier/server-key.pem /cleUSB/mysql/certs
les lignes commençant par # sont des commentaires et ne doivent pas être tapées d'après la page dev.mysql.com/doc/refman/8.4/en/creating-ssl-files-using-openssl.html # Create clean environment rm -rf newcerts mkdir newcerts && cd newcerts # Create CA certificate openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 \ -key ca-key.pem -out ca.pem # Create server certificate, remove passphrase, and sign it # server-cert.pem = public key, server-key.pem = private key openssl req -newkey rsa:2048 -days 3600 \ -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 \ -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem # Create client certificate, remove passphrase, and sign it # client-cert.pem = public key, client-key.pem = private key openssl req -newkey rsa:2048 -days 3600 \ -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 \ -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem Vérifier les clés par la commande openssl verify -CAfile ca.pem server-cert.pem client-cert.pem Vous devez obtenir une réponse de ce genre server-cert.pem: OK client-cert.pem: OK
se référer à la page dev.mysql.com/doc/refman/8.4/en/creating-ssl-files-using-openssl.html Téléchargez OpenSSL pour Windows s'il n'est pas installé sur votre système. Vous trouverez ici un aperçu des packages disponibles : www.slproweb.com/products/Win32OpenSSL.html Choisissez le package Win32 OpenSSL Light ou Win64 OpenSSL Light, selon votre architecture (32 bits ou 64 bits). L'emplacement d'installation par défaut est C:\OpenSSL-Win32 ou C:\OpenSSL-Win64, selon le package que vous avez téléchargé. Les instructions suivantes supposent un emplacement par défaut de C:\OpenSSL-Win32. Modifiez ceci si nécessaire si vous utilisez le package 64 bits. Si un message s'affiche pendant l'installation indiquant « ... composant critique manquant : Microsoft Visual C++ 2019 Redistributables », annulez l'installation et téléchargez également l'un des packages suivants, toujours en fonction de votre architecture (32 bits ou 64 bits) :
Après avoir installé le package supplémentaire, redémarrez la procédure d'installation d'OpenSSL. Pendant l'installation, conservez le chemin d'installation par défaut C:\OpenSSL-Win32 et laissez également l'option par défaut « Copier les fichiers DLL OpenSSL dans le répertoire système Windows » sélectionnée. Une fois l'installation terminée, ajoutez C:\OpenSSL-Win32\bin à la variable Windows System Path de votre serveur (selon votre version de Windows, les instructions de définition de chemin d'accès suivantes peuvent différer légèrement) :
C:\Windows\system32>cd \ C:\openssl OpenSSL> <<< Si vous voyez l'invite OpenSSL, l'installation a réussi exit C:\> Une fois OpenSSL installé, utilisez des instructions similaires à celles de l'exemple 1 (présentées plus haut dans cette section), avec les modifications suivantes :
md c:\newcerts cd c:\newcerts # Create CA certificate openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem # Create server certificate, remove passphrase, and sign it # server-cert.pem = public key, server-key.pem = private key openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem openssl rsa -in server-key.pem -out server-key.pem openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem # Create client certificate, remove passphrase, and sign it # client-cert.pem = public key, client-key.pem = private key openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem openssl rsa -in client-key.pem -out client-key.pem openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem Vérifier les clés par la commande openssl verify -CAfile ca.pem server-cert.pem client-cert.pem Vous devez obtenir une réponse de ce genre server-cert.pem: OK client-cert.pem: OK |
4. Configuration de MySQL pour utiliser le cryptage de données SSL
d'après la page www.it-connect.fr/configurer-le-ssl-pour-securiser-mysql%EF%BB%BF/
6. Obtention de votre adresse IP
Votre box a 2 adresses IP. Une sur le réseau local (en général 192.168.1.1) et une sur le réseau internet. Si vous voulez vous connecter à votre serveur depuis internet, c'est cette dernière que vous allez utiliser.
7. Paramétrage de Rufus pour utiliser la connexion par Internet
Relancer Rufus Ouvrir la fenêtre de paramètres. Menu Edition/Paramètres Aller sur l'onglet ce poste Déverrouiller la fenêtre en cliquant sur le cadenas en bas à droite et en entrant le mot de passe administrateur ("bob" par défaut s'il n'a pas été modifié) Cliquer sur l'onglet Accès distant Cocher la case Cet appareil peut se connecter à un serveur distant Renseigner l'adresse du serveur dans la case Emplacement (ici 92.92.169.67), sous forme d'adresse IP ou d'IP dynamique si vous en utilisez une. Renseigner l'emplacement des clés clients SSL (/etc/mysql/SSL si vous avez suivi cette procédure, /private/etc/mysql/autoSSL dans l'image exemple) en cliquant sur le bouton situé à côté de la ligne Emplacement des clés client SSL Renseigner de la même façon l'emplacement du dossier de copie des originaux des fichiers image importé depuis ce poste (facultatif)
|
En haut de l'écran, dans la bannière, l'affichage « accès distant – connexion cryptée (SSL) » confirme que tout marche.
Les données qui circulent sur Internet entre votre poste Rufus et le serveur sont devenues
indéchiffrables pour qui ne possède pas les clés