linux sys伪用户作用,【原创】Linux版 对sys用户进行审计的示例
更多精彩內容盡在
我們在操作數據庫的時候,知道SYS用戶的權限是最大的干什么事很方便,同時帶來的問題就是非常危險,沒有人可以束縛住。因此我們有時需要對SYS用戶進行審計
SYS@LEO1>show parameter audit
NAME? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?TYPE? ?? ???VALUE
----------------------------------------------- ------------------------------
audit_file_dest? ?? ?? ?? ?? ?? ?? ? string? ?? ?/u02/app/oracle/admin/LEO1/adump
audit_sys_operations? ?? ?? ?? ?? ???boolean? ???FALSE默認SYS用戶審計是關閉的,這個參數是開啟審計SYS用戶所有SQL語句
audit_syslog_level? ?? ?? ?? ?? ?? ? string默認是關閉的,這個參數指出SYS用戶審計日志的存放位置
audit_trail? ?? ?? ?? ?? ?? ?? ?? ???string? ?? ?DB
SYS@LEO1>alter system setaudit_sys_operations=true scope=spfile;打開SYS用戶審計
System altered.
SYS@LEO1>alter system setaudit_syslog_level='user.notice' scope=spfile;用戶日志
System altered.
SYS@LEO1>startup force重啟數據庫使靜態參數生效
ORACLE instance started.
Total System Global Area??471830528 bytes
Fixed Size? ?? ?? ?? ?? ?? ?2214456 bytes
Variable Size? ?? ?? ?? ? 285214152 bytes
Database Buffers? ?? ?? ? 176160768 bytes
Redo Buffers? ?? ?? ?? ?? ? 8241152 bytes
Database mounted.
Database opened.
SYS@LEO1>show parameter audit
NAME? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?TYPE? ?? ???VALUE
----------------------------------------------- ------------------------------
audit_file_dest? ?? ?? ?? ?? ?? ?? ? string? ?? ?/u02/app/oracle/admin/LEO1/adump
audit_sys_operations? ?? ?? ?? ?? ???boolean? ???TRUE審計啟動
audit_syslog_level? ?? ?? ?? ?? ?? ? string? ?? ?USER.NOTICE
audit_trail? ?? ?? ?? ?? ?? ?? ?? ???string? ?? ?DB
設置sys用戶審計日志輸出位置,Linux中syslog.conf文件配置了各種類型日志的輸出位置和消息源
我們只需要將Oracle日志輸出配置信息添加到該文件中就可以了
[root@leonarding1 log]# vi /etc/syslog.conf
添加如下信息
# About Oracle SysLog
user.notice? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? /var/log/oracle_dbms
添加完之后,我們還要重新加載一下配置信息,syslog.conf文件生效
[root@leonarding1 log]# ps -ef | grepsyslogd
root? ???2385? ???1??0 Jun14 ?? ?? ???00:00:01 syslogd -m 0
root? ? 29740 29502??0 17:25 pts/1? ? 00:00:00 grep syslogd
[root@leonarding1 log]# kill -HUP 2385重新加載
Ok,操作系統的配置內容完成了。
下面我們來演示一下SYS用戶的審計
SYS@LEO1>create table test as select *from dba_objects;我們創建一個表
Table created.
SYS@LEO1>drop table test purge;再刪除一個表
Table dropped.
好了,SYS用戶操作做完了,我們來看看oracle_dbms審計日志中有沒有抓取到SQL語句
[root@leonarding1 log]# cat oracle_dbms
Jun 15 18:08:40 leonarding1 OracleAudit[29903]: LENGTH : '199' ACTION :[46]'create tabletest as select * from dba_objects'DATABASE USER:[1] '/' PRIVILEGE :[6]'SYSDBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL:[5] 'pts/3' STATUS:[1] '0'DBID:[10] '1692458681'
Jun 15 18:08:49 leonarding1 OracleAudit[29903]: LENGTH : '174' ACTION :[21]'drop tabletest purge' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[6]'oracle' CLIENT TERMINAL:[5] 'pts/3' STATUS:[1] '0' DBID:[10] '1692458681'
Good創建表test和刪除表test的命令都抓取到了,例如startup??shutdown??connect等操作都是可以抓取到的。
小結:通過上面的測試實例,我們了解到了對數據庫管理員的審計也逐漸成為信息安全中的重要一項,這樣可以對管理員人員進行監督,權限限制,提高數據庫安全級別,完善安全管理制度。
2013.6.15
北京&summer
分享技術~成就夢想Blog:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的linux sys伪用户作用,【原创】Linux版 对sys用户进行审计的示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux文件和目录管理指令,Linux
- 下一篇: linux 命令gpasswd -a,L