Contrôle des accès

From Documentation de la solution web de gestion OpenFlyers
Jump to navigation Jump to search

Présentation

L'objet de cette page est de regrouper les informations concernant le contrôle d'accès en général.

Armoires à clés Deister commercialisées par OpenFlyers

L'armoire à clés ProxSafe Smart3U de Deister permet la gestion de 8, 16 ou 32 clés avec l'application openFlyers.

Il existe aussi une version ProxSafe_Mini 3U avec 8 ou 16 clés de format plus réduit avec fermeture automatique de la porte.

Le modèle fourni par OpenFlyers ne comporte pas le lecteur d'identification de Deister mais un mini-serveur installé par OpenFlyers et qui permet de dialoguer avec nos serveurs.

Fonctionnement en mode secours

Fonctionnement en cas de coupure d'accès internet

Le mini-serveur installé dans l'armoire inclut une interface web accessible via le réseau local et qui permet de gérer les accès en cas de défaillance du réseau internet.

Fonctionnement en cas de coupure d'alimentation

L'armoire à clés est équipée d'une batterie lui permettant d'assurer une autonomie en cas de coupure de courant.

Armoires à clés FlogBox anciennement commercialisées par Francelog

Pré-requis :

  • L'ordinateur relié à l'armoire à clés doit être sous Windows 7 ou une version supérieure.
  • La version 4.7.2 ou une version supérieure de Microsoft .NET Framework doit être installée.
  • Il faut un accès administrateur à l'ordinateur.

La communication entre l'armoire à clés FlogBox et la plateforme OpenFlyers se fait avec un programme tournant en tâche de fond sur un ordinateur branché à l'armoire à clés. Ce programme interroge toutes les minutes la plateforme OpenFlyers qui met à jour un fichier sur l'ordinateur contenant les clés d'autorisations des utilisateurs. L'armoire à clé se met à jour à partir de celui-ci. L'armoire à clés est autonome en cas de coupure d'accès internet.

L'accès à une clé est donné si :

Armoires à clés KeyGard anciennement commercialisées par BKS électronique

Pré-requis pour mettre en place une synchronisation entre OpenFlyers et KeyGard

  • L'ordinateur relié à l'armoire à clés doit être sous Windows 7 ou une version supérieur et doit avoir le programme kgcom.exe qui permet la communication à l'armoire à clés. OpenFlyers peut communiquer le CD-ROM d'installation. Pour relier l'ordinateur à l'armoire à clés, il faut un cordon adaptateur USB/série tel que celui proposé par RS components : https://fr.rs-online.com/web/p/convertisseurs-serie-et-repeteurs/1445699/?sra=pstk .
  • La version 4.7.2 ou une version supérieure de Microsoft .NET Framework doit être installée.
  • Il faut un accès administrateur à l'ordinateur.

Principe de la synchronisation entre OpenFlyers et KeyGard

La communication entre l'armoire à clés KeyGard et la plateforme OpenFlyers se fait avec un programme tournant en tâche de fond sur un ordinateur branché à l'armoire à clés. Ce programme interroge toutes les minutes la plateforme OpenFlyers qui met à jour un fichier sur l'ordinateur contenant les codes armoires des utilisateurs à partir du champ keyPanelUserId/Code armoire et les autorisations définies dans le champ keyAuthorization/clé d'autorisation des utilisateurs. Ce dernier champ est mis à jour automatiquement par le robot OpenFlyers lors de la mise à jour des validités ainsi qu'une fois par jour pour tenir compte des validités à expérience. Après avoir mis à jour le fichier, le programme lance une requête à l'armoire à clés pour qu'elle se mette à jour à partir du fichier. L'armoire à clés est autonome en cas de coupure d'accès internet.

Attention : la synchronisation entre OpenFlyers et l'armoire KeyGard se fait indépendamment du programme historique de KeyGard de gestion des autorisations des utilisateurs et qu'il ne doit pas être utilisé sous peine de désynchroniser complètement le système.

L'accès à une clé est donné si :

Exemple :

  • Le paramétrage du type de ressource DR42 nécessite qu'un utilisateur dispose du type de validité "Visite médicale" pour pouvoir utiliser l'aéronef.
  • Le paramétrage du type de validité "Visite médicale" précise que cette validité est bloquante pour le contrôle d'accès.

