當前位置:首頁 » 數據倉庫 » 資料庫維護策略
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫維護策略

發布時間: 2022-05-21 00:24:53

資料庫的安全策略有哪些

計算機安全是當前信息社會非常關注的問題,而資料庫系統更是擔負著存儲和管理數據信息的任務,因而如何保證和加強其安全性,更是迫切需要解決的熱門課題。下面將討論資料庫的安全策略,並簡單介紹各種策略的實現方案。
一、資料庫的安全策略
資料庫安全策略是涉及信息安全的高級指導方針,這些策略根據用戶需要、安裝環境、建立規則和法律等方面的限制來制定。
資料庫系統的基本安全性策略主要是一些基本性安全的問題,如訪問控制、偽裝數據的排除、用戶的認證、可靠性,這些問題是整個安全性問題的基本問題。資料庫的安全策略主要包含以下幾個方面:
1.保證資料庫存在安全
資料庫是建立在主機硬體、操作系統和網路上的系統,因此要保證資料庫安全,首先應該確保資料庫存在安全。預防因主機掉電或其他原因引起死機、操作系統內存泄漏和網路遭受攻擊等不安全因素是保證資料庫安全不受威脅的基礎。
2.保證資料庫使用安全
資料庫使用安全是指資料庫的完整性、保密性和可用性。其中,完整性既適用於資料庫的個別元素也適用於整個資料庫,所以在資料庫管理系統的設計中完整性是主要的關心對象。保密性由於攻擊的存在而變成資料庫的一大問題,用戶可以間接訪問敏感資料庫。最後,因為共享訪問的需要是開發資料庫的基礎,所以可用性是重要的,但是可用性與保密性是相互沖突的。
二、資料庫的安全實現
1.資料庫存在安全的實現
正確理解系統的硬體配置、操作系統和網路配置及功能對於資料庫存在安全十分重要。比如對於硬體配置情況,就必須熟悉系統的可用硬碟數量,每個硬碟的可用空間數量,可用的CPU數量,每個CPU的Cache有多大,可用的內存數量,以及是否有冗餘電源等問題;對於操作系統,則應該周期性的檢查內存是否有泄漏,根文件系統是否需要清理,重要的日誌是否已經察看;對於網路就應該隨時確保網路沒有過載,網路暢通、網路安全是否得到保證等等。因為這一部分不是本文的重點,所以不再一一細述,總之,這三方面的安全運行是和維護資料庫存在安全不可分割的。
2.資料庫完整性的實現
資料庫的完整性包括庫的完整性和元素的完整性。
資料庫的完整性是DBMS(資料庫管理系統)、操作系統和系統管理者的責任。資料庫管理系統必須確保只有經批準的個人才能進行更新,還意味著數據須有訪問控制,另外資料庫系統還必須防範非人為的外力災難。從操作系統和計算系統管理者的觀點來看,資料庫和DBMS分別是文件和程序。因此整個資料庫的一種形式的保護是對系統中所有文件做周期性備份。資料庫的周期性備份可以控制由災禍造成的損失。資料庫元素的完整性是指它們的正確性和准確性。由於用戶在搜集數據、計算結果、輸入數值時可能會出現錯誤,所以DBMS必須幫助用戶在輸入時能發現錯誤,並在插入錯誤數據後能糾正它們。DBMS用三種方式維護資料庫中每個元素的完整性:通過欄位檢查在一個位置上的適當的值,防止輸入數據時可能出現的簡單錯誤;通過訪問控制來維護資料庫的完整性和一致性;通過維護資料庫的更改日誌,記錄資料庫每次改變的情況,包括原來的值和修改後的值,資料庫管理員可以根據日誌撤消任何錯誤的修改。
3.資料庫保密性的實現
資料庫的保密性可以通過用戶身份鑒定和訪問控制來實現。
DBMS要求嚴格的用戶身份鑒定。一個DBMS可能要求用戶傳遞指定的通行字和時間日期檢查,這一認證是在操作系統完成的認證之外另加的。DBMS在操作系統之外作為一個應用程序被運行,這意味著它沒有到操作系統的可信賴路徑,因此必須懷疑它所收的任何數據,包括用戶認證。因此DBMS最好有自己的認證機制。
訪問控制是指根據用戶訪問特權邏輯地控制訪問范圍和操作許可權。如一般用戶只能訪問一般數據、市場部可以得到銷售數據、以及人事部可以得到工資數據等。DBMS必須實施訪問控制政策,批准對所有指定的數據的訪問或者禁止訪問。DBMS批准一個用戶或者程序可能有權讀、改變、刪除或附加一個值,可能增加或刪除整個欄位或記錄,或者重新組織完全的資料庫。
4.資料庫可用性的實現
資料庫的可用性包括資料庫的可獲性、訪問的可接受性和用戶認證的時間性三個因素。下面解釋這三個因素。
(1)數據的可獲性
首先,要訪問的元素可能是不可訪問的。例如,一個用戶在更新幾個欄位,其他用戶對這些欄位的訪問便必須被暫時阻止。這樣可以保證用戶不會收到不準確的信息。當進行更新時,用戶可能不得不阻止對幾個欄位或幾個記錄的訪問通道,以便保證數據與其他部分的一致性。不過有一點要注意,如果正在更新的用戶在更新進行期間退出,其他用戶有可能會被永遠阻止訪問該記錄。這種後遺症也是一個安全性問題,會出現拒絕服務。
(2)訪問的可接受性
記錄的一個或多個值可能是敏感的而不能被用戶訪問。DBMS不應該將敏感數據泄露給未經批準的個人。但是判斷什麼是敏感的並不是那麼簡單,因為可能是間接請求該欄位。一個用戶也許請求某些包含敏感數據的記錄,這可能只是由非敏感的特殊欄位推出需要的值。即使沒有明確地給出敏感的值,資料庫管理程序也可能拒絕訪問這樣的背景信息,因為它會揭示用戶無權知道的信息。
(3)用戶認證的時間性
為了加強安全性,資料庫管理員可能允許用戶只在某些時間訪問資料庫,比如在工作時間。

❷ 資料庫安全控制的主要策略有哪些

1、 網站伺服器安全 防止伺服器被黑客入侵。首先,要選擇比較好的託管商,託管的機房很重要。現在很多服務商都在說硬體防火牆防CC攻擊,其實一般小託管商很少具備這些配置。機房裡其他電腦的安全也是很重要的,例如現在很多攻擊方法是通過嗅探的方法得到管理密碼的,或者ARP欺騙,其最大的危害就是根本找不到伺服器漏洞,卻莫名其妙地被黑了。其次,對於伺服器本身,各種安全補丁一定要及時更新,把那些用不到的埠全部關閉掉,越少的服務等於越大的安全系數。 2、 網站程序安全 程序漏洞是造成安全隱患的一大途徑。網站開發人員應該在開發網站的過程中注意網站程序各方面的安全性測試,包括在防止sql注入、密碼加密、數據備份、使用驗證碼等方面加強安全保護措施。 3、 網站信息安全 信息安全有多層含義。首先,最基本的是網站內容的合法性,網路的普及也使得犯罪分子利用網路傳播快捷的特性而常常發布違法、違規的信息。要避免網站上出現各種違法內容、走私販毒、種族歧視及政治性錯誤傾向的言論。其次,防止網站信息被篡改,對於大型網站來說,所發布的信息影響面大,如果被不法分子篡改,,引起的負面效應會很惡劣。輕者收到網監的警告,重者伺服器被帶走。 4、 網站數據安全 說到一個網站的命脈,非資料庫莫屬,網站資料庫裡面通常包含了政府網站的新聞、文章、注冊用戶、密碼等信息,對於一些商業、政府類型的網站,裡面甚至包含了重要的商業資料。網站之間的競爭越來越激烈,就出現了優部分經營者不正當競爭,通過黑客手段竊取數據,進行推廣,更有黑客直接把「拿站」當做一項牟利的業務。所以,加強一個網站的安全性,最根本的就是保護資料庫不要被攻擊剽竊掉。

❸ 使用mybatis做持久層框架時,資料庫的主鍵生成策略怎麼維護

兩種方式:
方式1:假設Bean的屬性xxx為主鍵,則在getXxx() 前添加以下註解
@Id
@SequenceGenerator(name="名稱A", sequenceName="庫中已存在的sequence名稱",allocationSize=遞增值)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="名稱A")

方式2:假設Bean的屬性xxx為主鍵,則在getXxx() 前添加以下註解
@Id
@TableGenerator(name="名稱A",allocationSize=遞增值)//若不指定遞增值,則生成的主鍵值不一定連續
@GeneratedValue(strategy=GenerationType.TABLE, generator="名稱A")

❹ 超市資料庫維護工作有哪些

