Linux版 对sys用户进行审计的示例
来源:互联网 发布:java开发的安卓模拟器 编辑:程序博客网 时间:2024/05/22 10:25
我们在操作数据库的时候,知道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等操作都是可以抓取到的。
小结:通过上面的测试实例,我们了解到了对数据库管理员的审计也逐渐成为信息安全中的重要一项,这样可以对管理员人员进行监督,权限限制,提高数据库安全级别,完善安全管理制度。
- Linux版 对sys用户进行审计的示例
- 对sys用户所有操作进行审计示例
- Linux版 对普通用户进行审计的示例
- audit相关参数及SYS用户对普通用户进行审计
- oracle如何对sys用户进行审计(oracle on windows)
- 对用户进行操作日志审计
- 对象审计+查看审计内容+查看对哪些用户对象进行对象审计+取消对象审计
- 语句审计+sql_statement_clause选项+查询对那些用户进行审计+取消审计
- 权限审计+查询对那些用户进行权限审计 +notaudit语句
- linux用户审计
- linux审计用户命令
- linux用户行为审计
- linux 用户行为审计
- 第四天4-1审计参数,视图】【审计test的alter system权限】【审计那些尝试用test用户的操作】【对t表的sql操作审计】
- 利用触发器对用户登录退出时间及IP进行审计
- Oracle中对用户登陆失败进行审计,查出相关登录信息(机器名)
- 对审计的感受
- Linux 用户空间审计系统
- Android SlidingMenu 开源项目导入
- 收藏 qt移植的文章
- 如何更优雅的实现ExtJS的前端MVC模式下一个App多个Controller的动态加载
- RBAC(Role-Based Access Control,基于角色的访问控制)
- 教你编写优雅的JavaScript代码
- Linux版 对sys用户进行审计的示例
- android jar导入
- 移植完RT-Thread之后,串口输出rtc not configured,please configure with set_date and set_time
- Linux版 对普通用户进行审计的示例
- Deep Learning学习(开篇)
- RBAC权限设计实例
- 借助 SublimeLinter 编写高质量的 JavaScript & CSS 代码
- (并查集入门)How Many Tables
- ORCAD生成BOM(元件清单)的方法