id: Гость   вход   регистрация
текущее время 18:15 28/03/2024
Автор темы: Гость, тема открыта 29/01/2015 12:48 Печать
Категории: инфобезопасность, защита дисков, разграничение доступа
https://www.pgpru.com/Форум/ПрактическаяБезопасность/ВиртуальнаяМашинаДляКритичныхДанных
создать
просмотр
ссылки

Виртуальная машина для критичных данных


Доброго времени суток. Необходимо реализовать следующую схему:
Виртуальная машина (linux-based) без подключения к интернету, целиком для критичных текстовых данных.


Требования к системе:
1)Минимум три шифрованых раздела: для заметок, для паролей, для остальных файлов. Управляющий софт для каждого из разделов не предполагает собственного шифрования. Пароли на разделы должны быть различны.
2)Любой из разделов должен отключаться после неактивности в течении N минут.
3)Должна быть возможность бэкапить каждый раздел в шифрованном виде в произвольное место, в виде файла.


Требования к безопасности:
Компрометация 2/3 звеньев (ключ, пароль на ключ, данные) не должна вести к раскрытию данных.


По моим предположениям, мне потребуется:
1)какой-нибудь легкий дистрибутив
2)dm-crypt (пока без конкретного понимания)
3)обертка для удобного подключения разделов (лезть в консоль каждый раз не дело)
4)утилита для автоматического отключения раздела по таймауту


Опишите пожалуйста, как бы вы реализовали подобную систему.


 
Комментарии
— Гость (29/01/2015 15:24)   <#>

Что называете ключом?


Можно написать скрипт. В косоли всё равно всё делается быстрее и проще.


Странно и непонятно звучит.


Можно взять универсальную схему загрузки и накатить в ней виртуалку с разноцелевыми гостевыми ОС; технические моменты, как это сделать, обсуждаются примерно отсюда и далее. Шифровать дисковое пространство будет хостовая ОС. «Бэкапить каждый раздел» можно с помощью rdiff-backup или dd (зависит от ваших целей и нюансов). «Отключение раздела по таймауту» реализуется настройками управления доменами (тот же xend должен уметь) [1], [2]. Я себе бэкап через dd делаю так (вся система сидит на конкретном логическом томе LVM внутри LUKS):
#!/bin/sh
# Script to backup root system device. 
 
DeviceSource=/dev/volume_group/root
DeviceTarget=/dev/backup_volume_group/root_backup
DeviceSize=`blockdev --getsize64 $DeviceTarget`
BlockSize=10M
 
echo Backuping root device $DeviceSource to $DeviceTarget:
 
STARTTIME=$(date +%s)
echo $STARTTIME
 
set -x
dd if=$DeviceSource bs=$BlockSize | pv -s $DeviceSize > $DeviceTarget
 
set +x
sync
sleep 1
 
set +x
sync
 
ENDTIME=$(date +%s)
echo $ENDTIME
echo Elapsed time: $(($ENDTIME - $STARTTIME)) seconds
Перед выполнением скрипта соответствующие диски и LUKS на них должен быть подключен, а LVM активирован (vgchange -ay).
— Гость (29/01/2015 16:44)   <#>

Закрытый ключ для расшифровки данных. В этой теме я плаваю, поэтому могу ошибатся. Ранее я использовал утилиту pass, в которой для расшифровки использовался закрытый PGP ключ, на который можно было установить пароль. В результате этого, была возможность скопрометировать либо ключ, либо пароль на него без прямой угрозы для данных.

В данном случае детали можно опустить, суть только в том, что разделов больше одного, и к каждому нужен отдельный доступ.
— Гость (29/01/2015 17:11)   <#>

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


В любом случае, есть некоторая универсальная схема, где всё упирается в умение настроить гипервизор, файерволлы и демон управления гостевыми операционными системами.
— Гость (29/01/2015 17:14)   <#>

Если это не тру двухфакторная аутентификация, то паролем обычно шифруется сам ключ (в том же PGP). Естественно, что при компрометации самого ключа какой был на него пароль, уже не важно.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3