一、備份系統數據
SYBASE 系統的備份與恢復機制保證了在系統失敗時重新獲取數據的可能性。SQL Server 提供了兩種不同類型的恢
復機制:一類是系統自動完成的恢復,這種措施在每次系統啟動時都自動進行,保證了在系統癱瘓前完成的事務都
寫到資料庫設備上,而未完成的事務都被回退;另一類是人工完成的恢復,這是通過 DUMP 和 LOAD 命令來執行人
工備份和恢復工作。因此定期備份事務日誌和資料庫是一項十分重要的日常維護工作。

1、備份資料庫

每一個資料庫都應在創建之後卸出,從而提供一個裝入基點。在此之後按排定的時間周期表卸出。比如每周五卸出
資料庫。對一般資料庫系統卸出資料庫周期建議為每周一次。
除了按計劃周期卸出資料庫之外,還需在每次運行沒有日誌的操作後卸出資料庫。例如:
·每次強制地運行了 DUMP TRAN WITH NO_LOG (因為資料庫的磁碟空溢出);
·每次用 sp_dboption 允許 select into/bulk 做快速拷貝,或用 SELECT INTO 命令創建一個永久性的表,
或使用了 WRITETEXT 命令。
卸出資料庫的命令為:

DUMP DATABASE database_name
TO mp_device

database_name 是要卸出的資料庫名稱,mp_device 是卸出設備的名稱。用系統過程 sp_helpdevice 可以獲得
設備的信息。
下面一條命令用來卸出資料庫 my_db :

DUMP DATABASE my_db
TO db_bk_dev

2、備份事務日誌

如果事務日誌與資料庫放在同一個設備上,則事務日誌不應與資料庫分開備份。master 資料庫和小於 4M 的用戶
資料庫就是這種情況。一般資料庫系統的資料庫和日誌分別放在不同的設備上,因此,可以用 DUMP TRAN 命令單
獨備份日誌。
備份事務日誌的周期直接影響數據的恢復程度,因此建議每天備份。
備份事務日誌的命令格式為:

DUMP TRANsaction database_name
[TO mp_device]
[WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE]

其中 database_name 是要備份事務的資料庫名稱,mp_device 是備份設備名稱,僅當包含了 WITH
TRUNCATE_ONLY 或 WITH NO_LOG 子句時,才可以備份到設備。
注意:如果總是用 DUMP DATEBASE (備份資料庫及其日誌),而不用 DUMP TRAN ,事務日誌將不會刷新,而變得
非常龐大。
對於 master 資料庫和小型資料庫每次運行 DUMP DATEBASE 之後應當運行 DUMP TRANsaction 命令刷新日誌 。
下面一條命令備份資料庫 db160 的事務日誌到備份設備上:

DUMP TRANsaction db160
TO db_log_bk_dev
WITH TRUNCATE_ONLY

3、備份資料庫及其日誌間的相互作用

在至少卸出一次資料庫前,卸出事務日誌是毫無意義的。下圖顯示了備份資料庫及其日誌間的關系

如果在星期二下午5:01出現非硬體故障,需要做的所有工作是裝入磁帶5(參見下一節:數據恢復),由於磁帶5
是下午5:00剛備份的,因此只有備份和裝入之間的一分鍾內的數據損失。
但是,如果在星期二下午4:49失效會怎麼樣呢?在這種情況下,要裝入磁帶1(在星期五下午5:00的卸出)。然
後,依次裝入磁帶2,3以及4。這樣,系統將恢復到星期二上午10:00點的狀態,星期二的大部分工作丟失了。此
例顯示了經常卸出事務的重要性。

二、萬一系統失敗時恢復資料庫系統

如果用戶資料庫存儲的設備失效,從而資料庫被破壞或不可存取,通過裝入最新的資料庫備份以及後來的事務日誌
備份可以恢復資料庫。假設當前的事務日誌存在於一個並沒有毀壞的設備上,帶著 WITH NO_TRUNCATE 選項的
DUMP TRANsaction 命令卸出它。
要恢復資料庫按如下步驟去做:
1、如果日誌存在於一個分離的設備上,用帶著 NO_TRUNCATE 選項的 DUMP TRANsaction 命令卸出被毀壞的或者不
可存取的用戶資料庫事務日誌。
2、用下面的查詢檢查設備分配已毀壞資料庫的設備使用情況。必須為同一目的賦同樣的空間塊。
下面的查詢顯示了分配給資料庫 mydb 設備使用和尺寸情況:

SELECT segmap,size FROMsysusages
WHERE dbid =
( SELECT dbid FROM sysdatabases WHERE name = 「mydb」)

