СИСТЕМА И СПОСОБ РАЗВЕРТЫВАНИЯ ПРЕДВАРИТЕЛЬНО СКОНФИГУРИРОВАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
SYSTEM AND METHOD FOR DEPLOYING PRECONFIGURED SOFTWARE

Область техники
Настоящее изобретение относится к средствам обеспечения безопасности корпоративной вычислительной сети и более конкретно к системам и способам развертывания программного обеспечения в корпоративной вычислительной сети с предварительным конфигурированием программного обеспечения под различные устройства и под различных пользователей сети.
Уровень техники
При управлении безопасностью компьютерных сетей администраторы сети часто сталкиваются с трудностью настройки устанавливаемого защитного программного обеспечения (ПО). Решение данной проблемы становится особенно актуальным при развертывании ПО, например антивируса или систем контроля доступа, в крупных компаниях или локальных вычислительных сетях, где конфигурации устройств, подключенных к сети, сильно отличаются друг от друга. Другим фактором, усложняющим процесс установки новых программ, является разнообразие групп пользователей, имеющих различные права доступа к ресурсам корпоративной вычислительной сети (КВС). Распределенная инфраструктура КВС часто предполагает применение различных политик безопасности в зависимости от устройства, сегмента сети и пользователя. Учесть все описанные факторы при установке ПО на устройства сети невозможно с применением существующих технических решений.
С развитием вычислительной техники повышается сложность не только инфраструктур, но и средств безопасности, настроить которые рядовому пользователю не позволяет квалификация.
Для управления удаленными рабочими станциями (компьютерами пользователей) используются средства удаленного администрирования. Это позволяет настраивать средства безопасности после их установки на стационарных компьютерных системах или на корпоративных устройствах с установленным агентом администрирования. Но не на всех компьютерных системах установлены агенты администрирования. В современном мире наблюдается тенденция увеличения присутствия в корпоративных сетях персональных устройств, на которых не установлено средств администрирования. К таким устройствам относятся, например, смартфоны, планшетные компьютеры (планшеты), ноутбуки, нетбуки и другие портативные устройства, которые пользователи используют для работы и в личных целях. В этом случае для безопасной работы в корпоративной вычислительной сети установку средств безопасности и последующую настройку этих средств необходимо произвести на стороне пользователя. В ряде случаев компании не готовы предоставить пользователям права для настройки программ. При этом автоматизация настройки программ на стороне пользователя может потребовать ввода ключа и другой конфиденциальной информации, что нежелательно с точки зрения безопасности.
Из уровня техники известны технические решения, которые позволяют упростить процесс развертывания программного обеспечения в компьютерной сети. В патентной заявке US 2005/0160420 А1 описаны способ и система распространения и установки компьютерных программ, которые позволяют установить программу и настроить ее, используя данные о пользователе и системе. Заявленное изобретение отличается от известного решения тем, что производит конфигурацию установочных файлов до их загрузки на устройства пользователей и/или до запуска установки программы.
В патенте US 7735063 описаны система и способ настройки приложения. Принцип работы системы основывается на составлении базы данных конфигураций программного обеспечения. Настройка приложения производится путем выбора необходимой конфигурации приложения из базы данных. В заявленном изобретении процесс настройки установочного пакета отличается от известного решения тем, что конфигурация программы формируется автоматически по установленным правилам и не ограничивается выбором предустановленной конфигурации программы.
Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых устраняются настоящим изобретением, а именно системой и способом развертывания предварительно сконфигурированного программного обеспечения. Отличительные особенности и характерные признаки настоящего изобретения более подробно раскрываются в описании вариантов осуществления.
Сущность изобретения
Настоящее изобретение предназначено для развертывания программного обеспечения в корпоративной вычислительной сети.
Технический результат настоящего изобретения заключается в упрощении установки на устройство пользователя предварительно сконфигурированного программного обеспечения за счет конфигурирования установочного пакета программного обеспечения на сервере администрирования по данным, загруженным из средства хранения атрибутов компьютерной сети.
Применение изобретения на практике позволяет произвести автоматическое безопасное конфигурирование программного обеспечения, исключив дополнительную настройку программного обеспечения после его установки на устройстве пользователя.
Система развертывания предварительно сконфигурированного программного обеспечения, в одном и вариантов реализации, состоит из менеджера задач, анализатора и конфигуратора, установленных на сервере администрирования. При этом в ходе работы системы и способа развертывания предварительно сконфигурированного программного обеспечения выполняются этапы, на которых: а) на сервере администрирования формируют задачу установки программного обеспечения на устройство пользователя; б) загружают из средства хранения атрибутов компьютерной сети атрибуты объектов, соответствующих учетной записи пользователя, и атрибуты объектов, соответствующих устройству пользователя, при этом, по меньшей мере, учетная запись или устройство пользователя указаны в сформированной задаче установки; в) конфигурируют установочный пакет программного обеспечения и канал передачи данных, при этом параметры конфигурации определяют по загруженным атрибутам в соответствии с политикой безопасности, установленной для данного пользователя и для данного устройства; г) запускают задачу установки на исполнение, при этом загружают сконфигурированный установочный пакет на устройство пользователя по упомянутому каналу передачи данных и устанавливают программное обеспечение в соответствии с параметрами конфигурации.
Применение системы и способа развертывания предварительно сконфигурированного программного обеспечения позволяет установить программное обеспечение на мобильное устройство пользователя. В тех вариантах реализации, в которых программным обеспечением является агент безопасности, параметры конфигурации установочного пакета включают следующие параметры: параметры настройки компонент защиты агента безопасности; параметры установки агента безопасности на устройстве пользователя; параметры сетевого соединения с сервером администрирования; параметры включения компоненты защиты в состав агента безопасности; параметры добавления сертификата безопасности.
Параметры конфигурации установочного пакета в частном варианте реализации определяются по атрибутам пользователя и устройства, включающим: роль пользователя в компании, конфигурацию устройства пользователя, параметры сетевого соединения с сервером администрирования, перечень доступных ресурсов сети, рабочее место пользователя. В одном из возможных вариантов осуществления системы и способа целевой установки атрибуты загружаются из службы каталогов.
В зависимости от версии реализации установочный пакет может дополнительно содержать конфигурационный файл, установочный файл, сертификат безопасности.
Краткое описание прилагаемых чертежей
Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на
которых:
Фиг.1 показывает функциональную схему развертывания агентов безопасности в корпоративной вычислительной сети.
Фиг.2 показывает структурную схему системы развертывания предварительно сконфигурированных агентов безопасности.
Фиг.3 показывает блок-схему способа развертывания предварительно сконфигурированных агентов безопасности.
Фиг.4а показывает функциональную схему загрузки установочного пакета по гиперссылке, передаваемой сервисом предоставления данных.
Фиг.4б показывает функциональную схему загрузки установочного пакета по гиперссылке, передаваемой через мобильные сети связи.
Фиг.4в показывает функциональную схему загрузки установочного пакета по гиперссылке, передаваемой в формате QR-кода.
Фиг.5 показывает структурную схему компьютерной системы общего назначения.
Описание предпочтительных вариантов осуществления
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Заявленное изобретение позволяет решить задачу автоматизации процессов установки и настройки программного обеспечения на примере агентов безопасности (антивируса, сетевого экрана, анти-спама, веб-антивируса и других систем безопасности). За счет автоматизации установки сокращается количество операций, выполняемых администратором при создании задачи развертывания агентов, и сокращается количество формируемых задач. Применение данной технологии позволяет сделать процесс установки и первой настройки средства безопасности прозрачным для пользователя. Данное изобретение может быть применено также к программному обеспечению другого типа, например к офисным приложениям, клиентам для базы данных и другим программам.
Еще одной отличительной особенностью данного изобретения по сравнению с технологиями, составляющими предшествующий уровень техники, является автоматическая настройка канала передачи установочного пакета на устройство пользователя. Автоматическая настройка включает выбор канала передачи в зависимости от типа устройства и учетной записи пользователя и установку параметров передачи данных. Например, создание ссылки на установочный пакет в соответствующем каналу передачи данных формате. КВС представляет собой многоуровневую систему вычислительных устройств и их связей и может содержать компьютерные сети, построенные на различных технических, программных и информационных принципах.
Для надежного обеспечения безопасности КВС необходимо внедрение распределенной системы программно-аппаратных средств защиты, каждое из которых обладает характерным функционалом и устанавливается на конечных устройствах сети. При внедрении средств защиты, например антивируса, необходимо учитывать разнообразие защищаемых конечных компьютерных устройств - множество программных и аппаратных конфигураций.
Перечень устройств сети не ограничивается настольными компьютерами и серверами, установленными системным администратором предприятия, и включает устройства пользователей, на которых может быть установлено небезопасное программное обеспечение и которые могут являться каналом утечки данных. Персональные устройства необходимо защищать и контролировать при выполнении служебных операций, например при работе с корпоративными ресурсами (данными, приложениями, сетевыми соединениями). Сложность заключается в том, что данные устройства могут не иметь средств удаленного администрирования и управления, поэтому настройка средств защиты производится пользователем, что создает ряд сложностей для службы технической поддержки и службы безопасности. Данную проблему решает описанное в настоящей заявке изобретение.
Спецификация КВС, включая параметры сетевых соединений, перечень сервисов сети, конфигурации устройств сети, может быть представлена в службе каталогов в виде древовидной структуры объектов, соответствующих устройствам, и их атрибутов, характеризующих параметры этих устройств. Основная схема службы каталогов определяется протоколом LDAP и может быть использована сторонними программами и службами, в том числе средствами администрирования, для адаптивной настройки средств безопасности с учетом спецификации КВС. Из уровня техники известны другие способы представления данных о ресурсах сети и их связях, реализованные, например, в базе данных, XML-файлах и других источниках. Заявленное изобретение не ограничивается интеграцией сервера администрирования со службой каталогов. В контексте данной публикации термином, обобщающим все средства хранения и представления информации о пользователях и устройствах сети, будет являться «средство хранения атрибутов компьютерной сети».
Ключевым элементом защиты КВС является антивирус. Современные антивирусные решения включают в себя функционал, выходящий за рамки проверки файлов на содержание вредоносного кода. В данном документе антивирус следует рассматривать как синоним средству безопасности для КВС. В зависимости от версии антивирусного средства функциональные возможности включают защиту КВС, защиту информации, управление и синхронизацию с другими средствами безопасности. Архитектура антивируса для КВС может быть сложной и состоять из нескольких модулей, установленных на различных узлах КВС. Модули, устанавливаемые на конечные устройства сети, в том числе на персональные устройства пользователей КВС, в контексте данного документа будут называться агентами безопасности.
Пользователем КВС является сотрудник предприятия или гость компании, зарегистрированный в сети. В соответствии с установленным порядком при приеме на работу для каждого сотрудника заводится учетная запись, используемая для хранения персональной информации, такой как информация об имени пользователя, дате рождения, должности, паролях доступа к корпоративным ресурсам. Для гостей компании, как правило, создается отдельный профиль, ограничивающий права доступа к ресурсам сети. Для работы в компьютерной сети и получения доступа к ресурсам сети и приложениям пользователь должен пройти аутентификацю. Наиболее популярным сервисом обеспечения контроля доступа и учета пользователей и ресурсов сети является служба каталогов. Существуют стандарты структурирования объектов сети, на основе которых построены наиболее популярные реализации службы каталогов. Таким образом, большинство компьютерных сетей в компаниях включают стандартный сервис, содержащий необходимую информацию о пользователях.
В зависимости от схемы сети пользователи службы каталогов могут быть разбиты на группы. Группа используется для объединения пользователей по определенному признаку и для наследования свойств группы всем входящим в эту группу пользователям. Например, группа может объединять сотрудников по офисам, структурным подразделениям предприятия, предоставляемым уровням доступа к информации и другим признакам. Каждая группа, так же как и учетная запись, содержит атрибуты, характеризующие параметры подключений, права доступа к определенным ресурсам и приложениям сети. Подобная структура хранения и безопасного представления данных об объектах сети, реализованная в службе каталогов, позволяет реализовать политику безопасности, принятую в компании.
Одним из важных критериев при категоризации пользователей является их положение в компании и доступ к ценной информации, представляющей коммерческую или государственную тайну. Соответственно, для руководителей предприятия требования к обеспечению информационной безопасности выше, чем для рядовых сотрудников. Категоризация пользователей может производиться динамически путем добавления пользователя в ту или иную группу в зависимости от поведения, связей, личных характеристик и динамики изменения рейтинга безопасности данного пользователя. Более подробное описание средств категоризации пользователей по упомянутым факторам приводится в публикации US 8181253.
На Фиг.1 изображена функциональная схема развертывания агентов безопасности в КВС. В сети, состоящей из устройств (серверов, стационарных компьютеров 101, ноутбуков 102 и портативных устройств 103) и представляющей ряд сервисов (почтовый сервис, веб-сервис, сервис антивирусной защиты и другие) для пользователей 100, для организации управления часто используется сервер службы каталогов 110. Данный сервер содержит базу данных для упорядоченного хранения информации о сети и позволяет автоматизировать большинство задач управления, включающих, например, настройку приложений и сетевых соединений и разделение прав доступа. Работа со службой каталогов 110 осуществляется по стандартному протоколу. В качестве одного из вариантов реализации будет рассмотрена система, взаимодействующая с LDAP-совместимой (англ. Lightweight Directory Access Protocol) службой каталогов 110.
Когда системный администратор или специалист службы безопасности создает задачу развертывания агентов безопасности или другого приложения на устройствах сети, в первую очередь загружается установочный пакет 131 от поставщика 130 программного обеспечения (ПО), который сохраняется в файловом хранилище 140. В случае агента безопасности поставщиком ПО является компания, разрабатывающая средство защиты, или дистрибьютор программных продуктов. Установочные пакеты, установочные файлы (в случае если они не включены в установочные пакеты), используемые для установки программ на устройства пользователей, в том числе установщики агентов безопасности, хранятся в файловом хранилище 140. Те файлы, которые должны быть загружены на устройства КВС, публикуются. Публикация заключается в предоставлении интерфейса для загрузки пакета и настройки соответствующих прав доступа для устройств и пользователей. Файловое хранилище может представлять собой файловый сервер, директорию на сервере администрирования, базу данных или любое другое средство хранения данных, предоставляющее доступ к файлам.
Все действия администратор сети производит в консоли администрирования, являющейся терминалом управления сервера администрирования 120. После загрузки установочного пакета определяется группа устройств, на которые необходимо установить программу. Группа устройств указывается в процессе формирования задачи или определяется автоматически. Например, группа устройств может быть автоматически определена всеми впервые подключившимися к сети устройствами или всеми устройствами, на которых не установлен агент безопасности, и дополниться ими при формировании задачи развертывания.
Для каждого устройства или пользователя устройства, входящего в перечень устройств или перечень пользователей групповой задачи, определяются соответствующие классы и атрибуты из службы каталогов 110. По этим данным с применением экспертных правил задаются параметры для агента безопасности или другого устанавливаемого приложения. Для каждого устройства формируется отдельный набор параметров, используемый в конфигурации установочного пакета для данного устройства. Сконфигурированные установочные пакеты 141 сохраняются в файловом хранилище, после чего гиперссылки передаются на устройства сети. Загрузка на конечные устройства может осуществляться по каналам передачи данных, отличающимся средой распространения, сетевыми параметрами (маршрутами), протоколами передачи данных и различными приложениями. Например, один и тот же файл может быть передан по сети Ethernet или Wi-Fi по протоколу TCP или по протоколу UDP. Выбор канала передачи данных и его параметров также может основываться на данных службы каталогов и зависит от инфраструктуры сети и конфигурации устройства.
Далее будет более подробно рассмотрен процесс конфигурации установочных пакетов и используемые для этого средства.
На Фиг.2 показана структурная схема системы развертывания предварительно сконфигурированных агентов безопасности. Данная система может быть установлена на отдельном сервере сети, быть выполнена в виде виртуальной машины или в виде сервиса для сервера администрирования. Описание реализации системы на сервере администрирования 120 не ограничивает ее применение на других компьютерных системах. Система состоит из менеджера задач 210, анализатора 230, конфигуратора 240 и файлового хранилища 140. При этом система соединена и взаимодействует со службой каталогов 110 и устройствами КВС 200.
Сервер администрирования 120 - это инструмент для централизованного управления комплексной системой защиты, который предоставляет администратору доступ к детальной информации об уровне безопасности корпоративной сети и позволяет гибко настраивать все компоненты системы защиты. Сервер администрирования осуществляет управление агентами безопасности, обеспечивающими безопасность конечных устройств КВС.
Основной инструмент удаленного управления параметрами средств защиты конечных устройств - это политики. С помощью политик задаются параметры, касающиеся продукта в целом, параметры интерфейса и параметры компонентов защиты. Политика служит одновременно для настройки параметров и для контроля их применения на компьютерах. Параметры политики передаются на клиентские компьютеры по расписанию или при их изменении.
Планирование работ по администрированию осуществляется через задачи, в число которых входят: задача обновления, задача формирования отчета, задача сканирования, задача установки 220 агента безопасности и другие. Задачи могут быть сформированы для пользователя 222 или для группы пользователей, а также для устройства 221 или группы устройств в зависимости от поставленных целей. Сервер администрирования 120 позволяет произвести развертывание системы безопасности на заданную группу устройств. Администратор может быстро произвести конфигурацию и установку агентов безопасности, используя установочные (инсталляционные) пакеты 131.
Формирование задачи состоит из нескольких этапов:
- выбор типа задачи (установка, обновление, настройка агента безопасности и т.д.);
- установка параметров задачи;
- выбор группы объектов для управляемой задачи;
- настройка расписания выполнения.
В ходе работы мастера удаленной установки или при создании задачи установки 220 администратор определяет перечень устройств и/или групп устройств 221, на которые необходимо установить агенты безопасности, версию устанавливаемой программы 223, которой соответствует определенный набор установочных файлов. Администратор может указать дополнительно или вместо группы устройств перечень пользователей и/или группы пользователей. В качестве идентификаторов устройств и пользователей могут использоваться любые уникальные для данного устройства атрибуты, установленные в службе каталогов ПО. В качестве указателя версии установочного пакета 131 может использоваться ссылка на установочные файлы (установочный пакет), название или любой другой идентификатор приложения.
В ходе формирования задачи установки 220 имеется возможность выбирать компьютеры или мобильные устройства из некоторого списка. Этот список формируется сервером администрирования 120 путем сканирования сети. Сканирование осуществляется периодически несколькими разными способами.
Первый способ сканирования сети заключается в том, что сервер администрирования 120 собирает списки компьютеров сети точно так же, как это делает сама операционная система (семейства Windows). Этот способ сканирования называется быстрым сканированием сети. За составление и предоставление списка компьютеров отвечает служба Computer Browser. В ходе полного сканирования сети сервер администрирования 120 проходит по списку, полученному в результате быстрого сканирования, и пытается соединиться с каждым из компьютеров, используя протокол NetBIOS. Целью этого опроса является выяснение IP-адресов и операционных систем компьютеров. Другим способом получения списков устройств является использование службы каталогов, например Active Directory. Еще одним вариантом получения списка устройств является сканирование сетей. Суть заключается в отправке эхо-запроса на все адреса заданных диапазонов. Для получения списков мобильных устройств могут использоваться средства управления мобильными устройствами (Mobile Device Management, MDM), протокол Exchange Active Sync или специальный протокол сервера администрирования 120.
По умолчанию сервер администрирования 120 содержит по меньшей мере одну группу компьютеров. При такой организации администратор вынужден использовать одну политику защиты для всех компьютеров. Даже в небольших сетях бывает удобно, а иногда и необходимо, использовать разные настройки защиты для серверов и пользовательских компьютеров. В крупных сетях, где разные группы пользователей используют разные специализированные программы, возможность создавать политики с разными исключениями для разных пользователей очень удобна. Для того чтобы применять разные политики, нужно поместить компьютеры в разные группы.
В крупных КВС администраторы создают группы также для организации процесса внедрения. Например, компьютеры без агента безопасности и средств защиты помещают в группу «Развертывание», где создана задача автоматической установки агента безопасности. Компьютеры с установленным агентом перемещают в группу «Проверка совместимости», где созданы задачи удаления несовместимых программ и т.д. Наконец, полностью защищенные компьютеры перемещают в постоянную структуру управления.
Группы пользователей, устройств и других объектов сети на сервере администрирования 120 и в службе каталогов ПО могут синхронизироваться, дополнять друг друга, а могут быть несвязанными. В случае если группа устройств, выбранная в ходе формирования задачи установки, не содержится в службе каталогов в явном виде, то группа устройств может быть рассмотрена в качестве множества отдельных устройств, каждое из которых представлено в службе каталогов. Аналогичное представление может быть построено для пользователей.
Сервер администрирования 120 может обладать информацией о связи пользователей 100 и устройств (101-103), при этом по заданному устройству может определить его пользователя 100 и наоборот. Поэтому следует понимать, что политика и задачи для устройств могут быть транслированы на соответствующие учетные записи пользователей. В рамках данного описания будут рассмотрены примеры управления устройствами и группами устройств в КВС, но это не ограничивает возможности предлагаемых системы и способа, так как сопоставление устройств и пользователей дает возможность реализации предложенного решения для управления как одним, так и группой пользователей.
Информацию о распределении групп и компьютеров, а также их параметры сервер администрирования 120 может загружать из службы каталогов 110. Это может происходить и в автоматическом режиме, что позволяет синхронизировать данные в службе каталогов 110 и на сервере 120. Дополнительно сервер администрирования 120 может хранить информацию, например параметры проверок устройств или рейтинги безопасности пользователей, в службе каталогов 110, для чего необходимо дополнить схему службы каталогов.
Рассмотрим пример установочного пакета 131, применяемого для установки программ в операционных системах семейства Windows.
Установочный пакет 131 (англ. installation package) представляет собой файл, имеющий расширение «.msi», в котором содержится вся необходимая для установки информация. За обработку данного типа файла и проведение процесса установки отвечает специальный компонент операционной системы Windows - Installer (установщик Windows).
Файл .msi представляет собой составной документ, в котором содержится база, хранящая различную информацию о продукте и процессе установки. При этом все строковые данные хранятся в отдельной части документа, а таблицы базы содержат указатели на соответствующие данные. Кроме базы, структура файла .msi позволяет дополнять файл пользовательскими сценариями, вспомогательными динамическими библиотеками, если таковые требуются для установки. Устанавливаемые файлы могут входить в состав установочного пакета 131, а могут храниться отдельно в запакованном или распакованном виде.
Процесс установки состоит из нескольких этапов:
- сбор информации (определение директории установки, источника установочных файлов, параметров подключения, настройка параметров обновления и т.д.);
- выполнение установки (копирование файлов, внесение изменений в системный реестр);
- откат на любой этап установки, включая отмену установки (в случае ошибки или выхода из программы установки).
Каждый этап установки состоит из последовательности действий (инструкций), записанной в базе данных. Большая часть действий - это стандартные действия, характерные для типичного процесса сбора информации и установки. Пользователь может определить специализированный набор действий. Действия, определенные пользователем, могут быть либо написаны на одном из скриптовых языков, встроенных в операционную систему (JScript или VBScript), либо размещаться в специально созданной библиотеке функций (с использованием языков программирования С или С++ для операционной системы (ОС) семейства Windows). Более подробное описание формата установочных пакетов и примеров реализации содержится в библиотеке документов MSDN, которая доступна по электронному адресу us/library/cc185688(v=vs.85).aspx. Настоящее изобретение не ограничивается использованием данного формата установочных пакетов 131 и может поддерживать также другие форматы в зависимости от операционной системы устройства, например rpm (англ. Red Hat Package Manager) для семейства ОС Linux и deb - для ОС проекта Debian.
Описанные возможности, включенные в стандарт установочных пакетов 131, позволяют изменять (дополнять) выпущенные версии программ без внесения изменений в код программ и без перекомпиляции исполняемых файлов. Для формирования специальной версии установщика необходимо внести изменения в установочный пакет 131. Примером такого изменения может быть дополнение базы данных установочного пакета параметрами программы и инструкциями, позволяющими автоматически применить данные параметры к программе. Данная особенность позволяет автоматизировать процесс установки и оптимизировать процесс управления установкой за счет сокращения выполняемых операций и сокращения количества задач, формируемых администратором.
В системах, составляющих предшествующий уровень техники, задача установки 220 формировалась отдельно для каждой группы устройств, чтобы распространить на каждую группу уникальную версию агента безопасности. Данную версию агента безопасности необходимо было сконфигурировать путем перекомпиляции или ручной настройки. Даже если сервер администрирования поддерживал базу данных настроек, необходимо было для каждого набора настроек формировать отдельную задачу, что создавало определенные сложности в работе администраторов сети. Улучшение системы развертывания программного обеспечения в сети позволяет, создав одну задачу установки и используя одну стандартную версию программы, произвести развертывание программы на все необходимые устройства сети, в том числе находящиеся в разных структурных группах. При этом установка без дополнительных действий пользователя будет учитывать особенности устройства и пользователя. После установки программы в ней будут применены актуальные для данного пользователя 100 и устройства (101-103) параметры (настройки). Данный результат достигается за счет конфигурирования и установки уникального для совокупности пользователя и устройства установочного пакета.
Служба каталогов 110 - это средство иерархического представления ресурсов предприятия и информации об этих ресурсах. Под ресурсами могут пониматься персонал, сетевые ресурсы, программы и т.д. Примером реализации службы каталогов является Active Directory, которая наиболее часто применяется для администрирования КВС.Active Directory имеет иерархическую структуру, состоящую из объектов. Объекты разделяются на три основные категории: ресурсы, службы и учетные записи пользователей и компьютеров. Active Directory предоставляет информацию об объектах, позволяет организовывать объекты, управлять доступом к ним, а также устанавливает правила безопасности. Объект уникально определяется своим именем и имеет набор атрибутов - характеристик и данных, которые он может содержать; последние, в свою очередь, зависят от типа объекта. В рамках данной заявки ключевой особенностью службы каталогов ПО является хранение информации. Доступ к данным службы каталогов осуществляется по запросам, после чего служба каталогов ПО осуществляет поиск и представление информации. В основной схеме Active Directory существует несколько классов, хранящих информацию о пользователях, например:
Organizational-Person - класс, представляющий информацию о положении пользователя 100 в структуре компании (должность, роль, подразделение, офис, кабинет и т.д.);
User - класс пользователей сети, включающий информацию о сотрудниках, посетителях. Является подклассом для класса Organizational-Person;
Person - класс, хранящий персональную информацию о пользователе.
Для описания классов применяются различные атрибуты, включающие, например, адрес (Address), департамент (Department), идентификатор (Employee-ID), адрес электронной почты (E-mail-Addresses), должность (Title) и другие параметры. При этом классы связаны друг с другом логическими связями, что позволяет для данного пользователя определить параметры его подключения или набор используемых для работы программ. Также пользователю ставится соответствие с его устройствами. Для их определения применяется также несколько классов, таких как:
Device - основной класс хранения данных о физических устройствах сети;
Computer - класс аккаунта для компьютера сети.
Для описания классов устройств применяются следующие атрибуты: роль (Machine-Role), управляющий субъект (Managed-By, Owner), сетевой адрес (Network-Address), операционная система (Operating-System), адрес прокси-сервера (Proxy-Addresses) и другие.
Сформированная задача представляет собой структуру данных, состоящую из параметров, которые можно рассматривать в качестве идентификаторов устройств, пользователей, приложений. Используя данные идентификаторы, менеджер задач 210 отправляет в службу каталогов 110 запрос, результатом которого является упорядоченное множество атрибутов, которые характеризуют каждый объект задачи. Полученные атрибуты менеджер задач загружает в анализатор 230, который интерпретирует значения атрибутов в значения параметров безопасности. Правила интерпретации основываются на политике безопасности. Рассмотрим некоторые примеры соответствия атрибутов пользователей и параметров агента безопасности.
Всем пользователям отдела кадров требуется удаленный доступ к внутренней HR-системе, поэтому если задача установки распространяется на устройство, управляемое пользователем из группы «HR (Human Resources)», то в установочный пакет 131 будет добавлен сертификат и настройки доступа к внутренней HR-системе. Таким образом, пример правила анализатора 230 для данного случая в виде условного оператора будет выглядеть следующим образом:
IF {department=HR} THEN { certificate=add},
где department - атрибут отдела пользователя, a certificate - параметр добавления сертификата.
Политика безопасности для курьеров компании учитывает факт их частых перемещений, что повышает риск заражения устройств при подключении к внешним сетям и риск потери вычислительных устройств, хранящих корпоративные данные. Для данной группы сотрудников, а также для всех устройств, которые часто подключаются в местах, находящихся за пределами офиса, установочный пакет 141 агента безопасности должен включать дополнительный контейнер с безопасным браузером и настройку агента, в которой активируется функция «GPS-tracking» (отслеживание координат) и функция блокирования устройства (при отсутствии активности на устройстве в течение определенного периода времени). Данное требование политики безопасности соответствует правилу анализатора 230:
IF {title=courier OR location!=local}
THEN {safe_browser=add AND gps=ON)},
где safe_browser - параметр добавления компонента защищенного браузера, а gps - параметр включения функции отслеживания местоположения.
После того как отработало одно или после того как отработали все правила анализатора 230, результирующие параметры передаются в конфигуратор 240, который осуществляет конфигурацию установочного пакета. Конфигуратор 240 может быть реализован набором функций, вызываемых в зависимости от входных параметров. Для приведенных примеров конфигуратор 240 может содержать функцию добавления сертификата, функцию добавления компонента, функцию изменения настроек. Настройка приложения может осуществляться с помощью сценариев (обрабатываемых самим агентом безопасности, операционной системой или другим средством, например агентом администрирования или менеджером установки), выполняемых при запуске установочного пакета. Другим способом применения настроек является модификация ресурсов приложения (конфигурационных файлов, исполняемых файлов, ресурсных файлов, ключей реестра и т.д.). Установочный пакет может содержать не только модифицированные установочные файлы, но также может быть расширен и включать дополнительные программы, библиотеки, ресурсные файлы, обновления, которые будут установлены и применены в процессе установки агента безопасности.
Далее сконфигурированный установочный пакет 141 сохраняется менеджером задач 210 или непосредственно конфигуратором 240 в файловом хранилище. По полученным параметрам производится конфигурация не только установочного пакета, но и канала передачи данных, т.к. способ передачи файла на конечное устройство также зависит от устройства и пользователя, например от физического расположения устройства в сети, наличия в устройстве необходимых модулей связи, способа подключения к сети (удаленное, локальное). Если устройство подключено к серверу администрирования через Интернет, канал передачи необходимо будет шифровать. Канал передачи данных в контексте данного документа обеспечивается сервисом сервера администрирования, построенным на сетях передачи данных различных технологий связи: Ethernet, Wi-Fi, GSM, CDMA, UMTS. Конфигурирование канала передачи данных в данном случае означает определение типа сети передачи данных и установку адреса доставки данных (IP-адрес, номер мобильного телефона, электронная почта, персональный аккаунт и т.д.). В некоторых случаях конфигурация канала (выбор протокола передачи данных) может также зависеть от скорости передачи данных: CSD, GPRS, EDGE, семейство HSPA, 802.11 b/g/n и т.д.
Согласно описанным примерам способ развертывания предварительно сконфигурированных агентов безопасности можно представить в виде блок-схемы, показанной на Фиг.3. Применение способа начинается с загрузки 300 установочного пакета новой версии агента безопасности на сервер администрирования или в файловое хранилище (если оно не входит в состав сервера администрирования). Далее формируется задача установки на этапе 305. Задача установки может быть создана администратором сети либо создана автоматически по правилу. Примером такого правила может являться автоматическая установка агента при выпуске новой версии или установка агента на все подключившиеся устройства, на которых отсутствуют средства безопасности. Также задача может быть создана по запросу пользователя при обращении к веб-сервису. На этапе 310 после создания задачи установки определяются атрибуты объектов задачи путем формирования запроса в службу каталогов и загрузки найденных атрибутов.
Если устройство ранее не подключалось к сети и если в службе каталогов нет информации об этом устройстве, пользователь может пройти процесс регистрации устройства, для чего он заходит на специальный веб-сервис, авторизуется на нем и указывает характеристики персонального устройства. Регистрация устройства может быть реализована с помощью плагинов, которые загружаются и устанавливаются при подключении к указанному веб-сервису, после чего собирают и отправляет конфигурацию устройства на сервер администрирования. Загруженные атрибуты устройства сохраняются в службе каталогов и используются для конфигурации установочных пакетов для данного устройства.
После формирования задачи установки производится настройка установочного пакета и канала передачи данных. Данные процессы могут происходить как последовательно, так и параллельно. На схеме они показаны как два независимых процесса. По загруженным атрибутам пользователя, устройства и других объектов, связанных с ними, которые содержатся в службе каталогов, на этапе 315 определяются соответствующие политике безопасности параметры агента безопасности, предназначаемого для данного пользователя и устройства. Далее проводится конфигурирование установочного пакета 316, включая добавление компонентов, сертификата и конфигурационных файлов, изменение файлов агента безопасности (ресурсных, исполняемых и т.д.), добавление сценариев установки для обработки менеджером установки и другие действия, необходимые для того, чтобы в процессе установки и работы агента безопасности были учтены характерные особенности пользователя и конфигурация устройства. Определение соответствующих политике безопасности и типу устройства параметров канала передачи установочного пакета производится на этапе 317. Он может производиться после конфигурации установочного пакета или параллельно. Сконфигурированный установочный пакет 141 сохраняется в файловом хранилище и публикуется на этапе 320. Публикация означает определение гиперссылки и настройку прав доступа к файлам и ресурсам сети для того, чтобы установочный пакет 141 и необходимые установочные файлы были доступны для загрузки по указанной ссылке. Когда задача установки запускается на исполнение по расписанию, по завершению предыдущих этапов, или администратором вручную на этапе 325, в первую очередь устанавливается канал передачи данных 330 с каждым из устройств, далее производится загрузка установочного пакета 335. В случае успешной загрузки производится запуск установочного пакета и установка агента безопасности на устройстве 340, после чего процесс развертывания агентов безопасности в КВС завершается на этапе 345.
Каналом передачи данных может являться веб-сервис, описанный раннее, который конфигурируется таким образом, что отображает ссылку на установочный пакет в соответствии с тем устройством и для того пользователя, для которых данный установочный пакет был сконфигурирован.
Существует большое количество каналов передачи данных, которые можно использовать для передачи установочных файлов на устройства пользователей. Далее будут рассмотрены наиболее удобные и простые с точки зрения пользователя способы передачи файлов на портативные устройства, на которых отсутствуют агенты администрирования.
Фиг.4а показывает основную функциональную схему загрузки установочного пакета по гиперссылке, передаваемой сервисом предоставления данных. Сервисом представления данных 401 в данном случае может быть почтовый сервис, веб-сервис, приложение обмена сообщениями и другие средства, способные доставить пользователю гиперссылку. Выбор сервиса предоставления данных также зависит от информации, известной об устройстве 101 и пользователе из службы каталогов. Предположим, сервер администрирования 120 располагает информацией об адресе электронной почты пользователя, тогда на сервере 120 генерируется письмо (e-mail), в тело которого вставляется ссылка на опубликованные файлы. Получив письмо и активировав ссылку, пользователь переходит на страницу установки, откуда может загрузить установочный пакет 141. Ссылка может указывать непосредственно на установочный пакет 141, тогда переход по ссылке автоматически приведет к загрузке файла. После загрузки установочного пакета из файлового хранилища 140 на устройство пользователя 101 для завершения установки остается запустить загруженный файл.
На Фиг.4б показана функциональная схема загрузки установочного пакета по гиперссылке, передаваемой через мобильные сети связи. Для доставки управляющих сообщений и ссылок на опубликованные установочные пакеты также может использоваться канал передачи коротких сообщений, например SMS- или MMS-сообщений. Для поддержки сервиса рассылки SMS-сообщений компании вынуждены либо приобретать специальное оборудование, либо адаптировать свое ПО под протоколы внешних сервисов отправки SMS и заключать договора с поставщиками услуг рассылки SMS, что не всегда удобно. Один из возможных вариантов реализации функции рассылки мобильных сообщений в рамках стандартной мобильной сети без использования дополнительного оборудования заключается в применении мобильного приложения, подключенного к мобильному средству администрирования 402. Данное мобильное средство 402 с одной стороны подключено к серверу администрирования 120 и с другой стороны - к мобильной сети (например, стандарта GSM или CDMA). Сервер администрирования 120 генерирует сообщение, включающее ссылку на опубликованный установочный пакет 141 и телефонный номер получателя, соответствующий пользователю конечного устройства в службе каталогов. После этого сгенерированное сообщение передается по компьютерной сети или любому другому доступному интерфейсу связи на мобильное средство администрирования 402. Будучи подключенным к мобильной сети, средство администрирования 402 отправляет сообщение на мобильное устройство пользователя 103. Когда сообщение доставлено пользователю, производится загрузка установочного пакета по указанной ссылке и запуск установки агента безопасности на данном устройстве пользователя 103.
Чтобы получить ссылку на портативное устройство, которое не имеет модуля мобильной связи для работы в GSM- или CDMA-сетях (например, планшетный компьютер), можно воспользоваться почтовым сервисом для отправки гиперссылки, как это показано на Фиг.4а. В том случае, если в службе каталогов компании не содержится личного почтового адреса владельца планшетного компьютера, а указан только корпоративный адрес, для передачи гиперссылки на установочный пакет 141 используется стационарный компьютер пользователя.
На Фиг.4в показана функциональная схема загрузки установочного пакета по гиперссылке, передаваемой в формате QR-кода. Сервер администрирования 120 формирует электронное письмо со ссылкой на установочный пакет 141, сконфигурированный для портативного устройства пользователя, но оправляет ссылку на стационарный компьютер, управляемый данным пользователем. Для упрощения ввода гиперссылки на портативное устройство с компьютера используется графическое представление ссылки, например QR-код. Сервер администрирования 120 генерирует QR-код для данной ссылки и отправляет ссылку на компьютер пользователя, который подключен к корпоративной почте. Ссылка в виде QR-кода также может быть опубликована на персональной странице пользователя корпоративного веб-сервиса. Еще одним способом передачи гиперссылки может служить сообщение с вложенным графическим файлом, содержащим QR-код, передаваемое средствами быстрого обмена сообщениями или в сообщении MMS.
Далее описан пример компьютерной системы, архитектура которой лежит в основе сервера администрирования и персональных компьютерных устройств пользователей, подключенных к корпоративной вычислительной сети.
Фиг.5 представляет пример КС общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая, в свою очередь, память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20, в свою очередь, содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода, по своему обычаю, подключают к КС 20 через последовательный порт 46, который, в свою очередь, подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в КВС, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В соответствии с описанием компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.