Примечания по безопасности для разработчиков решений Office

Настройка безопасности Office в тестовой среде

Примечание.

Вы можете включать код Visual Basic для приложений (VBA) или запускать надстройки COM только в документе, листе или презентации с поддержкой макросов. Вы можете создать файл с поддержкой макросов, сохранив документы с расширением DOCM или DOTM в Word. расширение .xlsm, .xltm или .xlam в Excel; или расширение .pptm, .potm, .ppam или .ppsm в PowerPoint.

Чтобы установить и запустить неподписаную надстройку COM, на вкладке Надстройки в Центре управления безопасностью должны быть сняты флажки Требовать подпись надстроек приложений доверенным издателем и Отключить все надстройки приложений. Чтобы открыть вкладку Надстройки, перейдите на вкладку Файл, а затем выберите Параметры> Центрауправления безопасностью Параметры Надстройки> центрауправления безопасностью>.

Чтобы запустить все макросы VBA, включая те, которые не имеют цифровой подписи, следует выбрать параметр Включить все макросы в центре управления безопасностью. Чтобы просмотреть параметры параметров макросов , перейдите на вкладку Файл , а затем выберите Параметры>центра>управления безопасностью Параметры центра управления безопасностью Параметры>макросов. Из соображений безопасности настоятельно рекомендуется делать это только в тестовой среде. После завершения тестирования установите для параметров исходные значения.

На вкладке Параметры макросов центра управления безопасностью задайте для параметра Отключить все макросы без уведомления, Отключить все макросы с уведомлением или Отключить все макросы, кроме макросов с цифровой подписью. Отключите макросы, сохранив документ Word, лист Excel или презентацию PowerPoint в виде файлов, отключенных от макросов (DOCM, XLSM или PPTM соответственно). Задайте или отключите доступ к объектной модели проекта VBA на вкладке Параметры макросов , выбрав или снимите флажок Доверять доступу к объектной модели проекта VBA .

Примечание.

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

Список доступных надстроек см. на вкладке Надстройки в Центре управления безопасностью. На той же вкладке включите, отключите, добавьте или удалите надстройки COM или Word, выбрав тип надстройки в раскрывающемся списке рядом с меткой Управление , а затем нажмите кнопку Перейти .

Изменение реестра Windows

Изменение реестра Windows любым способом, будь то в редакторе реестра или программным способом, всегда сопряжено с определенной степенью риска. Неправильное изменение может привести к серьезным проблемам, для устранения которых может потребоваться переустановка операционной системы. Прежде чем изменять реестр компьютера, рекомендуется создать резервную копию реестра компьютера. Если вы используете Microsoft Windows NT, Windows 2000, Windows XP или Windows Server 2003, вам также следует обновить диск аварийного восстановления (ERD).

Сведения о том, как изменить реестр, см. в разделе Справки Изменение ключей и значений в редакторе реестра (Regedit.exe) или в разделах Добавление и удаление сведений в реестре и Изменение сведений о реестре в редакторе реестра (Regedt32.exe).

Вызовы функций API Windows

Прежде чем вызывать функции API Windows, необходимо понять, как аргументы и типы данных обрабатываются библиотеками DLL API Windows. Неправильный вызов функций Windows может привести к сбоям в виде недопустимых страниц и другим непредвиденным событиям. Дополнительные сведения о том, как вызывать функции Windows, см. в разделе "Api Windows и другие библиотеки Dynamic-Link" в документации разработчика Office 2000 в Интернете.

Код цифровой подписи

Цифровое подписывание документа — это процесс нанесения метки на документ, чтобы его получатель мог быть уверен, что документ поступил из определенного источника, и мог определить, изменялось ли содержимое документа после его подписания. Кроме того, цифровые подписи можно использовать для пометки документа как доступного только для чтения, чтобы защитить его подлинность и целостность.

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

Базовая процедура по заданию цифровой подписи для документа включает в себя следующие шаги:

  1. Инициатор документа сжимает содержимое документа на несколько строк с помощью процесса, называемого хэшированием. Сжатое содержимое называется дайджестом сообщений. Хэширование выполняется специально предназначенным для этого программным обеспечением.
  2. После этого отправитель документа шифрует этот хэш с использованием закрытого ключа, полученного у заверителя подписи. В результате получается цифровая подпись.
  3. Отправитель прикрепляет цифровую подпись к документу. Все данные, которые были хэшированы, теперь подписаны, а подпись была зашифрована и прикреплена к документу.
  4. После этого отправитель отправляет документ получателю.
  5. Получатель сначала расшифровывает документ, используя полученный от отправителя открытый ключ. При этом подпись преобразуется обратно в хэш. Если этот процесс выполняется, значит документ был подписан отправителем.
  6. Получатель с использованием программного обеспечения для работы с цифровыми подписями хэширует документ и сравнивает этот хэш с хэшем, полученным от отправителя. Если они совпадают, значит содержимое документа не изменялось с момента отправки его отправителем.

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

В Office 2007 также были представлены элементы, которые упростили программную обработку встроенных подписей и цифровых подписей.

Безопасное развертывание управляемых надстроек COM в Office

Чтобы обеспечить безопасность Office, управляемые надстройки COM (надстройки COM, предназначенные для среды CLR) должны иметь цифровую подпись, а параметры безопасности пользователей должны быть заданы в Центре управления безопасностью Office, чтобы разрешить надстройки в приложениях Office. Кроме того, вам следует встроить в свой проект управляемой надстройки COM небольшой неуправляемый прокси-сервер, также называемый оболочкой совместимости, чтобы предотвратить возникновение непредвиденных предупреждений о безопасности.

Автоматизация редактора Visual Basic

В Office при вызове функций объектной модели расширения Visual Basic для приложений может появиться сообщение об ошибке о том, что программный доступ к проекту Visual Basic не является доверенным. Чтобы предотвратить появление этого сообщения, перейдите на вкладку Файл вкладка >Параметры>Центра управления безопасностью , а затем выберите Параметры центра управления безопасностью. Затем на вкладке Параметры макросов выберите поле Доверять доступу к объектной модели проекта VBA . Установив этот флажок, вы позволяете макросам в любых открытых документах с поддержкой макросов получать доступ к основным объектам, методам и свойствам Visual Basic.

Выбор этого параметра создает потенциальную угрозу безопасности. Рекомендуется установить флажок Доверять доступ к объектной модели проектов VBA только на время работы макроса, осуществляющего доступ к объектной модели Visual Basic. После завершения работы этого макроса убедитесь, что флажок Доверять доступ к объектной модели проектов VBA снят.

Использование паролей

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

Всегда используйте надежные пароли. Такие пароли должны содержать:

  • Символы в нижнем и верхнем регистре
  • Числа
  • Символы (например, #, $, %, и ^)
  • Не менее восьми символов

Надежные пароли не должны содержать шаблонных и тематических фрагментов, а также слов, которые можно найти в словаре.

Примеры надежных паролей:

  • $tR0n9p@$s
  • G80dn[s$M4!

Примечание.

Вам следует регулярно — например, раз в один-три месяца — менять пароли.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.