Linux版 对sys用户进行审计的示例

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

我们在操作数据库的时候,知道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等操作都是可以抓取到的。

小结:通过上面的测试实例,我们了解到了对数据库管理员的审计也逐渐成为信息安全中的重要一项,这样可以对管理员人员进行监督,权限限制,提高数据库安全级别,完善安全管理制度。



 本文转自 ztfriend 51CTO博客,原文链接:http://blog.51cto.com/leonarding/1223409,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
Linux C++
LInux下Posix的传统线程示例
LInux下Posix的传统线程示例
52 1
|
7月前
|
安全 Linux 网络安全
Linux使用HTTP隧道代理代码示例模版
Linux使用HTTP隧道代理代码示例模版
97 0
|
12天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
40 14
Linux 10 个“who”命令示例
|
2月前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
41 3
Linux | Rsync 命令:16 个实际示例(下)
|
2月前
|
安全 Linux Shell
Linux | Rsync 命令:16 个实际示例(上)
Linux | Rsync 命令:16 个实际示例(上)
81 0
Linux | Rsync 命令:16 个实际示例(上)
|
3月前
|
Linux Shell
Linux 中 Tail 命令的 9 个实用示例
Linux 中 Tail 命令的 9 个实用示例
121 6
Linux 中 Tail 命令的 9 个实用示例
|
4月前
|
存储 Linux
【linux】【系统】启动参数配置的示例
【linux】【系统】启动参数配置的示例
46 0
|
5月前
|
JavaScript Linux
【详细讲解】Linux grep命令用法大全 片尾有示例搜索指定目录中指定文件后缀的指定字符
【详细讲解】Linux grep命令用法大全 片尾有示例搜索指定目录中指定文件后缀的指定字符
147 1
|
6月前
|
Shell Linux 数据安全/隐私保护
蓝易云 - Linux中的chsh命令及示例
注意:只有拥有适当权限的用户(如root用户)才能更改其他用户的登录shell。普通用户只能更改自己的登录shell。
40 3
|
6月前
|
安全 Linux
探索Linux中的`aulast`命令:审计用户的登录历史
`aulast`是Linux审计系统中的工具,用于查看用户登录历史。它显示登录时间、终端、IP地址等信息,帮助管理员分析登录模式和检测入侵。命令语法包括选项如 `-i` 显示IP地址,`-l` 显示详细信息,`-n` 指定记录数,`-s` 和 `-e` 指定时间范围。在使用前需确保`auditd`已启用并配置好规则。