⑴ 如何保證網路資料庫的安全
資料庫的安全性是指保護資料庫以防止非法使用所造成的數據泄密、更改或破壞安全性控制的方法安全性控制是指要盡可能地杜絕任何形式的資料庫非法訪問。常用的安全措施有用戶標識和鑒別、用戶存取許可權控制、定義視圖、數據加密、安全審計以及事務管理和故障恢復等幾類1.用戶標識和鑒別用戶標識和鑒別的方法是由系統提供一定的方式讓用戶標識自己的身份,系統內部記錄著所有合法用戶的標識,每次用戶要求進入系統時,由系統進行核實,通過鑒定後才提供其使用權。為了鑒別用戶身份,一般採用以下幾種方法(1)利用只有用戶知道的信息鑒別用戶(2)利用只有用戶具有的物品鑒別用戶(3)利用用戶的個人特徵鑒別用戶。用戶存取許可權控制用戶存取許可權是指不同的用戶對於不同的數據對象有不同的操作許可權。存取許可權由兩個要素組成:數據對象和操作類型。定義一個用戶的存取許可權就是要定義這個用戶可以在哪些數據對象上進行哪些類型的操作許可權分系統許可權和對象許可權兩種。系統許可權由DBA授予某些資料庫用戶,只有得到系統許可權,才能成為資料庫用戶。對象許可權是授予資料庫用戶對某些數據對象進行某些操作的許可權,它既可由DBA授權,也可由數據對象的創建者授予。授權定義經過編譯後以一張授權表的形式存放在數據字典中。定義視圖為不同的用戶定義不同的視圖,可以限制用戶的訪問范圍。通過視圖機制把需要保密的數據對無權存取這些數據的用戶隱藏起來,可以對資料庫提供一定程度的安全保護。實際應用中常將視圖機制與授權機制結合起來使用,首先用視圖機制屏蔽一部分保密數據,然後在視圖上進一步進行授權。數據加密數據加密是保護數據在存儲和傳遞過程中不被竊取或修改的有效手段。數據加密技術在8.3節中已有詳細介紹。安全審計安全審計是一種監視措施,對於某些高度敏感的保密數據,系統跟蹤記錄有關這些數據的訪問活動,並將跟蹤的結果記錄在審計日誌(audit log)中,根據審計日誌記錄可對潛在的竊密企圖進行事後分析和調查6.事務管理和故障恢復事務管理和故障恢復主要是對付系統內發生的自然因素故障,保證數據和事務的一致性和完整性故障恢復的主要措施是進行日誌記錄和數據復制。在網路資料庫系統中,分布事務首先要分解為多個子事務到各個站點上去執行,各個伺服器之間還必須採取合理的演算法進行分布式並發控制和提交,以保證事務的完整性。事務運行的每一步結果都記錄在系統日誌文件中,並且對重要數據進行復制,發生故障時根據日誌文件利用數據副本准確地完成事務的恢復Oracle資料庫的安全機制簡介Oracle主要提供用戶標識和鑒別、授權與檢查、審計等系統級的安全性措施以及通過觸發器靈活定義的用戶級安全性措施1.Oracle的用戶標識和鑒別Oracle系統預定義了SYS和SYSTEM兩個用戶。SYS用戶擁有操作Oracle數據字典和相關的資料庫對象的許可權;SYSTEM用戶擁有操作Oracle應用開發工具所使用的表的許可權。SYS和SYSTEM用戶分別用系統給定的口令登錄。其他用戶使用CREATE USER語句建立,同時用戶的口令通過加密後存儲在數據字典中。Oracle的授權與檢查機制Oracle系統的許可權包括系統許可權和對象許可權兩類,採用非集中式的授權機制,即DBA負責授予與回收系統許可權,每個用戶授予與回收自己創建的資料庫對象的許可權Oracle也是將授權信息記錄在數據字典的授權表中。Oracle的審計技術在Oracle中,審計分為語句審計、特權審計和模式對象審計。其中,語句審計只允許審計sql語句,不對SQL語句引用的模式進行審計。特權審計只審計系統許可權的使用。而模式對象審計則審計具體的數據操縱語言(DML,Data Manipulation Language)語句和制定模式的GRANT和REVOKE語句。特權審計和模式對象審計針對所有用戶,通常由DBA設置在Oracle中,審計設置以及審計內容均存放在數據字典中。用戶定義的安全性措施除了系統級的安全性措施外,Oracle還允許用戶使用資料庫觸發器定義更復雜的用戶級安全性措施。觸發器定義後,也存放在數據字典中。用戶每次執行特定的操作時都會自動觸發對應的觸發器,系統檢查觸發器中設定的執行條件是否符合,如不符合則不執行觸發器中指定的操作綜上所述,Oracle提供了多種安全性措施,提供了多級安全性檢查。數據字典在Oracle的安全性授權和檢查以及審計技術中起著重要作用。網路資料庫安全性技術 隨著互聯網技術的日益普及,網路資料庫已經得到了普遍應用,隨之而來的則是網路資料庫的安全性問題。特別是近幾年,隨著企業信息建設的不斷深化,企業中涉及網路資料庫安全方面的問題也越來越多。如何有效提高網路資料庫的安全防禦措施,建立一套行之有效的資料庫安全防禦機制,已經是企業需要首先解決的問題。網路資料庫安全問題經常涉及到的是資料庫數據的丟、非法用戶對資料庫的侵入等。針對以上兩個方面的問題,應該採取具體的應對措施,以實現企業核心數據的安全防護。首先,針對網路資料庫數據丟失的問題,應該著重以下幾個方面的工作:1、伺服器存儲系統硬碟作為伺服器數據存儲的主要設備,在正常運行過程中,一點小的故障都有可能造成硬碟物理損壞,所以一般伺服器存儲系統要求採用 Raid磁碟陣列,以此來增強伺服器存儲系統的容錯能力。2、數據備份機制建立一套行之有效的數據備份機制,是保障企業網路數據安全的又一項重要內容。對於一些非常重要的數據要運用其它設備時時執行 備份,定期定時做相對完備的備份方案。作為企業用戶來說,由於數據量上的原因,在使用磁碟陣列的同時,還應考慮採用磁帶機作為數據備份設備。在解決好數據丟失問題的基礎上,需要考慮的則是如何應對網路資料庫非法入侵的問題。網路技術的飛速發展,使各行業的信息化管理水平有了很大程度的提高,同時也帶動了整個企業的管理效率的提高,但隨之而來的問題是網路非法入侵者不斷出現。入侵者的目的往往針對企業核心機密,或是對數據的蓄意破壞。對於企業網路資料庫管理人員來說,如何在資料庫本身以及在網路層面上採取有效措施,防止資料庫系統的非法入侵,是一個非常艱巨的任務。制定資料庫系統安全策略,主要分以下幾個方面:1.資料庫用戶的管理,按照資料庫系統的大小和資料庫用戶所需的工作量,具體分配資料庫用戶的數據操作許可權,控制系統管理員用戶賬號的使用。2.建立行之有效的資料庫用戶身份確認策略,資料庫用戶可以通過操作系統、網路服務以及資料庫系統進行身份確認,通過主機操作系統進行用戶身份認證。 3.加強操作系統安全性管理,數據伺服器操作系統必須使用正版軟體,同時要有防火牆的保護。另外,根據實際需要只開放涉及業務工作的具體網路埠,屏蔽其它埠,這樣可以在較大程度上防止操作系統受入侵。
⑵ 兩個oracle資料庫如何設計容災方案
在企業災備預算中,最常見的問題就是按原套設備去做預算,費用往往高得嚇人,所以很多企業想做災備,最後都會卡在預算上。今天,英方工程師分享一個案例,如何將災備預算成倍下降,提升企業的災備幸福感。
1、AIX+Oracle雙機要做災備
案例需求:客戶AIX+Oracle雙機規劃災備建設,確保業務數據安全與業務連續。
災備規劃方案一:在本地災備中心按照生產環境AIX+Oracle雙機的配置進行規劃,價格太高,超出了預算范圍。主要原因是客戶相當於花雙倍價錢,買兩套同樣的設備,但是只有一套設備在生產,性價比太低,並且後續的運維成本也很高,所以方案被斃掉。
災備規劃方案二:利用雲計算的資源,將災備中心寄託於雲計算上。私有雲造價昂貴,對客戶體量不適合;公有雲是很好的選擇,但是經過計算,客戶發現在資料庫采購、服務費用、雲設施按需購買等綜合費用也比方案一少不了幾個錢,並且公有雲的安全性沒有私有雲的高,方案整體的穩定性、可控性差,所以方案也被斃掉。
2、方案涉及到的操作系統的知識點
本案涉及生產環境的操作系統與資料庫配置,我們先簡單介紹AIX、UNIX、Linux的知識點。
首先是AIX,它是IBM基於AT&TUnixSystemV開發的一套「類UNIX」操作系統,運行在IBM專有的Power系列晶元設計的小型機硬體系統之上。那麼,什麼是UNIX操作系統呢?
UNIX操作系統是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、DennisRitchie和DouglasMcIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標准組織所擁有,只有符合單一UNIX規范的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。
Linux是一套免費使用和自由傳播的「類Unix」操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議,支持32位和64位硬體。
3、簡單跨平台,Linux+i2輕松災備
針對上面客戶提到的災備需求,很顯然,理想與現實的距離總是那麼遙遠。但是不要灰心,英方工程師有辦法。針對這種情況,我們首先需要跳出傳統容災備份的思路,特別是英方新災備技術方案對於操作系統與資料庫等進行跨平台災備的創新,在窄帶寬、長距離、平台異構(操作系統與存儲方式)、低成本、安全性、穩定性等方面有諸多的優勢。
⑶ Oracle資料庫安全
導讀:隨著計算機的普及以及網路的發展,資料庫已經不再僅僅是那些程序員所專有的話題,更是被很多人所熟悉的,數據安全已經不再是以前的「老生長談」,也更不是以前書本上那些「可望不可及」的條條框框。同時,安全問題也是現今最為熱門的話題,也是企業比較關心的問題,可見安全問題的重要性,那就大家一起來探討一下Oracle資料庫安全問題。
以下就資料庫喚悉悶系統不被非法用戶侵入這個問題作進一步的闡述。
一、組和安全性:
在操作系統下建立用戶組也是保證資料庫安全性的一種有效方法。Oracle程序為了安全性目的一般分為兩類:一類所有的用戶都可執行,另一類只DBA可執行。在Unix環境下組設置的配置文件是/etc/group,關於這個文件如何配置,請參閱Unix的有關手冊,以下是保證安全性的幾種方法:
(1)在安裝Oracle Server前,創建資料庫管理員組(DBA)而且分配root和Oracle軟體擁有者的用戶ID給這個組。DBA能執行的程序只有710許可權。在安裝過程中SQL*DBA系統許可權命令被自動分配給DBA組。
(2)允許一部分Unix用戶有限制地訪問Oracle伺服器系統,增加一個由授權用戶組的Oracle組,確保給Oracle伺服器實用常式Oracle組ID,公用的可執行程序,比如SQL*Plus,SQL*forms等,應該可被這組執行,然後該這個實用常式的許可權為710,它將允許同組的用戶執行,而其他用戶不能。
(3)改那些不會影響資料庫安全性的程序的許可權為711。(註:在我們的系統中為了安裝和調試的方便,Oracle資料庫中的兩個具有DBA許可權的用戶Sys和System的預設密碼是manager。為了您資料庫系統的安全,我們強烈建議您該掉這兩個用戶的密碼,具體操作如下:
在SQL*DBA下鍵入:
alter user sys indentified by password;
alter user system indentified by password;
其中password為您為用戶設置的密碼。
二、Oracle伺服器實用常式的安全性:
以下是保護Oracle伺服器不被非法用戶使用的幾條建議:
(1) 確保$ORACLE_HOME/bin目錄下的所有程序的擁有權歸Oracle軟體擁有者所有;
(2) 給所有用戶實用便程(sqiplus,sqiforms,exp,imp等)711許可權,使伺服器上所有的用戶都可訪問Oracle伺服器;
(3) 給所有的DBA實用常式(比如SQL*DBA)700許可權。Oracle伺服器和Unix組當訪問本地的服務時,您可以通過在操作系統下把Oracle伺服器的角色映射到Unix的組的方式來使用Unix管理伺服器的安全性,這種方法適應於本地訪問。
在Unix中指定Oracle伺服器角色的格式如下:
ora_sid_role[_dla]
其中 sid 是您Oracle資料庫的oracle_sid;
role 是Oracle伺服器中角色的名字;
d (可選)表示這個角色是預設值;a (可選)表示和彎這個角色帶有WITH ADMIN選項,您只可以把這個角色授予其他角色,不能是其他用戶。
以下是在/etc/group文件中設置的例子:
ora_test_osoper_d:NONE:1:jim,narry,scott
ora_test_osdba_a:NONE:3:pat
ora_test_role1:NONE:4:bob,jane,tom,mary,jim
bin: NONE:5:root,oracle,dba
root:NONE:7:root
片語「ora_test_osoper_d」表示組的名字;片語「NONE」表示這個組的密碼;數字1表示這個組的ID;接下來陸斗的是這個組的成員。前兩行是Oracle伺服器角色的例子,使用test作為sid,osoper和osdba作為Oracle伺服器角色的名字。osoper是分配給用戶的預設角色,osdba帶有WITH ADMIN選項。為了使這些資料庫角色起作用,您必須shutdown您的資料庫系統,設置Oracle資料庫參數文件initORACLE_SID.ora中os_roles參數為True,然後重新啟動您的資料庫。如果您想讓這些角色有connect internal許可權,運行orapwd為這些角色設置密碼。當您嘗試connect internal時,您鍵入的密碼表示了角色所對應的許可權。
SQL*DBA命令的安全性:
如果您沒有SQL*PLUS應用程序,您也可以使用SQL*DBA作SQL查許可權相關的命令只能分配給Oracle軟體擁有者和DBA組的用戶,因為這些命令被授予了特殊的系統許可權。
(1) startup
(2) shutdown
(3) connect internal
資料庫文件的安全性:
Oracle軟體的擁有者應該這些資料庫文件($ORACLE_HOME/dbs/*.dbf)設置這些文件的使用許可權為0600:文件的擁有者可讀可寫,同組的和其他組的用戶沒有寫的許可權。
Oracle軟體的擁有者應該擁有包含資料庫文件的目錄,為了增加安全性,建議收回同組和其他組用戶對這些文件的可讀許可權。
網路安全性:
當處理網路安全性時,以下是額外要考慮的幾個問題。
(1) 在網路上使用密碼在網上的遠端用戶可以通過加密或不加密方式鍵入密碼,當您用不加密方式鍵入密碼時,您的密碼很有可能被非法用戶截獲,導致破壞了系統的安全性。
(2) 網路上的DBA許可權控制您可以通過下列兩種方式對網路上的DBA許可權進行控制:
A 設置成拒絕遠程DBA訪問;
B 通過orapwd給DBA設置特殊的密碼。[nextpage]
三、建立安全性策略:
系統安全性策略
(1)管理資料庫用戶:資料庫用戶是訪問Oracle資料庫信息的途徑,因此,應該很好地維護管理資料庫用戶的安全性。按照資料庫系統的大小和管理資料庫用戶所需的工作量,資料庫安全性管理者可能只是擁有create,alter,或drop資料庫用戶的一個特殊用戶,或者是擁有這些許可權的一組用戶,應注意的是,只有那些值得信任的個人才應該有管理資料庫用戶的許可權。
(2) 用戶身份確認:資料庫用戶可以通過操作系統,網路服務,或資料庫進行身份確認,通過主機操作系統進行用戶身份認證的優點有:
A 用戶能更快,更方便地聯入資料庫;
B 通過操作系統對用戶身份確認進行集中控制:如果操作系統與資料庫用戶信息一致,Oracle無須存儲和管理用戶名以及密碼;
C 用戶進入資料庫和操作系統審計信息一致。
(3) 操作系統安全性
A 資料庫管理員必須有create和delete文件的操作系統許可權;
B 一般資料庫用戶不應該有create或delete與資料庫相關文件的操作系統許可權;
C 如果操作系統能為資料庫用戶分配角色,那麼安全性管理者必須有修改操作系統帳戶安全性區域的操作系統許可權。
數據的安全性策略:
數據的生考慮應基於數據的重要性。如果數據不是很重要,那麼數據的安全性策略可以稍稍放鬆一些。然而,如果數據很重要,那麼應該有一謹慎的安全性策略,用它來維護對數據對象訪問的有效控制。
用戶安全性策略:
(1) 一般用戶的安全性:
A 密碼的安全性:如果用戶是通過資料庫進行用戶身份的確認,那麼建議使用密碼加密的方式與資料庫進行連接。這種方式的設置方法如下:
在客戶端的oracle.ini文件中設置ora_encrypt_login數為true;
在伺服器端的initORACLE_SID.ora文件中設置dbling_encypt_login參數為true。
B 許可權管理:對於那些用戶很多,應用程序和數據對象很豐富的資料庫,應充分利用「角色」這個機制所帶的方便性對許可權進行有效管理。對於復雜的系統環境,「角色」能大大地簡化許可權的理。
(2) 終端用戶的安全性:
您必須針對終端用戶制定安全性策略。例如,對於一個有很多用戶的大規模資料庫,安全性管理者可以決定用戶組分類為這些用戶組創建用戶角色,把所需的許可權和應用程序角色授予每一個用戶角色,以及為用戶分配相應的用戶角色。當處理特殊的應用要求時,安全性管理者也必須明確地把一些特定的許可權要求授予給用戶。您可以使用「角色」對終端用戶進行許可權管理。
資料庫管理者安全性策略:
(1) 保護作為sys和system用戶的連接:
當資料庫創建好以後,立即更改有管理許可權的sys和system用戶的密碼,防止非法用戶訪問資料庫。當作為sys和system用戶連入資料庫後,用戶有強大的許可權用各種方式對資料庫進行改動。
(2) 保護管理者與資料庫的連接:
應該只有資料庫管理者能用管理許可權連入資料庫,當以sysdba或startup,shutdown,和recover或資料庫對象(例如create,drop,和delete等)進行沒有任何限制的操作。
(3) 使用角色對管理者許可權進行管理
應用程序開發者的安全性策略:
(1) 應用程序開發者和他們的許可權資料庫應用程序開發者是唯一一類需要特殊許可權組完成自己工作的資料庫用戶。開發者需要諸如create table,create,procere等系統許可權,然而,為了限制開發者對資料庫的操作,只應該把一些特定的系統許可權授予開發者。
(2) 應用程序開發者的環境:
A 程序開發者不應與終端用戶競爭資料庫資源;
B 用程序開發者不能損害資料庫其他應用產品。
(3) free和controlled應用程序開發應用程序開發者有一下兩種許可權:
A free development
應用程序開發者允許創建新的模式對象,包括table,index,procere,package等,它允許應用程序開發者開發獨立於其他對象的應用程序。
B controlled development
應用程序開發者不允許創建新的模式對象。所有需要table,indes procere等都由資料庫管理者創建,它保證了資料庫管理者能完全控制數據空間的使用以及訪問資料庫信息的途徑。但有時應用程序開發者也需這兩種許可權的混和。
(4) 應用程序開發者的角色和許可權資料庫安全性管理者能創建角色來管理典型的應用程序開發者的許可權要求。
A create系統許可權常常授予給應用程序開發者,以至於他們能創建他的數據對象。
B 數據對象角色幾乎不會授予給應用程序開發者使用的角色。
(5) 加強應用程序開發者的空間限製作為資料庫安全性管理者,您應該特別地為每個應用程序開發者設置以下的一些限制:
A 開發者可以創建table或index的表空間;
B 在每一個表空間中,開發者所擁有的空間份額。應用程序管理者的安全在有許多資料庫應用程序的資料庫系統中,您可能需要一應用程序管理者,應用程序管理者應負責起以下的任務:
a)為每一個應用程序創建角色以及管理每一個應用程序的角色;
b)創建和管理資料庫應用程序使用的數據對象;
c)需要的話,維護和更新應用程序代碼和Oracle的存儲過程和程序包。
我相信有了以上的這些建議,作為一個Oracle的管理者絕對可以做好他本職的工作了。可是,我們再怎麼努力,都始終得面對這樣一個現實,那就是Oracle畢竟是其他人開發的,而我們卻在使用。所以,Oracle到底有多少漏洞--我想這個不是你和我所能解決的。不過既然作為一篇討論Oracle數據安全的文章,我認為有必要把漏洞這一塊也寫進去,畢竟這也是「安全」必不可少的一部分。呵呵!
所以
Oracle漏洞舉例:
1.Oracle9iAS Web Cache遠程拒絕服務攻擊漏洞(2002-10-28)
2.Oracle 8.1.6的oidldapd中的漏洞
3.Oracle 9iAS OracleJSP 泄漏JSP文件信息漏洞
4.Linux ORACLE 8.1.5漏洞
總而言之一句話--「Oracle數據安全是一個博大而又精深的話題;如果你沒有耐心,就永遠不會得到它的精髓之所在。」希望大家能深入的去學習這篇文章,學好了也是百一而無一害。
⑷ oracle資料庫的安全控制機制有哪些
固定長度或者有一定生成規律的只讀數組可以用table values語句來實現,或者用with表達式來實現更復雜一點的邏輯. 不過這也只能解決一部分問題.
select * from table(values(1),(2),(3)) as t(a)
with t(a) as ( values 1 union all select t.a + 1 from t where t.a<99) select * from t;
但要在這個數組裡面做刪除,改變元組的操作就不適用了.
⑸ Oracle默認的用戶名和密碼是什麼
在控制台用sqlplus / as sysdba登陸oracle系統時,所用的用戶名和密碼通常有四種。
用戶名: internal 密碼:oracle
2. 用戶名:system 密碼:manager
3. 用戶名:sys 密碼:change_on_install
4. 其中直接管理模式可以為sysdba的為後面三個,要是集群的話再去掉system。
(5)ORACLE資料庫安全解決方案擴展閱讀:
一:oracle sys密碼的重置方法
在系統運行中輸入:sqlplus /nolog
在命令窗口分別執行:conn /as sysdba
alter user scott identified by tiger;
alter user scott account unlock;
然後「scott」用戶密碼就修改為「tiger」了,用戶可根據自己需求,重置密碼。
二:ORACLE資料庫安全解決方案
1.目前應用系統中對資料庫的依賴程度與日俱增,應用資料庫可以使應用系統開發更加方便,不再需要為煩瑣的檢索、查詢、統計進行單獨設計語法,同時交易的完整性又能得到可靠保證,但是資料庫廠家的不斷整合又為企業應用帶來了新的考驗:
(1)、Informix被IBM收購
(2)、Mysql被ORACLE收購
(3)、Sybase被SAP收購
被微軟收購的更不計其數了,還有很多小資料庫廠商被收購,開源的尤其多,追其根源,大廠商的資料庫技術越來越龐大,但是體系架構又不適應靈活發展,面對中小資料庫廠商的迅猛發展,他們惟有走收購之路,但是收購之後呢,他們不會讓其發展,最終受傷的還是中小企業客戶群。
2.安全歷程
目前無論是銀行綜合業務系統,還是移動計費系統還是政權交易系統,都毫無例外的選擇大型資料庫進行交易,那麼對於在911市貿悲劇後的安全方案究竟有什麼特殊考慮呢?
資料庫容災無疑是目前脫穎而出的技術方案,應用系統數據的安全除了網路防火牆、防病毒以及許可權設計之外就是資料庫的備份工作了,可以說資料庫備份經歷了以下幾個階段:
單機版系統磁碟備份
數據磁帶備份
區域網備份
雙機熱備/磁碟陣列RAID
磁帶庫備份
光碟塔備份
遠程容災備份
全球多點容災備份
3.安全考慮
目前應用系統解決方案中多數應用目前主要還在考慮系統功能的建設,但是隨著資料庫容量的增加,歷史數據查詢審計需要加快,對歷史數據的分析和對在線數據的實時可用已經變得越來越迫切。
客戶不僅需要能夠快速查詢資料庫,同時對目前應用系統的實時可用以及負載均衡都提出了更加明確的要求,為此在雙機熱備+磁帶庫冷備的多數解決方案外,很多大型金融證券企業都開始進行數據中心的建立,大型異地災備中心開始提到議事日程。
4.比較完善
其實為客戶提供安全解決方案,應該在應用系統的規劃中就應該考慮,等到企業意思到安全的時候恐怕就需要耗費大量的人力、
物力來遷移數據,建立災備中心,但是這僅僅是物理的,如何從資料庫層面使從1BYTE的數據進入資料庫就被安全的保護起來呢,無疑資料庫同步熱備的相關產品是我們應該考慮的。
因為即使不建立災備中心,對數據實時熱備也不需要太大的投入,只需要安裝資料庫同步產品,那麼就可以輕松檢驗數據是否真正同步熱備,當客戶意識到需要建立災備中心的時候,那僅僅是地點和網路的重新部署,
同步軟體已經伴隨客戶成長,伴隨數據成長,到時集成商為客戶做的就是規劃好災備中心的設備和格局,這樣一個完善的災備方案就被你輕松建立了。並且隨著數據逐漸增加,客戶會對災備中心提供的負載均衡功能更加依賴,不但減輕硬體的投入,還可以讓查詢對應用系統的資源佔用減少到「0」。
5.產品分類
目前這塊能夠擔當同步伺服器功能的只有沃信科技的PAC資料庫同步產品,因為包括ORACLE DATAGUARD、DSG、GOLDEN GATE、SHAREPLEX等廠家的產品必須安裝在主資料庫上,這樣不只佔用主庫資源,同時也對應用系統的穩定性提出了更高要求,
但沃信科技的產品可以安裝在獨立於主備庫的第三方伺服器上,這樣資料庫同步軟體不佔用主庫系統資源,同時避免了操作系統、資料庫版本不一致的局限性。同時在所有產品中性價比最高,唯一提供免費試用,同時是唯一一家提供華軍軟體園下載的產品。
⑹ 簡述oracle安全加固從哪幾個方面入手加固
1.安全加固的檢查方向
2.安全加固檢查safeCheck.sh
3.安全加固執行safeExec.sh
1.安全加固的檢查方向
1.1.sysdba用戶遠程登錄限制(查看Oracle登錄認證方式)
檢查:
show parameter remote_login_passwordfile
整改:
alter system set remote_login_passwordfile = NONE scope=spfile;
註:需要重啟庫生效。
1.2.是否開啟了資源限制
show parameter resource_limit
alter system set resource_limit = true;
1.3.登錄失敗的帳號鎖定策略
select * from dba_profiles order by 1;
關注FAILED_LOGIN_ATTEMPTS的設定值
1.4.資料庫用戶帳號檢查
檢查:
select username,profile from dba_users where account_status='OPEN';
整改:
鎖定用戶:alter user <用戶名> lock;
刪除用戶:drop user <用戶名> cascade;
1.5.範例資料庫帳號
是否存在默認的範例資料庫賬號scott等,可以考慮刪除scott賬號
1.6.dba許可權賬戶檢查
select username,profile from dba_users where account_status='OPEN';
1.7.資料庫賬戶口令加密存儲
11g數據裡面的賬戶口令本來就是加密存儲的。
1.8.資料庫密碼安全性校驗函數
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
1.9.設定信任IP集
只需在伺服器上的文件$ORACLE_HOME/network/admin/sqlnet.ora中設置以下行:
tcp.validnode_checking = yes
tcp.invited_nodes = (ip1,ip2…)
1.10.超時的空閑遠程連接是否自動斷開
根據實際需要設置合適的數值。
在$ORACLE_HOME/network/admin/sqlnet.ora中設置下面參數:
SQLNET.EXPIRE_TIME=10
2.安全加固檢查safeCheck.sh
#!/bin/bash
#name:safeCheck.sh
#function:to create a safe check report.
#usage: oracle用戶登錄,執行 sh safeCheck.sh > /tmp/safeCheck.log
#logon database
sqlplus -S / as sysdba <<EOF
--format
prompt ============================
prompt == format
prompt ============================
prompt
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--check
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
prompt
show parameter remote_login_passwordfile
prompt 結果應為none.
prompt ======================
prompt == 2.resource_limit
prompt ======================
prompt
show parameter resource_limit
prompt 結果應為true.
prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
prompt
select * from dba_profiles order by 1;
prompt 關注FAILED_LOGIN_ATTEMPTS參數
prompt ===========================
prompt == 4.資料庫用戶帳號檢查
prompt ===========================
prompt
select username,profile from dba_users where account_status='OPEN';
prompt 正常使用的用戶列表
prompt ==========================
prompt == 5.範例資料庫帳號
prompt ==========================
prompt
select * from all_users order by created;
prompt 關注有無示例賬戶scott
prompt ===========================
prompt == 6.dba許可權賬戶檢查
prompt ===========================
prompt
prompt ===========================
prompt == 7.資料庫賬戶口令加密存儲
prompt ===========================
prompt
prompt =============================
prompt == 8.資料庫密碼安全性校驗函數
prompt =============================
prompt
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';
prompt 結果應該不為null
--logoff database
EOF
# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
echo
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
echo
#根據實際需要設置合適的數值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
3.安全加固執行safeExec.sh
#!/bin/bash
#name:safeExec.sh
#function:to execute the script for safe.
#usage: oracle用戶登錄,執行 sh safeExec.sh > /tmp/safeExec.log
#logon database
sqlplus -S / as sysdba <<EOF
--format
prompt ============================
prompt == format
prompt ============================
set linesize 140 pagesize 50
col username for a30
col profile for a30
col resource_name for a30
col limit for a30
--execute
prompt ============================
prompt == 1.sysdba用戶遠程登錄限制
prompt ============================
alter system set remote_login_passwordfile=none scope=spfile;
prompt ======================
prompt == 2.resource_limit
prompt ======================
alter system set resource_limit=true;
prompt ===========================
prompt == 3.登錄失敗的帳號鎖定策略
prompt ===========================
alter profile default limit FAILED_LOGIN_ATTEMPTS 10;
prompt ===========================
prompt == 4.資料庫用戶帳號檢查
prompt ===========================
--select username,profile from dba_users where account_status='OPEN';
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 5.範例資料庫帳號
prompt ===========================
prompt 是否刪除範例scott用戶?
--drop user scott cascade;
prompt ===========================
prompt == 6.dba許可權賬戶檢查
prompt ===========================
prompt I think I have nothing to do in this step.
prompt ===========================
prompt == 7.資料庫賬戶口令加密存儲
prompt ===========================
prompt 11g版本,資料庫層面就是加密的嘛~
prompt =============================
prompt == 8.資料庫密碼安全性校驗函數
prompt =============================
prompt 執行創建安全性校驗函數的腳本
@?/rdbms/admin/utlpwdmg.sql
--logoff database
EOF
# check the files
echo ===================
echo == 9.設定信任IP集
echo ===================
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下
#tcp.validnode_checking = yes
#tcp.invited_nodes = (ip1,ip2…)
echo ===================================
echo == 10.超時的空閑遠程連接是否自動斷開
echo ===================================
#根據實際需要設置合適的數值。
more $ORACLE_HOME/network/admin/sqlnet.ora
#添加如下一行
#SQLNET.EXPIRE_TIME=10
針對第9和第10步驟中的sqlnet.ora配置文件示例:
注意如果是ASM實例,sqlnet.ora配置文件是grid用戶下$ORACLE_HOME/network/admin/sqlnet.ora的。
SQLNET.EXPIRE_TIME=10
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.99.*)