2011-09-23 61 views
4

我的任務是設計一個.Net應用程序,它將從特定服務器下載一個sql腳本文件並對數據庫執行該文件。我能想到的一些安全步驟我會想包括:下載並執行SQL腳本 - 有哪些安全問題+解決方案?

  1. 使用服務器(SFTP)安全連接
  2. 數據庫用戶只具有一定的訪問權限(插入,在特定表更新數據)
  3. 我建議在單獨的數據庫實例中對事務進行沙箱處理。 不幸的是,他們說傳輸數據集太大,因此這個 是實用的。

我主要擔心的是不僅允許某人在一個非常大的數據庫中有目的地破壞信息,而且理想情況下還有助於防止意外損壞。

問題:

  1. 我錯過了什麼?有什麼最好的做法,記住 這種事情?
  2. 對於中間人攻擊來說,驗證服務器證書的最佳方式是什麼?

回答

0

我會實現你的第2點儘可能的限制性,但顯然你的腳本必須被允許做一些東西。所以你必須相信提供腳本的人。爲了確保你執行一個真正來自你信任的人的腳本,我將簽署腳本並在執行腳本之前驗證簽名。所以你可以確定它沒有被其他人修改過。

1

第1點)

  • 保存審計日誌。
  • 無論在多大程度上幫助用戶創建這些SQL腳本。選擇表格名稱,選擇命令的單選按鈕,列選擇器等下拉菜單,這將有助於防止事故發生。
  • 理想情況下,您可以在任何特定腳本執行之前回滾到(想想銀行如何重播您的交易以驗證您的賬戶餘額是否有問題)。根據更新的頻率和這些數據的重要性,只需進行一些日常備份而不是實際的轉錄歷史記錄即可。

到點2)

相關問題