cmtab

Autres langues

Langue: fr

Version: 2008-08-02 (ubuntu - 07/07/09)

Section: 5 (Format de fichier)

NOM

cmtab - informations statiques sur les systèmes de fichiers dirigés par cryptmount

DESCRIPTION

Les informations sur les systèmes de fichiers chiffrés dirigés par cryptmount sont contenues dans le fichier /etc/cryptmount/cmtab. Chaque système de fichiers est appellé par un nom de cible qu'on peut utiliser comme paramètre de cryptmount et ce nom apparaît dans /etc/cryptmount/cmtab devant une liste des paramètres qui décrit où le système de fichiers est contenu, et comment il est chiffré.

Le format du cmtab est souple, et la description de chaque cible est délimitée par des accolades, les paramètres sont spécifiés par les paires CLEF=VALEUR, et on peut mettre autant de caractère blanc d'espacement que l'on veut. Les annotations commencent avec un caractère '#', qui peut être utilisé à n'importe quel endroit dans une ligne, et continuent jusqu'à la fin de cette ligne. Le caractère '\' indique que si le caractère suitvant a une signification spéciale, celle-ci sera ignorée, comme par exemple si on veut incorporer un espace dans le nom d'un fichier.

/etc/cryptmount/cmtab contient des inscriptions de la forme suivante:

     NOM_CIBLE {
         dev=PERIPHERIQUE
         flags=DRAPEAU,DRAPEAU,...
         startsector=SECTEURDEBUT
         numsectors=NUMSECTEURS
         loop=PERIPH_LOOP
         dir=REP_MONT
         fstype=TYPE
         fsoptions=OPT,OPT,...
         cipher=CHIFFRE
         ivoffset=IVOFFSET
         keyformat=FORMAT_CLEF
         keyfile=FICHIER_CLEF
         keyhash=HASH_CLEF
         keycipher=CHIFFRE_CLEF
         keymaxlen=MAX_CLEF
         passwdretries=NUMESSAYES
     }
 

Ici, les paramètres 'flags', 'startsector', 'numsectors', 'loop', 'ivoffset', 'keyformat', 'keymaxlen' et 'passwdretries' sont optionnels.

Les paramètres ont les sens suivants:

