Wolfzone

 Le blog d'un loup pas vraiment solitaire

Mots clés: console
Rédigé par YannG | 20 décembre 2017 | Classé dans: Linux | Mots clés: console

Améliorer La Sécurité Des Mots De Passe

Plus personne n'ignore de nos jours qu'il faut correctement protéger les divers accès aux services dont nous sommes les utilisateurs. Cependant, devant la multiplications des comptes en ligne, et la nécessité de changer régulièrement les mots de passe de chacun d'entre eux, beaucoup d'entre nous cèdent bien souvent à la facilité et font des choix minimalistes.

Il est important de garder à l'esprit quelques conseils de base pour éviter d'utiliser des mots de passe qui pourraient être découverts trop facilement et au contraire faire des choix qui correspondent beaucoup plus à des critères forts de sécurité:

  • Éviter les mots utilisés régulièrement dans la vie courante,
  • Éviter les suites de lettres tel le fameux "abcdef" ou encore constituées uniquement de la même lettre du style "aaaaaa",
  • Éviter les suites de chiffres tel le fameux "123456" ou encore constituées uniquement du même chiffre du style "111111", tout comme les dates de naissance,
  • Éviter les noms ou prénoms de l'utilisateur ou de ses proches, de ses amis, voire même de ses animaux de compagnie,
  • Utiliser des suites de caractères alphanumériques qui mélangent chiffres, majuscules et minuscules d'une manière le plus possible aléatoire,
  • On peut également utiliser la première lettre de chacun des mots d'une phrase code personnelle qui sera ainsi plus facile à mémoriser.

Il y a bien sûr d'autres possibilités de constituer des mots de passe forts, cette liste n'étant bien évidemment pas exhaustive.

Ainsi, il existe plusieurs programmes qui peuvent nous aider pour générer facilement des mots de passe qui offrent une plus grande sécurité.

GNU Privacy Guard (GnuPG)

L'outil GnuPG qui permet de crypter des données pour en assurer l'authenticité possède une options pour générer des nombres aléatoires. Une fois ce nombre aléatoire transformé en notation base64, on obtiens une mot de passe offrant un niveau de sécurité tout à fait convenable. Par exemple pour générer un mot de passe de 8 caractères:

gpg --gen-random --armor 1 6

Open Secure Sockets Layer (OpenSSL)

OpenSSL est un outil de chiffrement permettant de transférer des informations sécurisées sur un réseau informatique. de la même manière que la commande gpg on peux facilement générer des mots de passe offrant un bon niveau de sécurité. Par exemple pour générer un mot de passe de 8 caractères:

openssl rand -base64 6

Le générateur de nombres aléatoires

Sous Linux, le fichier spécial /dev/urandom sert de générateur de nombres aléatoires. On peux ainsi obtenir facilement une suite de caractères qui pourra servir de mot de passe. Par exemple pour obtenir un mot de passe de 8 caractère mélangeant des minuscules, des majuscules et des chiffres:
echo `tr -dc A-Z-a-z-0-9 < /dev/urandom | head -c 8`

Les dates

J'expliquais un peu plus haut qu'il ne fallait pas utiliser les dates de naissances, cependant, si l'on utilise la date du jour, en utilisant les fonctions de hachages ainsi que la notation en base64, on peut obtenir un mot de passe de bonne qualité, puisque qu'il y a relativement peu de chances que le moment où l'on génère le mot de passe au moyen de la date courante puisse être deviné.

Pour obtenir un mode passe de 8 caractères en utilisant l'algorithme de hachage md5:

echo `date | md5sum | base64 | head -c 8`

On peut également mélanger les algorithmes de hachages pour obtenir un mot de passe moins prévisible. Par exemple pour obtenir un mot de passe de 8 caractères haché par les algorithmes MD5 et SHA-2:

echo `date +%s | md5sum | sha256sum | base64 | head -c 8`

On peut donc constater qu'il existe des solutions très simple pour générer facilement des mots de passe qui offrent un bon niveau de sécurité.

Rédigé par YannG | 14 décembre 2017 | Classé dans: Linux | Mots clés: console

Rechercher Des Fichiers Avec "Find"

