Средство предотвращения утечек данных DeviceLock

Программа DeviceLock предназначена для управления доступом пользователей ОС семейства Windows к периферийным устройствам хранения и обработки данных, а также для контроля действий пользователей с устройствами (вставка, чтение, запись файлов, форматирование, извлечение) и для контроля содержимого скопированных файлов.

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

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

  • установка, удаление, в том числе установка новых версий поверх старых и совместимость модулей разных версий между собой;
  • особенности контроля доступа к внешним устройствам;
  • аутентификация и авторизация при административном доступе к компонентам, при взаимодействии компонентов, в том числе дополнительные механизмы обеспечения целостности службы (агента) DeviceLock;
  • сетевые аспекты взаимодействия компонентов;
  • работа с логами и файлами теневого хранилища, в том числе некоторые полезные SQL-запросы для реализации функций не доступных через DeviceLock;
  • интеграция с Active Directory для управления доступами в большом домене

Ниже в случаях, если специально не указывается версия и билд программы, имеется в виду версия 7.1. билд 31981.

Компоненты

DeviceLock имеет 6 основных и 3 дополнительных компонента. Основными являются DeviceLock Service (далее — агент), DeviceLock Server (далее — сервер), DeviceLock Management Console, DeviceLock Enterprise Manager, DeviceLock Service Settings Editor, DeviceLock Group Policy Manager, DeviceLock Signing Tool. Дополнительными компонентами являются: DeviceLock Content Security Server, Network Lock, Content Lock.

DeviceLock Service — служба на рабочих станциях, которая блокирует доступы к устройствам, ведет лог активности, отправляет лог и теневые копии записанных/прочитанных файлов на сервер.

DeviceLock Enterprise Server — служба на сервере, которая собирает данные от агентов, фильтрует собранные данные, выводит их в разных представлениях, а также может осуществлять мониторинг целостности настроек агентов и восстановление нарушенных настроек.

DeviceLock Management Console и DeviceLock Enterprise Manager — консоли управления агентом и сервером выполненные как оснастки MMC; первая из них предназначена для индивидуальной работы с агентами (например, изменение отдельных настроек агента), вторая — для массовой работы (массовая установка, массовая разливка файла настроек, отчет о настройках, массовое удаление).

Рисунок 1. DeviceLock Management Console с информацией о версии, отображением компонентов DeviceLock Service, NetworkLock (разделProtocols), DeviceLock Server, DeviceLock Content Security Server

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

Для работы с дополнительными компонентами требуются отдельные файлы лицензионных ключей.

DeviceLock Content Security Server — компонент, без которого теневое копирование файлов, прочитанных/записанных пользователями с/на внешние устройства, было бы не очень полезной вещью. Компонент позволяет индексировать теневое хранилище, включая в индекс значимые слова. Это позволяет быстро искать файлы в теневом хранилище по нужным словам, таким как, например, «конфиденциально». В DeviceLock Search Server лицензируются не количество рабочих станций, а количество проиндексированных записей. Поэтому созданный компонентом индекс необходимо время от времени очищать. Иначе DeviceLock Content Security Server может проиндексировать старые данные, истратив лицензии, и тогда новые данные индексироваться не будут. Чистить индекс следует, в частности, при удалении файлов из теневого хранилища сервера, иначе может возникнуть ситуация, когда лицензии отнимают записи в индексе, адресующиеся к уже удаленным файлам теневого хранилища.

Рисунок 6. Настройки DeviceLock Content Security Server

ContentLock — компонент, расширяющий возможности фильтрации файлов по содержимому. Стандартными настройками сервера DeviceLock ему можно запретить/предписать сохранять логи операций с файлами и теневые копии файлов, если эти файлы относятся к тому или иному типу. ContentLock позволяет устанавливать запреты/предписания по ключевым словам и по соответствию фрагментов текста в файлах заданным регулярным выражениям. Он включает набор ключевых слов и регулярных выражений, а также конструктор регулярных выражений.

NetworkLock — компонент, позволяющий контролировать содержание сетевой активности или блокировать сетевую активность. Он дает возможность запрещать доступ к определенным сайтам, доступ по определенным протоколам, разрешение IP-адресов в адреса URL. Интерес представляет блокировка активности по различным протоколам уровня приложений, например, блокировка ICQ, Mail Agent, других служб мгновенных сообщений. Если в новых версиях разработчикам удастся реализовать удобный механизм просмотра теневых копий веб-страниц, большую ценность станет представлять функция отслеживания активности в Gmail. Дело в том, что весь трафик между рабочей станцией пользователя и сервером Gmail шифруется, поэтому в логах прокси-сервера нельзя видеть, какие именно пакеты передавал и получал пользователь с сервера / на сервер.

Установка, удаление, совместимость

  1. Установка административных инструментов с помощью setup.exe

Файл setup.exe из папки с дистрибутивом программы используется, как правило, только для установки программы на компьютер, с которого сервер и сервисы будут контролироваться консолями, на сервер и на контроллер домена при необходимости интеграции с Active Directory — создания GPO, определяющих настройки агента DeviceLock на тех или иных группах компьютеров в домене. При установке консолей и сервера через setup.exe из дистрибутива на одну и ту же машину нужно иметь в виду следующее: если Вы хотите, чтобы Вам был доступен DeviceLock Enterprise Manager, проводите установку в два этапа: сначала выбирайте в мастере установки: Service+Consoles, потом запускайте setup.exe повторно и выбирайте Server+Consoles. Если Вы сразу выберете первый вариант, DeviceLock Enterprise Manager не установится, и для установки его потребуется сначала удалить установленные компоненты, а потом запустить Service+Consoles. Остается только гадать, зачем разработчики ввели это странное ограничение.

Рисунок 7. Два варианта выбора способа установки — запущено два инсталлятора параллельно (в нормальной ситуации нижнее окно возникает после выбора Custom в верхнем). Обратите внимание на файл setup_dlcss.exe (слева) — это отдельный установщик для DeviceLock Content Security Server

  • Установка из MSI-файла средствами Windows

    Для установки агента DeviceLock, требуется файл DeviceLock Service.msi либо DeviceLock Servicex64.msi, в зависимости от целевой операционной системы. Если ИТ-инфраструктура позволяет, для массовой установки агентов на компьютеры сети, лучше обойтись без использования консолей производителя, т.к. в них не предусмотрены механизмы автоматического контроля наличия агента на машинах и доустановки на ранее недоступные машины, выходящие в онлайн. Устанавливать агенты DeviceLock можно через применение GPO к доменам/контейнерам/фильтрам безопасности или средствами SMS/SCCM. Используемый MSI-файл может быть либо «голым», т.е. без установленных настроек (такой агент ничего не блокирует, ничего не логирует и не защищен от удаления/изменения из-под любой привилегированной учетной записи), либо со встроенными настройками. MSI-файл со встроенными настройками создается с помощью DeviceLock Service Settings Editor из обычного MSI-файла. Устанавливать «голый» MSI не рекомендую; т.к. такой агент смогут удалить на своих машинах люди с привилегированными учетными записями до того, как репликацией групповых политик до них докатятся настройки. А уж подключаться ко всем агентам через DeviceLock Enterprise Manager после установки через SMS/SCCM — вообще двойная работа, не говоря о том, что за промежуток времени между установкой и попыткой залить настройки целевая машина может уйти в оффлайн.

    В случае установки на большое число машин при слабых каналах связи в сети, лучше не использовать DeviceLock версии 7. Дело в том, что MSI-файл версии 7 стал из-за обязательного включения в него компонентов ContentLock и NetworkLock весить значительно больше, чем весил MSI-файл версии 6 (24 против 4 Мб). При этом пересобрать MSI с исключением из него ненужных компонентов невозможно. Такой тяжелый MSI представляет трудность, когда необходимо разлить программу массово на несколько сотен рабочих станций. Приходится задуматься о выставлении приоритетов трафика с помощью BITS — Background Intelligent Transfer Service либо об откате к старой версии программы.

  • Установка с помощью консолей управления DeviceLock

    Если инфраструктура SCCM не развернута в организации, придется использовать для массовой установки DeviceLock Enterprise Manager, с возможностью на единичных машинах проводить установку через DeviceLock Management Console. Здесь сразу надо оговориться, разочаровав многих, что инструмент Monitoring сервера DeviceLock не позволяет устанавливать агенты DeviceLock на машинах, где они отсутствуют. Он только может с заданной периодичностью проверять наличие и целостность настроек агентов на компьютерах по списку либо по домену / OU, а также восстанавливать настройки, отличающиеся от эталона. Установка агентов c тотальным покрытием компьютеров сети станет намного удобнее, если этот механизм будет реализован. Тогда станет возможным средствами DeviceLock автоматически доливать агенты на все компьютеры по их выходу в онлайн.

    Итак, консоли DeviceLock Enterprise Manager и DeviceLock Management Console для установки агентов на удаленные машины используют файлы DeviceLock RemoteInstaller.exe, InstMsiW.exe, Dlservice.msi (для 32-битных Ос Windows), DeviceLock Service x64.msi (для 64-битных Ос Windows) из директории, куда установлена программа — как правило, это C:\Program Files\DeviceLock или С:\Program Files\DeviceLock Agent; при этом файлы DeviceLock RemoteInstaller.exe и InstMsiW.exe используются для запуска удаленной установки с вызовом Windows Installer. В DeviceLock Enterprise Manager Вы можете указать путь к файлам в окне InstallOptions, открывающемся из окна ScanNetwork при выборе плагина Install Service и нажатии кнопки Settings. Там же вы можете указать фиксированный TCP-порт для работы агента. Последнее очень важно: позднее вы не сможете изменить этот параметр заливкой новых настроек. Вам потребуется переустанавливать агент.

    Установка из DeviceLock Enterprise Manager происходит по группе компьютеров, которая может задаваться либо списком из файла (при этом внутри домена достаточно неполных имен), либо выбором компьютеров в домене / орагинизационной единице (OU), либо выбором всех компьютеров определенного типа в домене / OU: primary domain controller, backup domain controller, Microsoft SQL Server, terminal server, standalone server, cluster server, print server, NTworkstation. Последняя функция удобна, если в организации нет прозрачной практики именования компьютеров в зависимости от типов. Можно задать установку на все рабочие станции домена, избегая установки на серверы. Правда, здесь можно обмануться, т.к. MS SQL Server при установке на рабочую станцию вносит изменение в реестр, помечающее ее как тип «Microsoft SQL Server».

    При установке с помощью DeviceLock Enterprise Manager и DeviceLock Management Console эти консоли должны быть запущены под учетной записью, входящей в список локальных администраторов на удаленной машине. Можно запустить их от имени привилегированной учетной записи через пункт Run As контекстного меню исполняемого файла (или ярлыка) в сессии обычной учетной записи, но если речь идет о доменной учетной записью, ее нужно будет указывать в полной нотации: DomainName\UserName. Это относится ко всем случаям прямого указания учетных записей в DeviceLock. Также между машиной, на которой запущена DeviceLock Management Console/DeviceLock Enterprise Manager и целевой машиной не должно быть файервола. Попытки автора установить агенты на машины, находящиеся в сегменте сети, входящие соединения внутрь которого контролируются файерволом, не привели к успеху даже после того, как на файерволе был открыт для машины с DeviceLock Management Console/DeviceLock Enterprise Manager следующий внушительный список протоколов/портов: ICMP, UDP137 TCP139 TCP445 TCP135, UDP139. При этом удаление агентов при этих дырках в файерволе проходило на ура.

  • Установка без участия человека

    Разработчиками предусмотрена установка компонентов DeviceLock прямым запуском файла setup.exe на любой машине без участия пользователя. Для такой установки нужно запустить

    setup.exe на локальной или удаленной (например, с помощью psexec.exe) машине с параметром /s. При этом параметры установки будут браться из файла DeviceLock.ini из той же директории, где находится setup.exe.

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

  • Установка с помощью командной строки

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

    Для этого при наличии у вас pstools, можно использовать следующий простой скрипт командной строки:

    psexec.exe \\<computer name> -e -u "<Domain\UserName>" -s cmd /c msiexec.exe /i "<Path to Msi file>" /norestart /passive /quiet /log "<Path to installation log file>"

    Если все работает правильно, то при выполнении скрипт запросит у Вас пароль. Если Вы правильно введете пароль, скрипт отработает, и при отсутствии ошибок в его работе, Вам будет сообщено следующее:

    cmd exited on Pc01455 with error code 0.

    Пароль можно включить в изначальный скрипт, добавив после вот этого фрагмента:-u "<Domain\UserName>" вот этот: -p "<Password>". Я бы, впрочем, не рекомендовал это делать, хотя бы для того, чтобы пароль не был виден на экране.

  • Удаление программы

    Из компонентов DeviceLock, интерфейс для удаления агентов предоставляет только DeviceLock Enterprise Manager. С помощью компонентов DeviceLock невозможно остановить агент на удаленном компьютере. Попытка остановить службу DLService средствами Computer Management не даст результатов. В случае, если DeviceLock не защищен от «любого администратора» (к этому вопросу мы еще вернемся позднее), возможна остановка и удаление запуском его исполняемого файла с особыми параметрами: -e — остановка, -u — удаление.

  • Совместимость версий

    Что касается совместимости версий, то на примере установки версии, о которой идет речь в статье, поверх версии 6.4.1 билд 24986 автор имеет сказать следующее. Во-первых, установка новой версии поверх старой проходит гладко средствами DeviceLock Enterprise Manager. Во-вторых, обнаружены следующие сочетаемости / несовместимости компонентов разных версий:

    • Старой консолью и DeviceLock Enterprise Manager нельзя соединиться с новым агентами.
    • При попытке соединения новой консолью и DeviceLock Enterprise Manager со старым агентами запрашивается обновление агента, при отказе соединение не происходит.
    • Старый сервер успешно собирает логи и теневые файлы от новых агентов.
    • Новый сервер успешно собирает логи и теневые файлы со старых агентов.
    • При передаче новому серверу базы данных SQL, созданной и наполнявшейся старым сервером, в базу успешно добавляются новые таблицы/колонки/процедуры, и доступность всех данных сохраняется.
    • Старые установщики не могут использовать файл настроек, отредактированный в DeviceLock Service Settings Editor новой версии.
    • Новые установщики успешно применяют старые файлы настроек к новым агента.
    • При подключении старой консолью к новому серверу, некорректно работает просмотр логов и теневых файлов на сервере
    • При подключении новой консолью к старому сервису, запрашивается обновление сервера, при отказе соединение не происходит.

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

  • Лицензионные файлы

    Лицензии DeviceLock требуются для консолей управления DeviceLock и отдельно лицензируемых модулей DeviceLock Content Security Server, ContentLock и NetworkLock. Для автономной работы агентов лицензии не нужны, поэтому если вы захотите с помощью DeviceLock запретить всем пользователям доступ к определенным устройствам, настройки запрета разольете через GPO и не будете включать логирование событий, вы можете это сделать, не покупая лицензию, на любом числе компьютеров. Количество лицензий определяет то, для скольких машин одновременно можно будет запустить задание через DeviceLock Enterprise Manager и сколько машин сможет отчитываться перед сервером DeviceLock. При нехватке лицензий всегда можно запустить задание в DeviceLock Enterprise Manager в несколько заходов, поднять несколько серверов DeviceLock и прописать в настройках нескольких групп агентов DeviceLock разные имена серверов DeviceLock. Поднять сервера можно в том числе на одной физической машине, создав на ней несколько виртуальных и настроив NAT — переадресацию сетевого трафика по определенным портам на виртуальные сетевые адаптеры с физического. Это еще одна ситуация, в которой может потребоваться использование фиксированных портов. Впрочем, все вышесказанное — голая теория, т.к. такие ухищрения с лицензиями противозаконны, и я искренне надеюсь, что разработчики рано или поздно создадут механизмы защиты от подобных злоупотреблений.

    Обратите внимание, что лицензии DeviceLock Content Security Server закупаются отдельно и даются не по числу машин, а по числу проиндексированных записей логов. На данный момент нет интерфейса для просмотра текущего числа использованных лицензий или частичного удаления лицензий, а также алертов об израсходовании лицензий. Поэтому нужно самостоятельно пересоздавать индекс по мере потери актуальности и/или удаления записей логов и файлов теневого хранилища.

    Установка файлов лицензионных ключей *.lic, как правило, не представляет трудностей. Мастер установки запрашивает директорию с лиценизонными файлами, вы указываете, он подхватывает. Он понимает загрузку в список сразу нескольких лицензионных файлов, в том числе триальных совместно с нормальными. Если в процессе установки вы не стали указывать лицензии, то интерфейса для загрузки лицензий в DeviceLock Management Console/DeviceLock Enterprise Server Вы не найдете. Для загрузки Вам потребуется просто переместить новый лицензионный файл в установочную директорию DeviceLock, при этом расширение файла должно быть .lic. После запуска консоли файл *.lic будет переименован в *.li_ — это значит, что программа «подхватила» нужный лицензионный файл. При необходимости замены одного файла другим по такой схеме, понадобится сначала удалить старый файл из установочной директории и удалить параметр Lic из реестра Hkey_Local_Machine\Software\SmartLine Vision\DeviceLock.

  • Контроль доступа к внешним устройствам

    DeviceLock не препятствует установке устройств в системе, но фильтрует обращения к устройствам пользователей на уровне драйвера. При обращении пользователя к устройству драйвер запрашивает у сервиса разрешения пользователя на доступ к этому устройству и предоставляет или ограничивает его.

    Все многообразие интерфейсов, доступ к которым способен контролировать DeviceLock, разбивается на порты и типы устройств:

    • порты: Bluetooth, FireWire, Infraread, Parallel Port, Serial port, USBPort
    • типы устройств: DVD/CD-ROM, Floppy, Hard Disk, Printer, Removable, Tape, WiFi, а также смартфоны/КПК Blackberry, IPhone, Palm, WindowsMobile.

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

    Начиная с седьмой версии программы, появился также контроль доступа к буферу обмена Windows, с помощью которого можно блокировать операции копирования/вставки фрагментов текста, графики в документы. Этот интерфейс стоит особняком, не относясь ни к портам, ни к типам устройств.

    Агент DeviceLock определяет, давать ли доступ пользователю к устройству, в следующем порядке: 1) есть ли у него доступ к тому или иному порту (задается в разделе настроек Devices/Permissions), 2) есть ли у него доступ к тому или иному типу устройств (задается там же), 3) есть ли доступ к тому или иному типу файлов (задается в разделе настроек Devices/Content Aware Rules). Так, если у пользователя есть доступ к порту USB и есть доступ к типу устройств Removable, но нет доступа к файлам Jpeg, то он сможет передавать через порт USB, в частности на/с устройств(а) Removable, все файлы, кроме Jpeg. Если же у пользователя есть доступ к порту USB, но нет доступа к типу устройств Removable, то он сможет работать со всеми устройствами, работающими через порт USB, кроме устройств Removable. Наконец, если у пользователя нет доступа к порту USB, то даже если у него есть доступ к типу устройств Removable, он не сможет воспользоваться этими устройствами. (Заметим в скобках, что DeviceLock относит к Removable все устройства, которые Windows относит к таковым, т.е. все Storage устройства, кроме Floppy, DVD/CD. Есть характерный признак для определения, относится ли устройство к классу Removable — Windows для Removable-устройств позволяет делать Safe remove).

    Описанная иерархия была бы слишком жесткой и неудобной, если бы для нее не были предусмотрены исключения.

    Первое по приоритету исключение — «белый список» USB-устройств. Настраивается он в разделе Devices/USBDevicesWhiteList. В белый список может быть внесена определенная линейка устройств одного производителя (VendorID+ProductID) либо конкретное уникальное устройство (VendorID+ProductID+SerialNumber). Если в белый список внесена линейка/устройство и при настройке белого списка снят флажок «ControlasType», то доступ к линейке/устройству будет открыт независимо от запретов на уровне порта и уровне типа устройств, и операции с ним не будут логироваться. Каждому пользователю можно назначить свой белый список. Это в теории дает возможность построить систему, в которой ни один пользователь не сможет воспользоваться «чужой флешкой».

    Рисунок 8. Интерфейс белого списка: исключение устройства с серийным номером 4211D… из любых запретов для специальной учетной записи Everyone, кроме запретов на уровне устройства — Removable (верхнее окно); выбор устройства из списка всех устройств, подключавшихся к компьютеру (нижнее окно)

    Второе по приоритету исключение — снятие контроля на уровне порта для отдельных типов устройств. Это исключение настраивается в разделе Devices\Security Settings — единым списком, либо в окне Security Settings настроек доступа каждого из портов — только для устройств, которые могут работать через этот конкретный порт. В частности, из контроля доступа на уровне порта USB могут исключаться: Human Interface Devices (HID) — клавиатура, мышь и т.д. принтеры, Bluetooth-адаптеры, «USB and FireWire network cards», сканеры, Removable-устройства.

    Рисунко 9. Интерфейс снятия контроля доступа на уровне порта для отдельных типов устройств

    И здесь наступает момент, когда можно запутаться. Во-первых, эти самые Removable устройства называются именно так в разделе настроек Devices/Permissions, но называются USB Storage Devices в разделе Devices\Security Settings. Во-вторых, не так просто сразу понять, в чем разница между двумя следующими конфигурациями:

    • В разделе настроек Devices\Permissions: USBPort — доступ запрещен, Removable — доступ разрешен
    • В разделе настроек Devices\Permissions: USBPort — доступ запрещен, но в разделе настроек Devices\SecuritySettings флажок напротив USB Storage Devices снят

    А разница в том, что в первом случае иерархия работает, и доступа к Removable получить не удастся, ведь настройка для порта важнее. Во втором же тип устройств Removable (они же USB Storage) перестает подчиняться иерархии, и доступ к Removable становится возможен.

    При этом, во втором случае иерархия перестает работать не для конкретного пользователя, а для всех пользователей на данной машине. В результате, для одних пользователей порт USB может быть запрещен, для других разрешен, но для всех из них доступ к Removable не будет зависеть от доступа к порту USB. И пользователям можно будет закрывать или открывать доступ к Removable уже настройкой доступа к самому Removable, а не к USB-порту.

    Рисунок 10. Пример случая, когда для USB и Removable установлены разные настройки

    Лучше понять этот момент позволят следующие таблицы:

    Доступ пользователя Xк Removable при разных настройках и исключениях доступа в DeviceLock:

    Источник: www.ixbt.com

    Категория: Программное обеспечение

    Похожие статьи: