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

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

  • Kонфиденциальность
  • Аутентификация
  • Сетевая безопасность

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

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

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

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

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

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

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

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

  • HTTP включает встроенную поддержку аутентификации Basic и Digest, поэтому службы могут быть защищены таким же образом, как и в настоящее время защищенные HTML-документы.
  • Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Он позволяет клиенту или серверу проверять личность другой стороны. Проверьте его на http://www.w3.org/TR/SOAP-dsig.
  • Организация по внедрению стандартов структурированной информации (OASIS) работает над языком разметки безопасности (SAML).

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

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

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




Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok