SQL Server安全性的終極禁忌:被忽視的系統
在你認為已經很好地控制了SQL Server安全性時,往往問題正在悄悄出現。有人會在網絡中的某個區域悄然進入你已經遺忘或根本不知道的SQL Server系統。然后你才意識到你只是表面上控制了SQL Server安全性。
現實證明系統復雜性的增加已經超出了現代網絡的控制。我經常工作中碰到這種情況:遺留的SQL Server 2000、MSDE和SQL Server 2005 Express系統都分散各處且沒人管理。它們基本上是被忽視的、被遺忘的。
我聽說過這樣的事:
“天啊,我忘記那個系統了。”
“我們的開發團隊開戶了它,但并沒有告訴我們。”
“我們將要等到我們的供應商提供新的平臺后就撤下那個服務器。”
不管什么原因,這些系統還在那里,并且會造成一些嚴重的商業風險,特別是考慮到內部威脅的存在。
我遇到的最大的問題是SQL Server系統的sa帳號沒有密碼,網絡上的任何人都可以隨意訪問這個系統。現在網絡上的每個人,只要運行SQL Server Management Studio Express,就可以為所欲為了。一個惡意的用戶可以連接到系統,然后修改SQL Server安全性設置,創建一個后門帳號,瀏覽和獲取產品數據——凡是你想得到的,都可以簡單做到。
另一個問題是這些未管理的SQL Server系統經常沒有打好補丁,因此它們很容易受到攻擊。通過使用一些免費工具,如NeXpose Community Edition和Metasploit,一個有不良企圖的內部人員就能夠發現這些SQL Server系統,發現它們是否能夠侵入,然后發現特定的OS、SQL Server和第三方應用漏洞,從而完全控制這個系統——而且所有這一切都是悄悄進行的。
我認為這里出現的問題可以追溯到信息安全的基本問題之一:我們不知道我們有什么,因此不能保證位置事物的安全。下面是一些可以用來保證我們掌握這些系統的方法:
發現你所有的系統。這是從一個良好的系統目錄和網絡圖開始的——但它們要有一定的深度。首先,要使用端口掃描器,如SuperScan v3.0,定期地查找監聽默認SQL Server端口(TCP 1433和UDP 1434)的活躍系統。事實上,還有一個更好的工具就是Chip Andrews的SQLPing(當前是版本3),它不僅能掃描默認的SQL Server實例,還能發現由個人防火墻或運行非標準端口的系統。
使用漏洞掃描軟件和合法的黑客技術來確定SQL Server系統的風險。
通過設置合理的密碼、打補丁或優化系統來堵住漏洞。否則,將它們與主網絡隔離或將它們全部撤掉。
積極地安全化高度可見的SQL Server系統很重要,而發現所有其它可能造成風險的系統也很重要。要謹記,如果想要創建一個安全的SQL Server,這兩方面都需要考慮。
在你認為已經很好地控制了SQL Server安全性時,往往問題正在悄悄出現。有人會在網絡中的某個區域悄然進入你已經遺忘或根本不知道的SQL Server系統。然后你才意識到你只是表面上控制了SQL Server安全性。
現實證明系統復雜性的增加已經超出了現代網絡的控制。我經常工作中碰到這種情況:遺留的SQL Server 2000、MSDE和SQL Server 2005 Express系統都分散各處且沒人管理。它們基本上是被忽視的、被遺忘的。
我聽說過這樣的事:
“天啊,我忘記那個系統了。”
“我們的開發團隊開戶了它,但并沒有告訴我們。”
“我們將要等到我們的供應商提供新的平臺后就撤下那個服務器。”
不管什么原因,這些系統還在那里,并且會造成一些嚴重的商業風險,特別是考慮到內部威脅的存在。
我遇到的最大的問題是SQL Server系統的sa帳號沒有密碼,網絡上的任何人都可以隨意訪問這個系統。現在網絡上的每個人,只要運行SQL Server Management Studio Express,就可以為所欲為了。一個惡意的用戶可以連接到系統,然后修改SQL Server安全性設置,創建一個后門帳號,瀏覽和獲取產品數據——凡是你想得到的,都可以簡單做到。
另一個問題是這些未管理的SQL Server系統經常沒有打好補丁,因此它們很容易受到攻擊。通過使用一些免費工具,如NeXpose Community Edition和Metasploit,一個有不良企圖的內部人員就能夠發現這些SQL Server系統,發現它們是否能夠侵入,然后發現特定的OS、SQL Server和第三方應用漏洞,從而完全控制這個系統——而且所有這一切都是悄悄進行的。
我認為這里出現的問題可以追溯到信息安全的基本問題之一:我們不知道我們有什么,因此不能保證位置事物的安全。下面是一些可以用來保證我們掌握這些系統的方法:
發現你所有的系統。這是從一個良好的系統目錄和網絡圖開始的——但它們要有一定的深度。首先,要使用端口掃描器,如SuperScan v3.0,定期地查找監聽默認SQL Server端口(TCP 1433和UDP 1434)的活躍系統。事實上,還有一個更好的工具就是Chip Andrews的SQLPing(當前是版本3),它不僅能掃描默認的SQL Server實例,還能發現由個人防火墻或運行非標準端口的系統。
使用漏洞掃描軟件和合法的黑客技術來確定SQL Server系統的風險。
通過設置合理的密碼、打補丁或優化系統來堵住漏洞。否則,將它們與主網絡隔離或將它們全部撤掉。
積極地安全化高度可見的SQL Server系統很重要,而發現所有其它可能造成風險的系統也很重要。要謹記,如果想要創建一個安全的SQL Server,這兩方面都需要考慮。