2013-02-21 34 views
3

對於一個小型項目,我需要在MySQL中存儲一些數據。用戶遍佈全球,運行.net ClickOnce應用程序。所訪問的數據並不是真正的機密信息,即使有人可以訪問,這也不會從隱私的角度來看。通過Internet連接MySQL和.net應用程序是否有危險?

從技術上講,MySQL數據庫可能位於某個服務器上,並通過互聯網通過Connector/Net連接每個人。但這是可取的嗎?

  1. 協議穩定/足夠強大,足以處理緩慢的互聯網連接?
  2. 這會是一個嚴重的安全風險。數據的加密是不是的一個話題,但密碼加密是。將MySql數據庫(端口)打開到Internet會有危險嗎?

或者我可以通過Web服務或其他方式「包裝」數據庫訪問。但當然這是我想避免的一些開銷。那麼,通過互聯網連接MySQL是否有效?

備註:

回答

5

我建議爲您的遠程.NET應用程序實現一個REST Web服務層來與之通話。然後,您可以讓處理Web服務請求的服務器具有對數據庫的本地訪問權限,並且您不用擔心MySQL協議是否能夠勝任這項工作。

我的經驗是,MySQL協議可能工作在一個WAN上,但它真的打算在本地網絡上使用,所以WAN的延遲會使事務變得難以忍受。

此外MySQL服務器將不得不公開其端口(3306默認情況下),並沒有真正加強,所以除非通過VPN或stunnel連接,否則它將不安全。

MySQL客戶端/服務器協議不以明文傳輸密碼,它在發送之前在客戶端上散列密碼。但我明白MySQL連接器/ NET不使用MySQL客戶端,所以我不確定它是否在客戶端使用密碼散列做同樣的事情。

3

1)該協議是穩定的,使用它很長一段時間。

2)你不應該在你的本地網絡之外共享你的數據庫,這是一個很高的安全風險。你應該在你的數據庫服務器上創建一些圖層,你將從數據庫訪問數據。您還可以在client-sidedb之間創建WCF服務器。

相關問題