Servizi Web - Sicurezza

La sicurezza è fondamentale per i servizi web. Tuttavia, né le specifiche XML-RPC né SOAP impongono requisiti espliciti di sicurezza o autenticazione.

Esistono tre problemi di sicurezza specifici con i servizi Web:

  • Confidentiality
  • Authentication
  • Sicurezza della rete

Riservatezza

Se un client invia una richiesta XML a un server, possiamo garantire che la comunicazione rimanga riservata?

La risposta sta qui -

  • XML-RPC e SOAP vengono eseguiti principalmente su HTTP.
  • HTTP ha il supporto per Secure Sockets Layer (SSL).
  • La comunicazione può essere crittografata tramite SSL.
  • SSL è una tecnologia collaudata e ampiamente utilizzata.

Un singolo servizio Web può essere costituito da una catena di applicazioni. Ad esempio, un servizio di grandi dimensioni potrebbe legare insieme i servizi di altre tre applicazioni. In questo caso, SSL non è adeguato; i messaggi devono essere crittografati in ogni nodo lungo il percorso del servizio e ogni nodo rappresenta un potenziale anello debole della catena. Al momento, non esiste una soluzione concordata a questo problema, ma una soluzione promettente è lo standard di crittografia XML W3C. Questo standard fornisce una struttura per crittografare e decrittografare interi documenti XML o solo parti di un documento XML. Puoi verificarlo su www.w3.org/Encryption

Autenticazione

Se un client si connette a un servizio web, come identifichiamo l'utente? L'utente è autorizzato a utilizzare il servizio?

Le seguenti opzioni possono essere prese in considerazione ma non c'è un chiaro consenso su uno schema di autenticazione forte.

  • HTTP include il supporto integrato per l'autenticazione Basic e Digest, e quindi i servizi possono essere protetti più o meno allo stesso modo in cui i documenti HTML sono attualmente protetti.

  • SOAP Digital Signature (SOAP-DSIG) sfrutta la crittografia a chiave pubblica per firmare digitalmente i messaggi SOAP. Consente al client o al server di convalidare l'identità dell'altra parte. Controllalo su www.w3.org/TR/SOAP-dsig .

  • L'Organizzazione per l'avanzamento degli standard di informazioni strutturate (OASIS) sta lavorando al Security Assertion Markup Language (SAML).

Sicurezza della rete

Al momento non esiste una risposta facile a questo problema ed è stato oggetto di molti dibattiti. Per ora, se sei veramente intenzionato a filtrare i messaggi SOAP o XML-RPC, una possibilità è filtrare tutte le richieste HTTP POST che impostano il tipo di contenuto su text / xml.

Un'altra alternativa è filtrare l'attributo dell'intestazione HTTP SOAPAction. I fornitori di firewall stanno attualmente sviluppando strumenti progettati esplicitamente per filtrare il traffico dei servizi web.