黃元培
(國家廣播電視總局九一六臺,青海 格爾木 816099)
隨著我國計算機技術的發展,網絡數據庫也逐漸普及開來。但是由于網絡自身的影響,網絡數據庫的安全仍然難以保證。所以,應繼續深入研究網絡數據庫的安全隱患,并不斷改進其防范技術、方法,真正保障數據庫的安全,拓寬其應用領域。
網絡數據庫是指將計算機網絡、數據庫技術融合在一起,并運用計算機網絡的優勢,將存于數據庫的大量信息發布出去。同時,還可運用數據庫技術優勢,加強網絡數據的管理,從而保證用戶、數據庫之間能實時交互。目前,網絡數據庫在網站留言簿、論壇、遠程教育、電子商務等領域中都有應用。可以說,這些系統的正常運行完全依賴于網絡數據庫。
與傳統數據庫相比,網絡數據庫具有以下特點:第一,可擴大數據資源的共享范圍。借助網絡,網絡數據庫的資源共享范圍不再局限于企業內部或國內。第二,易進行分布式處理。可依據實際情況,就近處理,滿足用戶的使用需求。第三,數據資源應用形式更靈活。在開發中既可應用客戶機/服務器(Client/Server,C/S)結構,也可應用瀏覽器/服務器(Browser/Server,B/S)結構。第四,方便數據傳輸。利用網絡可以將數據傳輸到任何有網絡覆蓋的地區。第五,使用方便。網絡數據庫的最大優點是用戶通過Web瀏覽器就可進行查詢、存儲、刪除等操作,既能降低數據庫的應用難度,也能簡化網絡數據庫的運作流程。
一般情況下,多是采用非編譯性語言編寫ASP程序。但是非編譯性語言的安全性無法保證。比如任何人進入站點,就可獲取源代碼,從而造成一系列的數據庫安全問題。
AS代碼是通過表單完成用戶交互的,但會顯示在瀏覽器中。若不及時采用安全措施,導致代碼內容泄露,非法用戶就有可能避開驗證直接進入頁面,導致數據庫出現安全問題。
相比于本地數據庫來說,網絡數據庫的安全隱患更大。其根本原因就是網絡自身存在安全問題,并且網絡擴大了網絡數據庫的用戶數量。在使用網絡的過程中,用戶有可能非法訪問網絡數據庫,或者是攻擊、搭線竊聽數據庫,導致數據泄露、丟失。
目前,網絡用戶基本都是應用Web程序服務器,在應用之前要先建立防火墻,提升服務器的安全性。但是服務器對開放制定的算口安全系數并不高,很容易受到黑客的攻擊,最為突出的攻擊手段就是加入結構化查詢語言。如果在計算機網絡系統的更新過程中,開發人員的專業能力不足或是不重視服務器安全,就有可能在程序上留下漏洞,會給黑客留下攻擊的機會,將結構化查詢語言注入客戶端,就能輕而易舉地獲取各種數據信息。
在開發、運營、維護網絡數據時需遵守基本的保密原則,保證網絡數據庫的數據不會在未授權的狀態下共享。如果數據庫中的文件、數據沒有加密,就有可能被篡改、竊取。程序、結構化查詢語言被訪問時,訪問信息未被加密或是加密程度不足,會導致訪問信息的泄露。黑客利用OS工具對數據管理文件進行竊取也會導致數據泄露、被盜[1]。
搭建網絡數據庫時,在保證參照完整、用戶定義完整、實體完整的同時,也要保證數據的一致性。通常多是應用PHP,JSP等語言完善數據庫。但是不進行用戶提交數據的過濾、判別,就有可能導致數據庫被惡意代碼攻擊。一般情況下,用戶在訪問數據庫時需提交用戶名、密碼,但網絡的開放性進一步加大了用戶名、密碼的保護難度,很有可能導致用戶名、密碼被泄露,造成數據庫被攻擊。
為了杜絕第三方用戶對網絡數據庫的非法訪問,解決程序、網絡帶來的隱患,技術人員可充分應用訪問控制技術,提升網絡數據庫系統的安全性,可以說,這是防止網絡數據庫系統出現漏洞的關鍵技術。
應用網絡控制技術的目的是明確可以訪問數據庫的用戶。常用的訪問控制方式包括:(1)自主訪問控制。讓具有訪問特權的用戶將相應的訪問許可傳遞給其他用戶。(2)強制訪問控制。針對不同類型的信息采取不同的安全策略。是建立在訪問對象信任度的基礎上的,也就是說,不同信任度的用戶具有不同的訪問權限[2]。(3)基于角色的訪問控制。針對用戶職責分配角色,并對用戶角色授予不同的訪問權限。在實際應用中可采取以下方法應用基于角色的訪問控制方式,比如,依據網絡數據庫系統特點,建立核心用戶,并將表、觸發器等數據庫對象建立到核心用戶中;結合系統用戶的特點,建立不同類型的角色,賦予角色不同的訪問權限;創建通用用戶默認角色,將其賦予某一個角色。總之,訪問控制技術是非常有效的安全技術,可以有效消除網絡數據庫的安全隱患。
用戶身份認證是保護網絡數據庫安全的第一道防線。所有用戶在訪問網絡數據庫時,都要進行身份認證,只有用戶輸入正確的口令才能進入并訪問網絡數據庫。如果用戶信息錯誤,就無法進入系統。如今,最常用的是用戶名、密碼認證,指紋認證、人臉識別等應用效果更好、技術水平更高的身份認證技術也在不斷發展,可根據實際需求,靈活應用身份認證方式。
為了進一步提高網絡數據庫系統的安全性,杜絕黑客攻擊、入侵,還可應用數據加密技術,提升數據查詢、傳輸的安全性。
目前,常用的加密方式包括內部加密、外部加密兩種。其中,內部加密是指在數據服務端進行加密、解密,但是會帶來更大的安全危險。外部加密是指在程序端進行加密、解密。內部加密、外部加密各有優缺點,應靈活應用。另外,常用于網絡數據庫加密的加密算法包括:第一,序列密碼。即以字符為基礎單位進行加密。比如對明文添加與其自身長度相等的亂碼,就可將其看成密鑰,實現一次一密。第二,分組密碼。主要是對明文進行均勻分組,并對不同的分組應用不同的密鑰。該算法的優點是難以分析、計算,但是數據、環境、規律等因素都會影響其應用。第三,公鑰密碼。具有加密、解密速度慢的缺點。需要注意的是由于密碼系統是反復使用的,單純應用加密算法也不能保證信息的安全,所以,在進行網絡數據庫加密時,還要采取有效的措施加強密鑰管理,比如實行二級密鑰管理。
除了遭到非法入侵、黑客攻擊,出現數據庫數據丟失、泄露等問題外,計算機還有可能會發生硬件故障,導致網絡數據庫信息丟失。所以,要提前做好網絡數據庫的備份,以便發生重大安全事故時,及時恢復數據,保證網絡數據庫的正常運行。
網絡數據庫需要備份的內容包括用戶數據庫、系統數據庫、事務日志等。一般情況下,多是選擇文件存儲介質進行數據庫、事務日志、文件等的存儲。另外,網絡數據庫備份還可分為:(1)完全備份,指對整個網絡數據庫的所有對象進行備份。(2)事務日志備份,指在自上次備份事務日志后對數據庫執行的所有事物的記錄。(3)差異備份,指對上次備份后發生更改的數據進行備份。具體可依據實際情況,靈活選擇備份方式[3]。
網路數據庫恢復方式也可分為3種,即簡單恢復、完全恢復、大容量日志記錄恢復。具體可依據數據庫的實際破壞程度選擇合適的恢復方式。比如在數據庫遭受重大事故后系統崩潰,大部分數據丟失,就可采用完全恢復的方式。如果只是遭受了局部破壞,就可選擇簡單恢復。另外,由于數據備份與恢復之間存在時間差,所以在恢復之前應先查看數據信息,需要查看的信息包括日志文件、介質首部信息等。總之,只有做好數據備份、恢復,才能進一步減少網絡數據庫安全隱患帶來的損失,保證網絡數據庫能盡快恢復,帶給人們良好的使用體驗。
由于各種不良因素的影響,網絡數據庫會出現各種安全隱患,導致數據庫系統被攻擊、非法入侵。若是不消除安全隱患,就會引發數據丟失、篡改等問題,給企業造成嚴重的經濟損失。在建設網絡數據庫時,應積極利用訪問控制、加密、身份認證等技術,提高網絡數據庫系統的安全性,同時,做好數據備份與恢復工作,確保網絡數據庫穩定運行。