自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)庫安全措施

數(shù)據(jù)庫 Oracle
Oracle數(shù)據(jù)庫是很多人都非常熟悉的數(shù)據(jù)庫,Oracle數(shù)據(jù)庫的應用時非常廣泛的,當今,安全問題一直以來都是數(shù)據(jù)庫中的大問題,安全問題是Oracle數(shù)據(jù)庫中的重要工作之一,本文中將主要為大家講解Oracle數(shù)據(jù)庫的安全措施。

數(shù)據(jù)庫安全一直以來都是人們關(guān)注的熱門話題,眾所周知,對于Oracle數(shù)據(jù)庫來說,Oracle數(shù)據(jù)庫中的數(shù)據(jù)信息都是非常重要的,不容泄露,下文中就為大家總結(jié)了一些Oracle數(shù)據(jù)庫的安全措施,希望對大家能夠有所幫助。

一、數(shù)據(jù)庫安全原則

1.只安裝oracle必須的組件;

2.鎖定并終止默認用戶帳號;

3.改變默認用戶密碼;

4.激活數(shù)據(jù)字典保護(oracle9i默認具有此功能);

5.根據(jù)實際情況給予最少的權(quán)限;

6.強制進行有效的訪問控制(oracle9i默認具有此功能);

7.限制操作系統(tǒng)訪問;

8.限制網(wǎng)絡訪問;

9.安裝所有的安全補??;

二、具體安全加強措施

1.對默認用戶進行鎖定

在oracle安裝過程中默認安裝會有很多的默認用戶,造成安全潛在問題,可以將其鎖定,限制對數(shù)據(jù)庫進行連接。

Oracle范例用戶:HR,OE,PM,SH,QS_ADM,QS,QS_WS,QS_ES,QS_OS,QS_CBADM,QS_CB,QS_CS

只是用于oracle的范例,沒有實際用處;

DBSNMP:負責運行Oracle系統(tǒng)的智能代理(Intelligent Agent),實際中很少使用,幾乎不使用;

OUTLN:用于存儲Outlines,不使用時可鎖定,使用時再打開;

MDSYS, ORDSYS, CTXSYS, ORDPLUGINS:用于支持oracle的Intermedia,默認鎖定;

WMSYS:用于存儲Oracle Workspace Manager的元數(shù)據(jù)信息,默認鎖定;

ANONYMOUS:用于允許HTTP 訪問Oracle XML DB;

XDB:用于存儲Oracle XML DB數(shù)據(jù)和元數(shù)據(jù);

此外還有一些系統(tǒng)自帶的用戶,不再列舉,建議對除sys,system,rman,perfstat以外的系統(tǒng)自帶用戶進行鎖定,減少安全隱患。

Sql:select username,account_status from dba_users;

alter user username account lock; 2.安裝最新的安全補丁

安全公告和補丁位置如下:

http://otn.oracle.com/deploy/security/alerts.htm

3.密碼管理機制

在Oracle,我們可以通過修改用戶概要文件來設置密碼的安全策略,可以自定義密碼的復雜度。在概要文件中有以下參數(shù)是和密碼安全有關(guān)系的:

FAILED_LOGIN_ATTEMPTS:最大錯誤登錄次數(shù)

PASSWORD_GRACE_TIME:口令失效后鎖定時間

PASSWORD_LIFE_TIME:口令有效時間

PASSWORD_LOCK_TIME:登錄超過有效次數(shù)鎖定時間

PASSWORD_REUSE_MAX:口令歷史記錄保留次數(shù)

PASSWORD_REUSE_TIME:口令歷史記錄保留時間

PASSWORD_VERIFY_FUNCTION:口令復雜度審計函數(shù)。

缺省這個安全策略是沒有啟用的。

啟用安全策略:

以sys用戶執(zhí)行:SQL> @?/rdbms/admin/utlpwdmg.sql

設置舉例:

CREATE PROFILE app_user2 LIMIT

FAILED_LOGIN_ATTEMPTS 5

PASSWORD_LIFE_TIME 60

PASSWORD_REUSE_TIME 60

PASSWORD_REUSE_MAX UNLIMITED

PASSWORD_VERIFY_FUNCTION verify_function

PASSWORD_LOCK_TIME 1/24

PASSWORD_GRACE_TIME 10;

4.資源管理機制

啟用資源管理:

SQL> alter system set resource_limit=true;

設置舉例:

CREATE PROFILE app_user LIMIT

SESSIONS_PER_USER UNLIMITED

CPU_PER_SESSION UNLIMITED

CPU_PER_CALL 3000

CONNECT_TIME 45

LOGICAL_READS_PER_SESSION DEFAULT

LOGICAL_READS_PER_CALL 1000

PRIVATE_SGA 15K

COMPOSITE_LIMIT 5000000;

指定profile可以使用create user 或者alter user,舉例如下:

CREATE USER test

IDENTIFIED BY aZ7bC2

DEFAULT TABLESPACE data_ts

QUOTA 100M ON test_ts

QUOTA 500K ON data_ts

TEMPORARY TABLESPACE temp_ts

PROFILE profile_name;

ALTER USER test

IDENTIFIED BY A12BDD

DEFAULT TABLESPACE data_ts

TEMPORARY TABLESPACE temp_ts

QUOTA 100M ON data_ts

QUOTA 0 ON test_ts

PROFILE profile_name;

5. 權(quán)限管理

根據(jù)實際情況,細分權(quán)限,建立角色,對于系統(tǒng)權(quán)限慎重給予。采用最小授權(quán)原則,給用戶盡量少的權(quán)限。

用戶組PUBLIC,顧名思義,表示數(shù)據(jù)庫中的每一位用戶,因此,對PUBLIC 用戶組授予權(quán)限其實也就是對數(shù)據(jù)庫中的每一位用戶都授予了相應的權(quán)限。這是在授予或撤銷權(quán)限時非常有用的一條捷徑。但也可能帶來巨大的安全隱患,尤其是在試圖確保以最少權(quán)限的方式運行數(shù)據(jù)庫時,更是如此。

撤銷Public 組的一些不必要權(quán)限,嚴格限制以下程序包的權(quán)限:

UTL_FILE:該程序包允許oralce 用戶讀取服務器上的文件,如果設置錯誤的話,可能可以得到任何文件。

UTL_HTTP:該程序包允許oracle 用戶通過HTTP 訪問外部資源包括惡意的web 代碼和文件。

UTL_TCP: 該程序包允許oracle 通過TCP 建立連接,從而從網(wǎng)絡上得到可執(zhí)行文件。

UTL_SMTP: 該程序包允許oracle 通過SMTP 方式進行通信,從而轉(zhuǎn)發(fā)關(guān)鍵文件。

撤銷以上包的執(zhí)行權(quán)限:

Sql:

revoke EXECUTE on UTL_FILE from public;

revoke EXECUTE on UTL_TCP from public;

revoke EXECUTE on UTL_SMTP from public;

revoke EXECUTE on UTL_HTTP from public; 6.修改認證方式

Oracle默認使用操作系統(tǒng)認證,只要能進入系統(tǒng)可直接以sys進入oracle,存在較大安全隱患,可修改為數(shù)據(jù)庫認證方式。

在$ORACLE_HOME/network/admin中,打開sqlnet.ora,將SQLNET.AUTHENTICATION_SERVICES= (NTS)注釋掉,在前面加#即可。 7.限制IP連接

由于Oracle 的TNS 監(jiān)聽器有許多安全漏洞,其中的一些漏洞甚至能讓入侵者得到操作系統(tǒng)的超級用戶權(quán)限或者修改數(shù)據(jù)庫中的數(shù)據(jù),因此在打好補丁的同時,對連接IP 的限制也能做到防患于未然。

在$ORACLE_HOME\network\admin 目錄下修改SQLNET.ORA文件,

增加如下內(nèi)容:

tcp.validnode_checking = YES

tcp.invited_nodes = (IP地址, hostname)

IP地址和hostname是允許連接的主機的名字和IP地址。 8.關(guān)掉Extproc 功能

由于extproc 存在安全問題允許用戶不進行身份認證就可以調(diào)用系統(tǒng)函數(shù),因此如果不需要該功能必須關(guān)閉。

修改TNSNAMES.ORA 和LISTENER.ORA 文件,刪除含有EXTPROC的條目,使兩個文件中只含有使用的有效連接信息。 9.啟動審計功能

Oracle的審計機制是用來監(jiān)視用戶對ORACLE數(shù)據(jù)庫所做的各種操作。在缺省情況下,系統(tǒng)的審計功能是關(guān)閉的??梢栽贗NIT.ORA參數(shù)文件中設置參數(shù)AUDIT_TRAIL來激活。它的值有:NONE 禁止審計;DB 啟用審計,寫入SYS.AUD$;OS 啟用審計,寫入操作系統(tǒng)。

當AUDIT_TRAIL=OS,可設置AUDIT_FILE_DEST指定審計文件的位置,默認情況在$ORACLE_HOME/rdbms/audit下面。

AUDIT_SYS_OPERATIONS, AUDIT_TRAIL, AUDIT_FILE_DEST都是靜態(tài)參數(shù),需修改參數(shù)文件重啟后生效。

設置審計水平:

Statement:指定對影響數(shù)據(jù)庫對象的一個特定類型的特定SQL語句進行審計。比如對表的audit table有以下語句:CREATE TABLE, TRUNCATE TABLE, COMMENT ON TABLE, and DELETE [FROM] TABLE等;

Privilege:對由指定系統(tǒng)權(quán)限授權(quán)的SQL語句進行審計,比如AUDIT CREATE ANY TRIGGER是對由CREATE ANY TRIGGER系統(tǒng)權(quán)限授權(quán)的語句進行審計;

Object:對特定對象上的特定操作進行審計,比如ALTER TABLE on the emp。

設置審計條件:

BY SESSION/BY ACCESS:BY SESSION使oracle在同一session中的同一類型的SQL語句只寫一條記錄;BY ACCESS使oracle對每次訪問寫一條記錄。

WHENEVER SUCCESSFUL/WHENEVER NOT SUCCESSFUL:WHENEVER SUCCESSFU只審計那些成功執(zhí)行的SQL語句;WHENEVER NOT SUCCESSFUL只審計那些失敗或結(jié)果錯誤的SQL語句。

審計操作舉例:

審計連接:

AUDIT SESSION; AUDIT SESSION BY scott, lori;

審計指定權(quán)限:

AUDIT DELETE ANY TABLE BY ACCESS WHENEVER NOT SUCCESSFUL;

AUDIT DELETE ANY TABLE;

AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, EXECUTE PROCEDURE BY ACCESS WHENEVER NOT SUCCESSFUL;

審計指定對象:

AUDIT DELETE ON scott.emp;

AUDIT SELECT, INSERT, DELETE ON jward.dept BY ACCESS WHENEVER SUCCESSFUL;

AUDIT SELECT ON DEFAULT WHENEVER NOT SUCCESSFUL;

關(guān)閉審計操作:

關(guān)閉上面例子中的相應審計:

NOAUDIT session;

NOAUDIT session BY scott, lori;

NOAUDIT DELETE ANY TABLE;

NOAUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE,EXECUTE PROCEDURE;

關(guān)閉所有語句審計:

NOAUDIT ALL;

關(guān)閉所有權(quán)限審計:

NOAUDIT ALL PRIVILEGES;

關(guān)閉對象審計:

NOAUDIT DELETE ON emp;

NOAUDIT SELECT, INSERT, DELETE ON jward.dept;

關(guān)閉某一對象上的所有審計:

NOAUDIT ALL ON emp;

關(guān)閉所有的默認對象審計:

NOAUDIT ALL ON DEFAULT;

相關(guān)審計信息視圖:

ALL_DEF_AUDIT_OPTS

USER_OBJ_AUDIT_OPTS

DBA_OBJ_AUDIT_OPTS

DBA_STMT_AUDIT_OPTS

DBA_PRIV_AUDIT_OPTS

DBA_AUDIT_TRAIL

USER_AUDIT_TRAIL

DBA_AUDIT_SESSION

USER_AUDIT_SESSION

DBA_AUDIT_STATEMENT

USER_AUDIT_STATEMENT

DBA_AUDIT_OBJECT

USER_AUDIT_OBJECT

DBA_AUDIT_EXISTS

SM$AUDIT_CONFIG

KU$_AUDIT_VIEW

KU$_AUDIT_OBJ_BASE_VIEW

KU$_AUDIT_OBJ_VIEW

DBA_AUDIT_POLICIES

ALL_AUDIT_POLICIES

USER_AUDIT_POLICIES

DBA_FGA_AUDIT_TRAIL

DBA_REPAUDIT_ATTRIBUTE

ALL_REPAUDIT_ATTRIBUTE

USER_REPAUDIT_ATTRIBUTE

DBA_REPAUDIT_COLUMN

ALL_REPAUDIT_COLUMN

USER_REPAUDIT_COLUMN

查看審計信息舉例:

列出活動的語句審計操作:

SELECT * FROM DBA_STMT_AUDIT_OPTS;

列出活動的權(quán)限審計操作:

SELECT * FROM DBA_PRIV_AUDIT_OPTS;

列出對指定對象的活動對象審計操作:

SELECT * FROM DBA_OBJ_AUDIT_OPTS WHERE OWNER = 'SCOTT' AND OBJECT_NAME LIKE 'EMP%';

列出默認的對象審計操作:

SELECT * FROM ALL_DEF_AUDIT_OPTS;

列出審計記錄:

SELECT * FROM DBA_AUDIT_OBJECT;

列出對于AUDIT SESSION審計操作的審計記錄:

SELECT USERNAME, LOGOFF_TIME, LOGOFF_LREAD, LOGOFF_PREAD, LOGOFF_LWRITE, LOGOFF_DLOCK FROM DBA_AUDIT_SESSION;

關(guān)于Oracle數(shù)據(jù)庫的安全措施就為大家總結(jié)了這么多,相信上文中講到的安全措施一定能夠幫助大家實現(xiàn)Oracle數(shù)據(jù)庫的安全,希望大家都能夠上文中涉及到的內(nèi)容中有所收獲。

 

責任編輯:迎迎 來源: 中國IT實驗室
相關(guān)推薦

2010-04-22 17:49:29

Aix系統(tǒng)

2009-04-13 10:06:58

Oracle安全管理

2014-11-13 16:28:23

數(shù)據(jù)安全

2010-08-02 16:17:13

2011-03-22 14:35:23

Oracle數(shù)據(jù)庫安全措施

2014-07-02 16:03:23

2011-03-10 13:24:26

2012-06-20 14:09:36

2024-05-06 14:07:47

射頻識別RFID

2011-02-22 15:17:00

VSFTPD

2022-01-07 08:58:32

云安全云計算網(wǎng)絡安全

2018-05-08 06:51:57

2013-09-26 10:19:34

2010-01-15 17:28:57

2012-07-16 15:12:27

2017-12-23 00:00:12

2011-08-05 09:43:51

2014-07-16 15:46:12

2011-08-16 14:37:35

2010-09-06 11:08:29

點贊
收藏

51CTO技術(shù)棧公眾號