隔牆有耳之資料庫的安全性

餘二五發表於2017-11-16
                           隔牆有耳之資料庫的安全性
現在這個時代資料的價值是非常高的,尤其遊戲伺服器的後臺資料庫,公司老闆就是靠他掙錢的啊!!!但是現在黑客的技術也越來越高明啊,下面俺來介紹一下關於資料庫的安全性。
SQL資料庫的安全包括兩個部分:
一、載體的安全性
二、物理的安全性
下面我來解釋這兩方面的安全性。
一、載體的安全性比較簡單它包括:補丁/防毒軟體的更新、安全的檔案系統。還有我們要經常結合系統的登錄檔和組策略來使用這樣效果會更好一些。
二、物理的安全性主要有:
1、使用者的訪問控制
2、資料儲存的安全性
3、網路傳輸的安全性
4、資料在儲存過程的加密
首先我們來看一下使用者的訪問控制,首先看一下使用者是採用什麼方式進行登陸的?
大家都知道SQL在身份驗證的方式:windows驗證
混合模式驗證
這兩種方式大家也許都不陌生,更改身份驗證方式在伺服器名—右擊—-屬性—-安全性,如圖:
clip_image002
clip_image004
SQL是可以對使用者進行相當嚴格的限制的,那它是怎樣限制使用者的呢?
SQL對不同的使用者有不同的步驟:
對於windows使用者預設是沒有登陸SQL Server服務的許可權的,必須給它登陸SQL的許可權才行,給了使用者登陸的許可權了,但是還是沒有檢視任何資料庫的許可權,我們還得把使用者指定指定資料庫的合法使用者然後再分配相應的許可權。
來看一個例子:建立一個windows使用者lyl,可以檢視test1表中的所有資料。
在windows中建立使用者不用再說了吧,太簡單了,圖形比較簡單我們直接來命令的,使用者已經建立了
create login [dufeilyl] from windows with default_database=master(建立登入名並制定預設資料庫)
create user lyl for login [dufeilyl](成為指定資料庫合法使用者)
grant select on test1 to lyl(賦予使用者有檢視許可權)
revoke select on test1 from tom撤銷許可權
如圖:
建立一個名為db1的資料庫,進入資料庫中建立一個表,再插入一條記錄
clip_image006
我們用lyl使用者登陸
clip_image008
登陸資料庫
clip_image010
檢視一下test1這個表,沒有問題
clip_image012
插入一條記錄是不行的,這是針對windows使用者的限制與許可權的配置。
clip_image014
接下來看一下是怎麼針對SQL使用者限制的,跟windows使用者差不多如圖:
clip_image016
我們以lll登陸
clip_image018
登陸上了,進入db1資料庫中檢視時可以的,
clip_image020
但是沒有插入許可權所以插入失敗
clip_image022
在下面幾篇博文中我會寫一下關於資料庫安全的,希望大家喜歡。
呵呵O(∩_∩)O~
本文轉自 liuyonglei 51CTO部落格,原文連結:http://blog.51cto.com/liuyonglei/166662,如需轉載請自行聯絡原作者


相關文章