Возможно вы искали: 'Nocturnal Illusion'

May 31 2025 02:20:48
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » Зашифрованная корневая файловая система в Linux (crypt rootfs linux fs)

Зашифрованная корневая файловая система в Linux (crypt rootfs linux fs)

Ключевые слова: crypt, rootfs, linux, fs, (найти похожие документы)

From: Михаил Лукьянченко <uptimebox@jabber.org.>
Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC)
Subject: Зашифрованная корневая файловая система в Linux

Оригинал: http://www.uptimebox.ru/2007/05/debian-gnulinux-4.html


В статье описывается процедура настройки сервера с зашифрованной
корневой файловой системой. Процедура довольно тривиальная, но требует
поверхностного знакомства с Debian.


Цель

Сервер на базе Debian GNU/Linux 4.0 Etch с зашифрованной корневой
файловой системой и разделами подкачки.

Средства

* сервер IBM eBusiness xSeries 206
* 4 HDD по 160 Gb
* компакт-диск debian-netinst
* Internet соединение


У xSeries 206 есть 2 порта SATA и 1 двухканальный IDE, но мне
необходимо было использовать 4 IDE диска (таково ТЗ, и это обусловлено
реальной необходимостью). Поэтому был приобретён PCI IDE контроллер. В
итоге я получил 4 диска через PCI IDE и CDROM, подключённый через
набортный IDE. Отсюда такие имена устройств.

Замечания

* с таким же успехом можно делать установку с полного дистрибутива,
не имея Internet соединения
* с незначительными модификациями процедура может быть использована
для установки Ubuntu 6.10 Edgy Eft или 7.04 Feisty Fawn
* жесткие диски перед использованием желательно забить случайными
данными



Шаги

1. создаём разделы, необходимые для базовой установки
2. устанавливаем базовую систему в тот раздел, который позднее станет
одним из swap-разделов, загружаемся с него
3. устанавливаем необходимые пакеты
4. создаём raid массивы
5. шифруем созданные массивы

Разметка дисков

Disk /dev/hde: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hde1 * 1 31 248976 fd Linux raid autodetect
/dev/hde2 32 93 498015 83 Linux
/dev/hde3 94 336 1951897+ fd Linux raid autodetect
/dev/hde4 337 19457 153589432+ fd Linux raid autodetect

Disk /dev/hdf: 300.0 GB, 300090728448 bytes
255 heads, 63 sectors/track, 36483 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdf1 1 36483 293049666 fd Linux raid autodetect

Disk /dev/hdg: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdg1 * 1 31 248976 fd Linux raid autodetect
/dev/hdg2 32 93 498015 82 Linux swap / Solaris
/dev/hdg3 94 336 1951897+ fd Linux raid autodetect
/dev/hdg4 337 19457 153589432+ fd Linux raid autodetect

Disk /dev/hdh: 300.0 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdh1 1 36481 293033601 fd Linux raid autodetect


/dev/hde1 и /dev/hdg1 объединяем в RAID-1, используем как /boot, метим
как загрузочный. /dev/hde2 используем как корневой раздел, позже от
него избавимся. Остальные разделы пока не используем. Файловая система
здесь не существенна, я использую ext3.

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

# aptitude install cryptsetup lvm2


Создаем RAID массивы

Их нужно создать 3 штуки:

* /dev/hde3 + /dev/hdg3 (это потом станет зашифрованной корневой
системой)


* /dev/hde4 + /dev/hdg4 (будет шифрованным физическим томом для lvm)


* /dev/hdf1 + /dev/hdh1 (будет ещё одним шифрованным физическим
томом для lvm)


# mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/hde3 /dev/hdg3
# mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/hde4 /dev/hdg4
# mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/hdf1 /dev/hdh1

Выясняем UUID каждого массива:

# mdadm --misc --detail /dev/md1|grep UUID
# mdadm --misc --detail /dev/md2|grep UUID
# mdadm --misc --detail /dev/md3|grep UUID


Прописываем массивы в `/etc/mdadm/mdadm.conf` (добавляем строчки,
подставив соответствующие значиения UUID):

ARRAY /dev/md1 level=raid1 num-devices=2 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx


Теперь лучше дождаться завершения синхронизации RAID. Отсследить можно
командой:

# mdadm --misc --detail /dev/md1


Там смотрим на "State : active, resyncing" и "Rebuild Status : 27%
complete". Процесс может занять весьма ощутимое время, так что лучше
оставить это счастье синхронизироваться на ночь.

Создаем шифрованные тома

# cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/md1
# cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/md2
# cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/md3


Там задаёт интерактивные вопросы, нужно для начала набрать именно
большими буквами YES, потом дважды пароль. В итоге получатся три
зашифрованных раздела.

Полученные разделы нужно добавить в `/etc/crypttab`:

root /dev/md1 none luks,cipher=aes-cbc-essiv:sha256
lvm1 /dev/md2 none luks,cipher=aes-cbc-essiv:sha256
lvm2 /dev/md3 none luks,cipher=aes-cbc-essiv:sha256


И открывем их:

# /etc/init.d/cryptdisks restart


Будущий корневой раздел сразу форматируем:

# mkfs -t ext3 /dev/mapper/root


Настраиваем LVM


Создаём physical volumes и volume group:

# pvcreate /dev/mapper/lvm1
# pvcreate /dev/mapper/lvm2
# vgcreate vg1 /dev/mapper/lvm1 /dev/mapper/lvm2


Хорошая идея всегда иметь немного оперативного пространства (например,
на тот случай, если у нас заведутся необъятные логи), поэтому часть
пространства при создании logical volumes оставляем нераспределённым:

# lvcreate --name usr --size 4G vg1
# lvcreate --name var --size 4G vg1
# lvcreate --name srv --size 300G vg1


Том под /home не создаю, поскольку локальных пользователей на этом
серевере будет не много, и задача обеспечить их пространством не
стоит.

Форматируем полученные тома:

# mkfs -t ext3 /dev/vg1/usr
# mkfs -t ext3 /dev/vg1/var
# mkfs -t ext3 /dev/vg1/srv


Создаем будующую файловую струтуру

# mount /dev/mapper/root /mnt
# mkdir /mnt/usr
# mkdir /mnt/var
# mount /dev/vg1/usr /mnt/usr
# mount /dev/vg1/var /mnt/var
# mount -o bind /dev /mnt/dev


Копируем содержимое текущей установки:

# cp -avx / /mnt


Переключаемся в новый корень

Для этого нужно сначала подмонтировать в новый корень /dev:

# mount -o bind /dev /mnt/dev


Теперь chroot:

# chroot /mnt


Здесь нужно подмонтировать `/proc` и `/boot`:

# mount /proc
# mount /boot


Исправляем /etc/fstab

Строчку `/dev/hde2 / ext3 defaults,errors=remount-ro 0 1` удаляем,
вместо неё пишем:

/dev/mapper/root / ext3 defaults,errors=remount-ro 0 1
/dev/vg1/usr /usr ext3 defaults,errors=remount-ro 0 2
/dev/vg1/var /var ext3 defaults,errors=remount-ro 0 2
/dev/vg1/srv /srv ext3 defaults,errors=remount-ro 0 2


Настраиваем загрузчик


Для подстраховки, на тот случай, если что-то пойдёт не так, обеспечим
возможность загрузиться с нешифрованного раздела и попробовать всё
исправить. Для этого нужно создать копию текущего initrd:

# cp /boot/initrd.img-2.6.18-4-686 /boot/initrd.img-2.6.18-4-686.cryptobak


и добавить в `/boot/grub/menu.lst` после строчки `### END DEBIAN
AUTOMAGIC KERNELS LIST`:

title Debian unencrypted
root (hd0,0)
kernel /vmlinuz-2.6.18-4-686 root=/dev/hde2 ro
initrd /initrd.img-2.6.18-4-686.cryptobak


В том же `/boot/grub/menu.lst` находим строчку `# kopt=root=/dev/hde2
ro` и заменяем на:

# kopt=root=/dev/mapper/root ro


(знак комментария в начале строки НУЖЕН!)

Теперь делаем:

# update-grub
# update-initramfs -u -k all


Перезагрузка

Перегружаем систему. В процессе загрузки на экране появится запрос:

Enter LUKS password:


Так как у нас целых 3 шифрованных раздела, то и вопрос будет задан
трижды.

Разделы подкачки

Отключаем действующий swap:

# swapoff -a


Добавляем в /etc/crypttab:

swape /dev/hde2 /dev/urandom swap,cipher=aes-cbc-ess
iv:sha256
swapg /dev/hdg2 /dev/urandom swap,cipher=aes-cbc-ess
iv:sha256


И в /etc/fstab:

/dev/mapper/swape none swap sw 0 0
/dev/mapper/swapg none swap sw 0 0


Инициализируем свопы:

# mkswap /dev/hde2
# /etc/init.d/cryptdisks restart
# swapon -a


Здесь действительно нужно в начале сделать mkswap, иначе `cryptdisks
restart` откажется создавать шифрованный swap, мотивируя тем, что в
разделе присутствует файловая система (это наш старый корень).

Зачистить

* удалить файл /boot/initrd.img-2.6.18-4-686.cryptobak


* удалить из /boot/grub/menu.lst всё после строчки `### END DEBIAN
AUTOMAGIC KERNELS LIST`



Недостатки решения

Так как у нас целых 3 шифрованных раздела, то при загрузке пароль
приходится вводить три раза. Меня это на данный момент вполне
устраивает, так как конечная конфигурация этой системы будет такова,
что ключи для шифрования будут прередаваться на этапе загрузки по SSH
(это будет описано отдельной статьёй). Как более простое решение, могу
посоветовать использовать для всех разделов, за исключением корневого,
ключевые файлы, которые можно положить на корневой зашифрованный
раздел. Ключевые файлы нужно будет прописать в `/etc/crypttab` и
перегенерировать initrd.

По техническим причинам зашифровать абсолютно всё не представляется
возможным. Нешифрованным останется раздел `/boot`, в котором лежат
образы ядра и initramfs-дисков. В такой ситуации возможна атака через
троян, внедрённый в initramfs (как этому противостоять - тема для
отдельной статьи). Однако, для организации такой атаки, в общем
случае, необходим физический доступ к серверу.
1327 Прочтений •  [Зашифрованная корневая файловая система в Linux (crypt rootfs linux fs)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Зашифрованная корневая файловая сис... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка