Защита файловой системы при помощи нестандартного использования снапшотов в программе ShadowUser::Журнал СА 1.2005
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 2219
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 2207
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1762
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1277
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1826
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Защита файловой системы при помощи нестандартного использования снапшотов в программе ShadowUser

Архив номеров / 2005 / Выпуск №1 (26) / Защита файловой системы при помощи нестандартного использования снапшотов в программе ShadowUser

Рубрика: Безопасность /  Механизмы защиты

ДЕНИС БАТРАНКОВ

Защита файловой системы

при помощи нестандартного использования

снапшотов в программе ShadowUser

Что такое снапшот

Те, кто знаком с системами архивирования в базах данных, знают, что такое снапшот. Snapshot с английского переводится как снимок. Здесь используется термин из фотографии, поскольку действие этой технологии аналогично снимку фотоаппарата. По сути снапшот – это зафиксированная мгновенно в определенный момент времени копия файловой системы, какого бы большого размера она ни была. Создав такой снапшот, можно заняться архивированием этой огромной «фотографии» на различные внешние носители: магнитную ленту, CD- или DVD-диски. Вся прелесть в том, что, во-первых, все создается мгновенно, во-вторых, сама файловая система продолжает изменяться, а вот ее снапшот (снимок) – нет и, в-третьих, тут нет заблокированных файлов. И действительно, идея неплоха: уже не нужно полностью останавливать базу данных, чтобы выполнить ее архивацию. Перед созданием образа базы данных со снапшота нужно лишь притормозить все файловые операции и скинуть буферы из памяти на диск так, чтобы не было операций, «сфотографированных» посередине выполнения. Для этого XP предоставляет сервис VSS, основанный на COM.

Производители могут использовать различные термины для обозначения снапшотов: срез, теневая копия, виртуальный образ, но общая идея их работы от этого не меняется. Мне нравится понятие снимок. В операционной системе Windows (версии NT, 2000, XP, 2003) эта технология реализована специальными драйверами снапшотов от различных производителей. Microsoft начал поддерживать эту технологию в Windows XP и 2003 в виде сервиса Volume Shadow Copy Service (VSS).

Как это работает

Драйвер снапшотов работает как фильтр файловой системы, который пропускает через себя все команды чтения и записи данных на диск. По команде «сделать снимок» драйвер начинает запоминать все изменения, которые производятся на файловой системе, а именно удаление, создание и перезапись файлов и папок. И все. Вся работа по воссозданию копии происходит в момент доступа приложений к этой копии. Драйвер, пользуясь имеющейся у него информацией о том, какие секторы были изменены, подставляет файловой системе снапшота вместо измененных секторов сохраненные старые. Можно смонтировать эту копию как букву диска и делать архивацию любой доступной программой, то есть работать как с любым другим диском. Любая программа архивации теперь может обращаться к снапшоту как к копии диска, на которой все файлы доступны для чтения. Можно сделать снимок сразу на нескольких дисках одновременно. О том, где хранятся старые сектора, знает только драйвер, а настоящая файловая система работает в обычном режиме. Для хранения этих данных требуется свободное место. Где хранятся старые данные, нужно узнавать у каждого производителя драйвера – это важное отличие в реализации технологии. Местом для хранения старых данных может служить другой свободный диск, оперативная память или даже неиспользуемое место на этом же диске. В случае если свободное место для хранения старых секторов заканчивается, снапшот автоматически исчезает. В VSS, например, для хранения информации об измененных секторах диска используется свободное место на другом диске, что, на мой взгляд, не очень удобно, особенно когда другого диска нет.

