Веб-службы - Безопасность

Безопасность критически важна для веб-сервисов. Однако ни спецификации XML-RPC, ни SOAP не содержат явных требований к безопасности или аутентификации.

Существует три конкретных проблемы безопасности с веб-службами:

  • Confidentiality
  • Authentication
  • Сетевая безопасность

Конфиденциальность

Если клиент отправляет XML-запрос на сервер, можем ли мы гарантировать конфиденциальность связи?

Ответ лежит здесь -

  • XML-RPC и SOAP в основном работают поверх HTTP.
  • HTTP имеет поддержку Secure Sockets Layer (SSL).
  • Связь может быть зашифрована через SSL.
  • SSL - проверенная и широко распространенная технология.

Один веб-сервис может состоять из цепочки приложений. Например, одна большая служба может связывать вместе службы трех других приложений. В этом случае SSL не подходит; сообщения должны быть зашифрованы на каждом узле на пути обслуживания, и каждый узел представляет собой потенциально слабое звено в цепочке. В настоящее время не существует согласованного решения этой проблемы, но одним из многообещающих решений является стандарт шифрования XML W3C. Этот стандарт обеспечивает основу для шифрования и дешифрования целых XML-документов или только частей XML-документа. Вы можете проверить это на сайте www.w3.org/Encryption.

Аутентификация

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

Могут быть рассмотрены следующие варианты, но нет четкого консенсуса в отношении строгой схемы аутентификации.

  • HTTP включает встроенную поддержку базовой и дайджест-аутентификации, поэтому службы могут быть защищены во многом так же, как в настоящее время защищаются документы HTML.

  • Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Это позволяет клиенту или серверу проверять личность другой стороны. Проверьте это на www.w3.org/TR/SOAP-dsig .

  • Организация по развитию стандартов структурированной информации (OASIS) работает над языком разметки утверждений безопасности (SAML).

Сетевая безопасность

В настоящее время нет простого ответа на эту проблему, и она является предметом многочисленных споров. На данный момент, если вы действительно намерены отфильтровать сообщения SOAP или XML-RPC, одна из возможностей - отфильтровать все запросы HTTP POST, которые устанавливают их тип содержимого как text / xml.

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