Хакер - Шифруйся! Изучаем новый механизм шифрования Synology

Хакер - Шифруйся! Изучаем новый механизм шифрования Synology

hacker_frei

https://t.me/hacker_frei

Олег Афонин

Содержание статьи

  • Шифрование в Synology: как было
  • Шифрование дисков: новое в DSM 7.2
  • Совместное использование шифрования тома и сетевых папок
  • Шифрование тома: как это выглядит
  • Шифрование тома в Synology и QNAP
  • Сравнение шифрования тома и шифрования сетевых папок
  • Выводы

В новой вер­сии опе­раци­онной сис­темы DSM 7.2 для сетевых хра­нилищ Synology появи­лась дол­гождан­ная воз­можность шиф­рования томов. Нас­коль­ко она удоб­на, надеж­на и отве­чает тре­бова­ниям безопас­ности? Давай раз­бирать­ся!

В недав­но вышед­шем обновле­нии DSM 7.2 раз­работ­чики Synology добави­ли зашиф­рован­ные тома в допол­нение к сущес­тву­юще­му методу шиф­рования сетевых папок. Новый для Synology спо­соб шиф­рования более уни­вер­сален и работа­ет быс­трее исполь­зовав­шегося ранее, но не обош­лось и без лож­ки дег­тя, которая дела­ет такой спо­соб защиты дан­ных прак­тичес­ки бес­полез­ным.

Нес­коль­ко лет назад я писал об осо­бен­ностях защиты дан­ных в сетевых хра­нили­щах раз­ных про­изво­дите­лей. В NAS от Synology при­меня­лось шиф­рование сетевых папок с исполь­зовани­ем стан­дар­тной для Linux крип­тогра­фичес­кой фай­ловой сис­темы eCryptFS. Кро­ме того, что с таким под­ходом свя­зано мно­жес­тво огра­ниче­ний и неудобств, управле­ние клю­чами шиф­рования было реали­зова­но пря­моли­ней­но и небезо­пас­но. Если поль­зователь вклю­чал авто­мати­чес­кое мон­тирова­ние сетевых папок, то клю­чи шиф­рования, сох­ранен­ные на самом устрой­стве либо на внеш­нем USB-накопи­теле, защища­лись фик­сирован­ным извес­тным паролем, что делало защиту неэф­фектив­ной.

В новой вер­сии опе­раци­онной сис­темы Synology DSM 7.2 появи­лось дол­гождан­ное шиф­рование на уров­не тома. По утвер­жде­ниям раз­работ­чиков, новый спо­соб защиты дан­ных работа­ет быс­трее механиз­ма шиф­рования сетевых папок и при этом изба­вил­ся от при­сущих пофай­ловому шиф­рованию огра­ниче­ний. В то же вре­мя механизм управле­ния клю­чами сно­ва реали­зован так, что на боль­шинс­тве устрой­ств реаль­ная защищен­ность дан­ных ока­зыва­ется далека от жела­емой.

Развитие событий

По­ка мы готови­ли статью к пуб­ликации, про­изо­шел ряд инте­рес­ных вещей.

В течение вось­ми часов пос­ле выхода DSM 7.2 защиту, обес­печива­емую шиф­ровани­ем тома с обя­затель­ным хра­нени­ем клю­чей на том же дис­ке, уда­лось обой­ти. Для это­го дос­таточ­но смон­тировать в Linux сис­темный раз­дел DSM (он хра­нит­ся в незашиф­рован­ном и непод­писан­ном виде в зер­каль­ном RAID на всех уста­нов­ленных в NAS дис­ках) и отре­дак­тировать нес­коль­ко тек­сто­вых фай­лов. Под­робнос­ти — в тре­де на Reddit.

В скоб­ках заметим, что и внеш­ний KMIP-сер­вер от этой ата­ки не спа­сет, если в про­цес­се заг­рузки NAS этот сер­вер ока­жет­ся дос­тупен, а авто­мати­чес­кое мон­тирова­ние тома — вклю­чено.