На мой взгляд, лучше всех реализованы снапшоты у фирмы Storagecraft (http://www.storagecraft.com/products/vsnap.html), поскольку их технология в виде теневой копии диска не требует дополнительного места на других дисках, как у Microsoft, – вся нужная драйверу информация сохраняется в свободные сектора этого же диска. Кроме того, только у них я встретил режим ColdSnap, который позволяет сделать снимок сразу на этапе загрузки операционной системы – в момент монтирования файловой системы. То есть образ файловой системы (и в том числе системного тома) можно делать так, как это делает Symantec Ghost при загрузке с дискеты или загрузочного CD-ROM.

Нестандартное использование снапшотов

Рисунок 1

В программе ShadowUser от компании ShadowStor (http://www.shadowstor.com/products.html) тоже используется идея снапшотов. Здесь появилась возможность смонтировать файловую систему не на реальном диске, а на снапшоте. Этот режим называется ShadowMode. Теоретически снапшоты предназначены только для чтения, но здесь оригинально воплощена идея записи на снапшот. Над образом файловой системы (который сохраняется на жестком диске неизменным) при загрузке устанавливается фильтр файловой системы. Грубо говоря, в режиме ShadowMode этот фильтр эмулирует новую файловую систему, которая на самом деле не меняет ничего в образе файловой системы на диске, а просто запоминает изменения, которые делают пользователи, программы и другие сервисы ОС. То есть эту новую файловую систему можно сравнить опять же с фотографией, на которой вы можете пририсовать всем усы, но в реальности усов у них не появится. Все изменения пишутся в незанятые сектора, не затрагивая реальную файловую систему. И все эти изменения будут потеряны, как только вы перегрузите компьютер. Можете даже выдернуть питание из компьютера – ничего c настоящей файловой системой не случится, поскольку ее никто не меняет. Драйвер работает так незаметно, что не оставляет своих следов нигде – ни в MBR, ни в таблице разделов, ни во внутренних структурах FAT, FAT32 или NTFS. С точки зрения драйвера снапшотов в режиме ShadowMode дисковое пространство делится на три части: область, занятая файловой системой (таблицы, директории, файлы), область, свободная для записи, и из неё выделяется область, занятая драйвером, в которой хранится информация об измененных секторах. Операционная система и пользователь ничего не знают об этой области и рассматривают две последние области как свободное место. В случае если в процессе работы драйвер займет всё свободное пространство на диске, то возникнет ошибка записи – писать-то некуда. Тут помогает только перезагрузка.

Рисунок 2

Какие преимущества дает ShadowMode

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

Кроме того, при помощи обычной перезагрузки можно избавиться от накопленного за время работы мусора: cookies, файлов истории explorer, spyware, который так и норовит прописаться в домашнюю страничку explorer. Можно даже тестировать другие продукты в этом режиме, чтобы в случае неудачи перезагрузить компьютер и получить очищенную от нового продукта файловую систему.

Нужно заметить, что ShadowMode – отличное средство в борьбе администраторов с непослушными пользователями, которые норовят испортить свой компьютер и обвинить во всем администратора. Теперь не нужно долго разбираться, почему что-то исчезло с компьютера или наоборот появилось, – просто пезагрузитесь в новую сессию ShadowMode.

Типичные ситуации, когда необходим режим ShadowMode:

  • Любое интернет-кафе может успешно использовать эту технологию: для каждого нового клиента операционная система будет выглядеть чистой, словно только что установленная.
  • В школах, институтах, различных обучающих центрах: после каждой лабораторной работы легко можно восстановить начальную конфигурацию – для этого нужно просто перегрузить все компьютеры класса.
  • Публичные библиотеки могут не бояться пользователей, приходящих со своими дискетами, поскольку в Shadow Mode невозможно записать на диск вирус, а с виртуального диска вирусы стираются обычной перезагрузкой.
  • Рабочие места сотрудников различных компаний могут быть навсегда избавлены от вирусов. Не важно, сотрудник ли это банка или туристического агентства. Что ни в коем случае не помешает сохранению полезных данных, которые этот сотрудник создает в процессе своей работы, поскольку можно настроить программу ShadowUser для сохранения этих данных. Читайте далее об этом.
  • Сервера, где важно время восстановления после краха. Например, время на восстановление сервера после хакерской атаки, в результате чего было изменено содержимое сайта, равно времени одной перезагрузки! Если веб-сервер при этом записывает различные данные в базу данных, в которой информация должна постоянно пополняться, то можно исключить из ShadowMode директорию, где лежат сами данные – чтобы они были всегда актуальны в случае восстановления всего остального. Нужно заметить, что вы должны обдуманно исключать директории из ShadowMode, поскольку хакеру ничего не помешает воспользоваться этой «дыркой». Для работы с серверами предназначен другой продукт: ShadowServer.

Рисунок 3

В продукте ShadowUser учтено, что пользователь должен хранить где-то свои документы, которые ему не хотелось бы потерять после перезагрузки. Чтобы избежать этого, вы можете добавить некоторые папки в список так называемых исключаемых директорий, и все файлы и содержимое этих директорий будут сохраняться во время работы не на снапшоте, а на реальном диске. Исключать рекомендуется папку, где хранится ваша почта и рабочие документы. Кроме того, можно указать имена исключаемых файлов при помощи маски. Например, укажите *.doc, и все ваши документы Word будут попадать прямо на диск, минуя снапшот. К сожалению, в этом случае на диск будут записаны, в том числе и зараженные вирусами документы. Поэтому в случае применения указанной функции антивирус необходим. Я как администратор не стал бы пользоваться этой функцией, а просил бы пользователей хранить документы на файл-сервере, где выполняется антивирусная проверка, архивирование и контролируется доступ к файлам. Однако в течение одной сесии ничего не мешает пользователю редактировать файлы на своем диске. Просто нужно помнить, что после перезагрузки этот файл сотрется.

Если в процессе работы в режиме ShadowMode пользователь обнаруживает, что ему нужно сохранить данные, а он забыл указать какую-то директорию для исключения из снапшота, то есть несколько способов сохранить их. Во-первых, можно, кликнув на нужной папке правой кнопкой и выбрав пункт Commit, переписать данные этой папки со снапшота на реальный диск. Во-вторых, в момент перезагрузки можно скинуть на реальный диск все измененные данные – для этого нужно выбрать опцию Full System Save. Эта операция требует времени, но это лучше, чем потерять работу, сделанную за день. Администратор может запретить пользователю эту операцию, установив пароль.

Выводы

У системных администраторов появилась отличная утилита, упрощающая их жизнь. Теперь на любой звонок, что что-то не работает, можно отвечать одним словом «перезагрузитесь» и быть в полной уверенности, что все будет работать так, как вы настроили когда-то давно. Вся прелесть в том, что даже если упадет сам Windows, то после перезагрузки будет эффект восстановления из архива – Windows запустится как ни в чем не бывало, вдобавок рабочие документы и почта будут спасены (естественно, если они были в списке исключаемых). У преподавателей исчезает головная боль с настройкой каждого компьютера перед занятиями, и уже можно безбоязненно давать портить операционную систему юным хакерам. Выключить ShadowMode они не смогут, поскольку для этого нужно знать пароль. Даже если пользователи каким-то образом получат права администратора, то тоже ничего не смогут изменить, поскольку выключить ShadowMode можно только перезагрузкой, а тут есть риск наткнуться на пароль BIOS, и к учителю все равно придется обращаться.

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

Становится легче обслуживать Windows: достаточно один раз и навсегда все установить, настроить и включить ShadowMode. Можно на этот случай воспользоваться услугами стороннего администратора. К сожалению, это не защищает от уязвимостей, которые до сих пор находят (и, вероятно, будут находить) в Windows, поэтому обновлять операционную систему периодически придется. Но даже если имеющиеся уязвимости будут как-то использованы злоумышленником, то ему сложно будет установить и затем воспользоваться программой удаленного управления, сниффером или трояном на уязвимой рабочей станции, поскольку все это будет жить до следующей перезагрузки. Даже если вирус сможет разрушить файловую систему, то это также вылечится перезагрузкой. На мой взгляд, фраза на сайте www.shadowstor.com о том, что «ShadowUser полностью избавляет от новых вирусов», не совсем точна. Действительно, раньше не было утилиты, которая бы могла удалить любой новый вирус, который еще неизвестен антивирусу. Программа ShadowUser в силу своей природы делает это обычной перезагрузкой компьютера. Но существует другая опасность, что во время сессии ShadowMode зараженный компьютер может являться сам источником вируса или компьютерного червя. Уже были случаи, когда компьютер, зараженный компьютерным червем, сканировал соседние компьютеры и заражал их по сети без участия пользователя, пользуясь ошибками переполнения буфера сетевых служб. Так делали в свое время черви Sasser, Kibuv и Lovesan, пользуясь ошибками в LSASS и DCOM RPC Windows. В результате, перезагружая по очереди несколько зараженных в сети компьютеров, даже защищенных ShadowMode, мы просто будем перекидывать червя с одного компьютера на другой, а полного лечения не добьемся, пока не выключим все компьютеры. Таким образом, ShadowUser лишь очередная преграда на пути новых вирусов, но не последняя. К сожалению, антивирусы тоже плохо сдерживают вирусные эпидемии, поскольку антивирусные компании как правило выпускают обновленные базы сигнатур новых вирусов уже после начала эпидемии.

Хочется заметить также, что не совсем верна фраза: «Вся информация пропадает после перезагрузки». Для продвинутого пользователя не очень сложно посмотреть, что находится в свободных секторах, не занятых файловой системой. Ведь именно в них хранится та информация, которая была записана в прошлую сессию ShadowMode. Я думаю, что в продукт необходимо добавить процедуру заполнения этих мест нулями после окончания каждой сессии ShadowMode. Мне часто бывает интересно узнать, что было изменено на диске после установки какой-либо программы на компьютер. Пока я пользуюсь утилитой Sysinternals Filemon, которая показывает список файлов, к которым обращались процессы. Мне очень не хватает утилиты для изучения и сравнения изменений файловой системы «до» и «после». Хотелось бы от программ, реализующих технологию снапшотов, получить такую функциональность. Надеюсь, эта функция тоже скоро будет реализована.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru