❶ 什麼是數據安全
數據安全存在著多個層次,如:制度安全、技術安全、運算安全、存儲安全、傳輸安全、產品和服務安全等。對於計算機數據安全來說:制度安全治標,技術安全治本,其他安全也是必不可少的環節。數據安全是計算機以及網路等學科的重要研究課題之一。它不僅關繫到個人隱私、企業商業隱私;而且數據安全技術直接影響國家安全。
典型的總有刁民想害朕的心態[靈光一閃]
泄密到不存在,一般國內銀行用Oracle的同時都會購買Oracle的維護服務,除非甲骨文不想做中國的生意了。當然因為中美關系的問題,一些行已經開始從周邊系統逐漸開始改造使用國產資料庫,比如華為的高斯200,同時國內的國有軟體企業也在部署研發國產的資料庫,公司名就不說了,反正確實有這個安排。
真的是個好問題,國家核心系統從什麼開始決心拋棄windows。銀行系統數據太過龐大復雜,上了賊船,下船太難太難了。
我是金融行業的碼農,也算是有一定的發言權吧。
在資料庫方面,金融領域用到的有Oracle和SQLServer等商業軟體,也有Mysql、Redis等開源軟體。這些軟體有個令人沮喪的共同點, 很少有國產自主研發資料庫 。
隨著互聯網的飛速發展,信息化浪潮席捲各個行業。效率的大幅提升,徹底顛覆了既有的工作模式。率先擁抱變革的企業收獲了巨大收益,讓後來者羨慕嫉妒恨。
信息技術不管發展如何,都繞不開數據存儲,數據存儲以關系型資料庫最符合人的思維方式。關系型資料庫中的翹楚無疑是Oracle資料庫。
再回到題主的泄密問題,即Oracle資料庫安全么?我的答案是 即安全又不安全 。之所以安全因為它是最好關系型資料庫,常見的指標如易用性、穩定性、可用性、可恢復性都有完整的解決方案。之所以不安全是因為它是國外的閉源軟體,是否有安全隱患,國人不得而知。
技術上不可控,我們怎麼才能避免呢?答案是從管理上從嚴控制。
不怕。
物理上是對外隔離的, 架構上也有大量技術手段確保數據的安全。
但是自主可控的趨勢不可阻擋。
內網,物理隔離。外網用啥都沒用,想搞你不過是時間問題。
國內銀行系統用的資料庫很多, 核心系統一般都用老牌的商業資料庫DB2、Oracle 。其他系統也有用Mysql、MongoDB等其他資料庫。至於數據泄露嗎?銀行當然也怕。但是,就綜合考慮來看,目前Oracle等商業資料庫依然是最佳選擇,將來可能會一步一步提高安全等級。
1、穩定是首要選項我們都知道,銀行是金融系統的重要機構。它們的系統不能夠隨便出問題,一出問題影響整個 社會 。所以, 對銀行來說,穩定是擺在首要位置的 。任何創新都必須以此為前提。而DB2、Oracle這些商業資料庫軟體,首先能夠滿足銀行的穩定性要求。
而在中國,銀行是比較早有信息化的單位。但剛開始,沒有任何經驗的時候,只能是跟歐美國家學習模仿。外企銀行基本都是採用oracle、DB2來做核心系統。中國自然是採用國外相同的方案。大部分銀行也就採用了當時比較流行的一整套IBM大型機、小型機硬體,配套DB2、Oracle資料庫來做。
2、安全實現手段①、廠家信譽
一直用DB2、Oracle作為核心資料庫。對銀行來說,已經是最佳選擇。因為,在過去,國產根本就沒有什麼拿得出手的資料庫可以使用。銀行自然也只能用業界最好的資料庫,而且Oracle、DB2這類大品牌的資料庫,在全球范圍應用都很廣。廠家自然也要注意保障安全,否則出了問題,全世界都受影響。
②、技術控制
除了廠家的信譽保障外,銀行在技術上做了很多安全措施。首先, 內外網是物理隔離的 。這樣,實時連接資料庫的攻擊是很難實現的了。其次,在防止數據泄露這一塊,銀行當然也是有很多的技術手段控制的。至少,外網需要的數據是從內網的網閘擺渡過去的。能擺渡什麼數據出去,也是銀行嚴格控制的。最後, 資料庫里的敏感數據,也是加密存儲的 。同時,網路上還 部署了一系列網路安全設備來 保障系統的安全。
銀行現在雖然有很多的技術手段來保障信息安全,但是,DB2、Oracle始終是國外閉源商業資料庫軟體。如果軟體存在漏洞或者後門,對銀行來說也是一個大風險。加上國際形勢風雲變化,所以,銀行也還是會有擔心泄密問題,這就意味著銀行的安全體系還需要升級。
那該如何升級安全呢?除了系統過等級保護外,也一直在倡導用安全可靠的軟體。這就意味著需要逐步從Oracle、DB2等商業軟體走向開源、或者國產等資料庫軟體。不過,銀行的穩定性還是不能忽略的,所以, 銀行也就只能逐步 探索 ,逐步提升安全。同時,國產資料庫發展也還有很長一段路要走 。
總結總之,早些年銀行從穩定和安全出發,Oracle、DB2等商業資料庫是最佳選擇。這些年,隨著國際形勢的變化和技術的發展,銀行也在逐步提升安全等級。將來也會逐步替換Oracle、DB2等商業資料庫軟體。
這是個系統的問題。
有些朋友說物理隔離,目前看應該做不到100%隔離。銀行數據中心就是提供服務的,隔離了怎麼提供服務?各個分行,網點,ATM都是要聯網的,都是要訪問資料庫的,只是許可權不同。
歸結起來就是數據安全和資料庫系統,計算機系統,網路系統,以及工作人員都是相關的,必須全方位防護。
資料庫系統,國產化當然是必須的,但是國產資料庫系統就沒有漏洞嗎?不故意竊取數據,難保不因失誤而失竊。這個要加強測試。
計算機系統,包括軟體和硬體,同樣道理。
網路方面,銀行應該是租用運營商的線路(虛擬專網,VPN)實現網點互聯。出點和入點之間加密傳輸。如果加密演算法沒有被破解,秘鑰沒有暴露,一般沒問題。但畢竟還是有」如果」的。
人的問題更大一些,買通一個人不太難吧?這個要通過層層審核,相互制衡,以及思想政治工作來防範。
所以說信息系統的安全防護是全方位的。
要使用SWIFT ,國際資金清算系統,就必須與國際接軌,所以必須用Oracl。
林鄭太太被制裁,信用卡不能用,工資都發現金,使用也是現金,那麼多的國行,沒有一家敢接盤。
有別的選擇嗎。
❸ Oracle資料庫提供的安全性措施有哪些
Oracle的安全措施主要有三個方面,一是用戶標識和鑒定;二是授權和檢查機制;三是審計技術(是否使用審計技術可由用戶靈活選擇);除此之外,Oracle還允許用戶通過觸發器靈活定義自己的安全性措施。
一、用戶標識和鑒定
在Oracle中,最外層的安全性措施是讓用戶標識自己的名字,然後由系統進行核實。Oracle允許用戶重復標識三次,如果三次未通過,系統自動退出。
二、授權與檢查機制
Oracle的許可權包括系統許可權和資料庫對象的許可權兩類,採用非集中的授權機制,即DBA負責授予與回收系統許可權,每個用戶授予與回收自己創建的資料庫對象的許可權。
Oracle允許重復授權,即可將某一許可權多次授予同一用戶,系統不會出錯。Oracle也允許無效回收,即用戶沒有某種許可權,但回收此許可權的操作仍算成功。
1. 系統許可權
Oracle提供了80多種系統許可權,如創建會話、創建表、創建視圖、創建用戶等。DBA在創建一個用戶時需要將其中的一些許可權授予該用戶。
Oracle支持角色的概念。所謂角色就是一組系統許可權的集合,目的在於簡化許可權管理。Oracle除允許DBA定義角色外,還提供了預定義的角色,如CONNECT,RESOURCE和DBA。
具有CONNECT角色的用戶可以登錄資料庫,執行數據查詢和操縱。即可以執行ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等操作。
RESOURCE角色可以創建表,即執行CREATE TABLE操作。創建表的用戶將擁有對該表的所有許可權。
DBA角色可以執行某些授權命令,創建表,對任何錶的數據進行操縱。它涵蓋了前兩種角色,此外還可以執行一些管理操作,DBA角色擁有最高級別的許可權。
例如DBA建立一用戶U1後,欲將ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等系統許可權授予U1,則可以只簡單地將CONNECT角色授予U1即可:
GRANT CONNECT TO U1;
這樣就可以省略十幾條GRANT語句。
2. 資料庫對象的許可權
在Oracle中,可以授權的資料庫對象包括基本表、視圖、序列、同義詞、存儲過程、函數等,其中最重要的是基本表。
對於基本表Oracle支持三個級別的安全性:表級、行級和列級。
(1)表級安全性
表的創建者或者DBA可以把表級許可權授予其他用戶,表級許可權包括:
ALTER:修改表定義
DELETE:刪除表記錄
INDEX:在表上建索引
INSERT:向表中插入數據記錄
SELECT:查找表中記錄
UPDATE:修改表中的數據
ALL:上述所有許可權
表級授權使用GRANT和REVOKE語句。
(2)行級安全性
Oracle行級安全性由視圖實現。用視圖定義表的水平子集,限定用戶在視圖上的操作,就為表的行級提供了保護。視圖上的授權與回收與表級完全相同。
例如,只允許用戶U2查看Student表中信息系學生的數據,則首先創建信息系學生的視圖S_IS,然後將該視圖的SELECT許可權授予U2用戶。
❹ 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;
但要在這個數組裡面做刪除,改變元組的操作就不適用了.