Безопасное развертывание (Система 2003)
Обновлен: Ноябрь 2007
Применимость |
---|
Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
При создании решения Visual Studio Tools for Office в локальную политику безопасности автоматически вносятся изменения, необходимые для разрешения выполнения кода проекта. Однако, при развертывании решения необходимо явно обновить политики безопасности на каждом компьютере, на котором будет использоваться решение, чтобы предоставить коду сборки полномочия на выполнение и получение доступа к объектной модели Office.
Для настроек на уровне документа при развертывании документа в сетевом размещении также необходимо обновить политику безопасности документа. Дополнительные сведения о настройке политики безопасности на компьютерах конечных пользователей см. в разделе Развертывание политики безопасности. Дополнительные сведения о настройках уровня документа см. в разделе Архитектура настроек на уровне документа.
Строгие имена и сертификаты
Рекомендуемый способ безопасного развертывания решений — это задание строгих имен для сборок, подпись их с помощью сертификата Authenticode (x.509) или выполнение обоих действий одновременно для обеспечения дополнительной безопасности и управляемости. Строгие имена и подписи Authenticode предоставляют высокий уровень безопасности, поскольку они сильно затрудняют изменение кода для посторонних лиц без отмены строгого имени или подписи. Подписи Authenticode имеют также дополнительные преимущества:
Для подписей Authenticode можно задать отметку времени.
Сертификаты можно отозвать.
Сертификат содержит удостоверение издателя.
Дополнительные сведения о сборках со строгими именами см. в разделах Сборки со строгими именами и Создание и использование сборок со строгими именами.
Дополнительные сведения о подписях Authenticode см. в разделе Развертывание и подпись Authenticode.
Выбор уровня безопасности
Необходимо взвесить преимущества безопасности строгих правил и преимущества администрирования с использованием нестрогих правил и выбрать подходящий уровень доверия. Например, если решения всегда будут развертываться на сервере "\\appserver\" и подписываться корпоративным сертификатом, выберите правило, которое доверяет только корпоративному сертификату сервера "\\appserver\". Это защитит от пользователей-злоумышленников, которые могут украсть сертификат и опубликовать код в Интернете (т.к. код не считается надежным, если он не исходит от \\appserver\). Это также означает, что при попытке сохранения сборок на другом сервере в будущем снова потребуется обновить политику безопасности.
Если нет уверенности в том, где будут развернуты решения, то золотой серединой будет доверять сертификату или строгому имени локального компьютера и локальной интрасети. Если планируется распространение кода через Интернет, то также можно использовать зону Надежные узлы в параметрах безопасности обозревателя Internet Explorer. Не следует доверять сертификату из зоны Интернет, Ограниченные узлы или верхнего уровня (All Code) до те пор, пока в этом не возникнет серьезная необходимость. В случае такой необходимости, нужно принять соответствующие меры предосторожности, чтобы гарантировать безопасность кода даже в том случае, если пользователи-злоумышленники смогут его получить. Дополнительные сведения см. в разделе Управление доступом для кода.
Дополнительные сведения о возможных угрозах см. в разделе Рекомендации по обеспечению безопасности для решений Office.
Предоставление доступа к сборке
Один из вариантов развертывания настроек уровня документа заключается в развертывании сборки в сетевом размещении, а документов — локально, для каждого пользователя. Аналогично для надстроек уровня приложения можно выполнить развертывание сборки надстройки в сетевом размещении. Сборка не будет выполняться в решении Office до тех пор, пока она не будет надежной. Подпишите сборку цифровой подписью и предоставьте право на запись в место размещения только системным администраторам (и всем тем, кто должен иметь возможность изменять сборку). Дополнительные сведения об обеспечении безопасности сборки перед выполнением развертывания см. в разделе Вопросы безопасности сборок.
Для установки политики, доверяющей сборке, на уровне предприятия можно использовать средство настройки платформы Microsoft .NET Framework 2.0 или средство управления доступом для кода (Caspol.exe).
Дополнительные сведения о средстве настройки платформы .NET Framework см. в разделе Средство настройки .NET Framework (Mscorcfg.msc). Дополнительные сведения о средстве Caspol.exe см. в разделах Средство настройки политики управления доступом для кода (Caspol.exe) и Настройка политики безопасности с помощью средства для настройки политики управления доступом для кода (Caspol.exe).
Перед выполнением развертывания сборки в конечное расположение (или обновлением уже развернутой сборки) проверьте политику безопасности и определите, какое свидетельство нужно использовать для минимизации рисков. Дополнительные сведения см. в разделе Требования безопасности при выполнении решений Office (для системы 2003).
Защита документов в сети
Для настроек уровня документа, если документ расположен на сервере или в сетевой папке, URL-адрес документа должен получить полное доверие. Это лучше всего подходит для шаблонов или отдельных документов, которые могут быть изменены только доверенными сторонами. Следует убедиться, что не пользующиеся доверием пользователи не имеют разрешения на изменение или замену документа в общей папке.
Если администратор хочет предоставить пользователям доступ к документам, находящимся в общей папке, например, на портале SharePoint, то необходимо изменить политику для включения новой группы кода для документов. Группа кода выключает условия членства, которые выполняют поиск документов Office, представляющих части свидетельства и позволяет администраторам принимать соответствующие решения о доверии (так же, как администраторы должны добавлять группу кода к явному доверию сборки). Дополнительные сведения см. в разделе Практическое руководство. Предоставление разрешения документам и книгам в общих расположениях (система 2003).
Рассылка по электронной почте
По умолчанию сборка не выполняется, если документ открывается прямо из сообщения электронной почты (для настроек уровня документа). Однако документ можно сохранить на локальный жесткий диск и затем открыть как обычно. Если в документе содержится полный путь к сборке с уровнем полного доверия в манифесте приложения, то решение выполняется.
Допустимо, но не рекомендуется разрешение на размещение кода для документов во временной папке Outlook. Это представляет угрозу безопасности от низкого до среднего уровня, поскольку если в разворачиваемой сборке, для которой было предоставлено полное доверие, существует слабое место, пользователь-злоумышленник может воспользоваться этой уязвимостью и присоединить документ, указывающий на сборку в сообщении электронной почты и попросить получателя открыть его. В случае успеха атакующий может, например, получить доступ к безопасному узлу интрасети с помощью учетных данных своей жертвы. Обратите внимание, что сборке все еще потребуется явно предоставить полное доверие; атакующий сам не сможет создать документ и сборку и обманом заставить пользователя выполнить ее.
Изменение политики безопасности
Если администратор настраивает разрешения для документа или сборки, то пользователи должны выйти и перезапустить все приложения Office, чтобы изменения вступили в силу.
Иногда процесс приложения Office продолжает выполняться после завершения пользователем приложения, что помешает применить изменения политики безопасности. Проверьте Диспетчер задач и убедитесь в том, что приложение Office не находится в списке активных процессов.
Другие приложения, размещающие приложения Office, также могут мешать применению новых разрешений. Во время изменения политики безопасности пользователи должны завершить все приложения, размещенные или изолированные, которые используют Office, в том числе обозреватель Internet Explorer.
Предотвращение выполнения кода настроек уровня документа
Администраторы могут использовать реестр для предотвращения выполнения на компьютере любых настроек уровня документа. При открытии документа Word или рабочей книги Excel с расширениями управляемого кода, среда выполнения Visual Studio Tools for Office проверяет, существует ли запись с именем Disabled в одном из следующих разделов реестра на компьютере:
HKEY_CURRENT_USER\Software\Microsoft\VSTO
HKEY_LOCAL_MACHINE\Software\Microsoft\VSTO
Для предотвращения выполнения кода настроек уровня документа создайте запись Disabled в одном или обоих разделах реестра и укажите один из следующих типов данных и значений для Disabled:
REG_SZ или REG_EXPAND_SZ для которого задается любая строка со значением, отличным от "0" (ноль).
REG_DWORD для которого задается любое значение, отличное от 0 (ноль).
При отключенных настройках уровня документа пользователи смогут открывать документы и вносить в них изменения, но код в сборке не выполняться не будет. Чтобы разрешить выполнение кода настроек уровня документа, присвойте обоим записям Disabled значение 0 или удалите их из реестра.
См. также
Задачи
Практическое руководство. Развертывание решений Office (система 2003)
Практическое руководство. Удаление расширений управляемого кода из документов (система 2003)
Практическое руководство. Развертывание автономного использования документов (2003 System)
Основные понятия
Модели развертывания (система 2003)
Развертывание настроек уровня документа (системы 2003)
Развертывание решений Office (система 2003)
Развертывание надстроек уровня приложения (система 2003)