Synology: восстановление шифрованных данных

У линейки NAS Synology есть возможность шифрования пользовательских директорий. С точки зрения  пользователя и производительности данный процесс проходит незаметно. С точки зрения восстановления данных в случае физического выхода из строя непосредственно Synology возникают вопросы.

Решение достаточно простое.

Попробуем зашифровать данные на synology и восстановить их на другом компьютере под управлением linux.

1. Создаем папку «test»

syn1

В консоли она выглядит как:

DiskStation> mount
/volume2/@test@ on /volume2/test type ecryptfs (rw,ecryptfs_sig=d1a01d50c3f21e00,ecryptfs_fnek_sig=d1a01d50c3f21e00,ecryptfs_cipher=aes,ecryptfs_key_bytes=32)
DiskStation>

Шифрованные данные у нас хранятся в папке «@test@». Заголовки файлов тоже зашифровываны.

DiskStation> cd /volume2/@test@
DiskStation>
DiskStation> ll
drwxrwxrwx    2 root     root          4096 Apr 27 23:06 .
drwxr-xr-x   23 root     root          4096 May  9 17:40 ..
-rwxrwxrwx    1 admin    users        24576 Nov  9  2010 ECRYPTFS_FNEK_ENCRYPTED.FWbFc.pEkz6S--Zpr-2Dd2NYpDmWazP5XzYWVeykmHA9VYWnIBByabjQtE--
-rwxrwxrwx    1 admin    users        12288 Apr  3  2012 ECRYPTFS_FNEK_ENCRYPTED.FWbFc.pEkz6S--Zpr-2Dd2NYpDmWazP5XzYWtM3rznMpxRScrFYYkhUTwU--
-rwxrwxrwx    1 admin    users        28672 Apr  3  2012 ECRYPTFS_FNEK_ENCRYPTED.FWbFc.pEkz6S--Zpr-2Dd2NYpDmWazP5XzYWy9O2gyYttBSkbxQ07Q6pok--

Расшифрованные в папке «test».

DiskStation> cd /volume2/test
DiskStation>
DiskStation> ll
drwxrwxrwx    2 root     root          4096 Apr 27 23:06 .
drwxr-xr-x   23 root     root          4096 May  9 17:40 ..
-rwxrwxrwx    1 admin    users         1362 Apr  3  2012 1354.gif
-rwxrwxrwx    1 admin    users        17519 Apr  3  2012 1354.png
-rwxrwxrwx    1 admin    users        12382 Nov  9  2010 my2010.jpg

Шифрование происходит через eCryptfs — файловую систему с ассиметричным шифрованием файлов.

2. Скачиваем «/volume2/@test@» на нашу linux машину.

Всё, что нужно для работы eCryptfs, во всех современных Linux-дистрибутивах имеются как правило по умолчанию «из коробки».

3. Ставим ecryptfs (у меня centos 6.4):

linux>yum install ecryptfs*
 
Setting up Install Process
Package ecryptfs-utils-python-82-6.el6_1.3.i686 already installed and latest version
Package ecryptfs-utils-82-6.el6_1.3.i686 already installed and latest version
Package ecryptfs-utils-devel-82-6.el6_1.3.i686 already installed and latest version

4. Создадим пустой каталог, в который будут примонтированы расшифрованные данные:

# mkdir /mnt/decode-test

5. Теперь смонтируем в созданный каталог используя eCryptfs ранее зашифрованные данные:

# mount -t ecryptfs /mnt/@test@/ /mnt/decode-test

После ввода команды вам необходимо ввести пароль для ключа шифрования, тот самый, который мы вводили в web интерфейсе synology:

Passphrase:

Далее, выбираем алгоритм шифрования, по-умолчанию — AES, совпадает с тем, что у нас «ecryptfs_cipher=aes»:

Select cipher:
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
 2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:

Необходимо выбрать размер ключа, у меня он 32bytes, как можно было заметить в первом пункте: ecryptfs_key_bytes=32:

Select key bytes:
 1) 16
 2) 32
 3) 24
Selection [16]:2

Разрешаем или запрещаем доступ к файлам, которые не были зашифрованы при помощи eCrypfs:

Enable plaintext passthrough (y/n) [n]:n

Шифровать или нет имена файлов, ставим «да»:

Enable filename encryption (y/n) [n]:y

Если все параметры указаны верно, можно подтверждать монтирование и в «/mnt/decode-test» увидеть свои данные:

Would you like to proceed with the mount (yes/no)? : y
Вы можете оставить комментарий ниже.