高昊天
(東北石油大學計算機與信息技術學院,大慶,163000)
Distributed Database 也就是分布式數據庫,可將其簡寫為DDB。DDB 是一組結構化的數據集合,集合了計算機網絡中每個場地的數據庫邏輯,它們雖然屬于一個系統,但是在從物理角度說,分布于網絡的不同結點上,具有邏輯協調性和分布性。邏輯協調性主要是指各個子集從邏輯上來講是一個整體,并且每個子集之間具有嚴密的約束規則。分布性主要是指根據需求,對整體數據進行劃分,形成具有一定結構的子集使其在各個場地上分散存儲。
網絡拓撲結構實質上就是各個終端設備連接在一起的方式。網絡拓撲結構有星型結構、總線型結構及環型結構三種類型。在分布式數據庫中通常采用總線星型結構。
通常公司網絡的網絡結構具體規劃由客戶機的數量和辦公地點的分布來決定。星型結構布局一般適用于辦公地點集中,客戶機接入數量較少的公司。總線星型結構布局一般適用于辦公地點分散,客戶機接入數量較多的公司。在連接總線星型網絡拓撲結構時,一定要遵循經濟實用的原則,長距離的連接可通過光纖完成,短距離的連接可以通過雙絞線完成。
分布式數據庫網絡的關鍵兩部分就是客戶機和服務器,不同的操作系統和網絡協議之間之所以能夠實現通信,是因為采用了相同的Net 通信協議。分布式數據庫主要包括以下四部分:DB(數據庫):全局數據庫存在數據庫的全局數據,很多站點都可對其進行訪問,參與全局應用;而局部數據庫中存儲的是只供一個站點使用的部分數據。DBMS(數據庫管理系統):DBMS 也主要分為全局DBMS 及局部DBMS。CM(通信管理):通信管理的主要功能就是完成系統分布在數據庫每個場地之間的通信,傳遞數據及消息。
④DD(數據字典):分為局部DD(只提供一個站點的數據管理和描述信息)和全局DD(提供全部站點的數據管理和描述信息)。
分布式數據庫的網絡安全隱患主要由以下5 方面:竊聽:黑客采用高技術手段能夠在網絡信道上能夠竊取網絡報文,其主要是對服務器至服務器之間或者是客戶至數據庫服務器之間的報文進行監聽。②重發攻擊:黑客竊聽報文之后,對其進行修改或者是保持原樣,又將其重發給客戶或服務器,以此使系統不能正常運行,更有甚者對數據庫中的數據進行修改。重發攻擊主要針對站點間的身份驗證過程和站點間的數據通信過程。③假冒攻擊:黑客通過發送報文堵塞客戶或服務器的通信端口,然后再冒充該客戶或服務器對分布式數據庫系統中的其它站點進行擾亂,使其不能正常運行,從而實現數據庫的非法數據訪問。④越權攻擊:如果黑客本身可以合法使用分布式數據庫系統,如果訪問控制方面存在漏洞,則可以利用此漏洞實現非授權數據庫的訪問。⑤迂回攻擊:黑客可以利用操作系統和網絡協議中存在的安全漏洞,對數據庫中的文件直接進行訪問。
雖然現在使用的數據庫軟件在數據安全方面的服務越來越完善,但是軟件難免會存在一些問題,不能面面俱到,所以它提供的數據庫安全服務只是能夠避免大多數的常見安全問題,往往不容易發現系統運行中存在的致命問題,靈活性較低,所以,要想提高數據庫系統的安全性,一定要對不安全因素正確識別,防止數據被侵害。面對安全威脅,一定要采取有效措施,提高數據庫的安全性,滿足其安全需求。通常采取的安全措施主要包括數據備份技術、系統恢復技術、并發訪問控制方法、數據加密、訪問控制、網絡防火墻、審計追蹤等。數據備份技術技術主要是對數據進行備份,防止因為系統的損壞造成數據信息的丟失,一旦系統遭到非法入侵或者是破壞,可以采取系統恢復技術對其及時進行修復。并發訪問控制方法的主要功能是確保數據信息的一致性,確保系統出現混亂,使其不能正常運行。如果操作過程中出現操作失誤如插入更改數據,可以對程序重新進行設計來解決此問題,其實質就是通過管理系統檢驗各種程序的運行狀態是不是滿足規定的邏輯條件。
用戶登錄系統系統一定要經過身份的識別,其用戶管理包括標識User ID 和鑒別。標識通常采用的方法就是輸入用戶名和口令Pass Word,經過系統的身份鑒別,向系統證明自己的身份,合法則登錄系統。身份認證工作對系統安全來說十分重要,除了簡單的口令控制還包括比較復雜的函數計算。并且隨著科學技術的發展,數字簽名技術、智能卡技術和指紋等生理特征也為用戶的身份認證提供了技術支持。SQL Server 數據庫支持Windows 驗證和SQL Server 驗證模式兩種登錄賬號檢查方式,Windows 驗證的安全性較高,SQL Server 認證比較簡單,易實現。為了提高分布式數據庫的安全性和實現用戶的集中管理,會采用Windows驗證模式。
登錄分布式數據庫的服務器之后,用戶的訪問權限,需要通過系統的管理員進行授權,以此來規定合法用戶訪問數據庫時的訪問范圍、訪問方式及能從事的工作。SQL Server 中的訪問權限主要有服務器本身的操作權限和數據庫的訪問權限兩方面。服務器本身的操作權限通過設置服務器角色就能實現。數據庫的訪問權限主要包括兩方面:一是,訪問數據庫的權限;二是,進入數據庫之后可以訪問數據庫中的數據權限,比如哪些存儲過程和視圖能夠進行訪問,是不是能夠進行SELECT 數據操作等。通過數據庫中的用戶對象設置,可以設置訪問權限,至于登錄之后能夠訪問的數據庫內容,則需要通過數據庫的角色對象進行設置。用戶登錄數據庫的安全檢查如圖1 所示。

圖1 SQL Server 的安全檢查示意圖
數據庫系統的主要任務就是對主要業務數據信息進行存儲和管理。所以,對數據庫中的信息進行加密,可以提高信息的安全性,防止其被竊取。由于數據庫中的信息很多,并且保存的時間較長,所以,系統對加密的要求更高。此外,由于,數據庫中的信息使用的用戶較多,并且大多時候都是多用戶共享信息,所以,加密和解密的時間要盡量短,并且在這個過程中盡量不要影響系統的性能。
因為SQL Server 具有一定的加密功能,其加密的數據包括通過網絡在服務器端及客戶端傳輸的所有數據、視圖及存儲過程、應用程序及登錄賬號角色的登錄密碼、觸發程序的定義等。SQL Server 網絡傳輸數據的加密處理通過Secure Socket Layer(SSL)進行。
在SQL Server 中用戶不能直接訪問數據庫,而是直接訪問視圖。SQL Server 中的視圖一般通過分布式查詢進行定義,行集和遠程表的引用以引用本地表的方式通過INSERT、SELECT、DELETE、UPDATE 語句進行。
存儲過程可以通過設置保護基表數據。為了防止基表不被用戶直接、任意修改,可以通過存儲過程對基表進行修改,然后用戶只有執行存儲過程的權利,沒有對過程進行更改的權利,這樣限制了用戶的權限,保證了數據安全。
審計跟蹤主要是對系統的運行過程進行審計,自動將所有的數據庫操作在審計日記中進行記錄,然后系統可以對審計數據進行分析,確定是否存在非法操作對數據庫進行攻擊。攻擊檢測就是對審計數據進行分析,確定是否存在內部和外部的攻擊者,一旦發現存在攻擊事件,就要找出系統的熱點,追究相關責任者,并采取相關措施完善數據庫系統。這兩項技術是數據庫的安全措施中必不可少的,對數據庫的安全非常重要。
本文主要探討的是分布式數據庫的安全機制。為了提高數據庫中信息的安全性,對其安全機制進行研究十分有必要。數據庫的安全問題是一項十分復雜的工程,不僅涉及到其中的技術問題,還涉及到安全控制的問題,所以,在分布式數據庫的管理中,一定要做好安全性規劃。只有保證數據庫信息的安全,才能滿足用戶的信息共享需求,讓這些信息更好的為人們服務。
[1] 楊立志,黃毅梅,張九營,任宏.SQL SERVER 數據庫的安全管理[J].微計算機信息,2006,3-1:85-86.
[2] 岳敏.基于.NET 的分布式數據庫訪問技術研究及改進[D].青島大學,2007.
[3] 李東風,謝昕.數據庫安全技術研究與應用[J].計算機安全,2008,01:42-44.
[4] 李瑞林.計算機數據庫安全管理研究[J].制造業自動化,2012,10:24-26.