為 SQL Server 2008 R2 帳戶設置密碼
我剛剛獲得了對安裝了 SQL Server 2008 R2 的新 Windows Web Server 2008 R2 的訪問權限。當我打開 SQL Server Management Studio 並嘗試連接時,它會使用 Windows 身份驗證進行連接,但是它不會要求我輸入密碼,並且連接成功。
我擔心(希望不是)不應該訪問伺服器的人這樣做,然後可以輕鬆連接到 SQL Server Management Studio,甚至不需要輸入密碼,然後就可以訪問數據庫。例如,竊取了 Windows Web Server 登錄詳細資訊的人。他們現在登錄到 Web 伺服器,並且由於他們使用的登錄詳細資訊標識了該使用者使用 Windows 身份驗證訪問 SQL Server 的權限(不需要密碼),因此他們可以訪問數據庫和數據。
確保任何想要訪問我的數據庫的人都必須輸入密碼的最佳方法是什麼?
我知道我可以在 SQL Server 中創建使用者帳戶並將使用者分配給特定數據庫(SQL Server 身份驗證),但這並不能解決使用者不應該在伺服器上的問題,只需選擇 Windows 身份驗證類型,輸入沒有密碼,並且可以完全訪問我的數據庫。
有人可以就此提出建議嗎?
謝謝各位。
如果您擔心保護數據庫免受獲得訪問該框的惡意使用者的侵害,那麼您無能為力。如果您的伺服器上的 Windows 登錄受到威脅,他們可以輕鬆地將數據庫置於單使用者模式並獲取其中的任何內容,而無需有效憑據。這就是為什麼您通常會看到 Web 層位於 DMZ 中而數據庫層位於防火牆的受信任端且兩者之間僅打開特定埠的場景的原因。
擔心保持你的盒子打更新檔和安全,不要擔心如果有人入侵你的盒子並擁有特權憑據,他們可能會看到你的數據庫。如果他們已經在那個時候,他們已經擁有了他們需要的一切。
只需選擇 Windows 身份驗證類型,不輸入密碼,即可完全訪問我的數據庫。
我想你可能誤解了它是如何工作的。它不授予任何Windows 使用者訪問數據庫的能力,只授予您特別允許的那些。除非使用者已被授予登錄 SQL Server 實例的權限,否則 Windows 使用者無法獲得它。我假設您可以,因為您的使用者帳戶已被授予訪問權限。
如果要查看所有具有訪問權限的登錄名(使用者、組和 SQL 登錄名),您可以執行
select loginname from master.dbo.syslogins
. 您可以對照應允許訪問的人員檢查此列表,以確認您沒有意外授予不需要的權限。