Содержание статьи
Рынок «домашних» сетевых хранилищ насыщен предложениями. Для тех, кого пугает само слово NAS, — линейка WD My Cloud Home, файлы в которой хранятся в виде порезанных на кусочки блобов в базе данных, а создать сетевую папку и организовать стриминг на умный телевизор — задача, штатными способами не решаемая. Более консервативные пользователи, энтузиасты и сегмент SOHO могут выбирать из предложений Synology, QNAP и Asustor.
В моделях всех производителей, за исключением «домашних» устройств Western Digital, поддерживается шифрование данных по алгоритму AES-256. Несмотря на использование одного и того же алгоритма, детали реализации у разных производителей могут отличаться настолько, что даже сравнивать между собой различные схемы получается с большим трудом. Так, в компании Synology сделали ставку на шифрование сетевых папок — eCryptFS. В QNAP пошли другим путем.
Архитектура защиты
В современных моделях QNAP, работающих под управлением актуальных версий QTS, может использоваться не один, а целых три варианта шифрования, из которых можно применить хоть любой на выбор, хоть все вместе в любых комбинациях. Перечислю доступные методы:
Self-encrypting drive (SED). Шифрование SED выполняет непосредственно контроллер жесткого диска — при условии поддержки со стороны прошивки. Далеко не все модели дисков поддерживают SED; проще всего получить такой диск, разобрав внешний накопитель WD My Book (только однодисковые модели; в двухдисковых шифрование реализовано на уровне контроллера USB). В NAS от QNAP, в тех моделях, где поддерживается SED, включить защиту можно как для отдельного диска, так и для всего пула — организовав, таким образом, полностью зашифрованный SED пул хранения. Шифрование SED — отличный «нулевой» слой шифрования, защищающий данные, например при отправке дисков в гарантийный сервис.
Шифрование тома. Традиционно именно этот тип шифрования использовался во всех устройствах QNAP. Данный тип шифрования — программный; его включение несколько снижает производительность дисковой подсистемы. Впрочем, разница не критична. Шифрование тома может защищать как тома, расположенные на конкретном диске, так и многодисковые тома, расположенные в пространстве хранения объединения физических жестких дисков.
Шифрование сетевых папок. Этот тип шифрования нам уже знаком по исследованию шифрования Synology. В NAS от QNAP данный тип защиты появился сравнительно недавно, а создавать зашифрованные папки на зашифрованных томах стало возможно и вовсе буквально на днях. Неудивительно, что реализация от QNAP отстает от аналога в Synology DSM по части хранения, управления и защиты депонированных ключей.
Шифрование SED: физический, или «нулевой», уровень защиты
Шифрование по методу self-encrypting drive — SED — возможно при использовании специфических моделей дисков, шифрование которых реализовано аппаратно в рамках контроллера и поддерживается прошивкой. Последняя ремарка имеет значение: подавляющее большинство современных контроллеров обладает возможностью аппаратного шифрования, но возможность эта активируется лишь в моделях, предназначенных для специфических применений. Эти применения далеко не всегда подразумевают использование в дата‑центрах. К примеру, популярные внешние диски WD My Cloud поставляются с дисками, в которых функция SED активирована.
К сожалению, свободного диска с SED для экспериментов у меня не нашлось, поэтому протестировать работу функции в NAS от QNAP я не смог.
Интересный момент: шифрование SED в NAS от QNAP можно использовать для создания полностью зашифрованных многодисковых пулов хранения. На таком зашифрованном пуле хранения можно затем создать обычный или зашифрованный логический раздел.
Согласно документации, в QTS существует возможность сохранить ключ шифрования для автоматического монтирования пула SED при загрузке устройства. При сохранении ключа необходимо понимать, что оно грозит несанкционированным доступом к данным, если у злоумышленника будет физический доступ к NAS.
Шифрование тома
В QNAP впервые была реализована именно защита на уровне тома. Этот тип защиты доступен для большинства накопителей QNAP, как тех, что оснащены процессорами Intel, так и основанных на архитектуре ARM.
Зашифрованный том можно создать в виде статичного раздела или в виде раздела поверх пула хранения (в том числе зашифрованного SED). Шифрование тома — прекрасный первый слой шифрования, который работает на любых дисках, даже тех, которые не поддерживают SED. Обратная сторона — скорость: при использовании шифрования тома наблюдается небольшая потеря производительности, а время, требующееся накопителю для любых операций с зашифрованным разделом, исчисляется в минутах.
Основные концепции
Шифрование тома реализовано на основе шифра AES-256 при помощи стандартного механизма cryptsetup (LUKS) с одним исключением: пароль пользователя преобразуется в криптографический ключ утилитой storage_util собственной разработки QNAP. Соответственно, чтобы смонтировать зашифрованный раздел за пределами NAS от QNAP, необходимо провести преобразование, воспользовавшись совместимым NAS от QNAP (это не обязательно должно быть то же устройство, на котором был создан том). Насколько мне известно, эквивалента этой утилите в Linux не существует.
- Реализация: cryptsetup (LUKS); утилита собственной разработки (storage_util) для преобразования пароля в ключ.
- Шифрование тома с данными: нет. Зашифровать можно только новый том при его создании.
- Расшифровка тома с данными: нет. Можно лишь удалить том и создать его заново.
- Смена или отзыв скомпрометированного пароля: да. Пароль можно сменить в любой момент. Это долго (минут пять), но возможно.
- Ключ шифрования: пароль (преобразовывается собственной утилитой от QNAP) или файл с ключом размером 256 байт.
- Потенциальные уязвимости: см. раздел «Сохранение ключей».
Зашифрованный том можно заблокировать, в результате чего том будет размонтирован. Это тоже занимает довольно много времени (примерно пять минут на нашей тестовой системе QNAP TS-453Be). Вероятно, с точки зрения разработчиков блокировка зашифрованного тома не считается рутинной операцией и, соответственно, не нуждается в оптимизации.
Ключ шифрования можно сохранить в файл с расширением .key, размером 256 байт. Способ преобразования ключа LUKS в содержимое файла не исследовался. Содержимое файла меняется каждый раз при его сохранении, поэтому определить, меняется ли ключ после изменения пароля, не удалось.
Разблокировать том можно, введя пароль или предоставив файл с ключом.
Разблокировка тома на тестовом устройстве QNAP TS-453Be занимает около пяти минут. Это еще одно действие, которое пользователи не будут совершать регулярно, а посему в оптимизации не нуждающееся.
Пароль шифрования можно сменить через пользовательский интерфейс. Смена пароля также относится к занятиям редким и потому, очевидно, не нуждающимся в оптимизации. (В скобках: и загрузка NAS тоже относится к таким не нуждающимся в оптимизации процессам. Мне хотелось бы взглянуть на полный список таких вещей, чтобы знать точно, что именно, с точки зрения разработчиков QTS, я не должен делать регулярно.) Смена пароля требует размонтирования зашифрованного тома (пять минут) и его последующего монтирования (еще пять минут). Итого — десять минут на смену пароля.
Детали реализации
Как уже было сказано, QNAP использует механизм cryptsetup и шифр AES-256. Подробные инструкции по монтированию зашифрованных томов есть на странице Mounting QNAP encrypted volumes; пароль для этого необходим.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»