3、檢查查詢的輸出。在 segmap 列的 『3』代表數據分配,『4』代表日誌分配。size 列代表 2K 數據塊的數
目。注意此信息的次序、使用和尺寸部分。例如,輸出為:

segmapSize
--------------------
310240//實際尺寸為:20M
35120//實際尺寸為:10M
45120//實際尺寸為:10M
31024//實際尺寸為:2M
42048//實際尺寸為:4M

4、用 DROP DATABASE 命令刪除毀壞設備上的資料庫。如果系統報錯,用DBCC DBREPAIR 命令的 DROPDB 選項。
5、刪除資料庫後,用 sp_dropdevice 刪除毀壞了的設備。
6、用 DISK INIT 初始化新的資料庫設備。
7、重建資料庫。用 CREATE DATABASE 命令從老的 sysusages 表拷貝所有的行,並包含第一邏輯設備。
對上例,命令為:

CREATE DATABASE mydb
ON datadev1=20,datadev2=10
LOG ON logdev1=10

8、用 ALTER DATABASE 命令重建其餘入口。在此例中,在datadev1上分配更多的空間,命令為:

ALTER DATABASE mydb ON datadev1=2

9、用 LOAD DATABASE 重新裝入資料庫,然後用 LOAD TRAN 裝入前面卸出的日誌。
LOAD DATABASE 命令語法是:

LOAD DATABASE database_name
FROM mp_device

LOAD TRANsaction 命令的語法是:

LOAD TRANsaction database_name
FROM mp_device

卸出資料庫和事務日誌的預設許可權歸資料庫所有者,且可以傳遞給其他用戶;裝載資料庫和事務的許可權也歸資料庫
所有者,但不能傳遞。

二、產生用戶信息表,並為信息表授權;
系統維護人員的另一個日常事務是為用戶創建新的信息表,並為之授權。創建表以及為表授權的方法已經在講過,
在此只將有關命令語法寫出來。
·創建表的命令為:

CREATE TABLE table_name
( column_1 datatype [NULL | NOT NULL | IDENTITY],
column_2 ……

go

ALTER TABLE table_name
ADD PRIMARY KEY (column_list)
go

·刪除表的命令格式為:

DROP TABLE table_name
go

·為表授權的命令格式為:

GRANT {ALL|permission_list}
ON table_name TO user_name
go

·收回許可權的命令格式為

REVOKE {ALL|permission_list}
ON table_name FROM user_name
go

三、監視系統運行狀況,及時處理系統錯誤;
系統管理員的另一項日常工作是監視系統運行情況。主要有以下幾個方面:
1、監視當前用戶以及進程的信息
使用系統過程:sp_who
說明:該命令顯示當前系統所有注冊用戶及進程信息,如下表是某系統的信息。

---------------------------------------------------------------

2SleepingNULL0MasterNETWORK HANDLE
3SleepingNULL0MasterDEADLOCK TUNE
4SleepingNULL0MasterMIRROR HANDLER

SLEEP
從左向右依次顯示:進程號、當前狀態、注冊用戶名、主機名、佔用塊數、資料庫名以及當前命令。
如果監視時發現進程總數接近最大連接數(用系統過程:sp_configure 「user conn」 查看)時,應下掉不活動
或無關進程,以保證系統正常運做;另外亦可監視非法用戶或用戶使用不屬於自己使用范圍的資料庫等情況。
2、監視目標佔用空間情況
使用系統過程:sp_spaceused
說明:該過程顯示行數、數據頁數以及當前資料庫中由某個目標或所有目標所佔用的空間。如下表是某資料庫日誌
表的信息:

NameRow_totalreserveddataIndex_sizeunused
------------------------------------------------------------
SyslogsNot avail32KB32KB0KBNot avail

日常要監視的主要目標有:用戶資料庫、資料庫日誌表(syslogs)以及計費原始數據表等。如果發現佔用空間過
大,對日誌表要進行轉儲;對其他目標則應擴充空間或清楚垃圾數據。
3、監視 SQL Server 統計數字
使用系統過程:sp_monitor
說明:sp_monitor 顯示SQL Server 的歷史統計數字,下表是某系統的統計數字:

Last_runCurrent_runSeconds
---------------------------------------------------------------
May 13 2000 1:27PMMay 13 2000 3:01PM5678
CPU_busyIO_busyIdle
---------------------------------------------------------------
16(6)-0%0(0)-0%5727(5672)-99%
Packets_receivedPackets_sentPacket_errors
---------------------------------------------------------------
21(17)100(97)0(0)
Total_readTotal_writeTotal_errorsConnections
--------------------------------------------------------
785(366)311(113)0(0)3(2)

上表依次給出該系統本次運行統計的上一次時間、本次時間、間隔秒數、CPU佔用、IO佔用、收發包情況、系統讀
入寫出情況等信息

四、保證系統數據安全,周期更改用戶口令;
為保證系統數據的安全,系統管理員必須依據系統的實際情況,執行一系列的安全保障措施。其中,周期性的更改
用戶口令是比較常用且十分有效的措施。
更改用戶口令是通過調用系統過程sp_password 來實現的。Sp_password 的語法為:
sp_password caller_password,new_password [,loginame]
其中caller_password 是登錄口令(老口令),new_password是新口令,loginame是登錄名稱。

❺ sql2008資料庫維護計劃怎麼設置

最佳實踐 (一) 備份計劃 1) 每周星期日的2:00:00執行資料庫的完整備份; 2) 每周星期一至星期六每天的2:00:00執行資料庫的差異備份; 3) 每天在8:00:00和23:59:59之間、每1小時執行資料庫的日誌備份; 4) 每個月的最後一個星期日的1:00:00執行資料庫的完整備份; (二) 計劃講解 1. 根據備份文件的不同,我創建了4個文件用於存放備份文件:(Mesa是資料庫名) 1) Mesa_Full:用於存放完整備份文件; 2) Mesa_Diff:用於存放差異備份文件; 3) Mesa_Log:用於存放日誌備份文件; 4) Mesa_Save:用於存放保留備份文件; 上面的4個文件夾與備份計劃的4個步驟是一 一對應的; (Figure1:文件夾命名規范) 2. 創建名為Mesa的維護計劃,並創建如下圖的4個子計劃: (Figure2:子計劃列表) 3. 設置【清除歷史記錄】、【清除維護】的保留時間: 1) Subplan_Full:保留完整備份文件4周;(1個*4周=4個文件) 2) Subplan_Diff:保留差異備份文件2周;(6個*2周=12個文件) 3) Subplan_Log:保留日誌備份文件1周;(16個*7天=112個文件) 4) Subplan_Save:保留備份文件1年;(1個*12月=12個文件) 上面的時間策略需要根據資料庫的安全級別、磁碟空間、業務特性等情況共同解決的,你可以根據的實際情況進行修改和調整; 4. 下面的Figure3、Figure4、Figure5、Figure6是具體設置的效果圖:

❻ 怎麼維護資料庫 防止核心存儲過程被篡改

解決方法:可以在表中加一個MD5的欄位,這個欄位的值是表中幾個主要欄位+隨機數組合起來通過MD5加密的方式加密後的字元串,獲取數據時校驗MD5的值是否一致,如果不一致則表示數據被非法篡改了,反之則數據正常。同時修改數據的時候需要更新MD5的值。

❼ (2)資料庫運維的核心任務是什麼

1、資料庫的配置、維護

2、伺服器的配置與維護

3、應用軟體的運行與維護

4、功能的擴展

資料庫運維服務是指:針對用戶資料庫開展的軟體安裝、配置優化、備份策略選擇及實施、數據恢復、數據遷移、故障排除、預防性巡檢等一系列服務。

❽ 資料庫系統的安全措施有哪些

  1. 資料庫數據加密

    數據加密可以有效防止資料庫信息失密性的有效手段。通常加密的方法有替換、置換、混合加密等。雖然通過密鑰的保護是資料庫加密技術的重要手段,但如果採用同種的密鑰來管理所有數據的話,對於一些不法用戶可以採用暴力破解的方法進行攻擊。
    但通過不同版本的密鑰對不同的數據信息進行加密處理的話,可以大大提高資料庫數據的安全強度。這種方式主要的表現形式是在解密時必須對應匹配的密鑰版本,加密時就盡量的挑選最新技術的版本。

  2. 強制存取控制

    為了保證資料庫系統的安全性,通常採取的是強制存取檢測方式,它是保證資料庫系統安全的重要的一環。強制存取控制是通過對每一個數據進行嚴格的分配不同的密級,例如政府,信息部門。在強制存取控制中,DBMS所管理的全部實體被分為主體和客體兩大類。主體是系統中的活動實體,它不僅包括DBMS 被管理的實際用戶,也包括代表用戶的各進程。
    客體是系統中的被動實體,是受主體操縱的,包括文件、基表、索引、視圖等等。對於主體和客體,DBMS 為它們每個實例(值)指派一個敏感度標記。主客體各自被賦予相應的安全級,主體的安全級反映主體的可信度,而客體的安全級反映客體所含信息的敏感程度。對於病毒和惡意軟體的攻擊可以通過強制存取控制策略進行防範。但強制存取控制並不能從根本上避免攻擊的問題,但可以有從較高安全性級別程序向較低安全性級別程序進行信息傳遞。

  3. 審計日誌

    審計是將用戶操作資料庫的所有記錄存儲在審計日誌(Audit Log)中,它對將來出現問題時可以方便調查和分析有重要的作用。對於系統出現問題,可以很快得找出非法存取數據的時間、內容以及相關的人。從軟體工程的角度上看,目前通過存取控制、數據加密的方式對數據進行保護是不夠的。因此,作為重要的補充手段,審計方式是安全的資料庫系統不可缺少的一部分,也是資料庫系統的最後一道重要的安全防線。

❾ 資料庫的安全策略有哪些

計算機安全是當前信息社會非常關注的問題,而資料庫系統更是擔負著存儲和管理數據信息的任務,因而如何保證和加強其安全性,更是迫切需要解決的熱門課題。下面將討論資料庫的安全策略,並簡單介紹各種策略的實現方案。
一、資料庫的安全策略
資料庫安全策略是涉及信息安全的高級指導方針,這些策略根據用戶需要、安裝環境、建立規則和法律等方面的限制來制定。
資料庫系統的基本安全性策略主要是一些基本性安全的問題,如訪問控制、偽裝數據的排除、用戶的認證、可靠性,這些問題是整個安全性問題的基本問題。資料庫的安全策略主要包含以下幾個方面:
1.保證資料庫存在安全
資料庫是建立在主機硬體、操作系統和網路上的系統,因此要保證資料庫安全,首先應該確保資料庫存在安全。預防因主機掉電或其他原因引起死機、操作系統內存泄漏和網路遭受攻擊等不安全因素是保證資料庫安全不受威脅的基礎。
2.保證資料庫使用安全
資料庫使用安全是指資料庫的完整性、保密性和可用性。其中,完整性既適用於資料庫的個別元素也適用於整個資料庫,所以在資料庫管理系統的設計中完整性是主要的關心對象。保密性由於攻擊的存在而變成資料庫的一大問題,用戶可以間接訪問敏感資料庫。最後,因為共享訪問的需要是開發資料庫的基礎,所以可用性是重要的,但是可用性與保密性是相互沖突的。
二、資料庫的安全實現
1.資料庫存在安全的實現
正確理解系統的硬體配置、操作系統和網路配置及功能對於資料庫存在安全十分重要。比如對於硬體配置情況,就必須熟悉系統的可用硬碟數量,每個硬碟的可用空間數量,可用的CPU數量,每個CPU的Cache有多大,可用的內存數量,以及是否有冗餘電源等問題;對於操作系統,則應該周期性的檢查內存是否有泄漏,根文件系統是否需要清理,重要的日誌是否已經察看;對於網路就應該隨時確保網路沒有過載,網路暢通、網路安全是否得到保證等等。因為這一部分不是本文的重點,所以不再一一細述,總之,這三方面的安全運行是和維護資料庫存在安全不可分割的。
2.資料庫完整性的實現
資料庫的完整性包括庫的完整性和元素的完整性。
資料庫的完整性是DBMS(資料庫管理系統)、操作系統和系統管理者的責任。資料庫管理系統必須確保只有經批準的個人才能進行更新,還意味著數據須有訪問控制,另外資料庫系統還必須防範非人為的外力災難。從操作系統和計算系統管理者的觀點來看,資料庫和DBMS分別是文件和程序。因此整個資料庫的一種形式的保護是對系統中所有文件做周期性備份。資料庫的周期性備份可以控制由災禍造成的損失。資料庫元素的完整性是指它們的正確性和准確性。由於用戶在搜集數據、計算結果、輸入數值時可能會出現錯誤,所以DBMS必須幫助用戶在輸入時能發現錯誤,並在插入錯誤數據後能糾正它們。DBMS用三種方式維護資料庫中每個元素的完整性:通過欄位檢查在一個位置上的適當的值,防止輸入數據時可能出現的簡單錯誤;通過訪問控制來維護資料庫的完整性和一致性;通過維護資料庫的更改日誌,記錄資料庫每次改變的情況,包括原來的值和修改後的值,資料庫管理員可以根據日誌撤消任何錯誤的修改。
3.資料庫保密性的實現
資料庫的保密性可以通過用戶身份鑒定和訪問控制來實現。
DBMS要求嚴格的用戶身份鑒定。一個DBMS可能要求用戶傳遞指定的通行字和時間日期檢查,這一認證是在操作系統完成的認證之外另加的。DBMS在操作系統之外作為一個應用程序被運行,這意味著它沒有到操作系統的可信賴路徑,因此必須懷疑它所收的任何數據,包括用戶認證。因此DBMS最好有自己的認證機制。
訪問控制是指根據用戶訪問特權邏輯地控制訪問范圍和操作許可權。如一般用戶只能訪問一般數據、市場部可以得到銷售數據、以及人事部可以得到工資數據等。DBMS必須實施訪問控制政策,批准對所有指定的數據的訪問或者禁止訪問。DBMS批准一個用戶或者程序可能有權讀、改變、刪除或附加一個值,可能增加或刪除整個欄位或記錄,或者重新組織完全的資料庫。
4.資料庫可用性的實現
資料庫的可用性包括資料庫的可獲性、訪問的可接受性和用戶認證的時間性三個因素。下面解釋這三個因素。
(1)數據的可獲性
首先,要訪問的元素可能是不可訪問的。例如,一個用戶在更新幾個欄位,其他用戶對這些欄位的訪問便必須被暫時阻止。這樣可以保證用戶不會收到不準確的信息。當進行更新時,用戶可能不得不阻止對幾個欄位或幾個記錄的訪問通道,以便保證數據與其他部分的一致性。不過有一點要注意,如果正在更新的用戶在更新進行期間退出,其他用戶有可能會被永遠阻止訪問該記錄。這種後遺症也是一個安全性問題,會出現拒絕服務。
(2)訪問的可接受性
記錄的一個或多個值可能是敏感的而不能被用戶訪問。DBMS不應該將敏感數據泄露給未經批準的個人。但是判斷什麼是敏感的並不是那麼簡單,因為可能是間接請求該欄位。一個用戶也許請求某些包含敏感數據的記錄,這可能只是由非敏感的特殊欄位推出需要的值。即使沒有明確地給出敏感的值,資料庫管理程序也可能拒絕訪問這樣的背景信息,因為它會揭示用戶無權知道的信息。
(3)用戶認證的時間性
為了加強安全性,資料庫管理員可能允許用戶只在某些時間訪問資料庫,比如在工作時間。

你好,本題已解答,如果滿意
請點右下角「採納答案」。

❿ 資料庫安全的安全策略

資料庫的安全配置在進行安全配置之前,首先必須對操作系統進行安全配置,保證操作系統處於安全狀態。然後對要使用的操作資料庫軟體(程序)進行必要的安全審核,比如對ASP、PHP等腳本,這是很多基於資料庫的Web應用常出現的安全隱患,對於腳本主要是一個過濾問題,需要過濾一些類似「,; @ /」等字元,防止破壞者構造惡意的SQL語句。接著,安裝SQL Server2000後請打上最新SQL補丁SP4 。
SQL Server的安全配置
1.使用安全的密碼策略
我們把密碼策略擺在所有安全配置的第一步,請注意,很多資料庫賬號的密碼過於簡單,這跟系統密碼過於簡單是一個道理。對於sa更應該注意,同時不要讓sa賬號的密碼寫於應用程序或者腳本中。健壯的密碼是安全的第一步,建議密碼含有多種數字字母組合並9位以上。SQL Server2000安裝的時候,如果是使用混合模式,那麼就需要輸入sa的密碼,除非您確認必須使用空密碼,這比以前的版本有所改進。同時養成定期修改密碼的好習慣,資料庫管理員應該定期查看是否有不符合密碼要求的賬號。
2.使用安全的賬號策略
由於SQL Server不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個賬號進行最強的保護,當然,包括使用一個非常強壯的密碼,最好不要在資料庫應用中使用sa賬號,只有當沒有其他方法登錄到 SQL Server 實例(例如,當其他系統管理員不可用或忘記了密碼)時才使用 sa。建議資料庫管理員新建立個擁有與sa一樣許可權的超級用戶來管理資料庫。安全的賬號策略還包括不要讓管理員許可權的賬號泛濫。
SQL Server的認證模式有Windows身份認證和混合身份認證兩種。如果資料庫管理員不希望操作系統管理員來通過操作系統登錄來接觸資料庫的話,可以在賬號管理中把系統賬號「BUILTINAdministrators」刪除。不過這樣做的結果是一旦sa賬號忘記密碼的話,就沒有辦法來恢復了。很多主機使用資料庫應用只是用來做查詢、修改等簡單功能的,請根據實際需要分配賬號,並賦予僅僅能夠滿足應用要求和需要的許可權。比如,只要查詢功能的,那麼就使用一個簡單的public賬號能夠select就可以了。
3.加強資料庫日誌的記錄
審核資料庫登錄事件的「失敗和成功」,在實例屬性中選擇「安全性」,將其中的審核級別選定為全部,這樣在資料庫系統和操作系統日誌裡面,就詳細記錄了所有賬號的登錄事件。請定期查看SQL Server日誌檢查是否有可疑的登錄事件發生,或者使用DOS命令。
4.管理擴展存儲過程
對存儲過程進行大手術,並且對賬號調用擴展存儲過程的許可權要慎重。其實在多數應用中根本用不到多少系統的存儲過程,而SQL Server的這么多系統存儲過程只是用來適應廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統的存儲過程能很容易地被人利用起來提升許可權或進行破壞。如果您不需要擴展存儲過程Xp_cmdshell請把它去掉。使用這個SQL語句:
use master
sp_dropextendedproc 'Xp_cmdshell'
Xp_cmdshell是進入操作系統的最佳捷徑,是資料庫留給操作系統的一個大後門。如果您需要這個存儲過程,請用這個語句也可以恢復過來。
sp_addextendedproc 'xp_cmdshell', 'xpSQL70.dll'
如果您不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特徵不能使用)。
這些過程如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統管理員的密碼來,命令如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
還有一些其他的擴展存儲過程,也最好檢查檢查。在處理存儲過程的時候,請確認一下,避免造成對資料庫或應用程序的傷害。
5.使用協議加密
SQL Server 2000使用的Tabular Data Stream協議來進行網路數據交換,如果不加密的話,所有的網路傳輸都是明文的,包括密碼、資料庫內容等,這是一個很大的安全威脅。能被人在網路中截獲到他們需要的東西,包括資料庫賬號和密碼。所以,在條件容許情況下,最好使用SSL來加密協議,當然,您需要一個證書來支持。
6.不要讓人隨便探測到您的TCP/IP埠
默認情況下,SQL Server使用1433埠監聽,很多人都說SQL Server配置的時候要把這個埠改變,這樣別人就不會輕易地知道使用的什麼埠了。可惜,通過微軟未公開的1434埠的UDP探測可以很容易知道SQL Server使用的什麼TCP/IP埠。不過微軟還是考慮到了這個問題,畢竟公開而且開放的埠會引起不必要的麻煩。在實例屬性中選擇TCP/IP協議的屬性。選擇隱藏 SQL Server實例。如果隱藏了SQL Server實例,則將禁止對試圖枚舉網路上現有的 SQL Server實例的客戶端所發出的廣播作出響應。這樣,別人就不能用1434來探測您的TCP/IP埠了(除非用Port Scan)。
7.修改TCP/IP使用的埠
請在上一步配置的基礎上,更改原默認的1433埠。在實例屬性中選擇網路配置中的TCP/IP協議的屬性,將TCP/IP使用的默認埠變為其他埠。
8.拒絕來自1434埠的探測
由於1434埠探測沒有限制,能夠被別人探測到一些資料庫信息,而且還可能遭到DoS攻擊讓資料庫伺服器的CPU負荷增大,所以對Windows 2000操作系統來說,在IPSec過濾拒絕掉1434埠的UDP通信,可以盡可能地隱藏您的SQL Server。
9.對網路連接進行IP限制
SQL Server 2000資料庫系統本身沒有提供網路連接的安全解決辦法,但是Windows 2000提供了這樣的安全機制。使用操作系統自己的IPSec可以實現IP數據包的安全性。請對IP連接進行限制,只保證自己的IP能夠訪問,也拒絕其他IP進行的埠連接,對來自網路上的安全威脅進行有效的控制。
上面主要介紹的一些SQL Server的安全配置,經過以上的配置,可以讓SQL Server本身具備足夠的安全防範能力。當然,更主要的還是要加強內部的安全控制和管理員的安全培訓,而且安全性問題是一個長期的解決過程,還需要以後進行更多的安全維護。