Перейти к содержанию

Нужен ли пакет encfs в Entware  

16 проголосовавших

  1. 1. Нужен ли пакет encfs в Entware

    • Да
      11
    • Нет
      0
    • Не знаю
      4
    • Ничего не понимаю
      1


Рекомендуемые сообщения

Опубликовано

Собран пакет encfs (EncFS — свободная криптографическая файловая система, основанная на FUSE, прозрачно шифрующая файлы, используя произвольную директорию в качестве места для хранения зашифрованных файлов. Распространяется под лицензией GPL.)

Необходимо, чтобы

Была установленная система пакетов Entware-keenetic - viewtopic.php?f=4&t=333

Был установлен модуль ядра fuse - viewtopic.php?f=3&t=471

1. Установка

opkg install http://pkg.entware-keenetic.ru/binaries/keenle/t/encfs_1.9-20160630-1_keenle.ipk
 

2. Использование (в интернете много подробных статей).

2.1 Создадим две папки. Первая, где хранятся "секретные данные", вторая "точка монтирования"

Например (используйте свои названия)

mkdir -p /opt/crypto
mkdir -p /opt/mcrypto
 

2.2 Запустим шифрование

encfs /opt/crypto/ /opt/mcrypto/
 

Внимание! В команде нужно указывать полные пути к папкам.

У Вас спросят тип шифрования (я проверял на стандартном) и пароль (если потеряете, данные не восстановите).

Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?>

Standard configuration selected.

Configuration finished.  The filesystem to be created has
the following properties:
Filesystem cipher: "ssl/aes", version 3:0:2
Filename encoding: "nameio/block", version 4:0:2
Key Size: 192 bits
Block Size: 1024 bytes
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File holes passed through to ciphertext.

Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism.  However, the password can be changed
later using encfsctl.

New Encfs Password:
Verify Encfs Password:
 

Проверяем, что все "сработало", командой mount.

mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
/dev/mtdblock/7 on /storage type jffs2 (rw,nosuid,relatime)
none on /proc/bus/usb type usbfs (rw,nosuid,noexec,relatime)
/dev/sda1 on /tmp/mnt/entware type ext2 (rw,relatime)
/dev/sda1 on /opt type ext2 (rw,relatime)
encfs on /opt/mcrypto type fuse.encfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions)
 

Как видим у нас появилась точка монтирования /opt/mcrypto.

Именно в эту папку и следует помещать секретные данные. А в папке /opt/crypto Вы увидите, как они будут отображаться в зашифрованном виде.

2.3 Закончили. Отключаем зашифрованную папку

fusermount -u /opt/mcrypto
 

2.4 Снова нужен доступ

encfs /opt/crypto/ /opt/mcrypto/
 

Вводим пароль - все отобразиться расшифрованным в /opt/mcrypto.

На параметрах шифрования по умолчанию у меня на медленную флешку скорость записи была около 1.5 МБ/с.

Отписываемся о проблемах (на ядре 2.6.22 прошивка v1 все повисло). Отписываемся - устраивает ли скорость?

Подбираем оптимальные для скорости параметры.

По результатам Ваших ответов решим, нужно ли включать encfs в репозиторий.

Опубликовано

Эм, а модуль fuse есть у кого-нить, чтоб на ndms v2.05(AAFS.5)C4 подкинуть его? Или это надо разработчикам писать, или кому, чтобы стабильная прошивка начала поддерживать?

Опубликовано
Эм, а модуль fuse есть у кого-нить, чтоб на ndms v2.05(AAFS.5)C4 подкинуть его? Или это надо разработчикам писать, или кому, чтобы стабильная прошивка начала поддерживать?

По модулям отдельный топик! Там и спрашивайте. Может для 2.05 fuse в ядре или в основной прошивке.

Не могу сказать. что encfs - верх стабильности. Вчерашняя сборка периодически вылетала в segfault. Сегодня обновил сырцы - заработала. На 2.6.22 и ndms v1 fuse есть в ядре. Там завис при попытке просмотреть даже пустую смонтированную папку. Может на v2 и будет лучше, но гарантий нет!

PS Если `cat /proc/filesystems` выдает fuse в поддрживаемых файловых системах, можете попробовать encfs.

cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   tmpfs
nodev   sockfs
nodev   usbfs
nodev   pipefs
nodev   anon_inodefs
nodev   devpts
       squashfs
nodev   ramfs
nodev   mtd_inodefs
       ext3
       ext2
       ext4
       fuseblk
nodev   fuse
nodev   fusectl

Опубликовано

Немного тестов.

Extra. Была попытка немного оптимизировать шифрование. Большого эффекта не дало.

Выполнялись операции:

(1) запись файла 164МБ на флешку.

(2) запись аналогичного файла в зашифрованную FS.

(3) чтение файла с зашифрованной FS.

Результаты:

[Extra@~]>dd if=/dev/zero of=/opt/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 22,753 s, 7,2 MB/s

[Extra@~]>dd if=/dev/zero of=/opt/mcr/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 56,8658 s, 2,9 MB/s

[Extra@~]>dd if=/opt/mcr/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 31,8112 s, 5,2 MB/s

Загрузка CPU 100%.

Аналогичные операции на arm роутере ((Broadcom BCM4708 ARMv7, 800Mhz, 2 ядра) с флешкой usb3 дали

23.3 MB/s, 6.7 MB/s и 11.2 MB/s. Загрузка cpu превышает 90% но маршрутизатор остается "отзывчивым".

А теперь UltraII. Использовалась флешка usb2, прошивка Падавана, загрузка не превышала 25%, скорости

7,9 MB/s, 4,6 MB/s и 7,5 MB/s.

Примечание. Загрузка CPU считывалась с морды. Поскольку три разные прошивки,..... неизвестно что там они показывают....

Опубликовано

То же, на GIGA II (см. выше)

Диск с NTFS

~ # dd if=/dev/zero of=/tmp/mnt/hdd/test/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 4,63578 s, 35,3 MB/s

~ # dd if=/dev/zero of=/tmp/mnt/hdd/mycrypt/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 72,8121 s, 2,3 MB/s

~ # dd if=/tmp/mnt/hdd/mycrypt/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 31,3866 s, 5,2 MB/s

Диск c ext2

~ # dd if=/dev/zero of=/tmp/mnt/hdd/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 5,0803 s, 32,3 MB/s

~ # dd if=/dev/zero of=/tmp/mnt/hdd/mycrypt/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 64,5946 s, 2,5 MB/s

~ # dd if=/tmp/mnt/hdd/mycrypt/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 44,0339 s, 3,7 MB/s

Диск с ext3

~ # dd if=/dev/zero of=/tmp/mnt/hdd/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 6,06516 s, 27,0 MB/s

~ # dd if=/dev/zero of=/tmp/mnt/hdd/mycrypt/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 72,1289 s, 2,3 MB/s

~ # dd if=/tmp/mnt/hdd/mycrypt/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 43,408 s, 3,8 MB/s

На флешке с ext2

~ # dd if=/dev/zero of=/opt/tmp/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 29,3155 s, 5,6 MB/s

~ # dd if=/dev/zero of=/opt/mycrypto/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 60,6527 s, 2,7 MB/s

~ # dd if=/opt/mycrypto/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 43,2835 s, 3,8 MB/s

до кучи (Ultra II+hdd c ext4 USB3) CPU ~25-30%

~ # dd if=/dev/zero of=/tmp/mnt/hdd/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 1,61661 s, 101 MB/s

~ # dd if=/dev/zero of=/tmp/mnt/hdd/mycrypt/test bs=16k count=10000
10000+0 records in
10000+0 records out
163840000 bytes (164 MB) copied, 51,1632 s, 3,2 MB/s

~ # dd if=/tmp/mnt/hdd/mycrypt/test of=/dev/null
320000+0 records in
320000+0 records out
163840000 bytes (164 MB) copied, 30,7169 s, 5,3 MB/s

Опубликовано

По результатам Ваших ответов решим, нужно ли включать encfs в репозиторий.

Лично меня вроде все устраивает, ИМХО нужно однозначно! Попытаюсь сейчас запускать шифрование через телеграм.. еще бы davfs прикрутить к стабильной ndms v2.05(AAFS.5)C4. Есть такая возможность?

Опубликовано

Лично меня вроде все устраивает, ИМХО нужно однозначно! Попытаюсь сейчас запускать шифрование через телеграм.. еще бы davfs прикрутить к стабильной ndms v2.05(AAFS.5)C4. Есть такая возможность?

Нужно не спрашивать, а проверять. davfs2 это же fuse - должно работать.

Опубликовано

Обращаю внимание, что у encfs куча, да-да целая куча опций.

Начиная от опций шифрования (алгоритмы, типы и длины ключей) и заканчивая опциями монтирования.

Для embeded устройств следует подбирать оптимальные.

Опции монтирования:

>encfs -H
encfs [options] rootDir mountPoint -- [FUSE Mount Options]
valid FUSE Mount Options follow:

usage: ... mountpoint [options]

general options:
   -o opt,[opt...]        mount options
   -h   --help            print help
   -V   --version         print version

FUSE options:
   -d   -o debug          enable debug output (implies -f)
   -f                     foreground operation
   -s                     disable multi-threaded operation

   -o allow_other         allow access to other users
   -o allow_root          allow access to root
   -o auto_unmount        auto unmount on process termination
   -o nonempty            allow mounts over non-empty file/dir
   -o default_permissions enable permission checking by kernel
   -o fsname=NAME         set filesystem name
   -o subtype=NAME        set filesystem type
   -o large_read          issue large read requests (2.4 only)
   -o max_read=N          set maximum size of read requests

   -o hard_remove         immediate removal (don't hide files)
   -o use_ino             let filesystem set inode numbers
   -o readdir_ino         try to fill in d_ino in readdir
   -o direct_io           use direct I/O
   -o kernel_cache        cache files in kernel
   -o [no]auto_cache      enable caching based on modification times (off)
   -o umask=M             set file permissions (octal)
   -o uid=N               set file owner
   -o gid=N               set file group
   -o entry_timeout=T     cache timeout for names (1.0s)
   -o negative_timeout=T  cache timeout for deleted names (0.0s)
   -o attr_timeout=T      cache timeout for attributes (1.0s)
   -o ac_attr_timeout=T   auto cache timeout for attributes (attr_timeout)
   -o noforget            never forget cached inodes
   -o remember=T          remember cached inodes for T seconds (0s)
   -o nopath              don't supply path if not necessary
   -o intr                allow requests to be interrupted
   -o intr_signal=NUM     signal to send on interrupt (16)
   -o modules=M1[:M2...]  names of modules to push onto filesystem stack

   -o max_write=N         set maximum size of write requests
   -o max_readahead=N     set maximum readahead
   -o max_background=N    set number of maximum background requests
   -o congestion_threshold=N  set kernel's congestion threshold
   -o async_read          perform reads asynchronously (default)
   -o sync_read           perform reads synchronously
   -o atomic_o_trunc      enable atomic open+truncate support
   -o big_writes          enable larger than 4kB writes
   -o no_remote_lock      disable remote file locking
   -o no_remote_flock     disable remote file locking (BSD)
   -o no_remote_posix_lock disable remove file locking (POSIX)
   -o [no_]splice_write   use splice to write to the fuse device
   -o [no_]splice_move    move data while splicing to the fuse device
   -o [no_]splice_read    use splice to read from the fuse device

Module options:

[subdir]
   -o subdir=DIR           prepend this directory to all paths (mandatory)
   -o [no]rellinks         transform absolute symlinks to relative

[iconv]
   -o from_code=CHARSET   original encoding of file names (default: UTF-8)
   -o to_code=CHARSET      new encoding of the file names (default: UTF-8)

Для опций шифрования в режиме эксперта следует задавать минимальные длины ключей. Очень важной величиной может оказаться block size.

Опубликовано

Нужно не спрашивать, а проверять.

ок, попробую. Пока что мои пять копеек к тесту, с практической точки зрения, без цифр) Запустил с зашифрованной флешки кино по dlna и пошло - поехало, играет и не тупит. Супер!

<?xml version="1.0" encoding="UTF-8"?>



20100713
EncFS 1.9.0

ssl/aes
3
0


nameio/block32
4
0

128
1024
0
0
0
0
0
1
36

Опубликовано

А что насчет google-docs-fs или какого-нибудь fuse-google-drive? griv не устраивает, т.к. нужно не синхронизировать а монтировать как шару.

Опубликовано

Может лучше не нагружать CPU роутера, а имея раздел (на диске) доступный из инета для клиента использовать ПО на клиентах например - https://www.boxcryptor.com/ru он есть и для Windows и для Android

Опубликовано
Может лучше не нагружать CPU роутера, а имея раздел (на диске) доступный из инета для клиента использовать ПО на клиентах например - https://www.boxcryptor.com/ru он есть и для Windows и для Android
Это зависит от вашей задачи, в частности, от возможностей клиентов. encfs всего лишь один из ваших инструментов, как и любой другой инструмент, его надо использовать правильно.
Опубликовано

Уважаемый vasek00, спасибо, но лично меня не устраивает предложенная Вами реализация и мне кажется чтоэто самый очевидный, можно сказать банальный вариант использования. Лично мне он не подходит, ввиду использования encfs в облаках, который адекватно поддерживается в андрюше только на дропбоксе, для того же гуглодиска нужны как минимум гуглосервисы, а чем покупать всей семье новые смарты я предпочел бы хагрузить проц, ну не солить же эти ресурсы. Уж сколько было высказываний о том что шифрование будет вешать деаайс я у себя такого не наблюдаю. При самых ужасных раскладах пиковые значения исп-я процессора порядка 80%. При копировании больших файлов и так были примерно такие же "показания". Оттого таки ИМХО весьма полезная фича. Вам не нужно - берегите свой CPU.

Опубликовано
....Уж сколько было высказываний о том что шифрование будет вешать деаайс я у себя такого не наблюдаю. При самых ужасных раскладах пиковые значения исп-я процессора порядка 80%. При копировании больших файлов и так были примерно такие же "показания". Оттого таки ИМХО весьма полезная фича. Вам не нужно - берегите свой CPU.

Если речь о смартфонах или планшетах, то это же очевидно. Они все сейчас многоядерные.

Encfs можно на многоядерном устройстве запустить с флагом -s (в 1 поток). На практике это почти не влияет. На одном arm устройстве было даже быстрее с -s. Реально encfs не грузит все ядра-потоки и вполне юзабельно на многоядерных устройствах (Ultra II, Giga III).

Опубликовано
Реально encfs не грузит все ядра-потоки и вполне юзабельно на многоядерных устройствах (Ultra II, Giga III).

Напомню, у меня Giga II и тоже весьма юзабельно! Мне очень нравится.

Опубликовано

emlen

Скорей всего вы не поняли

HDD-USB---роутер-----Инет------ПК

Обычно пользователи для подключения удаленно к своему роутеру используют сервер VPN на нем, получая доступ к разделу винта который подключен к нему. Клиент кладет на него уже шифрованный файл, т.е. файл передается уже зашифрованный. При чтении файл в данном случае он на "лету" точнее у клиента расшифровывается, вся на пруга на клиента.

Не большая ремарка

Boxcryptor — это всего лишь удобная графическая надстройка над encfs+fuse

emlen

Вам не нужно - берегите свой CPU.

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

  • 1 год спустя...
Опубликовано

Приветствую всех Кинетикоманов!

 

Гайд - замечательный!

Только хотелось бы его сделать оконченным с точки зрения юзабилити.

Не могли бы вы подсказать, как примонтировать вместо /opt/mcrypto smb шару? (Чтобы был доступ к расшифрованным данным по сети)

И как заставить это работать после перезагрузки роутера?

 

  • 3 месяца спустя...
Опубликовано

Сейчас опять пользуюсь encfs, но столкнулся с неприятным моментом, при копировании больших файлов сам процесс копирования может спонтанно намертво фризиться, при том что htop кажет, что проц загружен не на 100%, другие сервисы на роутере продолжают работать нормально, все шары доступны... и получается возобновить копирование только после перемонтирования криптопапки с удалением недокопированного файла. Как с этим можно побороться?

  • 2 месяца спустя...
Опубликовано (изменено)

как же заставить его пусть медленно, но стабильно без вылетов работать?!

Изменено пользователем emlen

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.