国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

如何確保數據庫中的數據安全

發(fā)布時(shí)間:2021-09-14 11:25 來(lái)源:億速云 閱讀:0 作者:chen 欄目: 網(wǎng)絡(luò )安全

本篇內容介紹了“如何確保數據中的數據安全”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!

數據庫安全有兩個(gè)方面:一是數據庫物理安全,指的是運行數據庫的、傳輸數據的線(xiàn)路等設備的正常運行,不被外力破壞、不因網(wǎng)絡(luò )擁塞而不可用、預防因元器件老化而造成損失;二是數據庫邏輯安全,數據庫中最重要的是數據,要保證數據不因黑客入侵而丟失或泄露,不因程序崩潰而損壞,數據存儲方式合理有序,存取方便快捷。

對數據的安全保障包括幾個(gè)方面,分別為數據獨立性、數據安全性、數據完整性、并發(fā)控制、故障恢復等。

數據獨立性包括物理獨立性和邏輯獨立性?xún)蓚€(gè)方面。物理獨立性是指用戶(hù)的應用程序與存儲在磁盤(pán)上的數據庫中的數據是相互獨立的,邏輯獨立性是指用戶(hù)的應用程序與數據庫的邏輯結構是相互獨立的。

數據安全性要求數據需要按照需求以一定結構合理存儲,利用訪(fǎng)問(wèn)控制增加數據被竊取的可能性,利用加密存儲增加對數據竊取的犯罪成本,從而減少風(fēng)險。

數據完整性包括數據的正確性、有效性和一致性。正確性是指數據的輸入值與數據表對應域的數值、類(lèi)型相同;有效性是指數據庫中的數值約束滿(mǎn)足現實(shí)應用中對該數值段的理論范圍;一致性是指不同用戶(hù)對同一數據的使用方法和理解應該是一樣的。

并發(fā):當多個(gè)用戶(hù)同時(shí)訪(fǎng)問(wèn)數據庫的同一資源時(shí),多個(gè)資源的讀寫(xiě)順序不同將導致不同的結果,因此需要并發(fā)控制。當一位用戶(hù)正在連續操作該數據時(shí),有另一位用戶(hù)中途讀出改數據,則會(huì )讀到不正確的數據,被稱(chēng)為數據臟讀。這時(shí)就需要對這種并發(fā)操作施行控制,排除和避免這種錯誤的發(fā)生,保證數據的正確性。

故障恢復:數據庫因軟件原因(如計算機病毒、網(wǎng)絡(luò )不穩定、程序Bug、誤操作等)或物理原因(如突然斷電、自然災害、硬件老化等)導致數據的損壞,應存在一種恢復機制,使損失降到最小。

01 安全配置

1. 修改Root用戶(hù)口令,刪除空口令

在MySQL控制臺中執行如下代碼,將newpass換成實(shí)際的口令即可。

mysql> SET PASSWORD FOR‘root’@’lo calhost’=PASSWORD(’newpass’);  Query OK,0 rows affected,1 warning(0.01 sec)

2. 刪除默認數據庫和數據庫用戶(hù)

MySQL默認安裝后帶有test等數據庫用于測試,可能帶來(lái)不安全因素,因此將其移除,如下:

mysql> DROP DATABASE test;  Query OK,0 rows affected(0.00 sec)

有些MySQL數據庫的匿名用戶(hù)的口令為空。因而,任何人都可以連接到這些數據庫??梢杂孟旅娴拿钸M(jìn)行檢查:

mysql> select * frommysql.user where user="";

3. 改變默認MySQL管理員帳號

首先創(chuàng )建一個(gè)與Root用戶(hù)權限一樣的用戶(hù)。如下所示:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'new_admin'@'127.0.0.1' IDENTIFIED BY 'password';  Query OK,0 rows affected,1 warning(0.02 sec)

刪除默認的Root用戶(hù),如下。

mysql> drop user root@'127.0.0.1';  mysql> drop user root@'lo calhost';  mysql> drop user root@'::1';  Query OK,0 rows affected(0.04 sec)

4. 使用獨立用戶(hù)運行MySQL

在一個(gè)安全系統中使用一個(gè)權限較低的獨立系統用戶(hù)運行MySQL,即使在MySQL存在安全問(wèn)題時(shí),也能有效地阻止黑客進(jìn)一步入侵。

5. 禁止遠程連接數據庫

在my.cnf或my.ini的[mysqld]部分配置如下參數,可以關(guān)閉在TCP/IP端口上的監聽(tīng)進(jìn)而達到保證安全的效果。

skip-networking

也可以?xún)H監聽(tīng)本機,方法是在my.cnf的[mysqld]部分增加下面一行。

bind-address=127.0.0.1

若不得不啟用遠程連接數據庫,則可以對目標的主機給予有限的訪(fǎng)問(wèn)許可。

mysql>GRANT SELECT,INSERT ON mydb.* TO 'username'@'host_ip';

6. 限制連接用戶(hù)的數量

限制最大連接數,可以增加黑客暴力攻擊數據庫所需時(shí)間,增加攻擊被發(fā)現的可能性,從而增加安全性。

可以在my.ini或my.cnf查找max_connections=100,修改為max_connections=1000服務(wù)里重啟MySQL?;蛴萌缦旅钚薷淖畲筮B接數。

mysql> set GLOBAL max_connections=100;  Query OK,0 rows affected(0.00 sec)

7. 用戶(hù)目錄權限限制

安裝時(shí),MySQL以Root用戶(hù)權限進(jìn)行安裝,軟件默認都為Root權限。

安裝完畢后,需要將數據目錄權限設置為實(shí)際運行MySQL的用戶(hù)權限,如下。

chown –R mysql:mysql/home/mysql/data

8. 命令歷史記錄保護

MySQL在用戶(hù)的主目錄下會(huì )生成一個(gè).mysql_history的文件,該文件記錄用戶(hù)敲過(guò)的每條命令。該文件可能泄露數據庫結構甚至密碼等敏感信息,因此,要及時(shí)清除或阻止該文件的生成。

可以通過(guò)將日志文件定向到/dev/null的方法,阻止該文件的生成。

$export MYSQL_HISTFILE=/dev/null

9. 禁止MySQL對本地文件存取

LOAD DATA LOCAL INFILE可以從文件系統中讀取文件,并顯示在屏幕中或保存在數據庫中。結合注入漏洞可以實(shí)現進(jìn)一步的攻擊??梢栽趍y.cnf配置文件中的[mysqld]部分增加下面一行以禁止這一功能。

set-variable=lo cal-infile=0

10. MySQL服務(wù)器權限控制

數據庫架構在服務(wù)器之上,服務(wù)器安是數據庫安全的基本保證。服務(wù)器上眾多軟件的權限控制合理,也是數據庫安全的必要保障。

11. MySQL數據庫權限控制

不僅是服務(wù)器有不同的權限控制,MySQL 數據庫內部也應有嚴格的權限控制機制,針對不同的用戶(hù),應設置不同的權限。MySQL內置了CREATE、DROP、GRANT OPTION、REFERENCES等26種操作權限的控制,面向表、列、過(guò)程等對象,令每一位用戶(hù)的每一條查詢(xún)都有明確的權限界定,絕不越界。

為了安全考慮,設定權限時(shí)需要遵循以下幾個(gè)原則。

(1)只授予能滿(mǎn)足需要的最小權限,防止用戶(hù)干壞事。例如,用戶(hù)只是需要查詢(xún),那就只給select權限就可以了,不要給用戶(hù)賦予update、insert或delete權限。

(2)創(chuàng )建用戶(hù)的時(shí)候限制用戶(hù)的登錄主機,一般是限制成指定IP或內網(wǎng)IP段。

(3)初始化數據庫的時(shí)候刪除沒(méi)有密碼的用戶(hù)。安裝完數據庫的時(shí)候會(huì )自動(dòng)創(chuàng )建一些用戶(hù),這些用戶(hù)默認沒(méi)有密碼。

(4)為每個(gè)用戶(hù)設置滿(mǎn)足密碼復雜度的密碼。

(5)定期清理不需要的用戶(hù),回收權限或刪除用戶(hù)。

02 MySQL數據庫加密

數據庫中的很多敏感字段,不允許隨意查看,開(kāi)發(fā)人員、運維人員甚至是數據庫管理員也不允許查看,因此,要對數據庫數據進(jìn)行加密存放,更主要的是防止黑客脫庫。

開(kāi)發(fā)人員負責程序和加密算法的開(kāi)發(fā)部署,運維人員負責配置程序的安裝和密鑰的配置,但與數據庫不直接接觸,數據庫管理員負責數據庫的維護和管理,但不知道密鑰以及加密算法,無(wú)法解密數據庫中的數據內容。通過(guò)這樣的分塊管理,保證數據庫數據的安全。

運行如下SQL語(yǔ)句:

INSERT INTO `admin`(`id`,`name`,`pass`)VALUES('1','admin',AES_ENCRYPT('admin','key'))

插入到表中的數據如圖1所示。

圖1  插入表中的數據

通過(guò)查詢(xún)語(yǔ)句:

SELECT `id`,`name`,AES_DECRYPT(`pass`,'key')FROM `admin`

可以看到表中內容,如圖2所示。

圖2  查詢(xún)表中內容

而通常 key 通過(guò)配置文件得到,數據庫管理無(wú)法得知 key,因此,即使能看到數據集,也得不到用戶(hù)密碼。黑客即使脫庫,在沒(méi)有key的情況下用戶(hù)數據仍處于較安全狀態(tài)。

03 數據庫審計

數據庫審計(DBAudit),是實(shí)時(shí)記錄數據庫活動(dòng)情況,對數據庫操作進(jìn)行分析審查,用來(lái)發(fā)現可能遭受或正在遭受的攻擊,并及時(shí)處理的一種安全保障措施。

審計記錄包括有關(guān)已審計的操作、執行操作的用戶(hù)以及操作的時(shí)間和日期的信息。審計記錄可以存儲在數據庫審計線(xiàn)索中或操作系統上的文件中。標準審計包括有關(guān)權限、模式、對象和語(yǔ)句的操作。

通過(guò)審計分析,可以得知數據庫的運行狀況、數據庫命令的執行情況、最慢SQL語(yǔ)句、訪(fǎng)問(wèn)量最大SQL語(yǔ)句、最大吞吐量、最大并發(fā)數等情況,用于系統的優(yōu)化??删_定位錯誤和入侵,便于系統維護和加固,便于取證和追責。

04 數據庫漏洞掃描

數據庫漏洞掃描是對數據庫系統進(jìn)行自動(dòng)化安全評估的專(zhuān)業(yè)技術(shù),在獲得一個(gè)能全面覆蓋數據庫安全隱患的知識庫前提下,對應每一條安全漏洞知識,預定義掃描策略集合,利用該集合匹配目標數據庫系統,從而發(fā)現其中的問(wèn)題和缺陷。根據已有知識庫中的知識,評判該漏洞危害性,并給出參考的修復方案。

該技術(shù)將繁雜緩慢的人工查漏改為更為高效的機器查漏,將被動(dòng)等待攻擊改為主動(dòng)模擬攻擊發(fā)現漏洞,將抽象的漏洞情況以報表的形式有序呈現給用戶(hù),讓用戶(hù)更清晰地認識到漏洞的危害情況與系統當前狀態(tài)的安全狀態(tài),并將復雜的補漏過(guò)程簡(jiǎn)化為補丁形式,極大地方便了用戶(hù)搭建管理安全、高效的數據庫系統。

05 數據庫防火墻

數據庫防火墻系統(DBFirewall)是基于數據庫協(xié)議分析與控制技術(shù)的數據庫安全防護系統。DBFirewall基于主動(dòng)防御機制,實(shí)現數據庫的訪(fǎng)問(wèn)行為控制、危險操作阻斷、可疑行為審計。其利用SQL特征捕獲阻斷SQL注入行為,防止Web應用的SQL注入漏洞進(jìn)一步產(chǎn)生危害。限定數據查詢(xún)和下載數量,限定敏感數據訪(fǎng)問(wèn)的用戶(hù)、地點(diǎn)和時(shí)間,防止敏感數據大量泄露,追蹤審定非法行為,對非法操作詳細記錄,以供時(shí)候追蹤和定責。

06 數據庫脫敏

數據庫脫敏是指對某些敏感信息通過(guò)脫敏規則進(jìn)行數據的變形,實(shí)現敏感隱私數據的可靠保護。在涉及客戶(hù)安全數據或一些商業(yè)性敏感數據的情況下,在不違反系統規則條件下,對真實(shí)數據進(jìn)行改造并提供測試使用,并仍能保證其有效性(保持原有數據類(lèi)型和業(yè)務(wù)格式要求)、完整性(保證長(cháng)度不變化、數據內涵不丟失)、關(guān)系性(保持表間數據關(guān)聯(lián)關(guān)系、表內數據關(guān)聯(lián)關(guān)系)。身份證號、手機號、卡號、客戶(hù)號等個(gè)人信息都需要進(jìn)行數據脫敏。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

日产亚洲一区二区三区| 中文字幕日韩精品欧美一区| 台湾无码一区二区| 在线观看国产色视频网站| JULIAANN熟女俱乐部| 妺妺坐在我腿上勃起弄了视频|