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