ОПНЦПЮЛЛЮ ЬХТПНБЮМХЕ
OpenNET: статья - Шифрование данных с хранением временных файлов в рамдиске (linux kernel crypt ramdisk tmpfs ssl openssl)
Поиск (ключи):
ПРОГРАММЫ
СТАТЬИ
СОВЕТЫ
ФОРУМ
ССЫЛКИ
НОВОСТИ (+)
MAN'ы
ДОКУМЕНТАЦИЯ
Шифрование данных с хранением временных файлов в рамдиске (linux kernel crypt ramdisk tmpfs ssl openssl)
<< Предыдущая
ИНДЕКС
Правка
src
Установить закладку
Перейти на закладку
Следующая >>
Ключевые слова: linux, kernel, crypt, ramdisk, tmpfs, ssl, openssl, (найти похожие документы)
From: Hash
Newsgroups: http://linux.pk.ru
Date: Mon, 20 May 2005 18:21:07 +0000 (UTC)
Subject: Шифрование данных с хранением временных файлов в рамдиске
Оригинал: http://linux.pk.ru/phorum/read.php?f=5&i=5&t=5
Маниакальное шифрование.
Многим в наше время требуется защита своей информации. Причины могут быть
разные. Существует огромное количество программ шифрования, но все они (по
крайней мере большинство) имеют один существенный недостаток.
Существует потенциальная опасность раскрытия конфеденциальных данных. Дело в том,
что программа шифрования должна хранить незашифрованную копию данных на
диске (если конечно операции чтения/записи не выполняются совместно с
шифрованием/дешифрованием, что отнимает не хило ресурсов)для пользователя и
поэтому существует потенциальная возможность заполучить эту информацию.
Когда к вам врываются в квартиру и попутно вырубают свет, то обратно
зашифровать не остается времени (и электричества :) ), если, конечно,
у вас нету UPS'а.
Но эта проблема отпадает, если хранить незашифрованные данные в
_ЕНЕРГО_ЗАВИСИМОЙ_ПАМЯТИ_ , то бишь в оперативной памяти. После
неожиданного выключения света информация исчезает. Для реализации
этого способа защиты информации в Линуксе вам нужна поддержка ram дисков в
ядре и пакет openssl. Также можно собрать модуль, который называется rd.o , а
исходник соответственно rd.c .
Собрать этот модуль можно поставить m напротив ram disk support в
конфиге ядра и дав команду make modules. После этого переместите этот модуль в
/lib/modules/<версия ядра>/block/. При создании ram диска этот модуль
будет автоматически загружен в память. Теперь отведём объём для нашего
хранилища.
Это делается командой:
dd if=/dev/zero of=/dev/ram1 bs=1k count=4096
где count - размер в килобайтах. Для шифровки/дешифровки я написал два
простеньких скрипта. Назовём их encode и decode.
#!/bin/bash
# Encode
if [ ! -e "$1" ];then
echo "Directory $1 doesn't exist!"
exit 1
fi
echo "Compressing dirctory..."
tar cfz private.tgz $1 # Creating archive and compressing
rm -rf $1
echo "Encoding..."
openssl bf -salt -in private.tgz -out private.tgz.sec #encoding
shred -u private.tgz # Delting strongly
echo "Done."
Вместо bf (BlowFish) в команде openssl можно постаить любой другой
доступный алгоритм шифрования. Подробнее: man openssl
#!/bin/bash
# Decode
if [ ! -e "$1" ];then
echo "File $1 doesn't exist!"
exit 1
fi
echo "Creating file system..."
mke2fs -m 0 /dev/ram1 # making ext2fs
echo "Mounting..."
mount -t ext2 /dev/ram1 /tmp/secret
echo "Decoding..."
openssl bf -d -salt -in $1 -out /tmp/private.tgz
if [ ! -e /tmp/private.tgz ];then
echo "Wrong password!"
exit 1
fi
tar xfz /tmp/private.tgz -C /tmp/secret
shred -u /tmp/private.tgz
echo "Done."
Скопируйте их куда нибудь($HOME/bin) и сделайте исполняемыми (chmod u+x).
Если вы запускаете скрипт дешифровки не из-под root'а, то вам придётся
добавить в /etc/rc.d/rc.local добавить команды создания файловой
системы и её монтирования. Установка suid - бита на скрипт decode ничего не даст
:(
Все! Теперь вы можете быть спокойны за свою информацию во время
неожиданного визита сотрудников спецслужб или других враждебных вам
личностей :) Правда информацию надо часто сохранять. Естественно,
данное решение не подходит для защиты видео и фото материалов не
совсем (совсем не :) этического содержания ввиду их большого размера.
Но для небольших файлов это вполне подходит. Если вы хотите вернуть свою
память обратно выполните команду
dd if=/dev/zero of=/dev/ram1 bs=1k count=0
Благодаря hatred'у был найден ещё один способ решения данной задачи.
Он заключается в использовании tmpfs :
mkdir /tmp/tmpfs
mount -t tmpfs /dev/shm /tmp/tmpfs
...и последующей работе с этим какталогом.
Успехов!
Hash (cy-wolf@inbox.ru)
Большое спасибо Денису Каледину(hannibal@nline.ru) и его статье
"Шифрование отдельных директорий с помощью openssl"
http://linuxshop.ru/linuxbegin/article401.html
<< Предыдущая
ИНДЕКС
Правка
src
Установить закладку
Перейти на закладку
Следующая >>
Ваш комментарий
Имя:
E-Mail:
Заголовок:
Текст:
Дистрибутивы Linux, BSD и программы от ЛинуксЦентра:
1.
Архив журнала Системный администратор за 2007 год (DVD) - 150 руб.
2.
Журнал Linux Format #3 (103) Март 2008 (Damn small linux, Fedora, Knoppix, PCLinuxOS, Zenwalk) - 250 руб.
3.
OpenSUSE 10.3 платформа x86 (1DVD + 1CD) - 350 руб.
4.
Ubuntu Linux 7.10 для платформы x86 (1CD) - 115 руб.
5.
Fedora 8 для платформы x86 (1DVD) - 250 руб.
6.
Журнал Linux Format #2 (102) Февраль 2008 (Mandriva 2008.0, PuppyRus, VectorLinux + DSL + JackLab Audio Distribution 1.0) - 250 руб.
7.
Mandriva 2008 Spring Powerpack ( предзаказ со скидкой 10% ) - 2095 руб.
8.
Журнал Linux Format #1 (100/101) Январь 2008 (Ubuntu 7.10, OpenSUSE 10.3 + Архив LXF: подшивка журналов за 2005-2007 год) - 250 руб.
9.
Cборник программного обеспечения OpenOffice.org 2.4 (DVD) - 250 руб.
10.
Mandriva One 2008 (1CD) - 125 руб.
Закладки на сайте
Проследить за страницей
Created 1996-2008 by Maxim Chirkov
Добавить, Реклама, Вебмастеру, ЦУП, ГИД
ПЮГДЕКШ
ЦХДПЮМР
БХУПЕБНИ РЕОКНЦЕМЕПЮРНПШ
ПЮЙ ЫХРНБХДМШИ ФЕКЕГЮ
АСЙЛЕЙЕПЯЙХИ ЙНМРНПЮ ЬЮМЯ
ОЕЯЙНЯРПСИЙЮ
ОПНЦПЮЛЛЮ ЬХТПНБЮМХЕ