Меж­ду написа­нием и пуб­ликаци­ей этой статьи раз­работ­чики Synology успе­ли выпус­тить два обновле­ния DSM 7.2, в пос­леднем из которых проб­лема со сто­рон­ними KMIP-сер­верами была исправ­лена. Под­робно о работе KMIP в Synology рас­ска­зано в пуб­ликации на Reddit, а ска­чать работос­пособ­ный опен­сор­сный KMIP-сер­вер мож­но из ре­пози­тория на GitHub.

ШИФРОВАНИЕ В SYNOLOGY: КАК БЫЛО

Ес­ли ты хочешь в деталях озна­комить­ся с методом шиф­рования сетевых папок, механиз­мом управле­ния клю­чами в Synology DSM и узнать о выяв­ленной в нем уяз­вимос­ти, пореко­мен­дую статью «Ды­рявые дис­ки. Экс­плу­ати­руем уяз­вимос­ти в сетевых хра­нили­щах Synology». Добав­лю толь­ко, что с тех пор никаких изме­нений в механиз­ме хра­нения клю­чей не про­изош­ло и поль­зовате­ли, которые вклю­чили авто­мати­чес­кую раз­бло­киров­ку сетевых папок, до сих пор под­верга­ют зашиф­рован­ные дан­ные рис­ку. Здесь же я хочу крат­ко опи­сать основные дос­тоинс­тва и недос­татки eCryptFS — крип­тогра­фичес­кой фай­ловой сис­темы, которую выб­рали раз­работ­чики Synology DSM для защиты сетевых папок.

Вот спи­сок дос­тоинств шиф­рования на уров­не сетевых папок:

  1. Пос­коль­ку шиф­руют­ся отдель­ные сетевые пап­ки, не име­ет зна­чения, на каком из внут­ренних физичес­ких или логичес­ких накопи­телей они рас­положе­ны (а вот зашиф­ровать таким обра­зом USB-накопи­тель поль­зовате­лю не удас­тся).
  2. Каж­дая сетевая пап­ка может быть зашиф­рована уни­каль­ным паролем. Если поль­зовате­лей нес­коль­ко, каж­дый может исполь­зовать собс­твен­ный пароль.
  3. Содер­жимое зашиф­рован­ной пап­ки мож­но прос­то ско­пиро­вать на дру­гой накопи­тель, и дан­ные оста­нут­ся зашиф­рован­ными. Необ­ходимос­ти вво­дить (или даже знать) пароль шиф­рования нет, так что резер­вное копиро­вание как на локаль­ные, так и на уда­лен­ные сис­темы мож­но про­водить без мон­тирова­ния (и рас­шифров­ки) сетевых папок.
  4. eCryptFS защища­ет как дан­ные, так и име­на фай­лов и папок (пос­леднее — небес­плат­но).

Нес­мотря на все дос­тоинс­тва, у шиф­рования сетевых папок есть ряд сущес­твен­ных недос­татков:

  1. Огра­ниче­ние на дли­ну имен фай­лов. В име­ни фай­ла в зашиф­рован­ной пап­ке не может быть боль­ше 143 сим­волов ANSI или 47 сим­волов иерог­лифичес­кой записи. Это пря­мое следс­твие шиф­рования имен фай­лов и папок.
  2. Нес­мотря на то что име­на фай­лов и папок шиф­руют­ся, общая струк­тура дан­ных оста­ется дос­тупной внеш­нему наб­людате­лю, вклю­чая раз­меры и атри­буты отдель­ных фай­лов и папок.
  3. Замет­но стра­дает ско­рость дос­тупа к дан­ным, осо­бен­но если речь идет о мно­жес­тве мел­ких фай­лов.
  4. Раз­работ­чики Synology не пре­дус­мотре­ли раз­деления клю­чей шиф­рования на пер­вичные и вто­рич­ные. Для шиф­рования дан­ных исполь­зует­ся ключ, получа­емый нап­рямую из пароля, который вво­дит поль­зователь. Как следс­твие — невоз­можно отоз­вать ском­про­мети­рован­ный пароль или изме­нить пароль шиф­рования (рас­шифров­ку все­го мас­сива дан­ных с его пос­леду­ющим шиф­ровани­ем дру­гим паролем мы не рас­смат­рива­ем как мак­сималь­но неэф­фектив­ный спо­соб пот­ратить вре­мя).
  5. Наконец, механизм управле­ния клю­чами шиф­рования Synology, хоть и не явля­ется частью eCryptFS, поз­воля­ет рас­шифро­вать содер­жимое устрой­ства, если поль­зователь вклю­чит фун­кцию авто­мати­чес­кого мон­тирова­ния зашиф­рован­ных папок.

