четверг, 27 августа 2009 г.

Монтирование файловой системы при логине

Монтирование криптованого раздела при входе пользователя в систему. Эта задача актуальна для защиты информации как на мобильных компьютерах, так и для стационарных компьютерах, находящихся в общедоступных помещениях. Идея навеяна пестрящими новостями о том, что на украденом ноутбуке какого-то важного служащего было куча конфиденциальной информации и пр. В данной схеме даже в случае попадания компьютера в чужие руки доступ к информации получен не будет. Описанное решение реализовано на базе Gentoo Linux.

Установка необходимых пакетов

Отдельные пакеты находятся в нестабильном дереве, потому предварительно необходимо добавить их в список разрешенных
# echo "sys-auth/pam_mount">>/etc/portage/package.keywords
Теперь можно установить
# emerge sys-auth/pam_mount sys-fs/cryptsetup

Создание раздела

Важно: пароль на криптованый раздел и пароль пользователя в системе должны совпадать!
Шифрование раздела:
# cryptsetup luksFormat /dev/sda3
 
 WARNING!
 ========
 This will overwrite data on /dev/sda3 irrevocably.
 
 Are you sure? (Type uppercase yes): YES
 Enter LUKS passphrase:
 Verify passphrase:
 Command successful.
Открываем раздел:
$ cryptsetup luksOpen /dev/sda3 homeD Enter LUKS passphrase: key slot 0 unlocked. Command successful.
Форматирование:
# mkfs.ext3 /dev/mapper/homeD mke3fs 1.39-WIP (09-Apr-2006) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 2432 inodes, 9724 blocks 486 blocks (5.00%) reserved for the super user First data block=1 2 block groups 8192 blocks per group, 8192 fragments per group 1216 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override
Закрываем раздел:
# cryptsetup luksClose homeD

Настройка

Правим конфигурационный файл /etc/security/pam_mount.conf.xml под комментарием Volume definitions
   
Разберем что значит эта запись:
fstype - тип раздела
user - применять правило только для указаного пользователя
path - наше устройство
mountpoint - точка монтирования
cipher - алгоритм шифрования
Для примера конфигурация для EncFS выглядит следующим образом:
Для EncFS обязательно следует указывать полные, а не относительные пути.

Gentoo

Подключаем модуль к системе авторизации в файле /etc/pam.d/system-auth
auth required pam_env.so auth required pam_unix.so try_first_pass likeauth nullok auth optional pam_mount.so account required pam_unix.so password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 password required pam_unix.so try_first_pass use_authtok nullok sha512 shadow session required pam_limits.so session required pam_env.so session required pam_unix.so session optional pam_permit.so session optional pam_mount.so

GNU/Debian

Подключаем модуль к системе авторизации добавлением строки @include common-pammount в конец файла авторизации. К примеру, если используется GDM, то требуется отредактировать файл /etc/pam.d/gdm
#%PAM-1.0 auth requisite pam_nologin.so auth required pam_env.so readenv=1 auth required pam_env.so readenv=1 envfile=/etc/default/locale @include common-auth auth optional pam_gnome_keyring.so @include common-account session required pam_limits.so @include common-session session optional pam_gnome_keyring.so auto_start @include common-password @include common-pammount

Таким образом при входе в систему пользователя anviar, и только него, будет происходить доступ к шифрованому разделу /dev/sda3, его монтирование в точку /home. При выходе из системы пользователя anviar будет происходить отмонтирование и закрытие раздела.

Комментариев нет:

Отправить комментарий