Возможно вы искали: 'Moorhuhn X'

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

Статей: 87772
Просмотров: 96111483
Игры
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] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Шифрование дискового раздела во FreeBSD при помощи GEOM-ELI (freebsd geom disk crypt geom_eli)

Шифрование дискового раздела во FreeBSD при помощи GEOM-ELI (freebsd geom disk crypt geom_eli)

Ключевые слова: freebsd, geom, disk, crypt, geom_eli, (найти похожие документы)

From: netcat <root@velko.ru.>
Date: Sun, 16 Feb 2008 17:02:14 +0000 (UTC)
Subject: Шифрование дискового раздела во FreeBSD при помощи GEOM-ELI

Оригинал: http://www.lissyara.su/?id=1566

Вообщем возникла у меня необходимость найти способ надежно скрывать
некоторую информацию. Причина - присутствие определенных
конфиденциальных данных на предприятии и впоследствии создание
профилей ОС Windows на удаленном сервере некоторых людей, обладающих и
работающих с информацией, которую нежелательно показывать кому-либо,
например возможной внезапной проверке со стороны соответствующих
органов. Более менее грамотная серьезная проверка сразу обращает
внимание на компьютеры, а так же сервера (как хранилища информации),
поэтому задача состояла в том, чтобы при случае либо вообще не
прикладывать руку к ее сокрытию (на месте все равно никто не станет
копаться во FreeBSD ИМХО), либо самый минимум.

Поэтому я решил использовать класс GEOM-ELI, появившийся во FreeBSD,
начиная с 6.0 релиза. Вообщем, использование данного класса оказалось
достаточно несложным, да и немногим отличающийся от руководства.
Мысли значит такие. Класс GEOM-ELI поддерживает 3 алгоритма шифрования
- AES, 3DES и Blowfish. А также поддержка контроля целостности данных,
реализованная алгоритмами:

HMAC/MD5
HMAC/SHA1
HMAC/RIPEMD160
HMAC/SHA256
HMAC/SHA384
HMAC/SHA512


Основной случайно сгенерированный ключ будет храниться на USB-флешке,
ключевая фраза - в голове :) Решил использовать алгоритм Blowfish +
HMAC/SHA512.

Итак, мы имеем тестовую машину Core Duo, 1024 Мб ОЗУ, общий физический
объем SATA жестких дисков ~2 Террабайта в массивах, платформа -
FreeBSD 6.2. Под шифрованный раздел отдадим заранее предназначенный
для теста - /crypto размером ~100 Гб.(!)Если вы используете Soft
Updates, ACL, MAC и т.п. на файловой системе - заранее сделайте tunefs
до криптования.

$ uname -psr
FreeBSD 6.2-RELEASE i386
$ df -h

Filesystem Size Used Avail Capacity Mounted on
/dev/ar0s1a 4.7G 55M 4.3G 1% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ar0s1h 91G 4.0K 84G 0% /ar0data
/dev/ar0s1g 95G 4.0K 87G 0% /crypto
/dev/ar0s1f 9.5G 22K 8.7G 0% /home
/dev/ar0s1d 14G 1.4G 12G 10% /usr
/dev/ar0s1e 9.5G 71M 8.6G 1% /var
/dev/ar1s1d 226G 62K 208G 0% /ar1data
/dev/twed0s1d 451G 327G 88G 79% /twed0data


Итак, для начала скомпилируем ядро с опциями:

options GEOM_ELI
device crypto


Смонтируем на запись флешку в каталог /mnt:

# ls /dev | egrep 'dawsw'
da0s1
da1s1
# mount_msdosfs -o rw /dev/da0s1 /mnt


Генерируем ключ размером 64 байта на флешку:

# dd if=/dev/random of=/mnt/ar0s1g.key bs=64 count=1
1+0 records in
1+0 records out
64 bytes transferred in 0.000073 secs (877240 bytes/sec)


Отмонтируем слайс ar0s1g (/crypto):

# umount -f /dev/ar0s1g


Инициализируем провайдера - размер сектора 4Кб, алгоритм Blowfish,
контроль целостности посредством HMAC/SHA512, размер ключа, скажем,
384 бита (максимальный ключ в Blowfish насколько я помню может быть
448 бита). Придумываем ключевую фразу.