Dans ce cas, un utilisateur qui ne dispose pas de la validité "Visite médicale" (à jour) ne peut pas libérer les clés des aéronefs de type DR42. Les informations sont transmises de la façon suivante :

Le champ "Clé d'autorisation" de chaque utilisateur contient une succession de 0 et de 1. Un 0 indique que la clé du rang concerné ne peut être libérée par l'utilisateur. Un 1 indique que la clé du rang concerné peut être libérée.

Si les clés des aéronefs DR42 ont pour numéro 2 et 5, cela entraine des 0 pour les rangs 2 et 5 pour l'utilisateur qui ne dispose pas de la validité "Visite Médicale". Le champ "Clé d'autorisation" doit contenir :

x0xx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

les x correspondent aux autres 0 ou 1 pour les autres clés.

A chaque modification d'une validité de l'utilisateur ou lors d'une modification du paramétrage d'un type de validité, une mise à jour s'effectue sur l'armoire à clés. Cela se retrouve dans le fichier down.txt. Ce fichier doit contenir une ligne correspondant à l'utilisateur sous la forme suivante :

<A090000266DUPONT          00x0xx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>

C'est à dire qu'il doit y avoir le numéro du code armoire, suivi du nom de l'utilisateur suivi de deux 0 suivi de la clé d'autorisation.

La mise à jour effective se vérifie au travers du fichier journal.txt.

Voir le chapitre Problème de synchronisation avec l'armoire à clés KeyGard pour plus de précisions.

Paramétrer le port COM sur lequel l'armoire est reliée au PC

Les PC modernes ne disposent plus de port COM. Il faut donc utiliser un cordon adaptateur USB/série. Cela entraine un numéro de port COM qui est défini aléatoirement. De plus, l'outil de paramétrage de l'armoire à clés KeyGard ne permet de choisir un port qu'entre les nombres 1 et 8.

Prérequis : avoir installer le logiciel KeyGard à partir du CD-ROM d'installation

Vérifier/modifier le port COM utilisé par l'armoire :

  • Cliquer sur le bouton de recherche de Windows
  • Taper "Gestionnaire de périphériques"
  • Cliquer le choix correspondant dans les résultats de recherches

Une fenêtre s'ouvre avec la liste des périphériques ordonnées par ordre alphabétique

  • Déplier Ports (COM et LPT)

La liste détaillées des ports COM utilisée s'affiche avec entre parenthèse le numéro de PORT. Identifier la ligne correspondante au cordon adaptateur et au port COM correspondant. Exemple : "Prolific USB-to-Serial Comm Port (COM2)"

  • Si le numéro de port est entre 1 et 8, il n'y a pas besoin de le modifier. Sinon, il faut :
    • Survoler la ligne correspondante au cordon, cliquer sur le bouton droit de la souris pour faire apparaitre un menu contextuel
    • Cliquer sur Propriétés
    • Cliquer sur l'onglet Port Settings
    • Cliquer sur le bouton Advanced...
    • Dans le champ COM Port Number, choisir un numéro de Port entre 1 et 8 qui n'est pas utilisé. S'il n'y en n'a aucun, alors il faut essayer d'identifier quel est l'usage de chaque port COM pour débrancher le périphérique correspondant afin de liber le numéro de port et ensuite forcer l'affectation du port COM du cordon à ce numéro libéré.
    • Cliquer sur le bouton OK
    • Cliquer sur le bouton OK
    • Redémarrer l'ordinateur et vérifier la prise en compte du bon Port COM pour le cordon en appliquant les items de procédures ci-dessus à partir de Cliquer sur le bouton de recherche de Windows

Indiquer au logiciel KeyGard le port à utiliser pour l'envoi des trames :

  • Lancer le logiciel KeyGard :
    • Cliquer sur le bouton Windows
    • Rechercher dans la liste des programmes, la lettre K
    • Déplier le dossier Keygard
    • Cliquer sur l'item KeyGard

Deux fenêtres s'ouvrent : celle du menu principal de KeyGard et celle de l'interrogation de l'armoire Dans la fenêtre du menu principal KeyGard :

  • Cliquer sur le bouton Paramétrage
  • Dans le champ No du Port COM PC pour l'Armoire, indiquer le numéro du Port COM identifié précédemment
  • Cliquer sur le bouton symbolisant la sortie par une porte
  • Cliquer à nouveau sur le bouton symbolisant la sortie par une porte

