2013年9月23日 星期一

排除安全性問題

資料庫狀況百百種,該如何對症下藥:
若有人在固定伺服器角色中加入或刪除成員,你要使用什麼方法記錄到Application Log?Server Audit Specification
若資料庫發生無法挽回的錯誤,你要使用什麼方法立即得到通知?Alert
若資料庫發生死結,你要用什麼方法去錄製這個過程以便可以在另一台測試機重現?SQL Profiler
你要使用什麼方法防止有人將稽核停掉?Policy

帳號驗證問題

啟用強制執行密碼原則

當 SQL Login 的「強制執行密碼原則」 (Enforce password policy) 被設定成啟用時, 該 SQL Server 帳戶就會依據「本機安全性原則」中的「帳戶鎖定原則」去限制帳戶登入的次數(Lockout Threshold)鎖定的時間(Lockout Duration),如下圖所示:

如果登入失敗次數超過設定值,帳號就會被鎖定。

查看帳號狀態

管理員可使用 SSMS 查看帳號狀態:

也可使用 sys.server_principals 系統檢視查看帳號狀態:

解除帳號鎖定

如果只是使用者不小心的行為,只要在鎖定時間過期之後,即可再次嘗試登入。

如果是忘了密碼,就必須由管理員重設密碼,才可解除鎖定。

或者你也可以使用 ALTER LOGIN 指令來重設帳號,以下這個設定為使用者必須先使用 abc123 登入,同時變更密碼設定。 而且這個帳戶將會繼續使用強制執行密碼原則。

ALTER LOGIN [user1] WITH
	DEFAULT_DATABASE = [master],
	PASSWORD = 'abc123' MUST_CHANGE Unlock,
	CHECK_POLICY = ON,
	CHECK_EXPIRATION  = ON

連線問題

有時候客戶端在帳號密碼都正確情況下,一直無法連線成功,這時候可以檢查一下 Browse Service 是否有正常啟動。

SQL Server Browser 是一支 Windows 服務程式。它會接聽客戶端對 SQL Server 的內送要求,並回應相關的 SQL Server 執行個體的資訊給客戶端。

更多詳情可參考 MSDN:SQL Server Browser 服務

憑證與金鑰問題(Certificates and Keys)

當使用憑證與金鑰時,有時會遇到突然無法登入的問題,通常這大都是憑證的有效期限問題。

你可以使用以下系統檢視,來查詢相關資訊:

更多詳情可參考 MSDN:SQL Server 憑證與非對稱金鑰

端點問題(Endpoints)

更多詳情可參考 MSDN:端點目錄檢視 (Transact-SQL)

與安全性相關的系統檢視

啟動問題

以最低組態啟動 SQL Server

如果有組態上的問題,而無法啟動伺服器,您可以使用最低組態啟動(minimal configuration mode)選項來啟動 SQL Server 的執行個體。 此為啟動選項 -f。 以最低組態啟動 SQL Server 的執行個體,會自動將伺服器設定為單一使用者模式。

例如當 tempdb 所在的磁碟損毀導至系統無法啟動,則可以加入 /f /T3608 的參數進入 minimal configuration mode 後,再使用 ALTER DATABASE 變更 tempdb 的存放路徑。

詳細做法可參考下面文章:

沒有留言:

張貼留言