Об­рати прис­таль­ное вни­мание на пункт 5: дан­ные зашиф­рован­ных сетевых папок уяз­вимы, если поль­зователь акти­виру­ет необя­затель­ную фун­кцию авто­мати­чес­кого мон­тирова­ния. Если же он не ста­нет это­го делать, а то и вов­се решит не сох­ранять пароль шиф­рования ни на самом устрой­стве, ни на внеш­нем USB-накопи­теле, то для рас­шифров­ки защищен­ных сетевых папок пот­ребу­ется ата­ка перебо­ром паролей, что совер­шенно не гаран­тиру­ет резуль­тата, если был выб­ран длин­ный и слож­ный пароль. Это очень важ­ный момент: механизм управле­ния клю­чами в новом спо­собе шиф­рования Synology пре­тер­пел кар­диналь­ные изме­нения, но, увы, не в поль­зу уси­ления безопас­ности. 

ШИФРОВАНИЕ ДИСКОВ: НОВОЕ В DSM 7.2

В недав­но вышед­шей вер­сии DSM 7.2 появи­лась воз­можность шиф­рования тома — volume encryption. Исполь­зует­ся стан­дар­тный механизм LUKS в режиме aes-xts-plain64.

Вклю­чить шиф­рование мож­но толь­ко на вновь соз­дава­емых томах. Зашиф­ровать дан­ные на уже име­ющем­ся томе нель­зя.

При вклю­чении шиф­рования тома сис­тема пред­ложит поль­зовате­лю сох­ранить резер­вный ключ, с помощью которо­го том мож­но будет рас­шифро­вать, если что‑то слу­чит­ся с основной сис­темой. Забегая впе­ред, ска­жу, что ранее выдан­ные резер­вные клю­чи мож­но отоз­вать, сге­нери­ровав новый ключ (в этом слу­чае ранее выдан­ный ключ перес­танет работать).

Важ­ный момент: по умол­чанию ключ к зашиф­рован­ному тому сох­раня­ется на том же устрой­стве, на котором соз­дает­ся сам зашиф­рован­ный том. Это поз­воля­ет сис­теме авто­мати­чес­ки мон­тировать зашиф­рован­ные тома при заг­рузке NAS. Не сох­ранять ключ, рав­но как и отка­зать­ся от авто­мати­чес­кого мон­тирова­ния тома при заг­рузке, нель­зя: единс­твен­ная аль­тер­натива — исполь­зовать внеш­ний KMIP-сер­вер, в роли которо­го на дан­ный момент может выс­тупать толь­ко дру­гой NAS от Synology (как это работа­ет, мож­но узнать в до­кумен­тации про­изво­дите­ля).

За­пишем в блок­нотик: в бета‑вер­сиях DSM 7.2 была воз­можность исполь­зовать KMIP-сер­веры сто­рон­ней раз­работ­ки (кста­ти, сами раз­работ­чики Synology как раз и исполь­зуют один из вари­антов с откры­тым исходным кодом). В релизе DSM 7.2 эту воз­можность убра­ли, на мой взгляд — совер­шенно нап­расно с точ­ки зре­ния безопас­ности дан­ных, но очень пра­виль­но с точ­ки зре­ния мар­кетин­га (воз­можность про­дать допол­нитель­ное устрой­ство Synology из све­жей линей­ки — толь­ко такие под­держи­вают нуж­ные для орга­низа­ции KMIP-сер­вера фун­кции).

