Un précédent billet mentionnait l'attention toute particulière qui doit être portée au serveur qui héberge la base du GDS – le Gestionnaire de Sources - et donc tous les codes sources.

 

Le choix de l'emplacement de la copie locale des projets est également très important. Il l'est encore davantage si le développement se fait sans synchronisation avec le GDS.

 

Les projets et les éléments des projets WINDEV, WEBDEV ou WINDEV Mobile, sont des fichiers (*.WD?) sur disque, comme n'importe quel autre fichier. Cela reste valable que les éléments soient entièrement stockés en binaire, ou au format texte notamment pour un partage avec GIT. Il faut donc tout mettre en œuvre pour avoir une sécurité maximale des entrées/sorties sur ces précieux fichiers.

 

Voici une série de recommandations :

  • Vérifier que le dossier des sources est un disque physique local :
    La copie locale des sources doit être sur un disque considéré comme local par le système d'exploitation.
    Même si l'utilisation d'une ressource partagée d'un réseau (local ou NAS), ou d'un disque vu comme amovible (disque ou clé USB) est possible, cela ajoute un grand nombre de possibilités de défaillances (des pilotes supplémentaires sont nécessaires, des mécanismes de veilles s'ajoutent...).
    Rappel : c'est sans lien direct avec les éditeurs, cela s'applique à n'importe quel fichier. Il sera toujours plus sûr d'écrire directement dans un fichier en local, qu'au travers d'une interface USB partagée.

  • S'assurer que rien ne peut empêcher une écriture dans le dossier des sources :
    Certaines mécanismes des antivrus utilisent la ressemblance des fichiers avec une définition de virus connus. Ils peuvent bloquer une écriture. Or un élément comme une fenêtre ou une collection de procédures d'un projet ne peut pas être exécuté isolément. Il ne peut donc pas constituer une menace tant qu'il est ouvert par l'éditeur. Par contre, une suite d'octets d'un élément peut ressembler à un virus. On peut donc avoir un faux-positif d'antivirus avec dans le meilleur des cas une mise en quarantaine visible, ou des résultats plus aléatoires. Mieux vaut donc prévenir que guérir, il sera plus sûr de :
    • exclure les éléments des projets des analyses en temps réels,
    • faire des analyses complètes régulièrement, en s'assurant qu'aucun fichier n'est en cours d'utilisation.

  • S'assurer que rien ne peut écrire dans le dossier des sources :
    En priorité vérifier qu'aucune application de sauvegarde ou de synchronisation de fichiers ne peut écrire sur le dossier des codes sources. Bien sûr il faut lancer plusieurs fois par jours une copie complète des sources vers un autre support (aucun n'est éternel). Mais l'outil utilisé doit impérativement être configuré pour travailler en "miroir", et non pas en synchronisation. Le plus sûr est d'exécuter l'outil de sauvegarde :
    • que s'il dispose d'un mode "miroir" (sinon un COPY Batch doit être préféré),
    • lorsque tous les éléments sont fermés,
    • avec un utilisateur qui n'a que les droits de lecture sur le dossier.

      Dans le cas de postes partagés par différents utilisateurs, l'ajout de droits d'accès adaptés via la sécurité du répertoire des projets sera un plus indéniable.
  • Remplacer le lecteur au moindre doute :
    Si la moindre erreur système d'E/S ou si doute apparaît sur la fiabilité du lecteur, il faut le remplacer sans attendre. Cela s'applique que le lecteur soit neuf ou éprouvé, magnétique ou en mémoire flash.

  • Si besoin d'une sécurité extrême, limiter les sollicitations du dossier des sources :
    Par exemple l'indexation des fichiers du système d'exploitation n'a pas d'intéret pour le dossier de code sources. Elle peut donc être stoppée, comme tout autre processus accèdant à l'emplacement.

    En cas de doute sur les processus en place sur une configuration il est possible d'effectuer la vérification suivante :
    • exécuter l'utilitaire d'analyse Procmon,
    • créer un filtre avec :
      • le "Path" commence par le dossier des sources,
      • l'exclusion "process name" commence par "WINDEV" :
    • laisser afficher uniquement les entrées sorties fichiers,
    • travailler en laissant l'utilitaire en fond,
    • contrôler les processus qui apparaissent...

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée