Издано: апреля 23, 2009
Данные в компьютерах обычно хранятся в открытом виде, как в Windows,
так и в Linux, что дает доступ к любой информации практически любому,
на нее покушающемуся (!) или так “случайному прохожему” или даже
неслучайному. Если вы хотите что-то скрыть от посторонних глаз, то эта
статья для вас - умеренных параноиков и пользователей (K)Ubuntu.
Особенно это касается владельцев ноутбуков (про массовые кражи все
читали).
Взялся за это дело шифровальное, посмотрел, что народ пишет. Нашел
немного грамотных статей, для линукса тем более, пришлось самому
колесо изобретать. Может, кому тоже пригодится.
Я зашифровал не все разделы, а только пользовательские данные. Это
нисколько не меньшая безопасность, чем шифровать весь корневой раздел
со всеми пакетами и библиотеками!
Итак, что требует шифрования:
Для линукса есть как встроенные (dm-crypt, loop-aes…), так и
стороннее средство - TrueCrypt, работающее как в Windows
Vista/XP/2000, так и в Linux (правда примерно в 1.5 раза медленнее). И
конечно же с открытым кодом (привет спецслужбам :)
Для шифрования swap можно довериться средствам линукса
Детально и коротко:
в fstab заменить ваш swap на:
далее
Дальше больше. Размещение в tmpfs
в /etc/fstab добавить:
далее
Теперь помещаем в криптоконтейнер каталоги из /var
Индексацию зашифрованных разделов нужно отключать, в файле
/etc/updatedb.conf, в PRUNEPATHS добавить /home
Затем перезагрузиться и удалить каталоги /ttmp, /var/ttmp
Следующим этапом идет собственно шифрование раздела /home Я
воспользовался руководством от MasterGnome, при этом переделав
некоторые моменты, касающиеся инсталляции и форматирования.
Для Ubuntu Feisty инсталляция несколько проще:
Устанавливаем пакет Automatix2, если его у вас еще нет. Через
Automatix устанавливаем TrueCrypt.
Тестируем TC:
TrueCrypt позволяет создавать криптоконтейнеры как в разделах, так и в
файлах, которые потом подключаются как разделы. Для замены одного
другим в командах, достаточно поменять раздел (например /dev/sda3) на
название файла (например home.tc).
Truecrypt позволяет шифровать с использованием алгоритмов AES,
Twofish, Serpent.
Все три алгоритма очень надежны, и сейчас не существует даже
теоретического способа взлома, кроме метода полного перебора.
AES - выбран как правительственный стандарт в США
Twofish - на процессоре AMD64 (linux kernel i386 2.6.20-16) самый
быстрый. Опережающий AES в среднем на 20%
Serpent - существенно медленнее остальных
Заметил, что Twofish быстрее на AMD, а AES на Intel, причем на Intel
Mobile оба алгоритма примерно равны. Вы можете выбрать любой из них,
но я советую сначала протестировать на скорость на вашем компьютере.
Используются хешовые функции RIPEMD-160,SHA-1 и Whirlpool.
SHA-1 - появилась теоретическая возможность взлома, и хотя это скорее
относится к письмам и цифровым подписям, не рекомендуется к
применению.
RIPEMD-160 - стоит по умолчанию. Для этого алгоритма даже теоретически
взлом пока не возможен. Но вот его предшественник RIPEMD уже себя
дискредитировал. Whirlpool - теоретически самая медленная, некоторые
источники утверждают, что медленнее в 2-3 раза, чем остальные. Хотя
мои тесты показали, что в TrueCrypt это не так. Как в Linux, так и в
Windows XP отставание не более 5% от предыдущих. На сегодняшний момент
самый стойкий алгоритм. И самый молодой.
Можно использовать Whirlpool или RIPEMD-160.
В TC есть возможность использовать каскады алгоритмов. Связка
AES-Twofish вместе с Whirlpool и скрытый контейнер - это для
суперсекретных данных ;)
Прежде чем продолжить, сохраните где-нибудь папку /home. После этого,
если у вас home расположен на отдельном разделе (пр. sda3), то его
надо размонтировать:
Для директории /home создадим внешний криптоконтейнер:
файловую систему как None, любой алгоритм хэша, и два раза пароль.
Потом:
Теперь форматирование контейнера:
переписать туда сохраненный /home со всеми вашими данными. Не забудьте
про .var из сохраненного /home и удалите там все файлы
Вместо ext2 вы можете использовать и другую файловую систему: ext3,
ReiserFS
Truecrypt несомненно хорош и тем, что внутри зашифрованного контейнера
можно спрятать еще один. Хотя в документации сказано, что внешний
контейнер должен быть как FAT отформатирован, он прекрасно работает и
с ext2. Но при превышении границы между контейнерами с ключом -P
система не говорит об окончании места как в Windows, просто данные эти
теряются.
Журнал файловой системы автоматически размещается в криптоконтейнере.
Теперь надо в загрузку вставить скрипт (спасибо тому же
MasterGnome), который спрашивает пароль и монтирует:
и изменить во всех скриптах вместо #!/bin/sh надо везде #!/bin/bash,
иначе в Ubuntu выдается ошибка с declare
Теперь скопировать
В файле /usr/tcbootscreen/decrypt подставить свои значения для device
и mountpoint
Популярность: 86% [!]
Tagged with: debian, HTTP, linux, Windows, Windows XP