Web Hizmetleri - Güvenlik

Web hizmetleri için güvenlik çok önemlidir. Ancak, ne XML-RPC ne de SOAP belirtimleri, herhangi bir açık güvenlik veya kimlik doğrulama gereksinimi getirmez.

Web hizmetlerinde üç özel güvenlik sorunu vardır -

  • Confidentiality
  • Authentication
  • Ağ güvenliği

Gizlilik

Bir müşteri bir sunucuya bir XML talebi gönderirse, iletişimin gizli kalmasını sağlayabilir miyiz?

Cevap burada yatıyor -

  • XML-RPC ve SOAP, öncelikle HTTP'nin üzerinde çalışır.
  • HTTP, Secure Sockets Layer (SSL) desteğine sahiptir.
  • İletişim, SSL ile şifrelenebilir.
  • SSL kanıtlanmış bir teknolojidir ve yaygın olarak kullanılmaktadır.

Tek bir web hizmeti, bir uygulama zincirinden oluşabilir. Örneğin, büyük bir hizmet, diğer üç uygulamanın hizmetlerini birbirine bağlayabilir. Bu durumda SSL yeterli değildir; mesajların hizmet yolu boyunca her bir düğümde şifrelenmesi gerekir ve her düğüm, zincirdeki potansiyel zayıf bir bağlantıyı temsil eder. Şu anda, bu sorun için üzerinde mutabık kalınan bir çözüm yoktur, ancak ümit verici bir çözüm, W3C XML Şifreleme Standardıdır. Bu standart, tüm XML belgelerini veya bir XML belgesinin yalnızca bölümlerini şifrelemek ve deşifre etmek için bir çerçeve sağlar. Bunu www.w3.org/Encryption adresinden kontrol edebilirsiniz.

Doğrulama

Bir müşteri bir web hizmetine bağlanırsa, kullanıcıyı nasıl tanımlarız? Kullanıcı servisi kullanma yetkisi var mı?

Aşağıdaki seçenekler düşünülebilir, ancak güçlü bir kimlik doğrulama şeması üzerinde net bir fikir birliği yoktur.

  • HTTP, Temel ve Özet kimlik doğrulaması için yerleşik destek içerir ve bu nedenle hizmetler, şu anda HTML belgelerinin korunduğu şekilde korunabilir.

  • SOAP Dijital İmza (SOAP-DSIG), SOAP mesajlarını dijital olarak imzalamak için açık anahtar şifrelemesini kullanır. İstemci veya sunucunun diğer tarafın kimliğini doğrulamasını sağlar. Www.w3.org/TR/SOAP-dsig adresinden kontrol edin .

  • Yapılandırılmış Bilgi Standartlarını Geliştirme Kuruluşu (OASIS), Güvenlik Onayı Biçimlendirme Dili (SAML) üzerinde çalışmaktadır.

Ağ güvenliği

Şu anda bu sorunun kolay bir cevabı yok ve çok tartışılan bir konu oldu. Şimdilik, gerçekten SOAP veya XML-RPC mesajlarını filtrelemeyi düşünüyorsanız, içerik türünü text / xml olarak ayarlayan tüm HTTP POST isteklerini filtrelemek bir olasılıktır.

Diğer bir alternatif, SOAPAction HTTP başlık özniteliğini filtrelemektir. Güvenlik duvarı satıcıları da şu anda web hizmeti trafiğini filtrelemek için açıkça tasarlanmış araçlar geliştiriyor.