Центр управления безопасностью excel 2016
Начиная с версии 2007 в пакете офисных программ компании Microsoft появилась такая полезная штука как Центр управления безопасностью. Он оберегает нас от потенциально вредоносного содержимого, внедренного в документы, сводя на нет попытки злоумышленников причинить вред нашим данным. К сожалению, этот же механизм порой вставляет палки в колеса и нам, когда мы пытаемся формировать отчеты в системе DIRECTUM.
Алгоритм работы при формировании отчета, например, в Excel обычно такой:
- Вычисляем любым доступным способом ID документа с макетом отчета. Если у документа несколько версий, решаем, какая из них нам нужна.
- Экспортируем текст версии во временный файл во временном каталоге.
- Создаем объект "Excel.Application".
- Открываем макет.
- Загружаем в него данные отчета.
- Показываем отчет пользователю / сохраняем как документ в системе / что-то еще.
И вот на четвертом шаге в нас летит кирпич:
На этом формирование отчета закончится, а в качестве бонуса — застрявший в памяти процесс excel.exe, доступ к которому будет только через диспетчер задач. А все потому что Excel не доверяет нашему файлу, который еще и открыт из каталога временных файлов Windows. Казалось бы, всего-то делов — использовать вместо временного каталога Windows другой каталог. Но какой? И как быть уверенным, что с этим каталогом все будет в порядке?
Ключ к решению состоит в том, что Центр управления безопасностью , как известно, позволяет вести список так называемых надежных расположений, файлам из которых следует всенепременно доверять. В этом списке по умолчанию уже есть пути к папкам шаблонов, надстроек и автозапуска.
Мы можем добавить туда путь к почти любому каталогу, и он будет считаться надежным, файлы из него будут нормально открываться. Почти — потому что некоторые расположения, как ни старайся, надежными объявить нельзя. Например, MS Office прекрасно знает о местонахождении каталога временных файлов системы Windows, на который указывает переменная окружения TEMP, и ни за что не даст добавить его в список надежных.
Итак, мы знаем, как убедить офис в безопасности каталога с макетом отчета. Но где должен находиться этот каталог? Поскольку каталог будет использоваться для размещения временных файлов отчетов, было бы не очень хорошо создавать его где-то на виду — например, в корне диска (какого, кстати?) или в папке "Мои документы". Но это вопрос вкуса, конечно, и конкретной задачи. Другой вопрос — как добавить выбранный каталог в список надежных до формирования отчета? Хорошо, если удастся договориться с администраторами и распространить настройку надежных расположений через политики. А если нет? Сейчас разберемся.
Настройку надежных расположений все приложения MS Office хранят в реестре. Например, для Excel путь к нужному разделу выглядит так:
где %Version% — номер версии MS Office. Замена Excel на Word, PowerPoint и так далее приведет нас в аналогичный раздел соответствующего приложения. В редакторе реестра для искомого раздела мы увидим примерно такую картину:
Шесть подразделов с номерами от 0 до 5 соответствуют шести строчкам в списке надежных расположений в настройке Центра управления безопасностью на предыдущем скриншоте. В каждом из подразделов могут быть следующие параметры:
- Description — описание расположения на человеческом языке,
- Path — полный путь к каталогу,
- Date — дата последнего изменения настройки (необязательно),
- AllowSubFolders — признак того, является ли надежным только сам каталог или также все его подкаталоги (если параметр есть и равен 1 — подкаталоги надежны, иначе — нет).
Нам нужно создать новый раздел для нашего каталога. Опыты показали, что имя раздела не обязательно должно иметь вид Location%Number%, Excel учитывает все разделы внутри раздела Trusted Locations. Я не проверял, насколько Excel безразличен к имени раздела, нам достаточно того, что мы можем создать раздел с именем Reports (или IS-Builder, или My coolest location — главное, чтобы мы его помнили). В разделе Reports создадим параметры Path и Description, в которые запишем путь к каталогу и комментарий, соответственно. Если все сделали правильно, то в Центре управления безопасностью увидим наше надежное расположение:
Как видно на скриншоте, надежное расположение я решил создать в профиле пользователя. Во-первых, это позволяет не сваливать в одну кучу временные файлы разных пользователей. Помимо конфиденциальности так мы сможем избежать и случайных коллизий при совпадающих именах файлов. А во-вторых, местоположение профиля текущего пользователя очень легко найти — его адрес хранится в переменной окружения USERPROFILE. Вы при решении ваших задач, вероятно, предпочтете другое расположение. Кстати, совершенно бесполезно пытаться с помощью редактора реестра сделать надежным каталог временных файлов Windows. В списке он появится, но будет неактивным, и эффекта такая настройка не возымеет.
Теперь, чтобы все то же самое умел проделать наш отчет, достаточно добавить небольшое вычисление в расчет отчета:
После этого можно использовать переменную ReportFolder в качестве пути к временному каталогу: выгружать в него макет отчета и работать с ним. Протестовать Excel уже не будет. Это вычисление можно оформить в виде функции и использовать централизованно во всех отчетах, и тогда отчеты будут самостоятельно заботиться о том, чтобы каталог надежного расположения существовал и был известен офисному приложению как надежное расположение.
В Excel вы можете изменять параметры безопасности макросов, определяя, какие макросы и при каких обстоятельствах должны выполняться при открытии книги. Например, можно разрешить выполнение макроса в зависимости от наличия цифровой подписи надежного разработчика.
Дополнительные сведения о параметрах безопасности макросов в документах Microsoft Office см. в статье Включение и отключение макросов в файлах Office.
Ниже приведен список различных параметров безопасности макросов. Если установлена антивирусная программа, работающая с Microsoft Office, то помимо всех параметров книга, содержащая макросы, перед открытием проверяется также на наличие известных вирусов.
Отключить все макросы без уведомления. Выберите этот параметр, если не доверяете макросам. Все макросы в документе и предупреждения о безопасности макросов отключаются. Если у вас есть документы, содержащие неподписанные макросы, которым вы доверяете, эти документы можно поместить в надежное расположение. Документы из надежных расположений разрешается выполнять без проверки системой центра управления безопасностью.
Отключить все макросы с уведомлением. Этот параметр задан по умолчанию. Выберите этот вариант, если хотите отключить макросы, но при этом получать предупреждения о безопасности, если макросы есть. Так вы можете в каждом конкретном случае решать, стоит ли включать эти макросы.
Отключить все макросы кроме макросов с цифровой подписью. Этот параметр подобен параметру Отключить все макросы с уведомлением, не считая того, что макрос с цифровой подписью надежного издателя может выполняться, если вы уже доверяете этому издателю. Если издатель не считается надежным, вы получаете уведомление. Так вы можете выбрать, следует ли включить эти подписанные макросы и выразить доверие издателю. Все макросы без подписи отключаются без уведомления.
Включить все макросы (не рекомендуется, возможен запуск опасной программы). Выберите этот параметр, чтобы разрешить выполнение всех макросов. В таком случае ваш компьютер становится уязвимым для потенциально опасного кода, поэтому этот вариант не рекомендуется.
Доверять доступ к объектной модели проектов VBA Этот параметр используется для разработчиков и используется для преднамеренной блокировки или блокировки программного доступа к объектной модели VBA из любого клиента автоматизации. Другими словами, он обеспечивает параметр безопасности для кода, который создается для автоматизации программы Office и программного управления средой и объектной моделью Microsoft Visual Basic для приложений (VBA). Этот параметр настраивается для каждого пользователя и каждого приложения и по умолчанию не имеет доступа. Этот параметр безопасности затрудняет несанкционированный доступ к созданию кода "саморекопирования", который может навредить системам конечных пользователей. Чтобы любой клиент автоматизации мог получить доступ к объектной модели VBA программным путем, пользователь, работающий с кодом, должен явно предоставить доступ. Чтобы включить доступ, выберите этот квадрат.
В Office используется технология Microsoft Authenticode, позволяющая создателям макросов добавлять цифровую подпись в файл или проект макроса. Сертификат, используемый для создания подписи, подтверждает, что макрос или документ создан автором подписи, а подпись подтверждает, что макрос или документ не был изменен.
Установив свой цифровой сертификат, вы можете подписывать файлы и макросы.
Получение цифрового сертификата для подписания
Цифровой сертификат можно получить в коммерческом центре сертификации (ЦС) или у администратора безопасности локальной сети либо ИТ-специалиста.
Дополнительные сведения о центрах сертификации, обслуживающих продукты Майкрософт, см. в списке участников программы корневых сертификатов Майкрософт.
Создание своего самозаверяющего цифрового сертификата
С помощью программы Selfcert.exe вы можете создать свой самозаверяющий сертификат.
Примечание: Поскольку созданный вами цифровой сертификат не выдается официальным доверенным центром сертификации, макросы, подписанные с помощью такого сертификата, называют макросами с собственной подписью. В Microsoft Office самозаверяющие сертификаты считаются надежными только на том компьютере, на котором они добавлены в хранилище личных сертификатов.
Дополнительные сведения о добавлении цифровой подписи к макросам см. в статье Подписание макроса.
Изменение параметров безопасности макросов
Вы можете изменять параметры безопасности макросов в центре управления безопасностью, если только системный администратор в вашей организации не запретил это, изменив настройки по умолчанию.
На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов.
Чтобы включить вкладку "Разработчик", см. раздел Отображение вкладки "Разработчик".
В категории Параметры макросов в разделе Параметры макросов выберите нужный вариант.
Примечание: Все изменения, внесенные в категории Параметры макросов в Excel, применяются только к Excel и не влияют на другие приложения Microsoft Office.
Доступ к центру управления безопасностью также можно получить из окна "Параметры Excel". Для этого нажмите кнопку Параметры (Excel 2010–2016) или кнопку Microsoft Office (Excel 2007), а затем выберите центр управления > Центр управления Параметры >Макрос Параметры.
Дополнительные сведения о безопасности макросов см. в следующих статьях:
Устранение неполадок
Не удается изменить параметры безопасности макросов
Некоторые пользователи не могут изменять параметры центра управления безопасностью из-за групповых политик безопасности в их организациях. В таких случаях необходимо обратиться к ИТ-администратору организации.
Что случилось с параметрами безопасности "Очень высокий", "Высокий", "Средний" и "Низкий"?
Параметр Excel 2003
Эквивалент в Excel 2007/2010/2013/2016
Дополнительные сведения
Отключить все макросы без уведомления
В Excel 2003 макросы VBA выполняются только при условии, что выбран параметр "Доверять всем установленным надстройкам и шаблонам" (в Excel 2003 на вкладке "Надежные издатели" в диалоговом окне "Безопасность") и макросы (с подписью или без) хранятся в определенной надежной папке на жестком диске пользователя.
Если эти условия не соблюдены, то при использовании параметра "Очень высокий" макросы VBA не выполняются в Excel 2003.
Отключить все макросы кроме макросов с цифровой подписью
В Excel 2003 могут выполняться только исполняемые файлы (EXE или COM), подписанные утвержденным надежным источником (то есть имеющие сертификат). В противном случае все исполняемые модули, связанные с документами или внедренные в них, автоматически отключаются без предупреждения, когда пользователь открывает документы.
При установке всех приложений Office 2003 по умолчанию задается параметр "Высокий".
Отключить все макросы с уведомлением
В Excel 2003 пользователям при открытии документа предлагается включить или отключить исполняемые модули. На этом уровне необходимо принять сертификат для каждого исполняемого модуля, добавив сертификат в соответствующий сегмент реестра на компьютере под управлением Windows.
Последующие запросы на выполнение макроса от надежного источника принимаются автоматически (исполняемые модули выполняются без предварительного запроса пользователя).
Включить все макросы (не рекомендуется, возможен запуск опасной программы)
В Excel 2003 все макросы выполняются без ограничений. Этот уровень безопасности не защищает от вредоносных программ, не позволяет принимать сертификаты и не считается безопасным в целом. Этот уровень использовать не рекомендуется.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Попытка запустить макрос на воспроизведение может оказаться неудачной. Самая распространенная причина того, что после записи макрос не работает заключается в системе безопасности, но давайте по порядку.
Система безопасности Microsoft Office
Microsoft Office снабжен своей собственной системой безопасности. Задача этой системы заключается в противодействии макровирусам. Макровирусы – это вредоносные программы, написанные на языке VBA. Для своего распространения и перемещения от одного зараженного файла к другому макровирусы используют возможности языка программирования. Наибольшее распространение получили макровирусы, созданные для MS Word и MS Excel. Макровирусы — это главная проблема, которую создал язык программирования VBA, встроенный в офисные программы. Безопасная работа с макросами заключается в соблюдении простого правила: запрещать выполнение макросов, если их назначение Вам не известно.
Уровни безопасности
В системе безопасности предусмотрено четыре уровня защиты, для того чтобы их увидеть в MS Word 2003 либо MS Excel 2003, зайдем в меню Сервис/Макрос/Безопасность
Для просмотра уровней системы безопасности в MS Word 2007 и MS Excel 2007 нажимаем кнопку Microsoft Office , далее кнопку Параметры Word (Excel)/Центр управления безопасностью/Параметры центра управления безопасностью, после чего появится окно настройки параметров макросов. Описания уровней безопасности говорят сами за себя.
Цифровые подписи макросов
Особый интерес в окне "Центр управления безопасностью" представляет опция "Отключить все макросы кроме макросов с цифровой подписью". Выбрав эту опцию, Вы сможете спокойно запускать макросы, которые вы создали и подписали сами. Также можно использовать "Надежные расположения", где Вы можете хранить проверенные и надежные макросы и надстройки.
Надежные расположения
Добавлю несколько слов о разделе "Надежные расположения". В этом разделе прописываются пути к папкам, которые считаются надежными источниками для открытия файлов. Надежные расположения можно добавлять, удалять, изменять и отключать. Использование надежных расположений также снизит вероятность возникновения проблем при выполнении макросов. Добавляются надежные расположения в параметрах центра управления безопасностью. На видео показано как добавить надежные расположения в Microsoft Excel 2013 , но в других версиях и в других приложениях всё делается аналогично.
Настройка доступа к объектной модели VBA
И еще один нюанс, для корректной работы макросов и надстроек нужно установить доверие к объектной модели проектов VBA. Сделать это можно следующим образом:
Для приложений Office 2003 – Сервис/Макрос/Безопасность/Надежные издатели/Доверять доступ к Visual Basic Project
Для приложений Office 2007 – Меню/Параметры/Центр управления безопасностью/Параметры центра управления безопасностью/Параметры макросов/Доверять доступ к объектной модели проектов VBA (установить галочку).
В приложениях пакета MS Office 2010 расположение центра управления безопасностью, аналогично расположению его в версии 2007, с той лишь разницей, что кнопка Office изменена на вкладку с названием "Файл", выделенную зеленым цветом.
Таким образом, большую часть проблем связанных с работоспособностью макросов решит установка опции "Доверять доступ к проектам VBA" и некоторое снижение уровня безопасности.
Безопасность макросов Excel – это защита от вирусов, которые могут проникнуть в компьютер вместе с макросами. Безопасность макросов значительно изменилась со времени выхода в свет Excel 2003, поэтому в рамках данной темы особенности старых и новых версий Excel будут рассмотрены раздельно:
Безопасность макросов в современных версиях Excel (2007 и более новых)
Чтобы запустить макрос в современных версиях Excel, файл должен быть сохранён как Книга Excel с поддержкой макросов. Открывая такой файл, по его расширению xlsm Excel понимает, что в данной рабочей книге содержатся макросы (в отличие от файла со стандартным расширением xlsx).
Поэтому, чтобы иметь возможность запускать созданный в обычной рабочей книге Excel макрос всегда и везде, нужно сохранить её с расширением xlsm. Для этого на вкладке Файл (File) нажмите Сохранить как (Save as) и в поле Тип файла (Save as type) выберите Книга Excel с поддержкой макросов (Excel Macro-Enabled Workbook).
Отличие в типе файлов ясно указывает на то, что рабочая книга содержит макросы, и это уже становится первым важным шагом к соблюдению мер безопасности. Помимо этого, в Excel существует несколько режимов безопасности макросов, выбрать один их которых можно в меню параметров приложения. Вот эти режимы:
- Отключить все макросы без уведомления (Disable all macros without notification)Запрет на выполнение любых макросов. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
- Отключить все макросы с уведомлением (Disable all macros with notification)Запрет на выполнение макросов. Однако, если в рабочей книге есть макрос, появится предупреждение о том, что макрос присутствует, но отключен.
- Отключить все макросы без цифровых подписей (Disable all macros except digitally signed macros)Разрешено выполнение макросов только из доверенных источников. Все прочие макросы выполняться не будут. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
- Включить все макросы (Enable all macros)Разрешено выполнение всех макросов. При открытии книги Excel не появляется уведомление о том, что в ней содержатся макросы. Соответственно пользователь может не знать, что какой-либо макрос выполняется, пока открыт файл.
Вариант Отключить все макросы с уведомлением – позволяет при открытии файла сделать выбор: разрешить запуск макросов или отключить их. При этом вверху листа появляется жёлтая полоса с уведомлением и кнопкой, как показано на рисунке ниже:
Чтобы разрешить выполнение макросов нужно просто кликнуть по кнопке Включить содержимое (Enable Content).
Где найти параметры безопасности макросов в Excel
Вот как можно просматривать или изменять параметры безопасности макросов в Excel 2007, 2010 или 2013:
Excel 2007
- Откройте главное меню Excel, для этого кликните по большой круглой кнопке Office в левом верхнем углу. Далее нажмите Параметры Excel (Excel Options).
- В появившемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
- В разделе Параметры макросов (Macro Settings) выберите нужный параметр и нажмите ОК.
Excel 2010 или 2013
- На вкладке Файл (File) нажмите Параметры (Options).
- В открывшемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
- В разделе Параметры макросов (Macro Settings) выберите нужный параметр и нажмите ОК.
Замечание: Потребуется перезапустить Excel, чтобы новые настройки безопасности макросов вступили в силу.
Надёжные расположения в современных версиях Excel (2007 и более новые)
Excel 2007, 2010 и 2013 позволяет объявить выбранные папки на жёстком диске компьютера как надёжные расположения. При открытии файлов, хранящихся в таких расположениях, Excel не выполняет стандартную проверку безопасности макросов. Другими словами, если поместить файл Excel в папку, которая объявлена надёжной, то при открытии этого файла все макросы, записанные в нём, будут запущены независимо от состояния параметров безопасности.
Microsoft по умолчанию присваивает некоторым расположениям статус надёжных, их список хранится в разделе параметров безопасности Excel. Открыть список надёжных расположений можно так:
Excel 2007
- Откройте главное меню Excel, для этого кликните по большой круглой кнопке Office в левом верхнем углу. Далее нажмите Параметры Excel (Excel Options).
- В появившемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
- В меню слева нажмите Надёжные расположения (Trusted Locations).
Excel 2010 или 2013
- На вкладке Файл (File) нажмите Параметры (Options).
- В открывшемся диалоговом окне выберите Центр управления безопасностью (Trust Center) и нажмите кнопку Параметры центра управления безопасностью (Trust Center Settings).
- В меню слева нажмите Надёжные расположения (Trusted Locations).
Если нужно сохранить книгу Excel в другом расположении и по-прежнему разрешать выполнение макросов, то можно добавить выбранную папку в список надёжных расположений. Это делается так:
- В разделе Надёжные расположения (Trusted Locations) нажмите кнопку Добавить новое расположение (Add new location).
- Выберите папку, которую нужно объявить надёжным расположением и нажмите ОК.
Предупреждение: Не рекомендуется добавлять в список надёжных расположений большие разделы жёсткого диска, например, целиком папку Мои документы (My Documents), так как при этом значительно возрастает риск выполнения макроса, полученного из ненадёжного источника.
Безопасность макросов в Excel 2003
В Microsoft Office 2003 существует 4 уровня безопасности макросов, управлять которыми можно в меню Excel. К ним относятся:
- Высокая / Очень высокаяЭти два уровня разрешают запуск макросов только из надёжных источников. Все прочие макросы не будут запущены. При открытии книги Excel не уведомляет о том, что эта книга содержит макросы, поэтому пользователь может не понять причину, по которой книга Excel не работает так, как должна.
- СредняяЕсли в книге присутствуют макросы, то при открытии книги появится окно уведомления с вопросом, следует ли эти макросы запускать.
- НизкаяВсе макросы выполняются. При открытии книги Excel не появляется уведомление о том, что в ней содержатся макросы. Соответственно пользователь может не знать, что какой-либо макрос выполняется, пока открыт файл.
Если хотите запустить макрос в Excel 2003, то безопасность макросов должна быть выбрана Низкая (Low) или Средняя (Medium).
Чтобы открыть и настроить параметры безопасности макросов в Excel 2003, нужно:
Чтобы новые настройки безопасности макросов вступили в силу, потребуется перезапустить Excel.
Читайте также: