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
mountoptions=MOPT,MOPT,...
fsckoptions=FOPT;FOPT;...
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 pas la cible),
* "trim" (activer SSD TRIM/discard),
* "notrim" (désactiver SSD TRIM/discard).
Ce paramètre est optionnel, et le défaut est
"user,fsck,nomkswap,notrim".
- SECTEURDEBUT
- est le numero du secteur (de 512 octets) du PERIPHERIQUE où
le système de fichiers va commencer. Ce paramètre est
optionnel, et le défaut est zéro.
- NUMSECTEURS
- donne la taille totale du système de fichiers, en secteurs (blocs
de 512 octets). 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.
- MOPT
- est une option de montage, comme compris par mount (8).
Typiquement, MOPT peut être "default",
"noatime", "noexec", "nosuid",
"ro", "sync" etc.
- FOPT
- est une option de vérification, comme compris par fsck (8).
Typiquement, FOPT peut être "-C", "-V"
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 utilisé 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.
cryptmount offrit un sélection de façons pour proteger la
clef associée avec chaque système de fichiers chiffré.
Pour le plupart des utilisateurs, la choix défaute "builtin"
donne un bon niveau de securité et versatilité. Quelques autre
moteurs de chiffrage sont disponible, et donnent plus de choix des algorithms
pour brouiller le mot de passe, ou compatabilité avec quelques autre
paquets. Le menu des moteurs sont le suivant.
builtin
Ce moteur est inclus dans cryptmount-2.0 et suivant, est utilise un fichier
independent pour cacher la clef.
libgcrypt
Ce moteur est inclus dans cryptmount-1.1 et suivant, est utilise un fichier
independent pour cacher la clef.
luks
Ce moteur est inclus dans cryptmount-3.1 et suivant, est peut diriger les
système de fichiers du format LUKS ("Linux Unified Key
Setup"). Ce format cache la clef dans une region spéciale du
système de fichiers lui-même. Il est recommandé de ne pas
utiliser les paramètres "startsector" ou
"numsectors" parce que le format LUKS suppose qu'une partition
entière est disponible pour le système de fichiers.
openssl/openssl-compat
Ce moteur etait disponible depuis les premiers versions de cryptmount, et
utilise un fichier independent pour cacher la clef. Le format de ce fichier
est compatible aver le paquet "openssl".
password
Ce moteur est inclus dans cryptmount-4.0 et suivant, est n'a pas besoin d'un
fichier pour cacher la clef. Plutôt, la clef est constui directment du
mot de passe, et donc il n'est pas possible de changer le mot de passe sans
rechiffrer le système de fichiers en entiers.
raw
Ce moteur est inclus dans cryptmount-1.1 et suivant, est utilise un fichier
independent pour contenir la clef, sans aucun chiffrage. Ce moteur est utile
principalement pour les partitions de pagination.
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.
Lorsque l'option `mkswap' est sélectionné pour une cible
particulière dans /etc/cryptmount/cmtab,
cryptmount tentera
automatiquement de formater une partition swap chiffrée chaque fois que
vous exécutez "cryptmount --swapon <cible>". C'est
souvent utile quand il n'est pas nécessaire de conserver les
données de pagination entre les redémarrages, comme lorsque vous
n'utilisez pas les caractéristiques d'hibernation du noyau.
Parce que le reformatage supprime toutes les données existantes sur la
partition de pagination choisi,
cryptmount se faire des
vérifications de base sur le premier mégaoctet de la partition,
basée sur le degré d'aléa (entropie) dans le contenu
actuel. Si la partition semble contenir bruit pur, ou a été
remis à zéro, la partition sera formatée automatiquement.
Si
cryptmount détermine que la partition peut contenir des
données non-aléatoire, puis il vous demandera d'exécuter
"mkswap" manuellement.
Comme il n'existe aucun moyen infaillible de déterminer si une partition
(surtout chiffrée) contient des données importantes, vous
devriez être très prudent sur périphérique brut
choisi pour n'importe quelle cible sur lequel vous sélectionnez
l'option "mkswap".
FICHIER EXEMPLE¶
Le /etc/cryptmount/cmtab exemple suivant contient cinq cibles, qui utilisent un
mélange d'algorithmes de chiffrage et qui rangent leurs systèmes
de fichiers de manières differentes. Il y en a aussi un cible 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 mountoptions=default
cipher=aes-cbc-plain # 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 mountoptions=nosuid,noexec cipher=serpent-cbc-plain
# 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 mountoptions=defaults
cipher=twofish-cbc-plain # 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-cbc-plain
# 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)
COPYRIGHT NOTICE¶
cryptmount est Copyright 2005-2014 RW Penney
et il n'y a point de garantie. Les termes de sa licence sont décrits dans
le fichier "COPYING" dans le paquet source de cryptmount.
TRADUCTION¶
RW Penney, 2006-2014, avec beaucoup d'assistance de FP.