簡體   English   中英

使用 Web 服務保護數據庫

[英]Using a web service to secure a database

有傳言說我公司的團隊很快將使用 Web 服務進行所有未來的應用程序開發。 架構應該是這樣的:

應用程序 --> Web 服務 --> 數據庫

其背后的陳述理由是安全性。 這聽起來像是在浪費時間,但幾乎沒有任何好處。 我的問題是,Web 服務在哪些方面使您的數據比數據庫更安全? 我認為,如果攻擊者想要獲取您的所有數據並且已經進入應用服務器,那么弄清楚應用程序如何獲取數據將是相當簡單的。

請記住,這些 Web 服務將純粹用於數據,並且幾乎沒有業務/驗證邏輯,並且也不受應用程序開發人員的控制(至少這是它與所有以前使用 Web 的應用程序一起工作的方式)服務)。

關於 Web 服務的一件重要事情是互操作性,以便來自不同平台的不同應用程序以后可以利用這些服務和數據。 這樣做,您的公司將受益匪淺。 而且您對安全性的看法是正確的,這絕對是使用 Web 服務而不是公開數據庫的公共端點的充分理由之一,這很危險!

網絡服務使您的數據可訪問,例如,您的數據可以通過 javascript 在瀏覽器中訪問。 無法直接在 Javascript 中訪問服務器上的數據庫。

總而言之,去吧,這是正確的方法。

如果 Web 服務上沒有業務邏輯或驗證是真的,那么添加額外的抽象層只會帶來有限的安全優勢。 我說有限是因為您的應用程序和數據庫之間的接口仍然比它們直接相互通信時更加有限。

如果您將驗證和業務邏輯添加到等式中,則會帶來顯着的安全優勢,因為有權訪問應用程序帳戶的任何人都只能對數據庫執行應用程序能夠執行的操作。 此外,這是一個更好的設計,因為它減少了您的應用程序和數據如何存儲在數據庫中的實現細節之間的耦合。 如果您想更改數據庫架構,您只需更新 Web 服務,而不是整個應用程序。

安全論點是有問題的; 對 Web 服務進行身份驗證與對數據庫進行身份驗證沒有什么不同

一般來說,將數據庫操作轉移到 Web 服務和 SOA 是有正當理由的,但安全性不是其中之一

如果您使用網絡服務,希望您在將數據發送到數據庫時也會使用某種隊列。 如果您使用的是 Web 服務和隊列組合,那么安全性就會降低,丟失數據的機會就會減少。 如果您沒有 Web 服務和隊列組合,如果您將數據發送到數據庫並且它永遠不會到達那里,那么您就不會讓它消失,它就會消失。

您是對的,但如果有人想闖入您的系統,那么網絡服務將無濟於事並且您服務器上的任何安全功能只會認為是您的應用程序獲取了信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM