資料庫伺服器的安全
來源:互聯網
上載者:User
關鍵字
安全
伺服器
資料庫伺服器實際上是每一個電子交易、金融和企業資源規劃(ERP)系統的基礎,它還經常包括來自商業夥伴和客戶的敏感資訊。 儘管這些系統的資料完整性和安全性是相當重要的,但對資料庫採取的安全檢查措施的級別還比不上作業系統和網路的安全檢查措施的級別。 許多因素都可能破壞資料的完整性並導致非法訪問,這些因素包括複雜程度、密碼安全性較差、誤配置、未被察覺的系統後門以及自我調整資料庫安全方法的強制性常規使用等。 資料庫安全問題為什麼非常重要? 保護系統敏感資訊和數位資產不受非法訪問。 任何公司的主要電子數位資產都存貯在現代的關係資料產品中。 商業機構和政府組織都是利用這些資料庫伺服器得到人事資訊,如員工的工資表,醫療記錄等。 因此他們有責任保護別人的隱私,並為他們保密。 資料庫伺服器還存有以前的和將來的敏感的金融資料,包括貿易記錄、商業合同及帳務資料等。 象技術的擁有權、工程資料,甚至市場企劃等決策性的機密資訊,必須對竟爭者保密,並阻止非法訪問,資料庫伺服器還包括詳細的顧客資訊,如財務帳目,信用卡號及商業夥伴的信用資訊等。 資料庫是個極為複雜的系統,因此很難進行正確的配置和安全維護資料庫伺服器的應用相當複雜,掌握起來非常困難-當然竟爭者使用的作業系統也是一樣的複雜。 諸如Oracle、sybase、Microsoft SQL伺服器都具有以下特徵:使用者帳號及密碼、校驗系統、優先順序模型和控制資料庫目標的特別許可、內置式命令(存儲的步驟或包)、唯一的腳本和程式設計語言(通常為SQL的特殊衍生語) 、middleware、網路通訊協定、補丁和服務包⑶坑辛Φ氖菘夤芾硎滌貿絛蠔塗⒐ぞ摺P磯郉BA都忙於管理複雜的系統,所以很可能沒有檢查出嚴重的安全隱患和不當的配置,甚至根本沒有進行檢測。 所以,正是由於傳統的安全體系在很大程度上忽略了資料庫安全這一主題,使資料庫專業人員也通常沒有把安全問題當作他們的首要任務。 「自我調整網路安全」的理念-將安全問題看作持續不斷的「工作進程」,而不是一次性的檢查-並未被大多數資料庫管理者所接受。 保障資料庫伺服器上的網路和作業系統資料安全是至關重要的,但這些措施對於保護資料庫伺服器的安全還很不夠。 在許多資深安全專家中普遍存在著一個錯誤概念,他們認為:一旦訪問並鎖定了關鍵的網路服務和作業系統的漏洞,伺服器上的所有應用程式就得到了安全保障。 現代資料庫系統具有多種特徵和性能配置方式,在使用時可能會誤用,或危及資料的保密性、有效性和完整性。 首先,所有現代關聯式資料庫系統都是「可從埠定址的」,這意味著任何人只要有合適的查詢工具,就都可與資料庫直接相連,並能躲開作業系統的安全機制。 例如:可以用TCP/IP協定從1521和1526埠訪問Oracle 7.3和8資料庫。 多數資料庫系統還有眾所周知的預設帳號和密碼,可支援對資料庫資源的各級訪問。 從這兩個簡單的資料相結合,很多重要的資料庫系統很可能受到威協。 不幸的是,高水準的入侵者還沒有停止對資料庫的攻擊。 拙劣的資料庫安全保障設施不僅會危及資料庫的安全,還會影響到伺服器的作業系統和其它信用系統。 還有一個不很明顯的原因說明了保證資料庫安全的重要性-資料庫系統自身可能會提供危及整個網路體系的機制。 例如,某個公司可能會用資料庫伺服器保存所有的技術手冊、文檔和白皮書的庫存清單。 資料庫裡的這些資訊並不是特別重要的,所以它的安全優先級別不高。 即使運行在安全狀況良好的作業系統中,入侵者也可通過「擴展入駐程式」等強有力的內置資料庫特徵,利用對資料庫的訪問,獲取對本地作業系統的存取權限。 這些程式可以發出管理員級的命令,訪問基本的作業系統及其全部的資源。 如果這個特定的資料庫系統與其它伺服器有信用關係,那麼入侵者就會危及整個網路域的安全。 資料庫是新型電子交易、企業資源規劃(ERP)和其它重要商業系統的基礎。 在電子商務、電子貿易的著眼點集中于WEB伺服器、JAVA和其它新技術的同時,應該記住這些以使用者為導向和企業對企業的系統都是以Web伺服器後的關係資料庫為基礎的。 它們的安全直接關係到系統的有效性、資料和交易的完整性、保密性。 系統拖延效率欠佳,不僅影響商務工作,還會影響公司的信譽。 不可避免地,這些系統受到入侵的可能性更大,但是並未對商業夥伴和客戶敏感資訊的保密性加以更有效的防範。 此外,ERP和管理系統,如ASPR/3和PeopleSoft等,都是建立在相同標準的資料庫系統中。 無人管理的安全性漏洞與時間拖延、系統完整性問題和客戶信任等有直接的關係。 我需要尋找哪此類型的安全性漏洞呢? 傳統的資料庫安全系統只側重于以下幾項:使用者帳戶、作用和對特定資料庫目標的操作許可。 例如,對表單和存儲步驟的訪問。 必須對資料庫系統做範圍更廣的徹底安全分析,找出所有可能領域內的潛在漏洞,包括以下提到的各項內容。 與銷售商提供的軟體相關的風險-軟體的BUG、缺少作業系統補丁、脆弱的服務和選擇不安全的預設配置。 與管理有關的風險 -可用的但並未正確使用的安全選項、危險的預設設置、給使用者更多的不適當的許可權,對系統組態的未經授權的改動。 與使用者活動有關的風險-密碼長度不夠、對重要資料的非法訪問以及竊取資料庫內容等惡意行動。 以上各類危險都可能發生在網路設備、作業系統或資料庫自身當中。 對資料庫伺服器進行安全保護時,都應將這些因素考慮在內。 資料庫安全-漏洞區域及示例 在重要資料庫伺服器中,還存在著多種資料庫伺服器的漏洞和錯誤配置。 下面列出了幾個實例。 安全特徵不夠成熟-絕大多數常用的關係資料庫系統已經存在了十多年之久,並且具有強大的特性,產品非常成熟。 但不幸的是,IT及安全專業人士認為理所當然應該具有的許多特徵,在作業系統和現在普遍使用的資料庫系統中,並沒有提供。 非內建式資料庫標準安全性能MS SQL Server Sybase Oracle 7 Oracle 8帳戶鎖定設備 no no no yes重命名管理帳戶 no no no no要求嚴密的口令 no no no yes陳舊的帳戶 no no n o no密碼失效 no yes no yes登錄時間限制 no no no no例如,上表列出了大多數IT專業人士期望或要求作業系統所應具備的特性,但在資料庫伺服器的標準安全設施中並未出現。 由於這些資料庫都可進行埠定址的,作業系統的核心安全機制並未應用到與網路直接聯接的資料庫中。 一些產品,例如Microsoft SQL Server, 都可利用功能更加強大的Windows NT安全機制去發現上面提到的安全性漏洞。 但是,考慮到相容性問題(運行環境並不全是Windows NT),所以大多數依然執行MS SQL Server的安全標準。 而實施則是另外一回事了。 如果公司實用的是Oracle 8,管理員如何能知道是否真地實施了安全特性? 是否一直在全公司中得到實施? 這幾項特性相結合,使得與之相關的問題更加嚴峻。 由於系統管理員的帳號是不能重命名的(SQL和Sybase是「sa」,對於Oracle是「System」和「sys」),如果沒有密碼封鎖可用或已配置完畢,入侵者就可以對資料庫伺服器發動強大字典式登錄進攻,最終能破解密碼, 有什麼能夠擋住他們對伺服器耐心,持久的高水準攻擊呢? 資料庫密碼的管理-在多數資料庫系統提供的安全標準中,沒有任何機制能夠保證某個使用者正在選擇有力的-或任意的-密碼。 這一基本的安全問題需要細心的監督。 此外還需要對全部密碼清單進行管理和安全檢查。 例如,Oracle資料庫系統具有十個以上地特定地預設使用者帳號和密碼,此外還有用於管理重要資料庫操作的唯一密碼,如對Oracle資料庫開機程式的管理、訪問網路的聽眾過程以及遠端存取資料庫的許可權等。 如果安全出現了問題,這些系統的許多密碼都可讓入侵者對資料庫進行完全訪問,這些密碼甚至還被存儲在作業系統的普通文字檔裡。 下面有幾個示例:Oracle Internal 密碼-Oracle內部密碼存放在檔案名為「strXXX.cmd」的文字檔中,XXX是Oracle系統的ID或SID,預設值為「ORCL」。 用在Oracle資料庫的啟動過程中,要用到Oracle Internet密碼,具有隨意訪問資料庫資源的權力。 這個檔應妥善保管,以用於基於Windows NT的ORACLE程式。 Oracle監聽程式過程密碼-用於起動並停止Oracle監聽程式過程的密碼,該過程可將所有的新業務路由到系統上合適的Oracle例子中,需選擇一個保密性強的密碼替換系統的預設值,使用許可必須在「listener.ora」 檔中得到保護,該檔存貯了Oracle所有的使用密碼。 對密碼的不當訪問可能會使入侵者對基於Oracle的電子交易網站進行拒絕服務攻擊。 Oracle內部密碼 -「orapw」檔許可控制-Oracle內部密碼和由SYSDBA授權的帳號密碼存貯在「Orapw」文字檔中。 儘管檔已被加密,但在ORACLE的UNIX和Windows NT的程式中,還是要限制該檔的使用許可權。 如果該檔被訪問,那麼遭解密的檔很容易遭到強有力的攻擊。 這些例子說明了管理員、系統密碼和帳號是何等的重要,它們都可能會遭到意想不到的攻擊方法的攻擊。 注意密碼管理問題決不僅限於Oracle資料庫,幾乎所有主要資料庫供應商的產品都有這種問題。 作業系統的後門-許多資料庫系統的特徵參數儘管方便了DBA,但也為資料庫伺服器主機作業系統留下了後門。 如上所述,對Sybase或SQL伺服器的「sa」密碼造成危害的入侵者有可能利用「擴展入駐程式」,得到基本作業系統的使用許可權。 以「sa」的身份登錄,入侵者使用擴展入駐程式xp–cmdshell,該程式允許Sybase或SQL伺服器的使用者運行系統指令,就象該使用者在伺服器主控台上運行指令一樣。 例如,可實用下列SQL指令添加一個Windows NT帳號,帳號名為「hacker1」,密碼為「nopassoword」,並把「hacker1」添加到「Administrators」組:xp-cmdshell ‘net user hacker1 nopassword/ADD’goxp-comdshell ’net localgroup/ADD Administrators hacker1’go現在這個非法入侵者就成了Windows NT的管理員了(我們只能祈禱這個SQL伺服器不是網域控制站)。 這個簡單的攻擊之所以成功,是因為命令被提交給實用Windows NT帳號的作業系統,而MSSQLServer的服務就運行在這個帳號下。 在預設情況下,這個帳號就是「LocalSystem」帳號---本地Windows NT系統中最有效力的帳號。 另一個途徑是駭客可能使用SQL伺服器,利用入駐程式xp-regread從註冊表中讀出加密的Windows NT SAM密碼,對作業系統的安全造成威脅。 由於有幾種免費的Windows NT密碼攻擊器軟體,因此保管好加密的Windows NT密碼的安全變得格外重要。 以下例子說明了入侵者是怎樣得到資訊的:xp-regread’HKEY–LOCAL–MACHINE’,’SECURITYSAMDomainsAccount’,’F’注意,從註冊表中讀出加密密碼是一件本地Windows NT管理員帳號都無法做到的事。 SQL伺服器之所以能夠做到,是因為預設方式運行的SQL服務使用的恰恰就是「LocalSystem」帳號。 Oracle資料庫系統還具有很多有用的特徵,可用於對作業系統自帶檔案系統的直接存取。 例如在合法訪問時,UTL_FILE套裝軟體允許使用者向主機作業系統進行讀寫檔的操作。 UTL_FILE_DIR簡檔變數很容易配置錯誤,或被故意設置為允許Oracle使用者用UTL_FILE套裝軟體在檔案系統的任何地方進行寫入操作,這樣也對主機作業系統構成了潛在的威脅。 校驗-關係資料庫系統的校驗系統可以記錄下資訊和事件,從基本情況到任一細節,無一遺漏。 但是校驗系統只在合理使用和配置的前提下,才能提供有用的安全防範和警告資訊。 當入侵者正在試圖侵入特定的資料庫伺服器時,這些特徵可及早給出警告資訊,為檢測和彌補損失提供了寶貴的線索。 特洛伊木馬程式-儘管人們知道作業系統中的特洛伊木馬程式已經有好幾年了,但是資料庫管理員還需注意到木馬程式帶給系統入駐程式的威脅。 一個著名的特洛伊木馬程式修改了入駐程式的密碼,並且當更新密碼時,入侵者能得到新的密碼。 例如,某個個人可以在sp–password系統入駐程式中添加幾行命令,就可在表單中增加新的密碼,用e-mail傳遞密碼或將密碼寫入外部檔以備日後使用。 這一辦法可連續獲取密碼,直到入侵者得到的「sa」密碼被更換-使得更深層的入侵未被察覺。 一個入侵者或心懷不滿的雇員只需進入系統一次,放置好特洛伊木馬後就可得到以後的一系列密碼。 總結安全專業人士、校驗員、DBA和電子商務的規劃人員在部署重要商業系統時,都需注意到資料庫的安全問題。 要想瞭解的系統的安全狀態和發展方向,您就得部署系統,以對資料庫伺服器做出最徹底的評估,並進行常規的安全評估。 所有系統都應該採用資訊風險管理原則,以進行監督、檢測,對安全性漏洞做出回應。 責任編輯 趙毅 zhaoyi#51cto.com TEL:(010)68476636-8001 給力(0票)動心(0票)廢話(0票)專業(0票)標題党(0票)路過(0票) 原文:資料庫伺服器的安全 返回網路安全首頁