Та­ким обра­зом, получа­ем два воз­можных вари­анта хра­нения клю­чей — и оба небезо­пас­ны:

  1. Ключ к зашиф­рован­ному тому хра­нит­ся на локаль­ном устрой­стве. В этом слу­чае мы име­ем дело с клас­сичес­ким security through obscurity: в докумен­тации Synology нет информа­ции о том, где имен­но хра­нит­ся ключ шиф­рования, и это — единс­твен­ное, что может не оста­новить, но замед­лить зло­умыш­ленни­ка, получив­шего физичес­кий дос­туп к устрой­ству.
  2. Ключ хра­нит­ся на дру­гом устрой­стве Synology: в этом слу­чае зло­умыш­ленни­ку при­дет­ся получить физичес­кий дос­туп уже к двум устрой­ствам и повозить­ся с рас­шифров­кой клю­ча шиф­рования, который хра­нит­ся на вто­ром девай­се. И если вто­рое устрой­ство Synology, выпол­няющее роль KMIP-сер­вера, находит­ся в той же или сосед­ней ком­нате, что и устрой­ство с зашиф­рован­ным томом, то полагать­ся на него для защиты пляж­ных фото в купаль­нике, навер­ное, мож­но, а вот без таково­го, пожалуй, не сто­ит. И хотя безопас­ность KMIP — тема отдель­ная и доволь­но обширная, физичес­кая недос­тупность KMIP-сер­вера для зло­умыш­ленни­ка — один из клю­чевых момен­тов в обес­печении безопас­ного хра­нения клю­чей. В скоб­ках отме­тим: KMIP-сер­вер может хра­нить клю­чи как на обыч­ных, так и на зашиф­рован­ных томах.

СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ШИФРОВАНИЯ ТОМА И СЕТЕВЫХ ПАПОК

Мне было инте­рес­но узнать, получит­ся ли соз­дать зашиф­рован­ную сетевую пап­ку на зашиф­рован­ном томе. Ока­залось, что никаких пре­пятс­твий к это­му нет: шиф­рование тома пол­ностью проз­рачно; на зашиф­рован­ных томах мож­но соз­давать и исполь­зовать как зашиф­рован­ные, так и незашиф­рован­ные сетевые пап­ки. Мож­но как реп­лициро­вать на зашиф­рован­ные тома сним­ки (снап­шоты) зашиф­рован­ных на дру­гом NAS сетевых папок, так и про­делы­вать то же самое в обратную сто­рону. Короче говоря, шиф­рование тома целиком и пол­ностью проз­рачно.

Та­ким обра­зом, в DSM 7.2 дос­тупны сле­дующие вари­анты защиты дан­ных:

  1. Толь­ко шиф­рование тома.
  2. Толь­ко шиф­рование сетевых папок.
  3. Зашиф­рован­ные сетевые пап­ки на зашиф­рован­ном томе.

Ра­зуме­ется, при исполь­зовании в качес­тве вто­рого слоя защиты шиф­рования сетевых папок мы получим все те огра­ниче­ния, которые были опи­саны в начале статьи. Кро­ме того, веро­ятно, общая ско­рость дос­тупа к дваж­ды зашиф­рован­ным дан­ным еще нем­ного упа­дет (замеры про­изво­дитель­нос­ти каж­дого вари­анта шиф­рования — тема для отдель­ной статьи).

ШИФРОВАНИЕ ТОМА: КАК ЭТО ВЫГЛЯДИТ

Прой­дем­ся по про­цес­су соз­дания зашиф­рован­ного тома и соот­ветс­тву­ющим нас­трой­кам.

Пер­вые шаги при соз­дании зашиф­рован­ного тома не отли­чают­ся от при­выч­ных для Synology DSM. Нас­трой­ки шиф­рования появ­ляют­ся на вто­ром шаге.

При вклю­чении шиф­рования тебе нуж­но выб­рать пароль хра­нили­ща (vault password), который по умол­чанию будет сох­ранен на локаль­ном устрой­стве.

На сле­дующем шаге сис­тема пред­ложит сох­ранить ключ вос­ста­нов­ления (recovery key).

