Рекомендации по работе со службами Excel
Дата последнего изменения: 14 апреля 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Угрозы при переносе
Пользовательские функции (UDF) служб Excel
Общие
Этот раздел содержит список рекомендаций по работе с Excel.
Угрозы при переносе
Анонимный доступ и раскрытие сведений
Следующая комбинация параметров предоставляет анонимным пользователям доступ к любым файлам в общей папке, к которой имеет доступ учетная запись процесса. Поэтому ее использование не рекомендуется из-за возможного раскрытия сведений:
Анонимный доступ к Microsoft SharePoint Foundation включен.
Имеется надежное UNC-расположение и параметр Учетная запись процесса включен.
Примечание |
---|
Учетная запись процесса — это глобальный параметр Excel, влияющий на все надежные расположения. |
Чтобы просмотреть параметр "Учетная запись процесса"
В меню Пуск выберите пункт Все программы.
Наведите указатель мыши на элемент Продукты Microsoft SharePoint 2010, а затем выберите пункт Центр администрирования SharePoint.
На странице Управление приложениями выберите команду Управление приложениями-службами.
На странице "Управление приложениями-службами" выберите пункт Приложение служб Excel.
На странице Приложение служб Excel выберите пункт Глобальные параметры.
В разделе Безопасность, в подразделе Способ доступа к файлам, просмотрите значение параметра Учетная запись процесса.
Атака типа "отказ в обслуживании"
При выполнении атаки типа "отказ в обслуживании" на веб-службу злоумышленник создает очень большие индивидуальные запросы к веб-службе. Целью является попытка эксплуатации предельных возможностей одного или нескольких входных значений веб-службы.
Рекомендуется установить для параметра служб IIS веб-службы максимальный размер запроса.
Используйте атрибут maxRequestLength в элементе httpRuntime элемента system.web для предотвращения атак типа "отказ в обслуживании", вызываемых пользователями, которые размещают большие файлы на сервере. Размер по умолчанию — 4096 КБ (4 МБ).
Дополнительные сведения см. в статьях <httpRuntime> Element и <maxRequestLength> Element.
Перехват между вызывающим приложением и компьютером веб-службы
Если вызывающее приложение и Excel развернуты на разных компьютерах, злоумышленник может прослушивать сетевой трафик для обнаружения передачи данных между вызывающим приложением и веб-службой. Эта угроза также имеет названия "пассивное прослушивание сети" или "подслушивание ".
Для снижения этой угрозы разработаны следующие рекомендации.
Используйте протокол SSL для создания безопасного канала с целью защиты передачи данных между клиентом и сервером. Протокол SSL помогает защитить данные от анализа пакетов сторонами, имеющими физический доступ к сети.
Физически защитите сеть, если настраиваемое приложение, использующее Excel, выполняется в ограниченной сети — например, если развертывание Excel выполнено на интерфейсном веб-компьютере предприятия.
Дополнительные сведения см. в статье Securing Your Network и статье, посвященной безопасности SOAP (Возможно, на английском языке).
Сведения о топологии, масштабируемости, производительности и безопасности Excel см. в техническом центре Microsoft SharePoint Server 2010.
Спуфинг
Рекомендуется использовать протокол SSL для ослабления угроз взлома IP-адресов и портов веб-службы, а также для защиты от получения злоумышленниками запросов и отправки ответов от имени веб-службы.
SSL-сертификат проверяется по нескольким свойствам, одним из которых является IP-адрес, с которого поступает сообщение. Злоумышленник не может подменить IP-адрес, если он не имеет SSL-сертификата веб-службы.
Дополнительные сведения см. в статье Securing Your Network.
Пользовательские функции (UDF) служб Excel
Зависимости строгих имен
В некоторых случаях сборка пользовательской функции (UDF) зависит от других сборок, развернутых с ней. Эти зависимые библиотеки DLL загружаются успешно, если находятся в глобальном кэше сборок или в одной папке с данной сборкой UDF.
Однако в последнем случае возможен сбой загрузки, если вычислений Excel уже загружена другая сборка с таким же именем. (Сбой происходит либо из-за того, что имя сборки не строгое, либо потому, что была развернута и загружена другая версия с тем же именем.)
Рассмотрим следующий сценарий со следующей структурой каталогов:
C:\Udfs\Udf01
Папка Udf01 содержит:
Udf01.dll
dependent.dll (не со строгим именем)
файл Udf01.dll имеет зависимости от файла dependent.dll.
C:\Udfs\Udf02
Папка Udf02 содержит:
Udf02.dll (зависит от Interop.dll)
dependent.dll (не со строгим именем)
Файл Udf02.dll имеет зависимость от файла dependent.dll. Зависимость Udf01.dll и зависимость Udf02.dll используют одно и то же имя. Но файл dependent.dll, зависимый от Udf02.dll, не является тем же, что файл dependent.dll, зависимый от Udf01.dll.
Предположим следующий ход событий:
Udf01.dll является первой загружаемой библиотекой DLL. вычислений Excel выполняет поиск файла dependent.dll и загружает зависимость Udf01.dll, которой в данном случае является dependent.dll.
Udf02.dll загружается после Udf01.dll. вычислений Excel видит, что Udf02.dll зависит от dependent.dll. Однако библиотека DLL с именем "dependent.dll" уже загружена. Поэтому зависимый от Udf02.dll файл dependent.dll не загружается, а в качестве зависимости используется уже загруженный файл dependent.dll.
В результате объект — в данном случае, файл dependent.dll, необходимый Udf02.dll, — не загружается в память.
Во избежание конфликта имен рекомендуется задавать для зависимостей строгие и уникальные имена.
Общие
Именование библиотек DLL с управляемым кодом
Чтобы гарантировать уникальность имен сборок, используйте полное имя класса в соответствии с рекомендациями статьи Namespace Naming Guidelines.
Например, используйте CompanyName.Hierarchichal.Namespace.ClassName вместо Namespace.ClassName.
См. также
Задачи
Инструкции по определению надежного расположения