Глава 9
Шифрование в Linux
Функции шифрования в Linux поддерживаются на уровне ядра операционной сис-
темы. В последних версиях, например, дистрибутива Ubuntu шифрование домашне-
го каталога предлагается в качестве выбора при установке операционной системы.
В случае необходимости шифрования всего диска можно задействовать шифрован-
ную файловую систему eCryptfs. Рассмотрим особенности ее применения для за-
шифровки хотя бы домашнего каталога пользователя.
Прежде всего нужно установить утилиты eCryptfs. Пусть наш компьютер работает
под управлением операционной системы Debian 6 — поэтому для установки утилит
мы воспользуемся командой
apt-get
:
sudo apt-get install ecryptfs-utils
Перед шифрованием домашнего каталога на всякий случай сделаем его резервную
копию — мало ли чего:
sudo cp -pfr /home/den /tmp
Теперь приступим непосредственно к шифрованию домашнего каталога пользова-
теля — пусть это будет каталог
/home/den
. Для этого его нужно подмонтировать, ука-
зав тип файловой системы
ecryptfs
:
sudo mount -t ecryptfs /home/den /home/den
Вывод будет таким (полужирным шрифтом выделено то, что нужно ввести или
выполнить вам):
Passphrase:
<
секретная фраза
>
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
просто нажмите Enter (aes по умолчанию)
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
нажмите Enter
Enable plaintext passthrough (y/n) [n]: n
Enable filename encryption (y/n) [n]: n
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=bd28c38da9fc938b
Безопасность
475
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? :
yes
Would you like to append sig [bd28c38da9fc938b] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? :
yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
Теперь разберемся, какие опции мы указали. Мы согласились на использование ал-
горитма по умолчанию:
AES
. Если вы считаете, что другой алгоритм лучше, можете
выбрать другой. Мы отказались от шифрования имен файлов:
Enable filename
encryption
— если что-то случится с зашифрованным каталогом, то разобраться,
где и какой файл, будет сложно.
На текущий момент каталог
/home/den
зашифрован. Восстановим и удалим наш бэ-
кап (чтобы никто не смог его прочитать):
sudo cp -pfr /tmp/den /home/
sudo rm -fr /tmp/den
Осталось самое главное — проверить, зашифрован ли на самом деле каталог? По-
пробуем скопировать в него любой файл из незашифрованной файловой системы:
cp /etc/motd /home/den
Размонтируем зашифрованный каталог:
sudo umount /home/den
Теперь пробуем прочитать файл
/home/den/motd
:
cat /home/den/motd
Если вы увидите всякого рода иероглифы и абракадабру, значит, шифрование
работает.
Шифрование работает, но каждый день (точнее, после каждой перезагрузки/за-
грузки системы) вам надоест вводить секретную фразу. Нужно позаботиться об
автоматическом монтировании этого каталога. Но где же будет храниться пароль?
На жестком диске? Но тогда нет смысла в самом шифровании. Это все равно, что
установить пароль на BIOS и написать его на желтой бумажке, приклеенной
к монитору.
Мы, как обычно, найдем рациональное решение и станем хранить секретную фразу
на флешке. Но флешка несет файловую систему FAT32, и секретная фраза будет
храниться на ней в незашифрованном виде, — поэтому постарайтесь, чтобы флеш-
ка эта не попала к врагу. Двойное шифрование (т. е. и домашнего каталога,
и флешки) возможно, но оно выходит за рамки этой книги.
476
Do'stlaringiz bilan baham: |