суббота, 22 декабря 2007 г.

Шифрование с помощью EncFS

Прелюдия

"Сам факт установки Линукс на компьютер по российским законам, к сожалению, не является преступлением. Однако этот факт красноречиво свидетельствует, что пользователь опасается того, что проверяющие могут найти что-то запрещенное на его компьютере..." (с) Представитель отдела "К" МВД г.Москвы

Господа! Из цитаты явно следует, что использование Linux уже само по себе является значительным барьером к раскрытию информации. По крайней мере, для наших столь компетентных проверяющих органов. Однако, если вы хотите защитится не только от них, но и от хакеров-порнографов, предлагаю следующий простой способ создания шифрованной директории Linux.

Инструменты

Итак, задача: необходимо создать зашифрованную директорию для хранения чувствительных данных (сертификатов, ключей и т.п.). Периодически, эти данные должны обновляться, не создавая при этом особых сложностей. Немного погуглив, обнаружил три подходящих механизма:
  • EncFS
  • CryptoFS
  • dm_crypt
Из данных вариантов я выбрал EncFS как наиболее простой, а также не требующий предварительного выделения места под виртуальный защищенный раздел.

Установка

Как обычно, привожу сценарий установки на примере Gentoo. Мердижим пакет:
emerge encfs

В месте с ним установится fuse и rlog (библиотека журналирования) если не были установлены ранее. Для fuse в этом случае необходимо загрузить модуль
modprobe fuse
а также добавить его в автоматическую загрузку:
echo "fuse" >> /etc/module.autoload.d/kernel-2.6
Проверим наличие устройства /dev/fuse, а также
ls -l /dev/fuse
crw-rw---- 1 root root 10, 229 Дек 22 14:51 /dev/fuse
Если не выставлены полномочия для other (как в данном случае), корректируем:
chmod o+rw /dev/fuse
На этом установка завершена.

Использование

Все вышеприведенные действия мы проделывали от имени рута. Далее будет достаточно привилегий обычного пользователя.

Создаем защищенный раздел:
encfs ~/sensitive.enc ~/sensitive
Примечание: необходимо использовать абсолютные пути.

где sensitive.enc - каталог, содержащий зашифрованные данные, а sensitive - каталог, к которому будет монтироваться защищенный раздел. Если данные каталоги не были созданы ранее, они будут созданы автоматически. Утилита также запросит пароль, который нужно постараться не забыть. Иначе зашифрованные данные невозможно будет восстановить.

Хочу отметить, что команда encfs используется как для создания шифрованной директории, так и для монтирования.

Теперь можно работать с защищенным разделом. Работая с директорией sensitive, мы фактически работаем с sensitive.enc.По окончании работы с чувствительными данными, нужно отмонтировать раздел:

fusermount -u ~/sensitive


На этом все. Вот как красиво выглядит наш зашифрованный каталог в результате работы:
ls -n ~/sensitive.enc
drwxr-xr-x 2 1000 100 88 Дек 22 15:12 g0JSRLJPHD2di0
drwxr-xr-x 2 1000 100 80 Дек 22 15:11 JPj32ggoUPz17-
drwxr-xr-x 2 1000 100 88 Дек 22 14:49 Lh22QQGCepBHh,
drwxr-xr-x 2 1000 100 88 Дек 19 01:19 mZQRcDYzqKfYMJVPPoqYlXCD

пятница, 7 декабря 2007 г.

О www.yourmart.ru

Решили провести эксперимент. Появилась идея создать сервис в духе WEB 2.0 - поисковик по товарам, предоставляемых интернет-магазинами. Информация о предложениях затягивается в сервис с помощью размещаемых магазинами xml-файлов. Конечно, подобных сервисов уже наплодилось добрая сотня с яндекс маркетом во главе, и этим никого не удивишь. Но в данном проекте есть следующие особенности:
  • бесплатное размещение предложений магазинов;
  • богатая функциональность, быстрота поиска;
  • отсутствие аукционов, нарушающих релевантность запроса пользователя;
  • отсутствие назойливой рекламы.
Итак, yourmart.ru бесплатен для магазинов, размещающих товары. Этим мы выгодно отличаемся подобных платных сервисов. Кроме того, на бесплатное размещение соглашаются большое количество магазинов, и их число растет высокими темпами. К примеру, за две неполных недели неспешного поиска набрано более сотни прайс-листов.

Второй особенностью является использование ныне не популярной но очень перспективной технологии Flex. Это добавляет некоторые ограничения на клиентские машины: для работы с сервисом необходим Flash Player 9, да и первоначальная загрузка несколько длиннее чем аналогичная для html-страницы. Однако это с головой восполняется теми преимуществами, что дает эта технология. Пользовательский интерфейс приобретает свойства доброго "толстого клиента" с богатой функциональностью. Понижается объем передаваемых данных от пользователя клиенту, что ускоряет операции поиска. Да и недостатки нивелируются тем, что Flash Player стоит 9 машинах из 10, а ждать загрузку приходится однократно только при первом посещении сервиса.



И, наконец, наиболее привлекательная на мой взгляд особенность - отсутствие аукционов и рекламных позиций в топовых результатах поиска. Это не нарушает релевантность результатов поиска в угоду получения дополнительных денег (что безусловно вселяет чувство вселенской справедливости). Таким образом, даже небольшие магазины, будучи в состоянии сформировать каталог товаров, могут разместить своих предложения для обозрения большой аудитории покупателей.

Вот на этих принципах и строится этот сервис. Меркантильный читатель может спросить, а, собственно, на чем ребята планируют делать деньги? Отвечаю - на количестве пользователей, небольшой контекстной рекламе, а также на формировании добавленной стоимости. Есть пара интересных идей, связанных с последним пунктом, но о них говорить пока рано.

В настоящее время yourmart.ru находится на стадии альфа. Однако, постепенно мы наращиваем аудиторию как магазинов, так и пользователей. Планируем в скором времени приблизится к тому порогу, когда количество первых и вторых будет достаточно для обоюдной пользы. Если вы что-либо продаете, оформляйте предложения в xml файл формата YML и высылайте ссылку мне на почту. Вполне вероятно, что и вы и я получим от этого много денег.