NOM_CIBLE
est le nom par lequel cryptmount se réfère à un système de fichiers particulier. Il est possible d'indiquer valeurs par défaut pour les cibles suivanteis en utilisant le nom spécial "_DEFAULTS_".
PERIPHERIQUE
est le nom du vrai périphérique (e.g. /dev/hdb63) ou du fichier ordinaire (e.g. /home/secretiveuser/private.fs) qui range le système de fichiers chiffré.
DRAPEAU
est un bouton de configuration, comme par exemple "user" (n'importe quel utilisateur peut monter), "nouser" (seulement le super-utilisateur peut monter), "fsck" (vérifier automatiquement le système de fichiers avant de monter), "nofsck" (ne vérifier pas le système de fichiers avant de monter), "mkswap" (formater la cible pour la pagination), "nomkswap" (ne formater par la cible). Ce paramètre est optionnel, et le défaut est "user,fsck,nomkswap".
SECTEURDEBUT
est le numero du secteur du PERIPHERIQUE où le système de fichiers va commencer. Ce paramètre est optionnel, et le défaut est zéro. Il est recommandé de ne pas utiliser ce paramètre si FORMAT_CLEF a la valeur `luks'.
NUMSECTEURS
donne la taille totale du système de fichiers, en secteurs (blocs). Ce paramètre est optionnel, et le défaut est -1, ce qui signifie que tout le PERIPHERIQUE sera utilisée.
PERIPH_LOOP
peut être utilisé pour specifier un périphérique loop particulier (e.g. /dev/loop0) au cas où PERIPHERIQUE est un fichier ordinaire. Ce paramètre est optionnel, et le défaut est "auto".
REP_MONT
est le répertoire dans lequel le système de fichiers chiffré sera monté.
TYPE
specifie le type du système de fichiers (comme utilisé par mount (8)). On doit specifier "swap" si la périphérique va être utilisée pour la pagination chiffrée.
OPT
est une option de montage, comme compris par mount (8). Typiquement, OPT peut être "default", "noatime", "noexec", "nosuid", "ro", "sync" etc.
CHIFFRE
est le type d'algorithme de chiffrage qui sera utilisé sur PERIPHERIQUE. La liste des algorithmes possibles est détermine par le noyau.
FORMAT_CLEF
indique quel moteur de chiffrage on utilise pour diriger le FICHIER_CLEF. Les moteurs disponibles sont déterminés pendant l'installation de cryptmount mais peuvent comprendre "openssl" et "libgcrypt" en plus de "builtin" (intégré) et "raw" (brut). Ce paramètre est optionel, est s'il est absent, "builtin" sera utilise quand la clef est construit.
FICHIER_CLEF
est un fichier ordinaire qui contient la clef utilisée par l'algorithme CHIFFRE pour déchiffrer le système de fichiers. Cette clef elle-même est chiffrée a partir de HASH_CLEF et CHIFFRE_CLEF .
IVOFFSET
est l'offset qui est ajouté au numéro du secteur pendant le calcul du vecteur d'initialisation de l'algorithme de chiffrage. Ce paramètre est optionnel, et le défaut est zéro.
HASH_CLEF
est l'algorithme (hash) utilisé pour brouiller le mot de passe de l'utilisateur dans l'algorithme CHIFFRE_CLEF qui protege la clef du système de fichiers chiffré. On peut choisir n'importe quel algorithme qui est fourni par le FORMAT_CLEF qu'on a choisi.
CHIFFRE_CLEF
est l'algorithme chiffre qui protège la clef du système de fichiers chiffré lui-même. Le menu d'algorithmes est déterminé par la choix de FORMAT_CLEF
MAX_CLEF
est le nombre d'octets maximum qui sera lu du FICHIER_CLEF pour devenir la clef de déchiffrage. Ce paramètre est optionnel, et le défaut est zéro, ce qui indique que FICHIER_CLEF sera lu en entier.
NUMESSAYES
est le nombre de tentatives de mot de passe avant que cryptmount aille terminer quand on essaye de monter ou configurer une cible.

SECURITE

Etant donné que cryptmount est installé avec des permissions setuid, il est très imporant que son fichier de configuration soit solide. Idéalement, /etc/cryptmount/cmtab devrait être dirigé seulement par le super-utilisateur, et toutes les clefs devraient être seulement lisibles par leurs utilisateurs propres.

cryptmount vérifie la sécurité du /etc/cryptmount/cmtab chaque fois qu'il est executé, et se terminera à moins que:

   * cmtab ne soit possédé par le super-utilisateur
   * cmtab ne soit un fichier régulier
   * les permissions de cmtab ne contiennent pas d'écriture universelle
   * le répertoire, qui contient cmtab, ne soit possédé par le super-utilisateur
   * les permissions du répertoire, qui contient cmtab, ne contiennent pas d'écriture universelle.
 
De plus, pour toutes les cibles dans /etc/cryptmount/cmtab, tous les fichiers doivent avoir des nom absolus (c'est-à-dire commencent avec '/').

En cas qu'on a choisi "raw" (brut) pour le FORMAT_CLEF c'est préférable si FICHIER_CLEF est rangé avec des permissions d'accès non moins restrictives que 0600, ou bien est contenu sur un disque USB-flash, par exemple.

FICHIER EXEMPLE

Le /etc/cryptmount/cmtab exemple suivant contient trois cibles, qui utilisent un mélange d'algorithmes de chiffrage et qui rangent leurs systèmes de fichiers de manières differentes, et une quatrième qui represent une partition de pagination.

 
     # /etc/cryptmount/cmtab
     # fichier exemplaire - modifiez avant d'utiliser SVP
 
     _DEFAULTS_ {
         passwdretries=3     # permet 3 essayes de mot de passe par défaut
     }
 
     basic {
         dev=/home/secretiveuser/crypt.fs
         dir=/home/secretiveuser/crypt           # où on va monter
         loop=auto                               # trouver un périph loop libre
         fstype=ext3     fsoptions=default
         cipher=aes                              # chiffrage du système de fichiers
         keyfile=/home/secretiveuser/crypt.key
         # utiliser le gestionnaire des clefs intégré
         keyformat=builtin
     }
 
     partition {
         dev=/dev/hdb62                      # utiliser une partition entière
         dir=/mnt/crypt62
         fstype=ext3     fsoptions=nosuid,noexec         cipher=serpent
 
         # info sur le fichier qui contient la clef de déchiffrage:
         keyfile=/etc/cryptmount/crypt_hdb62.key
         keyformat=openssl                   # utiliser OpenSSL pour chiffrage de la clef
         keyhash=md5 keycipher=bf-cbc        # chiffrage du fichier de la clef
     }
         
     subset {
         dev=/dev/hdb63
         startsector=512 numsectors=16384    # utiliser une partie d'une partition
         dir=/mnt/encrypted\ subset\ of\ hdb
         fstype=reiserfs         fsoptions=defaults
         cipher=twofish                      # chiffrage du système de fichiers
 
         # info sur le fichier qui contient la clef de déchiffrage:
         keyfile=/etc/cryptmount/crypt_hdb63.key
         keyformat=libgcrypt
         keyhash=md5 keycipher=blowfish-cbc  # chiffrage de la clef d'accès
     }
 
     encswap {                               # pagination chiffrée
         dev=/dev/hdb63
         startsector=16896 numsectors=1024   # utiliser une partie d'une partition
         fstype=swap        flags=mkswap       cipher=twofish
 
         # lire une clef nouvelle de 16-octets de /dev/random chaque fois:
         keyfile=/dev/random        keymaxlen=16     keyformat=raw
     }
 
     luks {                          # partition creé avec cryptsetup-luks
         dev=/dev/hdb63
         dir=/mnt/partition-luks
         keyformat=luks
         keyfile=/dev/hdb63
         fstype=ext3
     }
 
     # fin de cmtab
 

La cible 'basic' utilise le fichier ordinaire "/home/secretiveuser/crypt.fs" pour ranger le système de fichiers chiffré. Un périphérique loop sera configuré automatiquement par cryptmount (à cause du "loop=auto").

La cible 'partition' utilise une partition entière du disque dur pour ranger le système de fichiers chiffré. La clef de déchiffrage est contenue dans le répertoire principal de cryptmount.

La cible 'subset' est semblable à la cible 'partition' sauf qu'elle n'utilise pas une partition entière. De cette manière, on peut utiliser des autres groupes de blocs de la partition pour des autres systèmes de fichiers dirigés par cryptmount ou dmsetup.

La cible 'encswap' utilise une partie d'une partition du disque dur pour proviser la pagination chiffrée. Une nouvelle clef de déchiffrage sera lu du /dev/random chaque fois la cible est utilisée.

FICHIERS

/etc/cryptmount/cmtab - fichier principal du configuration

VOIR AUSSI

cryptmount(8), cryptmount-setup(8), dmsetup(8), openssl(1) cryptmount est Copyright 2005-2008 RW Penney
et il n'y a point de garantie. Les termes de sa licence sont décrits dans le fichier "COPYING" dans le pacquet source de cryptmount.

TRADUCTION

RW Penney, 2006-2008, avec beaucoup d'assistance de FP.