2017-03-24
數(shù)據(jù)安全是個很廣的話題,它包括了網(wǎng)絡安全、操作系統(tǒng)安全、應用層安全和數(shù)據(jù)庫安全等。數(shù)據(jù)安全的目標是敏感數(shù)據(jù)"看不見",核心數(shù)據(jù)"拿不走",運維操作"能審計"。
常見的安全風險主要有外部攻擊和內(nèi)部威脅兩大類:
1、外部的攻擊:可能使用的軟件漏洞,繞過登錄信息,破解密碼等方式登錄系統(tǒng);拒絕服務:通過請求有限的資源,如端口分配給未授權用戶;未經(jīng)授權的數(shù)據(jù)和服務的訪問:當一個外部的人通過了認證,就認為是一個內(nèi)部的人;
2、內(nèi)部威脅(大部分的錯誤都是有內(nèi)部原因造成的):濫用特權;偷竊數(shù)據(jù)或者服務;數(shù)據(jù)破壞,惡意修改數(shù)據(jù);
Oracle數(shù)據(jù)庫本身包含了多種的手段來保證數(shù)據(jù)的安全,比如強身份認證、審計、數(shù)據(jù)加密和編輯、細粒度審計、安全標簽和數(shù)據(jù)屏蔽等等;除此之外,還有很多外部措施和技術可以用來進行安全防范。
在上個星期舉辦的“Oracle數(shù)據(jù)庫安全防范技術應用交流”中,集中討論了Oracle數(shù)據(jù)庫安全相關的問題,同時也拓展到了其它方面,比如高可用、備份恢復和性能調(diào)優(yōu),很多這方面的高手參與,在此特邀活動嘉賓、同時也是活動中技術文檔的分享者 royalwzy(海通證券 數(shù)據(jù)庫架構師)對問答進行整理和歸類,方便大家直接參考。
(本文亦有以下社區(qū)會員的貢獻:willow、mczmiao、yhd_my、zyclove2008 等等)
一、數(shù)據(jù)庫安全類
問:對于數(shù)據(jù)庫審計的安全問題,可否提供一點較為詳細的文檔或者產(chǎn)品?
答:
可以參考社區(qū)的兩篇文章
1.Oracle審計技術介紹:http://www.aixchina.net/Question/228291
2.Oracle細粒度審計:http://www.aixchina.net/Question/228297
---
問:請教專家,在ORACLE 11G環(huán)境下,如何從數(shù)據(jù)庫本身加強安全認證?在oracle數(shù)據(jù)庫應用中,其安全要求涉及很多方面,從數(shù)據(jù)庫本身如何加強安全認證?請專家給出幾個具體的提高安全保障要求的詳細配置案例的做法。
答:
以下幾個方面僅供參考:
1.最小權限原則:
1)在機器上,只安裝需要的軟件;
2)只激活機器上必須的服務;
3)只給必要的人訪問數(shù)據(jù)庫和操作系統(tǒng)的權限;
4)顯示使用root和admin權限訪問操作系統(tǒng);
5)限制sysdba和sysoper用戶訪問數(shù)據(jù)庫;
6)限制用戶只能訪問工作中必須的的數(shù)據(jù)庫對象;
2.定義安全策略;
3.加強服務器保護:
1)只保留必要的服務,不但可以減少服務器的負載,也降低了安全的風險;比如內(nèi)網(wǎng)數(shù)據(jù)庫服務器禁用掉除1521之外的非必須的端口;負面的例子,有人在服務器上安裝360;
2)限制特權用戶的個數(shù),比如操作系統(tǒng)的權限,數(shù)據(jù)庫的權限和應用程序的權限等等;
3)使用服務的安全特性,比如添加審計功能,比如vsftpd服務的chroot功能;
4)應用安全補丁和解決辦法,及時查看軟件供應商發(fā)布的安全補丁;
5)保護備份,備份數(shù)據(jù)和源數(shù)據(jù)同等重要;
6)對內(nèi)部開發(fā)的系統(tǒng)進行安全測試,包括一些邊際測試,功能測試,壓力測試等;
7)需要強密碼,要滿足一定的密碼復雜度,比如說至少8位,必須包含大寫/小寫/數(shù)字/特殊字符中的三個;
8)控制物理訪問,還是前面提到的,要保證物理機器的安全;
9)審計,用來探測可以的活動;比如用戶登錄,非法操作;
10)使用入侵檢測工具,比如使用tripwire工具來檢測等等;
4.維護數(shù)據(jù)的完整性:
1)標準審計:可以記錄訪問的時間,誰訪問的哪一個數(shù)據(jù)對象,和使用的權限;
2)細粒度審計:可以查看到調(diào)用的SQL語句,結合閃回功能可以查看到之前訪問的數(shù)據(jù);
3)特權用戶審計:可以記錄sysdba用戶的相關操作;
4)網(wǎng)絡加密:防止數(shù)據(jù)在傳輸過程中被篡改;
5.訪問控制;
---
問:Oracle數(shù)據(jù)庫一般部署在核心區(qū)域,怎么在網(wǎng)絡上隔離各類攻擊行為?
答:
幾個方面吧:1.限制只有應用或者中間件的服務器可以訪問數(shù)據(jù)庫服務器;2.前面使用多道防火墻;3.劃分好DMZ區(qū)
在網(wǎng)絡acl上嚴格控制對數(shù)據(jù)庫監(jiān)聽端口的訪問(通過網(wǎng)絡防火墻實現(xiàn))、同時,在數(shù)據(jù)庫本機的防火墻策略中也添加訪問策略。在網(wǎng)絡上,還可利用入侵檢測設備等進行防范。
---
問:有關數(shù)據(jù)存儲加密的技術趨勢。這一兩年內(nèi)有些外資銀行提出包含客戶數(shù)據(jù)的存儲加密--data encryption at rest,主要是防范操作系統(tǒng)管理員的越權獲取客戶數(shù)據(jù)得目的。16年該概念在Oracle和IBM有一些嘗試但是尚未有大規(guī)模的行業(yè)部署,不知大家對數(shù)據(jù)存儲加密的技術趨勢有無看法?
答:
這方面前段時間在做論文的時候涉獵一些,難點主要集中在加密密鑰管理和元數(shù)據(jù)的管理上吧。
---
問:請教如何防止SQL注入?
答:
通過數(shù)據(jù)庫審計系統(tǒng)實現(xiàn)SQL語句的行為審計,區(qū)分合法SQL和惡意注入,聯(lián)動防火墻或IPS進行攔截。
從根源上進行防范的效果最佳,嚴格審查web應用程序和其他可進行sql語句輸入的字段、隱藏字段等。
---
問:Oracle數(shù)據(jù)庫安全基線綜合評分體系探討。在按照安全基線對Oracle數(shù)據(jù)庫的安全配置項進行修改后,如何對配置修改的效果進行評估呢? 是否可以按照配置項的重要程度,采用加權累計方式進行評估,或者大家是否有一套完善的評估體系? 針對每一個安全配置評估項目,按重要程度,形成一套量化的評分標準呢?
答:
比如從如下檢查項(包括但不限于)的重要程度:如口令策略、帳號鎖定策略、日志文件保護策略、限制SYSDBA帳號遠程登錄、public權限、日志審計策略、數(shù)據(jù)字典保護等。
---
問:數(shù)據(jù)庫應用用戶權限過大的處理。很多情況下,應用自稱需要某某權限,然后帶著該權限上線了,之后發(fā)現(xiàn)并不需要此權限,此時如何處理比較好?如果直接簡單粗暴地revoke回來有可能導致正常業(yè)務無法執(zhí)行,風險難以控制,后果難以預計呀!
答:
這個從流程和技術兩個方面考慮吧。
流程方面:如果應用想要申請足夠高的權限,可以通過團隊協(xié)作留痕,保證有據(jù)可查。
技術方面:之后發(fā)現(xiàn)權限太大,擔心風險發(fā)生,繼而可以通過審計的技術手段對用戶的權限使用進行記錄。發(fā)生問題時有責可追。
---
問:應用用戶具有DBA權限,密碼明文,這種應用隨處可見,從數(shù)據(jù)庫管理角度,如何保證這種用戶的數(shù)據(jù)安全,數(shù)據(jù)不被篡改。
答:
可以考慮使用審計功能;
二、其它問題
問:關于金融行業(yè)oracle的數(shù)據(jù)安全。在金融行業(yè),雙活是一個重要課題,可以保證應用的高可用性。那么在數(shù)據(jù)庫層面目前有無數(shù)據(jù)庫雙活的架構設計,在雙機房進行時數(shù)據(jù)同步時,ADG和OGG是如何區(qū)分應用場景進行使用的,二者有何本質(zhì)區(qū)分?另外oracle12C的新版本具有多租戶的概念,這種系統(tǒng)架構目前有無實際應用案例,它與傳統(tǒng)部署方式在數(shù)據(jù)權限控制方面有無一定的風險?
答:
1.同城雙活的話可以考慮使用 Oracle Extended Distance Clusters
2.OGG類似于DG的邏輯備機,是基于日志挖掘的方式做同步的,優(yōu)點就是可以在備機做操作。
3.12cR2已經(jīng)發(fā)布了,準備要升級的公司還是蠻多的,PDB特別適合很多小庫的場景,可以把不同的業(yè)務隔離開。數(shù)據(jù)權限根之前基本一樣,多了一個COMMON用戶的概念。
---
問:大型系統(tǒng)中有大量用到oracle數(shù)據(jù)庫,通常在購買license上考慮到節(jié)約,請問這樣會有安全問題產(chǎn)生嗎?比如:100臺oracle服務器,只買了2個license。
答:
首先說明一下,這樣做對安全本身是沒有影響的。只是商務的問題。能使用的功能和安全的特性取決于你安裝的版本。
---
問:Oracle不等規(guī)模的數(shù)據(jù)庫備份措施有哪些?數(shù)據(jù)庫備份是很重要的一環(huán),那么在企業(yè)當中我們遇到的數(shù)據(jù)庫規(guī)模和量級也是不一樣的。那么在針對不同規(guī)模的數(shù)據(jù)庫備份的時候,具體的備份措施有哪些?
目前我們可以先安裝數(shù)據(jù)量大小來分:1. 小于1TB 場景;2. 大于5T<10T場景;3. 大于10T的場景。
答:
目前大部分公司都采用災備的方式來代替真正的備份工作,就算小于1T的場景,真正出了故障,恢復也要很久。所以采用DG,ADG,OGG等方式才是高效的備份方案。有了這個,你再加上套備份就更好了,通常采用Oracle自帶的Rman技術,大庫可以采用NBU或TSM備份到帶庫。
---
問:備份軟件備份數(shù)據(jù)庫時如何規(guī)劃對數(shù)據(jù)庫性能影響小?比如有的看客戶需要做增量備份,將增量備份的的時間周期設置每1分在備份一次,此時頻繁調(diào)用數(shù)據(jù)庫的rman腳步執(zhí)行任務,性能是否影響很大。
答:
這是一個很實用的問題,可以從以下幾個方面考慮:
1.首先要明確,備份的目的是什么?一方面?zhèn)浞莸哪康氖钱敂?shù)據(jù)庫損壞時進行還原,而還原時的速度很大程度上也取決于備份的方式;另一方面?zhèn)浞葸€可以用于做測試環(huán)境,搭建備機等等。
2.在Oracle中1級增量備份分為累計增量備份和差異增量備份;作用是備份上次備份后所有發(fā)生變化的數(shù)據(jù)塊;優(yōu)點是提高備份速度;原理是每次比對數(shù)據(jù)文件的SCN號碼,備份差異的塊,通過開啟數(shù)據(jù)庫的塊改變跟蹤功能,來記錄發(fā)生改變的快,大大提高差異備份的效率:
3.一分鐘一次的增量備份是太頻繁了,保護好歸檔日志本身也可以算是增量備份的一種方式;
4.如果想要減少性能影響甚至沒有影響,可以考慮在DataGuard的物理備機進行備份。
---
問:Oracle RAC部署與雙活是一回事嗎?如不是,二者有什么區(qū)別?
答:
嚴格來講,Oracle RAC只能算是數(shù)據(jù)庫實例級別的雙活,這種技術只保護實例,不保證數(shù)據(jù)。雙活的標準看要求的哪一個級別了,當然還有應用雙活,更大一點的雙活數(shù)據(jù)中心等等。
ORACLE 的同城雙活可以用 Oracle Extended Distance Clusters,也可以用 OGG 來實現(xiàn),但OGG 有延時,可能對并發(fā)量很大的系統(tǒng),會存在問題。
---
問:Oracle數(shù)據(jù)庫是如何解決超大表問題的(10G以上)?原理是什么?需要更改應用程序嗎?
答:
Oracle處理大表常用的手段主要有三種:分區(qū)表和分區(qū)索引;并行;物化視圖。另外在數(shù)據(jù)倉庫中還會用到星星模型和雪花模型。這些技術的使用都不用修改應用程序。
至于原理的話,可以針對每個技術深入了解。例如物化視圖,可以查一下它的兩個特性:快速刷新和查詢重寫。
下面是Oracle超大數(shù)據(jù)庫的一些指導,可以閱讀以下。
Database VLDB and Partitioning Guide:http://docs.oracle.com/cd/E11882_01/server.112/e25523/toc.htm
---
數(shù)據(jù)庫安全可以安全基線為基礎,涉及主題有:身份鑒別、基本訪問控制和審計等,需要專業(yè)服務支持。
但實施安全基線比較麻煩,需要評估等一系列影響。還可以考慮專業(yè)硬軟件,這部分就多了,有原廠的,有第三方的。
上一篇 :12款白帽子用于黑客滲透測試的操作系統(tǒng)
下一篇 :《網(wǎng)絡安全法》幾點解讀