La solution la plus simple pour rechercher des fichiers dans l'arborescence du système de fichiers au moyen de la ligne de commande est d'utiliser find.

La commande find permet de rechercher des fichiers dans le ou les dossiers indiqués ainsi que dans tout les sous-dossiers contenus dans ceux-ci. Divers traitements peuvent être appliqués aux résultats de cette commande allant du simple affichage, à l'effacement ou encore d'un traitement personnalisé de la liste des fichiers correspondants.

Format de la commande:

find [chemins] [arguments]

Les chemins:

Par défaut, si aucun chemin n'est spécifié, la commande find recherche des fichiers dans le dossier en cours d'utilisation.

  • Le point . indique le dossier en cours,
  • Deux points .. indiquent de revenir en arrière dans l'arborescence en faisant référence au dossier précédent,
  • La barre oblique à droite / indique la racine de l'arborescence ou une séparation entre les différents dossiers,
  • Le tilde ~ fait référence à la racine du dossier de l'utilisateur.

Les noms de fichiers:

Les noms de fichiers à rechercher peuvent être spécifiés au moyen de divers motifs, dont par exemple:

  • texte va rechercher des fichiers dont le nom correspond exactement à "texte",
  • *texte va rechercher des fichiers dont le nom se termine avec "texte",
  • texte* va rechercher des fichiers dont le nom commence avec "texte",
  • *texte* va rechercher des fichiers dont le nom contient "texte".

Les arguments:

  • -empty le résultat de la recherche doit être vide, fichier à zéro ou dossier sans aucun fichier.
  • -exec exécute la commande spécifiée pour chacun des résultats de la recherche.
  • -iname recherche un nom de fichier sans tenir compte des majuscules/minuscules
  • -maxdepth n recherche dans n niveaux de sous-dossiers. La valeur 1 désactive la recherche récursive.
  • -name recherche un nom de fichier en tenant compte des majuscules/minuscules
  • -not inverser le résultat de la recherche, ce qui est vrai devient faux et ce qui est faux devient vrai.
  • -or effectuer un choix conditionnel entre l'une ou l'autre de deux valeurs.
  • -type type de fichier à rechercher spécifiquement, f pour un fichier standard, d pour un dossier.

Quelques exemples:

  • Rechercher des fichiers et des dossiers dans le dossier courant et tout ses sous-dossiers:
    find -name texte_a_chercher
    ou:
    find . -name texte_a_chercher
  • Rechercher des fichiers et des dossiers dans le dossier précédent seulement:
    find .. -maxdepth 1 -name texte_a_chercher
  • Rechercher les fichiers mp3 dans le dossier Musique de l'utilisateur:
    find ~/Musique -type f -iname "*.mp3"
  • Rechercher des fichiers ou des dossiers à partir du dossier Musique de l'utilisateur qui contiendrait le terme metal dans leur nom:
    find ~/Musique -iname "*metal*"
  • Rechercher des fichiers avi ou mp4 à partir du dossier Videos de l'utilisateur qui contiendrait le terme star dans leur nom:
    find ~/Videos -type f -iname "*star*.avi*" -or -iname "*star*.mp4*"
  • Rechercher tout les fichiers dans le dossier Images de l'utilisateur avec l'extension jpeg et les renommer en jpg:
    find ~/Images -type f -iname "*.jpeg" -exec bash -c 'mv "$0" "${0%.jpeg}.jpg"' {} \;
  • Rechercher tout les fichiers de sauvegarde dans le dossier Documents de l'utilisateur avec l'extension txt~ et les effacer:
    find ~/Documents -type f -iname "*.txt~" -exec rm -f {} \;

    NOTE: Gardez à l'esprit que la commande rm est définitive, donc veillez à sélectionner soigneusement les dossiers dans lesquels vous voulez effacer des fichiers ou des dossiers.

  • Remplacer tout les espaces contenus dans tout les fichiers et les dossiers à partir du dossier Documents de l'utilisateur par le caractère _:
    find ~/Documents -iname "* *" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

Cet article est seulement un aperçu des possibilités de la commande find, et il vaut mieux se référer à la page du manuel pour en explorer toutes les subtilités.