Relancer à nouveau le logiciel et vérifier que dans la fenêtre d'interrogation de l'armoire les trams sont bien envoyées à l'armoire.

S'il apparait toujours une anomalie de communication telle que Port LOCAL COMx non disponible, cela peut se régler de soi-même en patienter quelques minutes.

Par la suite, il n'est pas nécessaire de lancer le logiciel KeyGard ni de le laisser tourner en tâche de fond. Le module de communication OpenFlyers s'occupe d'exécuter le programme kgcom.exe pour lancer la synchronisation toutes les minutes.

Le logiciel de communication OpenFlyers est installé en tant que service et se lance automatiquement à chaque démarrage du PC.

Porte d'accès pilotée par KeyGard

Dans le cas où une armoire à clés KeyGard pilote également les autorisations d'une porte contrôlée par un badge, alors cette porte est associée virtuellement à un numéro de clé. En général ce numéro de clé est le numéro 64. Pour donner les autorisations de contrôle d'accès à la porte, il faut :

  • Paramétrer le nombre de clés pour l'armoire à 64
  • Créer un type de ressource "Porte" de catégorie "Simulateur"
  • Créer une ressource "Accès porte" de type "Porte"
  • Associer la clé 64 à cette ressource
  • Définir les éventuelles validités requises

Mettre en place le logiciel de communication côté OpenFlyers

Prérequis
  • Avoir réglé la facture pour l'option annuelle "Pilotage du contrôle d'accès".
  • Recevoir le fichier `keygard.rar` Depuis OpenFlyers.
  • Décompresser ce fichier dans le dossier racine de votre disque dur (C:).
  • Vérifier que tous les fichiers se trouvent bien dans le répertoire "Keygard".
Procédure
  • Mettre à jour le fichier de configuration `appsettings.json` avec les paramètres suivants :
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "ApplicationSettings": {
    "timeout": 60000,
    "filename": "down.txt",
    "storage": "C:/keygard/",
    "kgcomPath": "chemin vers kgcom.exe",
    "url": "https://openflyers.com/{nom_du_club}/actionOnDemand.php",
    "action": "get_keyguard_file",
    "token": "0"
  }
}
  • Créer un service Windows en exécutant la commande suivante dans une invite de commandes en mode Administrateur :
sc create OF_GetKeyGardFile binPath= "C:\keygard\OF_GetKeyGardFile.exe" start= delayed-auto
  • Démarrer et exécuter le service "OF_GetKeyGardFile" en spécifiant dans les Propriétés "Automatique (début différé)".
  • Vérifier que le fichier `down.txt` se remplit bien avec les données provenant d'OpenFlyers. Le plus simple est de vider ce fichier et de vérifier qu'une minute après, il se remplit correctement.

Identification biométrique

Nous réfléchissons à l'opportunité d'interfacer OpenFlyers avec une solution de contrôle d'accès basée sur un lecteur d'empreinte digital.

L'avantage de cette solution serait de ne plus avoir à utiliser de badge ou tag et ainsi d'éviter tout oubli.

En France, il faut prévoir une déclaration normale auprès de la CNIL car les empreintes digitales ne seraient pas stockées sur un support individuel (badge justement).

Réinitialiser les autorisations associées aux clés pour les armoires FloxBox et KeyGard

Lorsque le numéro des clés est changé dans Gestion > Ressources > Actives, les autorisations doivent être réinitialisées afin que les valeurs 0/1 du champ Clé d'autorisation dans la fiche de chaque utilisateur soit à jour.

Pour forcer cette réinitialisation, il suffit modifier un type de validité :

  • Admin > Utilisateurs > Types de validités
  • Cliquer sur le bouton de modification d'un type de validité
  • Cliquer sur le bouton Enregistrer du formulaire d'édition d'un type de validité

Cela force la réinitialisation du champ Clé d'autorisation pour tous les utilisateurs.

Troubleshooting

Problème de synchronisation avec l'armoire à clés KeyGard