# geli init -s 4096 -K /mnt/ar0s1g.key -e Blowfish -a hmac/sha512 -l 384 /dev/ar0s1g
Enter new passphrase:
Reenter new passphrase:


Связываем главный ключ с провайдером, ключевая фраза и сгенерированный
файл на флешке служат дешифрацией главного ключа для создания нового
GEOM провайдера. В каталоге /dev должен появиться файл /dev/ar0s1g.eli:

# geli attach -k /mnt/ar0s1g.key /dev/ar0s1g
Enter passphrase:
# ls /dev | grep eli
ar0s1g.eli


Далее достаточно продолжительная процедура создания файловой системы
(у меня ушло на это около 4-часов):

# dd if=/dev/random of=/dev/ar0s1g.eli bs=1m
dd: /dev/ar0s1g.eli: short write on character device
dd: /dev/ar0s1g.eli: end of device
80000+0 records in
79999+1 records out
83886075904 bytes transferred in 14054.799294 secs (5968500 bytes/sec)

# newfs /dev/ar0s1g.eli
/dev/ar0s1g.eli: 80000.0MB (163839992 sectors) block size 16384, fragment size 4096
using 238 cylinder groups of 336.98MB, 21567 blks, 21568 inodes.
super-block backups (for fsck -b #) at:
160, 690304, 1380448, 2070592, 2760736, 3450880, 4141024, 4831168, 5521312,
6211456, 6901600, 7591744, 8281888, 8972032, 9662176, 10352320, 11042464,
11732608, 12422752, 13112896, 13803040, 14493184,
15183328, 15873472, 16563616, 17253760, 17943904, 18634048, 19324192,
20014336, 20704480, 21394624, 22084768, 22774912, 23465056, 24155200,
24845344, 25535488, 26225632, 26915776, 27605920, 28296064,

#-----SKIPPED-----#


Создадим произвольный файл длиной 512 байт на нашей новой ФС:

# dd if=/dev/urandom of=/crypto/testfile bs=512 count=1
1+0 records in
1+0 records out
512 bytes transferred in 0.000068 secs (7535030 bytes/sec)

# ls -lh /crypto
total 2
drwxrwxr-x 2 root operator 512B 4 дек 07:18 .snap
-rw-r--r-- 1 root wheel 512B 4 дек 09:52 testfile


Теперь отмонтируем /crypto, отсоединим провайдера /dev/ar0s1g.eli и
выведем список файлов директории. Тестового файла там нету.

# umount /crypto
# geli detach /dev/ar0s1g.eli
# ls -lh /crypto
total 0


Попробуем смонтировать устройство /dev/ar0s1g - неверный супер-блок:

# mount /dev/ar0s1g /crypto
mount: /dev/ar0s1g on /crypto: incorrect super block


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

# dd if=/dev/random of=/root/wrong.key bs=64 count=1
1+0 records in
1+0 records out
64 bytes transferred in 0.000058 secs (1104673 bytes/sec)

# geli attach -k /root/wrong.key /dev/ar0s1g
Enter passphrase:
Wrong key for ar0s1g.

# geli attach -k /mnt/ar0s1g.key /dev/ar0s1g
Enter passphrase:
Wrong key for ar0s1g.


Для своего удобства, накатал несложный скрипт на $BASH для
монтирования-демонтирования шифрованной файловой системы (при условии,
что она единственная на сервере). особо его не тестил, но у меня
работает вроде все:

#!/usr/local/bin/bash

printf "
#####################################################
# GEOM-ELI SCRIPT #
#####################################################
n";

printf "[?]Enter 'y' to mount or 'n' to umount GEOM-ELI partition: [y/n] ";
read answer

case "${answer}" in

y|Y) printf "[?]Enter the encrypted partition: ";
read partition;

if [ ! -c /dev/${partition} ]
then
printf "[!]There is no such device - ${partition}";
exit 1
fi

printf "[?]Enter the mounting point: ";
read mount;

if [ ! -d ${mount} ]
then
printf "[!]There is no such directory - ${mount}n";
exit 1
fi

printf "[!]Your partition is ${partition}
[!]Mounting point is ${mount}
[!]Trying to mount USB Flash drive on /mnt ...n";

declare -a flash=( $(ls /dev | egrep 'dawsw') )

