Quelques bonnes pratiques

Introduction

Le but de ce document est de rappeler ou d’introduire brièvement, sans trop entrer dans les détails et les explications techniques, quelques bonnes pratiques à observer lorsque l’on travaille avec un ordinateur.

Utiliser des mots de passe forts

Nos mots de passe servent à nous authentifier. Il constitue une preuve que nous sommes bien la personne que nous prétendons être. En dehors du monde numérique, une telle preuve peut être fournie par des papiers d’identité officiels, par exemple, une carte d’identité ou un passeport.

Pour considérer un mot de passe comme une preuve de notre identité, nous faisons l’hypothèse qu’il n’est connu que de nous. Si nous le communiquons ou s’il est écrit sur un postit, cette hypothèse n’est plus valide. De plus, celui ou celle qui le connaît peut se faire passer pour nous. C’est ce qu’on appelle une usurpation d’identité.

Si une personne mal intentionnée peut se faire passer pour nous, elle peut non seulement se servir de nos données personnelles, les détruire ou les diffuser, mais elle peut aussi commettre des actes illicites en notre nom. Si de tels actes sont commis à l’aide de notre compte, nous en serons rendus responsables jusqu’à preuve du contraire.

De manière à réduire ces risques, nous recommandons d’appliquer les règles suivantes en toutes circonstances :

  • Utiliser un mot de passe différent pour chaque compte et chaque application.
  • Changer régulièrement son mot de passe (au moins une fois par année).
  • Ne pas réutiliser un ancien mot de passe.
  • Utiliser un mot de passe fort d’au moins 10 à 12 caractères.
  • Utiliser des lettres minuscules et majuscules, des chiffres et des caractères spéciaux (utiliser les caractères en vert dans la table ci-dessous pour garantir un bon fonctionnement sur tous les systèmes).
