Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

Нам есть, что скрывать

Михаил Емельченков

Хакер, номер #090, стр. 090-104-3


# /bin/chroot --help

# /bin/mkdir --help

Размонтируем initrd:

# cd ~

# umount /mnt/initrd /boot

Теперь редактируем fstab, чтобы он соответствовал новому корневому разделу. В данном примере опция noatime необязательна, но она позволяет ускорить дисковые операции, так как отключает запись времени последнего обращения к файлу.

# vi /etc/fstab

/dev/mapper/root / reiserfs noatime 0 1

Следующий шаг - настройка grub:

# vi /boot/grub/grub.conf

title=Gentoo Linux with initrd

root (hd0,0)

kernel /vmlinuz root=/dev/ram0 rw init=/linuxrc

initrd /initrd

Подготовительный процесс завершен. Остается зашифровать корневую файловую систему. Для этого нам понадобится чистый раздел достаточной емкости (обозначим его как /dev/sdb1). Корневой раздел обозначим как /dev/sda2.

# mkdir /mnt/{sda2,sdb1}

# mount /dev/sda2 /mnt/sda2

# mount /dev/sdb1 /mnt/sdb1

Копируем все содержимое корневого раздела на чистый раздел:

# cp -r -p -v /mnt/sda2/* /mnt/sdb1/

# umount /dev/sda2

Выполняем подготовительные процедуры для загрузки с копии системы (с /dev/sdb1):

1. Редактируем файл /mnt/sdb1/etc/fstab:

# vi /mnt/sdb1/etc/fstab

/dev/sdb1 / reiserfs noatime 0 1

2. Редактируем /boot/grub/grub.conf:

# vi /boot/grub/grub.conf

title=Gentoo Linux - Boot from copy

root (hd0,0)

kernel /vmlinuz root=/dev/sdb1

3. Размонтируем устройство:

# umount /dev/sdb1

После загрузки с копии системы создаем зашифрованный корневой раздел:

# /bin/cryptsetup -y create root /dev/sda2

Система потребует ввести пароль шифрования с подтверждением. Этот пароль будет спрашиваться при загрузке ОС. По умолчанию используется алгоритм шифрования AES с длиной ключа 256 бит. Это очень надежный алгоритм, применяемый американскими спецслужбами для шифрования секретных документов. Доступные алгоритмы шифрования можно посмотреть командой "cat /proc/crypto". С помощью ключа '-c' можно указать, какой алгоритм использовать, с помощью '-h' - выбрать алгоритм хэширования.

Теперь создаем файловую систему ReiserFS (либо любую другую).

# mkreiserfs /dev/mapper/root

Копируем корневую систему на созданный зашифрованный раздел:

# mount /dev/mapper/root /mnt/sda2

# mount /dev/sdb1 /mnt/sdb1

# cp -r -p -v /mnt/sdb1/* /mnt/sda2/

# umount /dev/sdb1 /dev/sda2

Все. Система готова к загрузке с зашифрованного раздела.

Шифрование SWAP

Для Debian:

1. Удостоверься, что в файле /etc/defaults/cryptdisks присутствует следующая строка:

# vi /etc/defaults/cryptdisks

CRYPTDISKS_ENABLE=Yes

2. Отредактируй файл /etc/crypttab для настройки шифрования свопа (где /dev/sda5 – имя раздела со свопом).

# vi /etc/crypttab

cryptswap /dev/sda5 /dev/urandom swap,cipher=aes,size=256,swap

3. Отредактируй /etc/fstab, чтобы вместо обычного своп-раздела использовался раздел Device-mapper.

# vi /etc/fstab

/dev/mapper/cryptswap none swap sw 0 0

Для Gentoo порядок действий будет выглядеть следующим образом:

1. Добавь в файл /etc/conf.d/cryptfs строчку:

# vi /etc/conf.d/cryptfs

swap=cryptswap source='/dev/sda5'

2. Отредактируй файл /etc/fstab:

# vi /etc/fstab

/dev/mapper/cryptswap none swap sw 0 0

В результате мы получим своп-раздел cryptswap, шифруемый случайным ключом. Но сначала неплохо бы затереть старый своп случайными данными, так как в свопе могут находиться куски приватных данных, оставленные там после работы различных программ:

Назад на стр. 090-104-2  Содержание  Вперед на стр. 090-104-4
Hosted by uCoz