На­конец, сис­тема пре­дуп­редит о пос­ледс­тви­ях, которые нас­тупят, если ты потеря­ешь и ключ вос­ста­нов­ления, и дос­туп к хра­нили­щу.

Об­рати вни­мание: что­бы исполь­зовать шиф­рование тома, тебе при­дет­ся вклю­чить хра­нили­ще клю­чей шиф­рования (тот пароль, который ты вво­дил на пер­вом шаге, исполь­зует­ся для защиты хра­нили­ща клю­чей).

Ес­ли ты забудешь пароль к хра­нили­щу — ничего страш­ного, его мож­но сбро­сить в любой момент. Знать ори­гиналь­ный пароль не нуж­но; все, что тебе пот­ребу­ется, — ука­зать пароль поль­зовате­ля DSM с адми­нис­тра­тор­ским дос­тупом.

От­клю­чить хра­нили­ще ты не смо­жешь.

По край­ней мере до тех пор, пока не нас­тро­ишь уда­лен­ное хра­нение клю­чей на KMIP-сер­вере.

В роли KMIP-сер­вера может выс­тупать толь­ко дру­гой NAS от Synology, при­чем толь­ко такой, который под­держи­вает шиф­рование тома (а это — модели от 2020-го модель­ного года). Хра­нили­ще клю­чей шиф­рования мож­но соз­дать как на обыч­ном, так и на зашиф­рован­ном томе.

Ес­ли ты утра­тишь дос­туп к хра­нили­щу, мож­но рас­шифро­вать том при помощи ранее соз­данно­го клю­ча вос­ста­нов­ления дос­тупа. Если ключ вос­ста­нов­ления дос­тупа будет утра­чен или ском­про­мети­рован, ты смо­жешь сге­нери­ровать новый (ранее соз­данный ключ при этом будет отоз­ван).

Кста­ти, каж­дое устрой­ство Synology (из тех, что под­держи­вают шиф­рование тома) может исполь­зовать­ся и в качес­тве KMIP-сер­вера, и в качес­тве кли­ента.

Единс­твен­ное огра­ниче­ние: ты не можешь исполь­зовать пару устрой­ств для вза­имно­го хра­нения клю­чей (если устрой­ство А выс­тупа­ет в роли KMIP-сер­вера для устрой­ства Б, то устрой­ство Б не может быть KMIP-сер­вером для устрой­ства А).

INFO

Один из поль­зовате­лей раз­работал решение с откры­тым исходным кодом для Raspberry Pi или дру­гого компь­юте­ра под управле­нием Linux на осно­ве PyKMIP. Про­ект KMIP Server for Synology DSM поз­воля­ет хра­нить клю­чи шиф­рования на внеш­нем устрой­стве, где они могут быть защище­ны любым удоб­ным спо­собом, нап­ример сох­ранены на зашиф­рован­ном томе LUKS, который не будет авто­мати­чес­ки мон­тировать­ся при заг­рузке сер­вера. К сожале­нию, в релизе DSM 7.2 этот спо­соб работать перес­тал: воз­можность исполь­зования сто­рон­них KMIP-сер­веров раз­работ­чики DSM отклю­чили.

ШИФРОВАНИЕ ТОМА В SYNOLOGY И QNAP

В сетевых хра­нили­щах QNAP под­держи­вают­ся все воз­можные виды шиф­рования — от SED до шиф­рования тома и сетевых папок вклю­читель­но. Об этом мы писали в статье «Слои защиты. Три уров­ня шиф­рования в сетевых хра­нили­щах QNAP». Я не буду под­робно срав­нивать осо­бен­ности реали­зации шиф­рования и хра­нения клю­чей в устрой­ствах раз­ных про­изво­дите­лей; отме­чу лишь, что такие опе­рации, как мон­тирова­ние, раз­монти­рова­ние и сме­на клю­чей зашиф­рован­ных томов, занима­ют на устрой­ствах QNAP нес­коль­ко минут, а на устрой­ствах Synology — счи­таные секун­ды.

СРАВНЕНИЕ ШИФРОВАНИЯ ТОМА И ШИФРОВАНИЯ СЕТЕВЫХ ПАПОК

Ес­ли срав­нить шиф­рование тома и сетевых папок, то мож­но сде­лать сле­дующие выводы.

Шиф­рование тома обес­печива­ет защиту все­го хра­няще­гося на томе содер­жимого, вклю­чая все сетевые пап­ки (в том чис­ле домаш­ние пап­ки поль­зовате­лей), метадан­ные фай­ловой сис­темы, вир­туаль­ные машины, при­ложе­ния и кон­тей­неры. Шиф­рование сетевых папок защища­ет толь­ко содер­жимое фай­лов и име­на фай­лов и папок; струк­тура фай­ловой сис­темы и метадан­ные при этом сво­бод­но дос­тупны.

Оба метода поз­воля­ют сме­нить пароль для дос­тупа к хра­нили­щу клю­чей, но толь­ко шиф­рование тома дает воз­можность сме­нить ском­про­мети­рован­ный ключ вос­ста­нов­ления и отоз­вать ранее выдан­ные клю­чи. Шиф­рование сетевых папок тре­бует рас­шифров­ки и пов­торно­го шиф­рования всех дан­ных для сме­ны ском­про­мети­рован­ного клю­ча.

Шиф­рование тома име­ет стан­дар­тное для Linux огра­ниче­ние на дли­ну име­ни фай­лов и папок в 255 сим­волов, в то вре­мя как шиф­рование сетевых папок име­ет огра­ниче­ние в 143 сим­вола.

Шиф­рование тома обес­печива­ет при­рост про­изво­дитель­нос­ти на 48% по срав­нению с шиф­ровани­ем папок (по офи­циаль­ным дан­ным Synology). Шиф­рование сетевых папок может вызывать замет­ное падение быс­тро­дей­ствия, осо­бен­но при работе с неболь­шими фай­лами.

Спо­собы хра­нения клю­чей и управле­ния ими силь­но раз­лича­ются. Шиф­рование тома пре­дус­матри­вает локаль­ное хра­нение клю­чей (они защища­ются паролем хра­нили­ща, который так­же обя­затель­но сох­раня­ется на локаль­ном дис­ке) либо воз­можность хра­нения на сер­вере KMIP (в роли которо­го может выс­тупать толь­ко дру­гое устрой­ство Synology пос­ледних лет выпус­ка). Шиф­рование сетевых папок исполь­зует локаль­ное или USB-хра­нили­ще с защитой паролем, который может сох­ранять­ся локаль­но на устрой­стве или не сох­ранять­ся вов­се.

Оба метода под­держи­вают авто­мати­чес­кое мон­тирова­ние при заг­рузке, но оно обя­затель­но для шиф­рования тома и опци­ональ­но для шиф­рования сетевых папок.

В сле­дующей таб­лице я соб­рал основные осо­бен­ности обо­их методов шиф­рования.

ВЫВОДЫ

Что луч­ше — шиф­рование тома или сетевых папок? Выбор меж­ду эти­ми дву­мя вари­анта­ми зависит от кон­крет­ных пот­ребнос­тей и тре­бова­ний безопас­ности. Шиф­рование тома пред­лага­ет более широкий спектр защиты, высокую про­изво­дитель­ность и гиб­кость в управле­нии клю­чами, в то вре­мя как шиф­рование сетевых папок более удоб­но в исполь­зовании и не тре­бует обя­затель­ного сох­ранения пароля, а так­же авто­мати­чес­кого мон­тирова­ния зашиф­рован­ных дан­ных при заг­рузке устрой­ства. Пос­коль­ку в DSM 7.2 под­держи­вает­ся одновре­мен­ное шиф­рование как тома, так и сетевых папок, ты можешь зашиф­ровать том (это быс­тро и удоб­но) и исполь­зовать допол­нитель­ное шиф­рование толь­ко для тех сетевых папок, для которых это дей­стви­тель­но нуж­но.

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei



Report Page