MercatorShield (Toutes versions)

0000001859     -      06/11/2023

Pour fonctionner, Mercator doit disposer d'une licence valide, càd certifiée par le serveur de certificats MercatorShield. Ces certificats attestent de la validité des licences Mercator et entravent la réinstallation du programme.

Installation du service MercatorShield

MercatorShield existe en deux versions, une pour le framework .net classique (4.8) et l'autre pour le framework .net Core (7.0). Ces deux versions sont capables de valider des licences pour tous les Mercators, quelle que soit la version du framework de ces Mercators. Une seule installation est autorisée par serveur. Avant d'installer une version, il faut, le cas échéant, désinstaller l'autre version. L'assistant de mise à jour ne permet pas de passer d'une version à l'autre.

 

Installez le service MercatorShield sur un seul poste de votre réseau (par convention sur le serveur SQL) : MercatorShieldSetupX64.msi

Après installation, il est nécessaire de mettre à jour les exécutables. Soit via l'assistant de mise à jour disponible dans le menu contextuel de l'icône de MercatorShieldGui shield_ico : Vérifier Mise à Jour. Soit en effectuant cette procédure manuellement :

  • Dans le gestionnaire des services de Windows, arrêter le service MercatorShieldService,
  • Fermez MercatorShieldGui.exe (le programme représenté par shield_ico,
  • Téléchargez MercatorShieldService.exe,
  • Téléchargez MercatorShieldGui.exe,
  • Remplacez les deux exécutables,
  • Redémarrez le service MercatorShieldService,
  • Redémarrez MercatorShieldGui.exe.

Configuration de Mercator

  • Via le menu "Outils \ Outils avancés \ MercatorShield" d'un Mercator récemment mis à jour, exécuter le menu "Installer". Accepter les paramètres par défaut ou indiquer l'une de ces deux notations (Par défaut, le port est 5022) :
    • Adresse_ip : port (Ex. 192.168.2.130:5022)
    • Nom_de_serveur : port (Ex. mon_serveur:5022)
       
  • Cliquer-droit sur l'icône shield_ico apparue dans votre barre des tâches et demander un certificat automatiquement (en localisant simplement dans le processus le fichier MERCATOR.CONNECTION) de votre Mercator

Voir aussi cette information : comment configurer MercatorShield de telle sorte que les communications entre Mercator et MercatorShieldService se fasse par l'intermédiaire de SQL Server.

Informations avancées (Windows)

MercatorShield est un ensemble de 2 composants :

  • MercatorShieldService.exe : service IP permettant la distribution de l'autorisation contenue dans un certificat au travers de tout le réseau local
  • MercatorShieldGui.exe : application "system tray" qui permet de monitorer le service indiqué ci-dessus, d'effectuer des demandes de certificats et de tester les certificats.

Ces 2 exe doivent se trouver dans un répertoire indépendant de Mercator, idéalement un répertoire local, sur un seul ordinateur du réseau local où évolue Mercator. Pour des raisons de standardisation, nous recommandons son installation sur le même serveur que le serveur SQL. 

L'application MercatorShieldGui.exe est utilisée par clic-droit sur son icône dans le system tray. Les menus sont les suivants :

  • Information Service : permet de connaître le statut du service MercatorShieldService ainsi que les informations de version relatives à ces composants
  • Magasin Certificats:  ouvre le répertoire contenant les certificats de MercatorShield
  • Démarrer Service : pour démarrer le service MercatorShieldService
  • Arrêter Service : pour arrêter le service MercatorShieldService
  • Demander Certificat Automatiquement : permet de télécharger de façon automatique un certificat. Le programme demande de localiser le fichier Mercator.connection du Mercator pour lequel on sollicite le certificat. Ensuite, il se connecte via Internet à un serveur chez INEO et obtient le certificat qui est sauvegardé automatiquement dans le sous-répertoire Certifs.
  • Demander Certificat Manuellement : dans le cas où le mode précédent ne peut être utilisé (connexion internet inexistante ou limitée), une demande de certification pourra être effectuée manuellement. Le programme demande aussi de localiser le fichier Mercator.connection du Mercator pour lequel on sollicite le certificat. Il écrit ensuite un fichier dont l'extension est certrequest, dans le sous-répertoire Certifs. Ce fichier contient une demande de certificat (et non le certificat). Il doit être envoyé à support@mercator.eu. Après traitement par nos services, vous recevrez le certificat en tant que tel qui devra être placé dans le sous-répertoire Certifs. Les fichiers certrequest peuvent être détruits après usage.
  • Tester Certificat : cette fonction permet de tester la validité d'un certificat.
  • Quitter : ceci ferme l'application MercatorShieldGui. Cela n'a aucune incidence sur le service MercatorShieldService qui fonctionne parfaitement, même si MercatorShieldGui n'est pas actif.

Si la fonctionnalité Sécuriser l'accès de Mercator à la base de données SQL avec un certificat est utilisée, le certificat doit être placé dans le magasin personnel de certificats de Windows, via MMC, en choisissant "Un compte d'ordinateur" (Local computer).

Informations avancées (Linux)

MercatorShieldGui n'existe pas en version Linux et n'est pas nécessaire. Pour demander un nouveau certificat, il suffit d'exécuter le menu "Outils / Outils Avancés / MercatorShield / Demander Certificat" dans Mercator. Il n'existe pas de procédure de demande manuelle.

Pour démarrer le service :

sudo systemctl start mercatorshield.service

Pour arrêter le service :

sudo systemctl stop mercatorshield.service

Si la fonctionnalité Sécuriser l'accès de Mercator à la base de données SQL avec un certificat est utilisée, il faut d'abord uploader le fichier PFX sur la machine Linux (par exemple avec WinSCP).

Ensuite, il faut exécuter cette commande en adaptant le chemin d'accès vers le fichier PFX :

cd /usr/local/mercatorshield
sudo ./MercatorShieldService -loadpfx=/home/myuser/mypfx.pfx

MercatorShieldService va alors charger le certificat en demandant le mot de passe du PFX.

Pour vérifier que MercatorShieldService est opérationnel, il faut exécuter cette commande :

sudo systemctl status mercatorshield.service

Le résultat doit contenir :

  • Active: active (running) since...
  • TCP socket is OK !

Pour mettre à jour MercatorShieldService :

sudo systemctl stop mercatorshield.service
cd ~ 
wget https://www.mercator.eu/mercator/updates/MercatorShieldLinux.zip
unzip MercatorShieldLinux.zip
sudo cp MercatorShieldService /usr/local/mercatorshield/MercatorShieldService
sudo systemctl start mercatorshield.service

Remarques importantes :

  • MercatorShieldService ne doit être installé qu'une seule fois par licence Mercator
  • MercatorShieldService peut distribuer plusieurs certificats. Dès lors, si plusieurs licences Mercator sont utilisées sur le même réseau local, il ne faut installer qu'une seule fois MercatorShieldService. Il suffira de demander un certificat par licence.
  • MercatorShieldService doit être installé dans le même réseau local que l'ensemble des postes Mercator qu'il dessert. Le passage au travers d'un router n'est pas autorisé.
  • MercatorShieldService utilise par défaut le port 5022. Il faut que ce port soit ouvert sur tout éventuel pare-feu, tant sur le serveur que sur l'ensemble des postes clients.
  • Ce port par défaut peut être modifié dans le fichier MercatorShieldService.ini. Cette modification requiert un redémarrage de ce service.
  • Dans une configuration multi-dossiers, seuls les dossiers disposant de leur propre licence sont concernés par les certificats (dossiers avec parchemin dans la liste des dossiers). Les autres dossiers héritent automatiquement du certificat de la licence "fiduciaire" (celle contenant l'option DOSSIERS=…)
  • MercatorShieldService tient compte d'une empreinte hardware de l'environnement dans lequel il fonctionne. Il ne peut donc être déplacé sur un autre poste, sous peine de voir l'ensemble des certificats qu'il contient invalides.
  • Il ne faut donc en aucun cas solliciter un certificat pour une installation temporaire.
  • Il convient de veiller à ce que le répertoire principal et le répertoire DATA utilisés par les différents Mercator puissent être reconnus en tant que tels par le serveur MercatorShield. A ce propos, nous attirons votre attention sur le fait que les services ne reconnaissent pas les disques virtuels créés via un SUBST. (Voir remarque ci-dessous concernant le transcodage de répertoires)
  • Si le certificat contient une date de validité, il n'est pas autorisé d'effectuer dans Mercator des opérations qui utilisent une date ultérieure à cette date.
  • Après configuration de l'ensemble du système, nous recommandons de cliquer-droit sur l'icône bouclier dans le ruban de Mercator afin de forcer un test de validation de licence. Si le système affiche " OK ! ", c'est que l'installation est correcte.
  • Le serveur MercatorShield est référencé dans "Outils / Options / Autres"

 

Transcodage de répertoires (Windows seulement) :

Dans des situations peu courantes, il peut être nécessaire de forcer une traduction des répertoires vus par MercatorShieldService. Ceci peut se faire en ajoutant une ligne ou les deux lignes suivantes dans MercatorShieldService.ini.

  • Changemaindir, pour le répertoire principal de Mercator
  • Changerepdata, pour le répertoire des données de Mercator

Chacune de ces lignes doit contenir une expression sous la forme :

Chemin ou partie de chemin à changer = Chemin ou partie de chemin de remplacement

Il est possible de mettre plusieurs règles de changement, en les séparant par ;

Les changements sont effectués de façon cumulative dans l'ordre dans lequel ils sont présents dans l'expression.

Exemples :

changemaindir = m:\ = C:\DriveM\ ; n:\ = C:\DriveN\
changerepdata = m:\ = C:\DriveM\

Application : (permet le transcodage en cascade)

Le PC3 est le serveur sur lequel MercatorShield est installé (dans le répertoire \mercator\).
Le PC2 est le serveur sur lequel Mercator est installé (avec un mapping H:\ vers le PC3).
Le PC1 est un poste utilisateur de Mercator (avec un mapping F:\ vers le PC2 et sans mapping vers le PC3).

changemaindir = F:\=H:\; H:\=PC3:\mercator\

Il faut donc passer du PC1 vers le PC2 (via F:\) et ensuite passer sur le PC3 (via H:\).

 


Uniquement pour les installations sur base du Framework .net classique :

Est-il nécessaire de faire fonctionner MercatorShieldGui dans toutes les sessions dans une configuration Terminal Server ?

Comme indiqué ci-dessus, MercatorShieldGui n'est pas un service. (Le service, c'est MercatorShieldService)

On peut donc complètement se passer de MercatorShieldGui qui ne sert qu'à demander des certificats ou à voir directement l'état du service.

Pour éviter qu'il ne démarre automatiquement au login de Mercator, il faut supprimer la clé de registre HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MercatorShieldGui.

On peut toujours exécuter ponctuellement MercatorShieldGui.exe qui se trouve par défaut dans C:\Program Files\MercatorShield pour en obtenir les fontionnalités.

On peut aussi à tout moment fermer MercatorShieldGui via un clic-droit sur son icône et en choisissant "Quitter".