Si des problèmes de synchronisation avec l'armoire à clés KeyGard sont constatées, il faut consulter le fichier journal.txt pour voir les logs des dernières mises à jour de l'armoire à clés. Ce fichier est stocké dans le dossier C:\keygard\.

Quand un problème survient il est noté dans le journal les lignes suivantes :

    STATUS - Essai ouverture Port COM LOCAL 
    STATUS - Port LOCAL COM4 ouvert
        PC--> <a090000266DUPONT          001111111111111111000000000000000000000000000000000000000000000000>
        PC<-- <!03>
        PC--> <a090000266DUPONT          001111111111111111000000000000000000000000000000000000000000000000>
        PC<-- <!03>
        PC--> <a090000266DUPONT          001111111111111111000000000000000000000000000000000000000000000000>
        PC<-- <!03>
    STATUS - Fermeture Port COM LOCAL

  ANOMALIES :

    14/06/2019 11:00:18 Port COM LOCAL : Alerte armoire : !03
    14/06/2019 11:00:18 Port COM LOCAL : Alerte armoire : !03
    14/06/2019 11:00:19 Port COM LOCAL : Alerte armoire : !03

Le code Alerte armoire permet d'avoir une indication sur l'origine du problème. Voici les codes qui peuvent provenir de l'armoire :

  • <!01> : La chaîne n'est pas encadrée par <>
  • <!02> : La chaîne de commande n'avait qu'un caractère, mais ni '?' ni 'P'
  • <!03> : La lettre de commande n'est pas entre 'A' et 'F'
  • <!04> : La longueur de la chaîne reçue est erronée
  • <!05> : La valeur d'un paramètre est erronée (ex : valeur > 23 pour l'heure)

Dans l'exemple donné le problème est qu'il y a une erreur sur la lettre de commande qui doit être en majuscule. La syntaxe doit être :

<A090000266DUPONT          001111111111111111000000000000000000000000000000000000000000000000>

Ces lignes se trouvent dans le fichier down.txt qui est utilisé pour mettre à jour l'armoire à clés. Pour poursuivre l'investigation il faut ouvrir ce fichier pour vérifier le ou les badges posant problèmes. Exemple pour l'utilisateur DUPONT qui a le badge 90000266 :

  • Le couple 00 qui suit le nom de l'utilisateur correspond à l'état "autorisé"
  • Ensuite, les 1 correspondent aux clés pour lequelles le pilote est réellement autorisé.
  • Si l'utilisateur n'est autorisé qu'à prendre la clé 1 alors il doit avoir la ligne suivante :
<A090000266DUPONT          001000000000000000000000000000000000000000000000000000000000000000>

Il faut vérifier si le fichier down.txt se met à jour. Pour cela il suffit de changer la validité d'un utilisateur qui impacte sur ses autorisations ou d'éditer un type de validité, sans rien modifier, mais en sauvant l'édition. Cela fait remettre à jour l'intégralité des autorisations de tous les utilisateurs pour toutes les clés.

Le fichier down.txt doit alors se mettre à jour. Cela se contrôle en regardant la date de sa dernière modification.

  • Si le fichier down.txt se met à jour, alors il faut regarder la dernière mise à jour notée dans le fichier journal.txt. Si elle remonte à plus longtemps alors cela signifie que la synchronisation ne se fait plus. Cela peut arriver si lors des dernières mises à jour il y a eu des erreurs. Quand une mise à jour échoue le programme KGCOM.EXE qui met à jour l'armoire à clés ne s'arrête pas et continue de tourner en tâche de fond. Cela peut bloquer de nouvelles mises à jour. Il faut donc redémarrer l'ordinateur puis vérifier si la mise à jour de l'armoire à clés fonctionne de nouveau. S'il y a une erreur alors il faut investiguer sur le message d'alerte donné à partir des informations indiquées au début de ce troubleshooting.
  • Si le fichier down.txt ne se met pas à jour, alors cela veut dire que les mises à jours ne sont pas rapatriées par le service "OF_GetKeyGardFile". Dans ce cas, il faut vérifier s'il est bien actif. Si ce n'est pas le cas, il faut activer le service. Il faut également vérifier qu'il est bien paramétré pour se lancer en "Automatique (début différé)" lors du lancement de Windows. Vérifier qu'en redémarrant le PC, le service se lance.