SQLServer 難以接受的安全策略

清風艾艾發表於2022-09-30

      最近,一個客戶透過sqlserver客戶端ssms本地登入資料庫例項,發現登陸不了。經過詢問,他計劃重新匯入sqlserver資料庫內的一個例項,於是將一個業務資料庫刪除掉,為了徹底釋放資源,他還重啟了主機。但是,主機重啟之後,發現再也無法透過ssms本地登入資料庫了。排查之後,發現他刪除的業務資料庫是sa管理賬號登陸的預設資料庫,由於sa管理員賬號預設資料庫被更改,並且sa登陸的預設資料庫被刪除,導致sa賬號無法無法透過本地登入。當然,ssms本地windows認證都無法登陸,其他遠端方式更無法登陸。

一、問題現象

    客戶反饋sqlserver無法透過ssms以windows或者使用者密碼方式登陸。

二、問題分析

     檢視作業系統日誌,明確提示sa登陸預設資料庫失敗,預設資料庫認證失敗。

     簡單詢問之下,是為了重新匯入一份業務資料庫,刪除了一個業務資料庫並且重啟了資料庫伺服器。檢視網上重置sa的登陸預設資料庫如下圖,但是,客戶版本是sqlserver2012版本,針對此版本微軟已經做了安全認證的加強,下圖的sa預設登陸資料庫方法已經失效無法使用,經過證實,此方法確實無法重置sa賬號的預設登陸資料庫。

      到此,該sqlserver例項無法windows認證本地登入,也無法遠端登陸sa,並且沒有其他具有管理許可權的使用者,意味著該例項徹底報廢。

    三、總結

     經過該事例,發現微軟sqlserver具有嚴重的缺陷,不像oracle,只要例項open狀態下,就可以透過sqlplus本地登入;也不像mysql,在丟失root管理密碼時,可以有引數調整例項繞過安全認證登陸;更不像mongodb,丟失管理使用者認證資訊時,可以以非認證模式啟動進行調整。像本次事例,辛虧只是一個測試資料庫,如果是生產資料庫,後果將難以想象,僅僅刪除的是業務資料庫,sa就無法登陸,其他業務資料庫將無法管理,重建資料庫例項勢必面臨長時間停機,對業務造成巨大的影響。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2916900/,如需轉載,請註明出處,否則將追究法律責任。

相關文章