轉(zhuǎn)自:http://space./241166/viewspace-592356
我的數(shù)據(jù)真的安全嗎 在今年的央視3.15晚會(huì)上,最受關(guān)注的是曝光了倒賣個(gè)人信息的黑幕。雖然說曝光的內(nèi)容主要是黑客通過病毒木馬盜竊個(gè)人信息,但是也讓大眾對(duì)自己的個(gè)人信息安全提出了疑問:我在銀行、電信、醫(yī)院、政府部門登記的各種信息是不是一定能保證安全呢? 其實(shí)需要被保護(hù)的數(shù)據(jù)遠(yuǎn)遠(yuǎn)不止我們的個(gè)人信息,還有企業(yè)的財(cái)務(wù)數(shù)據(jù)、客戶資料、政府部門的各種統(tǒng)計(jì)數(shù)據(jù)、稅務(wù)資料等等。英國就曾經(jīng)發(fā)生記錄有全國所有接受兒童津貼的家庭詳細(xì)信息的光盤在快遞過程中遺失,最后導(dǎo)致稅務(wù)署長(zhǎng)辭職,財(cái)務(wù)大臣出面向公眾道歉的事。 最容易發(fā)生數(shù)據(jù)泄漏的是保存在文件系統(tǒng)(包括光盤)上的各種數(shù)據(jù),例如一些Excel表格,或者更簡(jiǎn)單的文本文件。這些文件很容易被人拷貝走,因?yàn)楹苌儆腥藢?duì)目錄和文件的訪問權(quán)限進(jìn)行嚴(yán)格的管理。有些保存數(shù)據(jù)的目錄被臨時(shí)共享,但是共享時(shí)沒有對(duì)可以訪問者加以限制,甚至有人忘了取消共享;有些筆記本被盜,或者還有些機(jī)器中了木馬,這些情況下文件系統(tǒng)中的數(shù)據(jù)都會(huì)完全暴露給了信息竊取者。 好在目前大量的數(shù)據(jù)都是保存在數(shù)據(jù)庫中的。數(shù)據(jù)庫提供了基本的用戶名/口令保護(hù),必須有相應(yīng)的用戶名/口令才能查詢到數(shù)據(jù),而且不同用戶之間也不能隨意看到對(duì)方的數(shù)據(jù)。 但是數(shù)據(jù)一旦保存在數(shù)據(jù)庫里就真的安全了嗎?事實(shí)并非如此簡(jiǎn)單。因?yàn)樵跀?shù)據(jù)庫中還存在一些所謂的“超級(jí)用戶”(也稱為DBA——數(shù)據(jù)庫管理員的英文文縮寫),例如Oracle數(shù)據(jù)庫中的sys和system用戶,IBM DB2數(shù)據(jù)庫的db2admin用戶, Microsoft SQL Server或Sybase數(shù)據(jù)庫的sa用戶。只要用這些超級(jí)用戶登錄數(shù)據(jù)庫,就可以看到數(shù)據(jù)庫中所有用戶的數(shù)據(jù),也可以修改任何用戶的數(shù)據(jù)。
過度集中的權(quán)力帶來高風(fēng)險(xiǎn) 為什么會(huì)存在這些超級(jí)用戶呢?這些超級(jí)用戶是數(shù)據(jù)庫創(chuàng)建過程中的缺省用戶,可以認(rèn)為是數(shù)據(jù)庫中的“造物主”,因?yàn)樗行碌挠脩舳际怯伤麄儎?chuàng)建的。他們就象Unix系統(tǒng)的root用戶,Windows的Adminstrator用戶,有著至高無上的權(quán)力。當(dāng)然,為了安全,一般這種超級(jí)用戶的口令都被掌握在極少數(shù)人手里。 但是過度集中的權(quán)力都會(huì)帶來問題,當(dāng)超級(jí)用戶擁有最高權(quán)力的時(shí)候,意味著他或她可以做任何想做的事,而且可以不留下任何痕跡。這種誘惑力太大了,如果你也看過科幻電影《透明人(Hollow Man)》,就知道這種誘惑可能會(huì)讓一個(gè)原本善良的人滑向罪惡的深淵。 事實(shí)上,我們有過這么一些例子:某大型企業(yè)的DBA在公司的財(cái)務(wù)系統(tǒng)數(shù)據(jù)庫中查到老總的工資,曬到了網(wǎng)上;某外包公司的技術(shù)人員利用非法獲取的DBA口令在移動(dòng)公司的數(shù)據(jù)庫中篡改充值卡數(shù)據(jù),為自己牟利了三百多萬;愛爾蘭的某個(gè)政府雇員利用自己的管理員身份把高收入人群的信息偷出來交給自己的弟弟,而他弟弟據(jù)此勒索那些富人的錢財(cái);美國一個(gè)金融服務(wù)公司的DBA在五年時(shí)間內(nèi)盜取了八百多萬客戶的名單,自己開了家公司靠出賣這些信息贏利;而金融危機(jī)爆發(fā)以后,也有聽到被裁員的員工帶走公司機(jī)密的案例。 舉這些例子并不是想說明DBA是不可靠的(事實(shí)上絕大部分的DBA都是稱職的數(shù)據(jù)保護(hù)者),而是過于集中的權(quán)力給DBA這個(gè)角色帶來了很大的風(fēng)險(xiǎn)。 那么如何防止這些濫用特權(quán)的行為呢?有些企業(yè)想的辦法是把超級(jí)用戶的密碼分成兩段,必須由兩個(gè)人一起輸入才能登錄,所有操作也必須兩人同時(shí)在場(chǎng)。這看上去更安全了,但是就象保管金庫的兩個(gè)人可以串通了一起監(jiān)守自盜一樣,這個(gè)方法并不能解決本質(zhì)的問題。
三權(quán)分立 現(xiàn)實(shí)世界里解決權(quán)力過度集中的方式之一就是三權(quán)分立(這里的“三”可以泛指為“多”)。我們想象一下,如果有人可以執(zhí)行管理數(shù)據(jù)的操作,有人負(fù)責(zé)控制管理數(shù)據(jù)的規(guī)則,另外還有人監(jiān)督和審計(jì)前兩類人的行為,那么權(quán)力過度集中的問題就可以通過互相制約被解決。這就和政治學(xué)里著名的行政、立法、司法三權(quán)分立不謀而合。
以下是數(shù)據(jù)管理三權(quán)分立的詳細(xì)規(guī)劃: 第一類用戶是數(shù)據(jù)庫管理員,他們有數(shù)據(jù)的管理權(quán)(行政權(quán))。他們可以授予和取消普通用戶數(shù)據(jù)訪問的權(quán)限,執(zhí)行數(shù)據(jù)管理的各種操作。他們?nèi)匀荒茏鲆恍┨厥獾?,需要?shù)據(jù)庫級(jí)權(quán)限的操作,例如備份整個(gè)數(shù)據(jù)庫的數(shù)據(jù)。但是傳統(tǒng)的數(shù)據(jù)庫管理員的“萬能”的權(quán)力被大大削減,包括創(chuàng)建新用戶的權(quán)限也會(huì)被收回。 第二類用戶是安全管理員,他們擁有安全規(guī)則的制定權(quán)(立法權(quán)),和之前的由DBA管理用戶權(quán)限不同的是,他們?cè)跀?shù)據(jù)庫原有的權(quán)限管理之外,對(duì)數(shù)據(jù)的訪問控制做更周密和靈活的規(guī)則設(shè)置。例如指定某些敏感數(shù)據(jù)的集合只能被指定的用戶訪問,如果沒有被指定,即使是DBA也無法訪問。又例如,即使是數(shù)據(jù)的所有者,也可以被安全管理員限制不能刪除自己的數(shù)據(jù)。安全管理員可以規(guī)定某些操作只能在某個(gè)時(shí)間段內(nèi)執(zhí)行,或者某些操作只能在指定的IP地址上執(zhí)行。 但是安全管理員不能為用戶授予各種權(quán)限,也就是說,如果要想讓某個(gè)用戶(包括安全管理員自己)看到另一個(gè)用戶的數(shù)據(jù),還必須由另一個(gè)用戶自身或者數(shù)據(jù)庫管理員先對(duì)該用戶授權(quán)。 這是一種互相制約的機(jī)制。安全管理員可以創(chuàng)建新用戶,可以指定新用戶為某些敏感數(shù)據(jù)的允許訪問者,這是個(gè)必要條件。但是并不意味著這個(gè)新用戶就可以看到這些敏感數(shù)據(jù),他還需要得到DBA的授權(quán)。而DBA也不再能隨意查詢或修改其他用戶的數(shù)據(jù)。DBA原來的種種特權(quán)也可以被安全管理員根據(jù)實(shí)際需求通過命令規(guī)則進(jìn)行限制。 第三類用戶是審計(jì)管理員,他們擁有數(shù)據(jù)操作的審計(jì)權(quán)(司法權(quán))。他們可以監(jiān)督前兩類用戶的操作,如果發(fā)現(xiàn)有不符合法規(guī)或內(nèi)部控制要求的活動(dòng),他們可以調(diào)查這些活動(dòng)的細(xì)節(jié)。這些活動(dòng)可能包括數(shù)據(jù)庫管理員將權(quán)限授給不合適的用戶,或者安全管理員臨時(shí)取消某些安全規(guī)則,以方便某些用戶執(zhí)行非法操作等等。 審計(jì)管理員和安全管理員一樣,本身都不能執(zhí)行對(duì)其他用戶的具體數(shù)據(jù)的操作,這是一種平衡。但是審計(jì)管理員擁有一套機(jī)制,可以保護(hù)審計(jì)記錄數(shù)據(jù)不會(huì)被數(shù)據(jù)庫管理員或者安全管理員刪除或者篡改。 對(duì)于普通的數(shù)據(jù)庫用戶,相當(dāng)于平民大眾,他們的日常操作不會(huì)受到任何影響,所有訪問數(shù)據(jù)庫的應(yīng)用程序也不需要做任何修改。但是他們對(duì)敏感數(shù)據(jù)的所有操作,也可以被記錄下來,受到審計(jì)管理員的審計(jì)和監(jiān)督。 至此,濫用數(shù)據(jù)庫超級(jí)用戶特權(quán)的安全漏洞可以完全被堵住。整個(gè)數(shù)據(jù)管理的安全性也得到了本質(zhì)的提高。
數(shù)據(jù)庫發(fā)展的新方向 這套三權(quán)分立的機(jī)制看上去比較復(fù)雜,而且需要至少三個(gè)人才能實(shí)現(xiàn)。但是如果被管理的數(shù)據(jù)確實(shí)很重要,泄漏或破壞的后果非常嚴(yán)重的話,那么相信我,建立這么一套機(jī)制是必要的。 尤其是設(shè)立審計(jì)管理員之后,對(duì)一些沒有事先采取防范措施導(dǎo)致的事故可以做事后的追溯,從而可以清楚地區(qū)分事故的責(zé)任。 有人要問,我只有一個(gè)DBA,如何做三權(quán)分立?其實(shí),只要有一個(gè)安全控制和審計(jì)軟件系統(tǒng),安全管理員和審計(jì)管理員并不需要由專職的懂?dāng)?shù)據(jù)庫的技術(shù)人員擔(dān)當(dāng),因?yàn)樗麄兊牟僮鞣浅:?jiǎn)單,都是通過圖形化的界面完成。舉個(gè)例子,審計(jì)管理員就可以由IT部門經(jīng)理自己擔(dān)任,他只需要通過報(bào)表和報(bào)警信息就可以完成日常的審計(jì),而且還可以了解自己的下屬都在做什么。 也有人要問,三權(quán)分立看上去很不錯(cuò),但是實(shí)現(xiàn)起來是不是很困難呢?事實(shí)上,數(shù)據(jù)管理的三權(quán)分立已經(jīng)成為數(shù)據(jù)庫發(fā)展新的方向之一。首先,各種主流的數(shù)據(jù)庫都已經(jīng)提供了數(shù)據(jù)庫審計(jì)的功能,而以Oracle Audit Vault為代表的數(shù)據(jù)庫審計(jì)軟件能把企業(yè)組織內(nèi)部所有的數(shù)據(jù)庫(無論是Oracle, DB2,還是SQL Server, Sybase)的審計(jì)信息集中管理起來,解決了審計(jì)管理員的問題。其次,在安全控制上,各主流的數(shù)據(jù)庫廠商也已經(jīng)或即將推出相應(yīng)的解決方案。 當(dāng)然,目前對(duì)基于文件系統(tǒng)的數(shù)據(jù)管理實(shí)現(xiàn)三權(quán)分立還有些難度,所以,還是把敏感的數(shù)據(jù)存放在數(shù)據(jù)庫中吧,這是更好的選擇。
關(guān)于Oracle 的數(shù)據(jù)庫有很多新資料現(xiàn)在可以在官網(wǎng)下載,還有官方提供的試用軟件,大家可以多到那里看看:http:///oracle/iwom-DBO/index.asp?frm=yqf |
|