if [ ${#flash[@]} -ge 1 ]
then
for usbd in ${flash}
do
umount -f /dev/${usbd} 2&>1
done

printf "[?]Enter the USB Flash device (${flash[*]:0}): [${flash[0]}]";
read usbdevice;

if [ -z ${usbdevice} ]
then
usbdevice=${flash[0]}

if [ ! -d /mnt ]
then
mkdir /mnt
fi

if mount_msdosfs -o ro /dev/${usbdevice} /mnt
then
printf "[!]USB FLASH Device /dev/${usbdevice} successfully mounted on /mntn";
else
printf "[!]Can't mount USB Flash Devicen";
exit 1;
fi
fi
fi

findgeli=$(df -H | grep eli | /usr/bin/awk '{print $1}')

if [ ${findgeli} ]
then
printf "[!]You have already the GEOM-ELI encrypted provider at ${findgeli}n";
exit 1;
else

if geli attach -k /mnt/${partition}.key /dev/${partition} &> /dev/null
then
printf "[!]Key for GEOM-ELI provider attached to /dev/${partition}n";
mount /dev/${partition}.eli ${mount} &> /dev/null
printf "[!]GEOM-ELI encrypted provider mounted to ${mount}nn";
geli list
umount -f /dev/${usbd} 2&>1
else
printf "[!]Can't attach the key /mnt/${partition}.keyn";
exit 1;
fi
fi
;;

n|N) printf "[?]Deattach the GEOM-ELI provider ? [y/n]"
read answer

case "${answer}" in

y|Y) device=$(df -H | grep .eli | /usr/bin/awk '{print $1}')
mount=$(df -H | grep .eli | /usr/bin/awk '{print $6}')

if [ ${device} ]
then
printf "[!]Found GEOM-ELI provider at ${device}n";
umount -f ${mount}
geli detach ${device}
printf "[!]GEOM-ELI provider deattachedn";
exit 0;
else
printf "[!]GEOM-ELI provider not foundn";
exit 1
fi
;;

n|N) printf "[!]Exitingn";
exit 0
;;


*) printf "[!]Enter 'y' or 'n'n";
exit 1;
;;
esac
;;

*) printf "[!]Enter 'y' or 'n'n";
exit 1;
;;
esac


Работает он примерно так:

# ./crypto.sh

#####################################################
# GEOM-ELI SCRIPT #
#####################################################

[?]Enter 'y' to mount or 'n' to umount GEOM-ELI partition: [y/n] y
[?]Enter the encrypted partition: ar0s1g
[?]Enter the mounting point: /crypto
[!]Your partition is ar0s1g
[!]Mounting point is /crypto
[!]Trying to mount USB Flash drive on /mnt ...
[?]Enter the USB Flash device (da0s1 da1s1): [da0s1]
[!]USB FLASH Device /dev/da0s1 successfully mounted on /mnt
Enter passphrase:
[!]Key for GEOM-ELI provider attached to /dev/ar0s1g
[!]GEOM-ELI encrypted provider mounted to /crypto

Geom name: ar0s1g.eli
EncryptionAlgorithm: Blowfish-CBC
KeyLength: 384
AuthenticationAlgorithm: HMAC/SHA512
Crypto: software
UsedKey: 0
Flags: AUTH
Providers:
1. Name: ar0s1g.eli
Mediasize: 83886075904 (78G)
Sectorsize: 4096
Mode: r1w1e1
Consumers:
1. Name: ar0s1g
Mediasize: 104857600000 (98G)
Sectorsize: 512
Mode: r1w1e1


И так:

# ./crypto.sh

#####################################################
# GEOM-ELI SCRIPT #
#####################################################

[?]Enter 'y' to mount or 'n' to umount GEOM-ELI partition: [y/n] n
[?]Deattach the GEOM-ELI provider ? [y/n] y
[!]Found GEOM-ELI provider at /dev/ar0s1g.eli
[!]GEOM-ELI provider deattached


Вообщем, мне так удобней. Да, и еще. Желательно не забыть из
/etc/fstab убрать строку устройства ar0s1g, а то система не загрузится

# sed -ie '/ar0s1g/d' /etc/fstab


Ну вот в принципе и все.
624 Прочтений •  [Шифрование дискового раздела во FreeBSD при помощи GEOM-ELI (freebsd geom disk crypt geom_eli)] [08.05.2012] [*****] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Шифрование дискового раздела во Fre... 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 | Донейт | Статистика | Команда | Техническая поддержка