Code: 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
Caractère: SP ! " # $ % & ' ( ) * + , - . /
Code: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
Caractère: 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
Code: 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
Caractère: @ A B C D E F G H I J K L M N O
Code: 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
Caractère: P Q R S T U V W X Y Z [ \ ] ^ _
Code: 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
Caractère: ` a b c d e f g h i j k l m n o
Code: 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 126
Caractère: p q r s t u v w x y z { | } ~ DEL
Fig 1 - Table des caractères pour les mots de passe (le numéro
au-dessus du caractère est son code ASCII)

Il est recommandé d’activer la « double authentification » lorsqu’elle est proposée. L’utilisation de deux facteurs d’authentification, c’est-à-dire de deux sortes de preuve différentes de notre identité, renforce la sécurité de nos comptes et offre une meilleure protection. Les différentes sortes de preuve sont :

  • Quelque chose qui n’est connu que de nous (mot de passe, PIN, etc.).
  • Quelque chose que nous possédons (téléphone portable, jeton, etc.).
  • Quelque chose qui nous caractérise (empreinte digitale ou rétinienne, visage, etc.)

Enfin, si ces règles réduisent les risques, elles rendent aussi la gestion des mots de passe beaucoup plus difficile. Pour cela, il est recommandé de s’aider d’une application appelée gestionnaire de mot de passe. Si vous n’en utilisez pas déjà un, l’une des options possibles est le logiciel libre KeePass.

En bref, l’utilisation de mots de passe forts et distincts pour chaque compte et chaque application, ainsi que l’activation de l’authentification à deux facteurs lorsqu’elle est disponible, permettent de réduire les risques d’usurpation d’identité. L’utilisation d’un gestionnaire de mot de passe est vivement recommandée pour nous aider à respecter ces règles.

Ne pas utiliser d’espaces dans un nom d’utilisateur·rice

Nous recommandons d’écrire le nom de votre compte d’utilisatrice ou d’utilisateur, sans espaces, en minuscules, et sans accents, même si le système d’exploitation les autorise.

La principale raison est que ce nom est aussi celui de votre répertoire personnel. Ces caractères sont une gêne lorsqu’on utilise des outils en ligne de commande. Ils peuvent même empêcher certains d’entre eux de fonctionner correctement. L’utilisation de minuscules uniquement facilite également le travail en ligne de commande avec les systèmes de fichiers sensibles à la casse.

Si le système d’exploitation supporte le point, nous recommandons de nommer votre compte d’utilisatrice ou d’utilisateur avec la convention suivante :

  • <prénom>.<nom>, par exemple : ada.lovelace

Si le système d’exploitation ne supporte pas le point, nous recommandons l’une des conventions suivantes :

  • <nom><initiale du prénom>, par exemple : lovelacea
  • <initiale du prénom><nom>, par exemple : alovelace

Ne pas travailler avec des privilèges élevés

Une bonne pratique particulièrement importante est de toujours chercher à travailler avec le moins de privilèges possible sur nos machines (principe de moindre privilège). Nous ne devons travailler avec des privilèges élevés que si la situation l’exige.

Un compte avec des privilèges élevés nous donne le droit de modifier l’installation et la configuration du système d’exploitation. Sous Windows, les comptes avec des privilèges élevés sont notamment les membres du groupe Administreurs et le compte Administrateur lui-même. Sous macOS et Linux, il s’agit avant tout de l’utilisateur root et des membres d’un groupe privilégié (sudoer, wheel, etc.).

Important : Dans le cas d’un usage normal de l’ordinateur, il n’y a aucune bonne raison d’ouvrir une session avec le compte Administrateur ou avec le compte root. Nous devons toujours utiliser notre propre compte d’utilisatrice ou d’utilisateur.

Si le système nous informe que les privilèges de notre compte sont insuffisants pour effectuer une tâche, nous devons procéder comme suit :

  1. S’assurer d’avoir bien compris en quoi consiste la tâche et de n’avoir commis aucune erreur en essayant de la réaliser sans privilèges.
  2. Lorsque l’on est absolument certain que la tâche nécessite des privilèges élevés, demander au système d’ouvrir une application avec une élévation de privilèges.
  3. Lorsque la tâche est accomplie, fermer l’application sans plus attendre.

Pour demander l’ouverture d’une application avec une élévation de privilèges :

  • Sous Window : cliquer avec le bouton droit de la souris sur l’icône de l’application et sélectionner «  Exécuter en tant qu’administrateur ».
  • Sous macOS et Linux : écrire la commande sudo devant la commande à exécuter dans un terminal.

Si l’option n’est pas disponible ou si le système nous refuse l’élévation de privilège, nous devons prendre contact avec l’administrateur de la machine. Si c’est nous-même, on ouvre une session avec le compte Administrateur ou le compte root, on ajuste les privilèges de notre compte, et on referme immédiatement la session. Encore une fois, nous ne devons jamais utiliser le compte Administrateur ou le compte root pour effectuer nos tâches courantes.

En bref, la gestion prudente des privilèges est une pratique de sécurité essentielle. Avoir des privilèges trop élevés, c’est prendre le risque de modifier involontairement un système et de le rendre inutilisable. Cherchons donc toujours à travailler avec le moins de privilèges possible. Une élévation de ces privilèges est possible, mais seulement si nous sommes certains que la tâche l’exige, et seulement pour la durée de cette tâche.

Utiliser des interfaces en ligne de commande

Pour travailler efficacement en toutes situations, nous devons être à l’aise avec le terminal et les interfaces en ligne de commande (CLI ou command line interface) des outils de développement et d’administration, des systèmes d’exploitation, des serveurs et des équipements réseau.

Les CLI ont de nombreux avantages. Notamment, elles nécessitent beaucoup moins de ressources que les interfaces graphiques (GUI) et facilitent :

  • la documentation
  • l’automatisation
  • la reproductibilité des actions

Un « terminal » ou plutôt un « émulateur de terminal » est un programme qui nous permet d’utiliser une CLI. Sa fonction est d’afficher à l’écran le texte que le programme lui envoie à travers un canal de communication appelé « sortie standard » (standard output ou stdout), et lorsque le programme le demande, de lui envoyer une ligne de texte à travers un autre canal de communication appelé « entrée standard » (standard input ou stdin).

Il existe un grand nombre d’émulateurs de terminal différents, mais ils ont tous la même fonction. Chaque système d’exploitation est équipé d’un émulateur de terminal par défaut :

  • Windows 10 : PowerShell.exe (Windows Terminal peut être installé depuis le Microsoft Store)
  • Windows 11 : Windows Terminal
  • Sous macOS : Terminal

Un terminal doit être connecté à un programme. Avec un émulateur, il est possible de configurer le programme auquel il doit être connecté au démarrage. Par défaut, ce programme est le shell du système d’exploitation.

Un shell est une CLI qui permet de commander un système d’exploitation avec un langage de commande. Son fonctionnement est toujours le même :

  1. Le shell affiche une « invite de commande » (prompt) avec un curseur clignotant qui indique que nous pouvons saisir une ligne de commande au clavier.
  2. S’il reconnait la commande, il l’exécute et affiche son résultat. Dans le cas contraire, il nous informe que la commande est inconnue.
  3. Le shell affiche une nouvelle invite de commande et le processus recommence.

La fonctionnalité la plus importante d’un shell est de nous permettre de lancer l’exécution d’un programme. Si le programme a une CLI, le shell connecte le terminal à ce programme et se met en veille. Lorsque l’exécution du programme se termine, le shell se reconnecte au terminal et attend de nouvelles commandes.

Il existe également un grand nombre de shells différents, mais chaque système d’exploitation a un shell par défaut. Sous Windows, ce shell est le PowerShell. Sous macOS, c’est le zsh et sous Linux, il s’agit le plus souvent du bash.

Pour conclure, le terminal et les interfaces en ligne de commande permettent un travail efficace sur des machines locales et distantes. Les CLI demandent peu de ressources par rapport aux interfaces graphiques, tout en facilitant la documentation, l’automatisation et la reproductibilité des actions. Leur maîtrise est indispensable à tout professionnel de l’informatique.

Utiliser un gestionnaire de paquets

Un gestionnaire de paquets est un outil, souvent en ligne de commande, qui facilite grandement l’installation, la mise à jour et la désinstallation de logiciel sur un système d’exploitation, à partir d’un ou plusieurs dépôts de paquets centralisés, publics ou privés.

Un paquet est une archive qui comprend tout le contenu et les informations nécessaires à l’installation de composants logiciels tels qu’une application (Visual Studio Code, Wireshark, etc.), un outil de programmation (Git, Maven, etc.), ou encore un système de gestion de base de données (MariaDB, Postgresql, etc.).

L’utilisation d’un gestionnaire de paquets réduit les risques d’installation de logiciel malveillant en s’assurant de l’intégrité des paquets avant leur installation. La possibilité de mettre à jour l’ensemble des programmes installés par le gestionnaire de paquet en une seule commande permet également de réduire les risques liés à l’exploitation de failles de sécurité non colmatées.

Si vous travaillez sous Windows ou macOS, il est fortement conseillé d’en installer un. Pour ces systèmes, nous recommandons les gestionnaires de paquets suivants :

Si vous travaillez sous Linux, vous utilisez déjà le gestionnaire de paquets de la distribution GNU/Linux que vous avez installé (apt, pacman, yum, etc.).

Bien gérer ses fichiers

Avec le temps, nous nous retrouvons avec un grand nombre de documents (rapports, diagrammes, schémas de réseaux, feuilles de calculs, etc.) et de répertoires de projet pour nos travaux de programmation. Pour être sûr de les retrouver, il est important de bien les organiser et de bien les nommer.

Lorsqu’on commence une tâche avec l’ordinateur, la toute première chose à faire est de se poser les deux questions suivantes : « Où dois-je enregistrer le résultat de la tâche ? » et « Quel nom dois-je lui donner ? ». De cette manière, on évite de travailler plusieurs heures sur un document avant de se rendre compte qu’on ne l’a pas encore enregistré (au risque de perdre ces heures de travail) ou de l’enregistrer quelque part où l’on ne le retrouvera pas.

Pour enregistrer des documents, nous recommandons de :

  • Créer dans le répertoire « Documents », un sous-répertoire pour chaque module de formation et chaque projet auquel vous participez.

Pour enregistrer des travaux de programmation, nous recommandons de :

  • Créer un répertoire « projets », dans votre répertoire personnel.
  • Créer dans le répertoire « projets », un sous-répertoire pour chaque module de formation et chaque projet auquel vous participez.

De manière générale, nous recommandons de limiter la profondeur de la structure du répertoire personnel à deux ou trois niveaux (un ou deux niveaux de sous-répertoires dans « Documents » ou dans « projets »).

Pour nommer les fichiers, nous recommandons de :

  • Écrire sans espaces ni accents.
  • Séparer les mots avec des tirets ou des tirets bas, ou écrire en « camel case »

Pour nommer les répertoires, nous recommandons de :

  • Écrire sans espaces ni accents.
  • Écrire tout en minuscules.
  • Séparer les mots avec des tirets ou des tirets bas.

Conclusion

Cette liste n’est bien sûr pas exhaustive, mais ces quelques bonnes pratiques nous permettront déjà de travailler de manière plus efficace et plus sécurisée. En les observant, nous réduisons les risques de dommages liés à d’éventuels actes malveillants ou à de mauvaises manipulations.