SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞偵測(VA)功能,此功能允許SQL Server掃描您的資料庫以查找潛在的安全漏洞,並且可以針對SQL Server 2012或更高版本運行。如果您還沒有使用SSMS上的較新版本,請 ...
SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞偵測(VA)功能,此功能允許SQL Server掃描您的資料庫以查找潛在的安全漏洞,並且可以針對SQL Server 2012或更高版本運行。如果您還沒有使用SSMS上的較新版本,請不要擔心,您可以在此處 進行下載。
作者:依樂祝
原文地址:https://www.cnblogs.com/yilezhu/p/10157012.html
寫在前面
當我們對數據進行任何類型的掃描時總是讓我很擔心,因為進行資料庫掃描時的性能影響可能真的會毀了你的一天。幸運的是,VA是輕量級的,並且可以在不影響性能的情況下運行,同時可以深入瞭解並指出我們可以在哪裡改進SQL Server的安全性。該過程被設計成使用知識庫規則來滿足數據隱私標準和遵從性,這些規則尋找與Microsoft最佳實踐的偏差從而給出。
實戰演練
要運行漏洞偵測,只需選擇我們需要掃描的資料庫,然後右鍵單擊並選擇“任務”。在這裡,您將看到漏洞評估選項接著選擇掃描漏洞。如果您之前運行過一個VA,則可以通過選擇“打開現有掃描”來訪問它。
它會彈出一個視窗,然後我們按下圖所示選擇好結果保存的位置。單擊“確定”後,該過程將運行。
在這裡,點擊上面的確定按鈕後就會立即執行,執行完成後將彈出結果視窗。這裡你可以看到我們的CzarCms的檢查結果中有6個失敗的檢查結果,52個已通過的檢查結果。它列出了每個檢查的明細並給出了對應的評定的風險等級。
在錯誤列表中隨便單擊一個的失敗檢查結果,我們將看到更多詳細信息以及對應的修複步驟,並提供進行修複的腳本(想想是不是有點小激動呢)。趕緊打開看看吧。
這裡我們簡單選擇第二個吧,
VA1143 - 'dbo' user should not be used for normal service operation
什麼你看不懂?我擦,不會百度翻譯啊?““dbo”用戶不應該用於正常的服務操作”,啥意思呢?“dbo”或資料庫所有者是一個用戶帳戶,它隱含了執行資料庫中所有活動的許可權。sysadmin固定伺服器角色的成員自動映射到dbo。此規則檢查dbo不是唯一允許訪問此資料庫的帳戶。請註意,在新創建的乾凈資料庫中,在創建其他角色之前,此規則將失敗。總結一句話就是你得為你的資料庫創建一個單獨的用戶來提高安全性。如圖所示:您可以在下麵看到,它向我們描述了沒有遵循的最佳實踐規則,並提供了一個查詢,我們可以運行該查詢來查看結果。我真的很喜歡這個特性,並且它是一個方便的腳本,用於以後評估其他伺服器的健康狀況時使用。它甚至給了我們一個小的複製按鈕,以複製出腳本和選項打開它在查詢視窗。
只指出錯誤而不給出解決方法的行為是可恥的,所以偉大的微軟給出了我們來補救的步驟以及腳本。這裡我們進一步向下滾動,您將看到建議的補救步驟和腳本。如果沒有提供腳本,它將為您提供一個鏈接,通過這個鏈接可以找到有關如何解決問題的正確文檔。在我看來,VA做了很好的解釋解決問題所需的東西。請記住,雖然這是由Microsoft創建的,但我還是建議你在生產環境部署之前來運行這個漏洞檢查併進行相關的補救。
這裡需要註意一下,如下圖所示你可以設置結果基線 。基線允許您對結果報告中的錯誤結果進行接收,這樣在下次漏洞掃描的時候這個錯誤的結果就不會出現在錯誤列表裡面了。
通過將結果標記為BASELINE,您告訴VA,這個錯誤在您的環境中是可接受的,儘管它可能不符合最佳實踐或監管標準。將來與基線匹配的任何內容都標記為在後續掃描中傳遞,並將記錄按自定義基線傳遞的原因。這個基線匹配的結果會在後期的漏洞掃描進行傳遞,如下所示:我講兩個結果設置為了基線
當我再次掃描時,我們將會看到這一點。如下所示,掃描報告現在顯示我只有1個失敗(我沒有修複的問題),附加信息列顯示原因的基線。
總結
SQL Server漏洞評估是評估數據隱私、安全性和遵從性標準的一個非常好的第三方工具,並且非常容易使用。紙上得來終覺淺,還不趕緊嘗試一下,看看資料庫存在哪些可以提升的地方吧。有興趣的朋友可以加入我們的DotNetCore實戰項目交流群637326624進行交流。
微信公眾號: