欧美乱码精品一区二区三区,风流少妇又紧又爽又丰满,被债主在夫面前人妻被强,国产精品视频永久免费观看

?
內(nèi)容中心
按關(guān)鍵字查找
Oracle中泄露“天機”的TNS
作者:思成 發(fā)布時間:2016-06-29

數(shù)據(jù)庫的安全是長期存在的問題。在目前大量的數(shù)據(jù)泄露事件以及漏洞面前,大家看到的大都是SQl注入、越權(quán)操作、緩沖區(qū)溢出等這些具體漏洞。往往卻 忽視了造成這些問題的前提,黑客想要入侵數(shù)據(jù)庫一定會嘗試獲取數(shù)據(jù)庫ip、端口和數(shù)據(jù)庫版本號。沒有ip和端口黑客對數(shù)據(jù)庫的攻擊將無從下手,也就無法對 數(shù)據(jù)庫發(fā)動真正有效的進攻。所以防止數(shù)據(jù)庫ip 、端口和版本號的泄露是防止黑客入侵數(shù)據(jù)庫的第一道防線。

數(shù)據(jù)庫版本號的泄露途徑

要想防止黑客盜取數(shù)據(jù)庫版本信息。首先就要弄清黑客是從哪些渠道獲取數(shù)據(jù)庫版本信息的,然后才能提出切實有效的防御方案。本文僅針對Oracle講 解黑客獲取Oracle數(shù)據(jù)庫版本號的方式以及預(yù)防措施。除去社會工程學(xué)從技術(shù)角度出發(fā)TNS(ORTACLE的網(wǎng)絡(luò)核心組件)是泄露數(shù)據(jù)庫版本號的一個 重要功能。

安華金和數(shù)據(jù)庫攻防實驗室結(jié)合多年的經(jīng)驗與實踐總結(jié)出黑客通過TNS獲取ORACLE數(shù)據(jù)庫版本信息主要有以下三種方式:

1. 身份驗證前部分函數(shù)泄露數(shù)據(jù)庫版本

在TNS的通訊包中存在大量的函數(shù)調(diào)用。這些函數(shù)調(diào)用中有一部分函數(shù)會在進行身份驗證之前被運行,其中一部分函數(shù)會導(dǎo)致數(shù)據(jù)庫版本信息外泄。從而使得只要黑客知道數(shù)據(jù)庫ip和端口以及實例名就可以成功騙去數(shù)據(jù)庫版本信息。其中最有代表的函數(shù)是0x3B TTC函數(shù)。

客戶端接收到服務(wù)器發(fā)送的接收包,服務(wù)器可能會選擇商議附加的網(wǎng)絡(luò)服務(wù),約定客戶端和服務(wù)器采用的身份驗證、加密、數(shù)據(jù)完整性和管理等。在ANO商議頭(下面包中的0XDEADBEEF)后面的3個字節(jié)中可以找到服務(wù)器的數(shù)據(jù)庫版本信息。

圖中紅線所指地方0x0a200100就是數(shù)據(jù)庫版本信息,只觀可以判斷版本為10.2.0.1.0(a在16進制里是10)。

2.TNS報錯信息泄露數(shù)據(jù)庫版本

如果TNS接到一個它無法識別的TNS命令(是格式正確,但內(nèi)容不對),就會會送一個錯誤,在這個錯誤中包含VSNNUM,它保存了一個十進制數(shù) 字,把該數(shù)字轉(zhuǎn)成十六進制會得到數(shù)據(jù)庫版本號。這種方式比上一種方式需求的信息更少,只需要數(shù)據(jù)庫的IP和端口就可以進行數(shù)據(jù)庫版本號的騙取。 
 例如:C:\Documents and Settings\lsc>sqlplus scott/tig@192.168.0.60:1521/or(實例名、密碼全不對,但格式正確。)

服務(wù)器會回答一個錯誤應(yīng)答包如下圖所示:

箭頭所指的方向 VS NNUM=169869568 是ORACLE客戶端的版本號。把這組數(shù)轉(zhuǎn)成16進制變成 A200100

3. TNS命令不合理使用泄露數(shù)據(jù)版本

第三種也是最危險的一種。只需要有IP就能獲取端口號、數(shù)據(jù)庫版本號甚至操作系統(tǒng)版本號。危險的來源是本來lsnrctl的命令應(yīng)該只在本地執(zhí)行, 但oracle為了照顧操作的靈活性,某些版本支持lsnrctl 遠程使用。僅通過IP信息可以獲取目標(biāo)數(shù)據(jù)庫所有外圍敏感信息。例如我們ping 192.168.0.60發(fā)現(xiàn)可以ping 通。直接設(shè)置監(jiān)聽目標(biāo)ip (set current_listener 192.168.0.60)執(zhí)行命令version獲取目標(biāo)IP數(shù)據(jù)庫的端口、數(shù)據(jù)庫版本以及操作系統(tǒng)版本。

對比3種獲取數(shù)據(jù)庫版本信息的方法,第三種方法要求最低,收益最高,但缺點是這種方式只支持到Oracle10R2版本。而方法一和方法二,則是任何一個版本的oracle數(shù)據(jù)庫都存在安全隱患。

防止泄露數(shù)據(jù)庫版本號的方法

知道了黑客采集數(shù)據(jù)庫版本的辦法,我們就可以針對性的進行防御。安華金和數(shù)據(jù)庫攻防實驗室根據(jù)多年經(jīng)驗以及攻防測試總結(jié)出以下4點有助于加固TNS的解決法辦法。

1.設(shè)置TNS Listener 口令

默認情況下,TNS Listener 沒有設(shè)置口令,任何可以連接到系統(tǒng)的人都可以管理它。設(shè)置Listener口令可以防止對Listener的無授權(quán)管理。為了設(shè)置口令,編輯 listener.ora 加入PASSWORDS_LISTENERNAME.按步操作,直到完成整個加口令過程。

2.開啟 Admin Restrictions

通過開啟Admin Restrictions(管理限制)可防止對Listener的未授權(quán)管理。隨著Admin Restrictions的開啟,一些命令將不能被遠程調(diào)用。及時提供Listener口令也不行。為開啟Admin Restrictions,將下面的代碼行添加到Listener.ora文件中。

ADMIN_RESTRICTIONS_listencername =ON

3.開啟TCP有效節(jié)點檢查

TCP有效節(jié)點檢驗可以用來允許某些主機連接到數(shù)據(jù)庫而阻止其他服務(wù)器鏈接。為開啟TCP有效節(jié)點檢驗,按如下方式編譯代碼:

TCP.VALIDNODE_CHECKING = YES

TCP.EXCLUDED_NODES={List of ip addresses separated by a comma}

或者

TCP.INVITED_NODES={List of ip addresses separated by a comma}

4.網(wǎng)絡(luò)通信量加密

利用Oracle Net Manager實現(xiàn)對客戶機和數(shù)據(jù)庫服務(wù)器之間的通訊進行加密。注意此處的加密指的是協(xié)議加密,而并非數(shù)據(jù)加密。

根據(jù)安華金和數(shù)據(jù)庫攻防實驗室的實踐以上四點能夠有效的防止黑客獲取數(shù)據(jù)庫版本信息。從而使黑客無法對數(shù)據(jù)庫進行針對性的攻擊。通過加固TNS將避免一些設(shè)計帶來的問題,有利于保護數(shù)據(jù)庫版本信息不被泄露 ,從而保障數(shù)據(jù)庫安全。


?
大埔县| 烟台市| 岚皋县| 济宁市| 汉阴县| 中卫市| 杂多县| 澄江县| 盱眙县| 马尔康县| 怀来县| 巴中市| 大连市| 观塘区| 枣庄市| 慈利县| 罗甸县| 东城区| 安吉县| 龙岩市| 芜湖市| 依安县| 静安区| 和顺县| 公主岭市| 陈巴尔虎旗| 拉萨市| 平昌县| 龙口市| 和顺县| 溧阳市| 宝山区| 马公市| 河北省| 嘉黎县| 临海市| 天等县| 通化县| 阿拉善右旗| 清镇市| 句容市|