1

我有一羣只有「mydatabase」上的dbreader的用戶「讀者」。 我有一個存儲過程 「SP」 中指出:設置值得信賴 - 這是一個不好的做法?如果有,還有其他的選擇


1 - 「MyDatabase的」 內更新數據,

2 - 截斷數據庫中的 「MyDatabase的」 表格 - 這是使用動態SQL這樣做,因爲我們不知道需要被截斷

3的表的名稱 - 「mydatabse2」

4的內部表更新記錄 - 裏面插入表中的記錄在「mydatabse3」


我整理這個問題的出路是:

1 - 我將所有這三個數據庫的數據庫店主送

2 - 我改變了存儲過程「SP」被EXECUTE作爲所有者

3 - 我設置的所有這些3個數據庫是值得信賴的ON


所有運行良好。

我的關心,在這裏,因此這個問題是:

有沒有留下任何打開的嚴重安全空隙利用TRUSTWORHY ON?

我找不到任何嚴重的問題,所以我將此開啓。

除非有人在這裏可以提醒我,也許我錯過了一些東西。

回答

1

TRUSTWORTHY選項在爲特定數據庫設置時允許來自該數據庫的代碼訪問外部對象(例如其他數據庫)的外部對象。

由於唯一需要外部訪問的代碼是mydatabase,因此您可以安全地關閉其餘兩個選項。

選項本身並不特別危險;畢竟,在SQL Server 2005首次出現之前,只要您擁有足夠的權限,一切都可以立即訪問。我無法回想起那個時代有關該主題的任何特別的抱怨。只要確保你保持db_owner成員的數量合理小,通常就足夠了。

+0

F.Wolf,+1,謝謝 - 我會在這裏做更多的測試 – 2014-10-17 15:11:21

+0

有潛在的特權升級問題 - 請參閱http://akawn.com/blog/2012/10/a-warning-about-the-trustworthy -database選項/ – Nathan 2015-01-05 18:59:05

相關問題