需求:客户想对数据库开启sys用户的审计功能,关闭其它用户的审计功能。

1)再一次巡检报告中,我们发现数据库版本11.2.0.4,开启审计功能,提供的建议如下,关闭审计
alter system set audit_trail=none scope=spfile;
2)客户同意关闭其它用户的审计功能,想只开启对sys用户的审计功能

审计相关知识点

什么是数据库审计?保存什么内容?保存的内容以什么形式存在?
审计是从数据库用户和非数据库用户监视和记录所选用户数据库操作。您可以基于单个操作(例如,执行的SQL语句的类型)或可以包括用户名,应用程序,时间等的数据组合进行审计。
审计内容包括,使用者登陆的主机名称,服务名称,连接方式,会话信息,数据库用户名,地址信息,及数据库操作信息(未开启审计功能则不记录此项)
保存的内容,可以存储再操作系统os trace文件存储、xml格式文件存储,也可以存储在数据库的基表中
https://docs.oracle.com/cd/E11882_01/network.112/e36292/auditing.htm#BCGHGJJH 为什么使用审计?
责任追溯,数据库出现人为错误,可以通过审计追踪定位机器+时间,方便追踪到个人
监控数据库中特定活动的数据

如何开启对sys用户的审计

在数据库开启审计功能,
AUDIT_SYS_OPERATIONS –SYS用户审计开启,则在audit_file_dest参数下,强制审计的aud文件中,将记录SYS用户的所有SQL操作
FALSE| TRUE 是否审计sys用户
--关闭数据库审计功能后,开启对sys用户的审计功能
SQL> alter system set audit_trail=none scope=spfile;
SQL> alter system set audit_sys_operations=true scope=spfile;
-- 举例说明,查询审计文件
[oracle@t2 adump]$ pwd
/u01/app/oracle/admin/t2/adump
vim t2_ora_29384_20181220193947356261143795.aud
Thu Dec :: +:
LENGTH : ''
ACTION :[] 'SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number',
6,'big integer', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER
(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM'
DATABASE USER:[] '/'
PRIVILEGE :[] 'SYSDBA'
CLIENT USER:[] 'oracle'
CLIENT TERMINAL:[] 'pts/3'
STATUS:[] ''
DBID:[] ''
--可以指定sys审计文件新的位置,不是默认数据库参数audit_file_dest目录下
https://blog.csdn.net/haibusuanyun/article/details/11212567
--SYS用户windows审计目录
https://blog.csdn.net/t0nsha/article/details/7763964

管理sys审计文件

如果长期不管理sys监控后的trace文件,最终文件系统存储将被trace文件撑满,因此对数据库的管理需要从头到脚的考虑及安全保障
操作系统crontab定期清理审计文件
[oracle@t2 tt]$ crontab -e
* * * * find /u01/app/oracle/admin/t2/adump -name "*.aud" -mmin + -exec rm {} \ 删除30分钟前的aud文件,mtime 天,替换mmin分钟即可,自行选择删除策略
按照天删除 或者按照分钟进行删除策略,测试环境测试30分钟是满足的

误区纠正

.关闭数据库审计,并不影响sys审计开启
.数据库审计,默认不审计sys用户(原因,sys用户具有随意修改删除审计基表AUD$的权限,审计有啥用,dba不开心删除就没了)
.数据库审计默认启用少量的审计策略,因此如果需要使用什么功能,都是需要了解清楚,并配置合适的审计策略,否则即使开启审计也可能没有你想要的东西

数据库开启对sys用户的审计的更多相关文章

  1. sys用户密码丢失找回密码的步骤和命令

    假设你的sys用户密码丢失,写出找回密码的步骤和命令? 1.确认哪个数据库实例的sys用户密码丢失:(例:数据库实例为orclA) 2.进入数据库实例的目录中找到PWDorclA.ora文件:(例目录 ...

  2. sys用户权限不足,本地登录失败 |ORA-01031 insufficient privileges|

    机器总喜欢挑放假的时候出问题,"双节"(中秋.国庆)快到了,对于搞系统运维的工程师来说其实并不轻松,于是今天赶紧装起一台数据库备用服务器以备半夜"机"叫. 安装 ...

  3. 演示对sys用户和普通用户进行审计的示例

    1.确认数据库版本 1对SYS用户审计 1.1配置审计参数 1.2修改liunx日志配置文件 添加以下一列: 1.3 SYS 用户操作演示 2对普通用户审计 2.1配置审计参数 2.2演示对TEST用 ...

  4. Docker Mongo数据库开启用户认证

    一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...

  5. 如何找回Oracle中system,sys用户的密码[转]

    Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可 ...

  6. 忘记oracle的sys用户密码怎么修改

    转分类: Linux 一.忘记除SYS.SYSTEM用户之外的用户的登录密码.  用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;  使用如下语句修改 ...

  7. SQL Server数据库中还原孤立用户的方法集合

    虽然SQL Server现在搬迁的技术越来越多,自带的方法也越来越高级. 但是我们的SQL Server在搬迁的会出现很多孤立用户,微软没有自动的处理. 因为我们的数据库权限表都不会在应用数据库中,但 ...

  8. Oracle创建数据库、表、用户

    create tablespace south_knowledge logging datafile 'D:\TestDatabase\south_knowledge.dbf' size 10m au ...

  9. 查看oracle数据库的连接数以及用户

    查看oracle数据库的连接数以及用户 11.查询oracle的连接数2select count(*) from v$session;32.查询oracle的并发连接数4select count(*) ...

随机推荐

  1. MySQL修改版本号教程

    处理扫描器扫出的漏洞,基本有四种方法:一是升级软件包到新版本(包括打补丁和整个替换升级),二是修改banner配置项(包括禁用banner和修改banner内容),三是添加白名单(包括主机防火墙和软件 ...

  2. Windows设置.txt文件默认打开程序

    一.配置某个程序默认打开哪些类型的文件(以firefox为例) 依次打开”控制面板\程序\默认程序“,点击”设置默认程序“ 在右侧列表找到firefox,选中 以firefox为例,”将此程序设置为默 ...

  3. Tomcat禁用SSLv3和RC4算法

    1.禁用SSLv3(SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)[原理扫描]) 编缉$CATALINA_HOEM/conf/server.xml配置文件,找到https端 ...

  4. linux 安装Git详细过程

    1.首先git --version 查看 Git  https://mirrors.edge.kernel.org/pub/software/scm/git/ 2.下载 wget https://Gi ...

  5. NiXi.DAY06东软实训.:面向对象思想~抽象~static~final~构造方法及其重载

    本章技能目标: 使用类图描述设计 掌握面向对象设计的基本步骤 掌握类和对象的概念 掌握构造方法及其重载 掌握封装的概念及其使用 本章单词: class:类 object:对象 static: fina ...

  6. Unity中Text中首行缩进两个字符和换行的代码

    1.首行缩进两个字符 txt.text=“\u3000\u3000” + str: 2.首行缩进两个字符 将输入法换成全角的,在Text属性面板中添加空格即可. 3.换行    “\n” 补充 Uni ...

  7. [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)

    JAVA面试题和项目面试核心要点精华总结(想进大公司必看) JAVA面试题和项目面试核心要点精华总结(想进大公司必看)

  8. day 09 初识函数

    今日主要学习了 一. 什么是函数二. 函数定义, 函数名, 函数体以及函数的调?三. 函数的返回值四. 函数的参数 一, 什么是函数               如果找不到合适的函数名称 ,用 fu ...

  9. python if elif else判断语句

    username = 'jack' password = ' _username = input('username') _password = input('password') if userna ...

  10. (C/C++学习笔记) 十九. 模板

    十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...