Поделиться через


Советы по использованию служб Excel

Этот раздел содержит список рекомендаций по работе со службами Excel.

Устранение угроз

Анонимный доступ и раскрытие информации

Следующая комбинация параметров предоставляет анонимным пользователям доступ к любым файлам в общей папке, к которой имеет доступ учетная запись процесса. Therefore, the following combination of settings is not recommended, because of the possibility of information disclosure:

  • Анонимный доступ к Microsoft SharePoint Foundation включен.
  • У вас есть надежное расположение UNC, и учетная запись процесса включена.

Примечание.

Учетная запись процесса — это глобальный параметр служб Excel, влияющий на все надежные расположения.

Как узнать, включена ли учетная запись процесса

  1. В меню Пуск выберите пункт Все программы.
  2. Наведите указатель мыши на элемент Продукты Microsoft SharePoint 2010 и выберите Центр администрирования SharePoint.
  3. На странице Управление приложениями выберите команду Управление приложениями-службами.
  4. На странице "Управление приложениями-службами" выберите Приложение Служб Excel.
  5. На странице Приложение Служб Excel выберите Глобальные параметры.
  6. В разделе Безопасности > Способ доступа к файлам найдите параметр Учетная запись процесса.

Атака типа "отказ в обслуживании"

При выполнении атаки типа "отказ в обслуживании" на веб-службу злоумышленник создает очень большие индивидуальные запросы к веб-службе. Целью является попытка эксплуатации предельных возможностей одного или нескольких входных значений веб-службы.

Мы рекомендуем использовать параметр Microsoft IIS, чтобы задать максимальный размер запроса для веб-службы.

Use the maxRequestLength attribute in the httpRuntime element in the system.web element to prevent denial of service attacks that are caused by users posting large files to the server. The default size is 4096 KB (4 MB).

Дополнительные сведения см. в разделах <элемент httpRuntime> и <элемент maxRequestLength>.

Перехват данных, передаваемых между вызывающим приложением и компьютером веб-службы

If the calling application and Веб-службы Excel are deployed to different computers, an attacker can listen to the network traffic for data transfer between the calling application and the Web service. This threat is also called "sniffing" or "eavesdropping."

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

  • Use Secure Sockets Layer (SSL) to set up a secure channel to protect data transfer between the client and the server. The SSL protocol helps to protect data against packet sniffing by anyone with physical access to the network.
  • Физически защитите соответствующую сеть, если приложение, использующее веб-службы Excel, выполняется в ограниченной сети — например, если веб-службы Excel развернуты на интерфейсном веб-сервере предприятия.

Дополнительные сведения см. в статьях Защита сети и безопасность SOAP.

Информацию о топологии, масштабируемости, производительности и безопасности служб Excel см. в техническом центре Microsoft SharePoint Server 2010.

Спуфинг

Мы рекомендуем использовать SSL, чтобы снизить риск перехвата IP-адресов и портов веб-службы и помешать злоумышленникам получать запросы и отвечать на них от имени веб-службы.

The SSL certificate is matched against a few properties, one of which is the IP address from which the message is coming. Злоумышленник не может подменить IP-адрес, если он не имеет SSL-сертификата веб-службы.

Дополнительные сведения см. в разделе Защита сети.

Пользовательские функции служб Excel (UDF)

Строгие зависимости имен

В некоторых случаях сборка пользовательской функции (UDF) зависит от других сборок, развернутых с ней. These dependent DLLs load successfully if they are in the global assembly cache, or if they are located in the same folder as the UDF assembly.

In the latter case, however, it is possible for the load to fail if Службы вычислений Excel has already loaded another assembly with the same name. (It fails either because the assembly is not strongly named, or because another version with the same name has been deployed and loaded.)

Рассмотрим следующий сценарий со следующей структурой каталогов:

  1. C:\Udfs\Udf01

    Папка Udf01 содержит:

    • Udf01.dll
    • dependent.dll (не строгое имя)

    Файл Udf01.dll зависит от файла dependent.dll.

  2. C:\Udfs\Udf02

    Папка Udf02 содержит:

    • Udf02.dll (который зависит от Interop.dll)
    • dependent.dll (не строгое имя)

    The Udf02.dll file has a dependency on the dependent.dll file. Зависимость Udf01.dll и зависимость Udf02.dll используют одно и то же имя. Но файл dependent.dll, зависимый от Udf02.dll, не является тем же, что файл dependent.dll, зависимый от Udf01.dll.

Предположим следующее:

  1. Udf01.dll is the first DLL to be loaded. Службы вычислений Excel looks for dependent.dll and loads Udf01.dll's dependency, which in this case is dependent.dll.
  2. Udf02.dll is loaded after Udf01.dll. Службы вычислений Excel sees that Udf02.dll depends on dependent.dll. However, a DLL with the name "dependent.dll" is already loaded. Поэтому зависимый от Udf02.dll файл dependent.dll не загружается, а в качестве зависимости используется уже загруженный файл dependent.dll.

В результате объект (в данном случае — файл dependent.dll, необходимый Udf02.dll) не загружается в память.

Чтобы избежать конфликта имен, рекомендуем давать зависимостям строгие и уникальные имена.

Общие

Именование DLL-файлов с управляемым кодом

Чтобы убедиться, что имена сборок уникальны, используйте полное имя класса в соответствии с рекомендациями по именованию пространства имен.

Например, используйте CompanyName.Hierarchichal.Namespace.ClassName вместо Namespace.ClassName.

См. также

Задачи

Понятия