Oracle审计sys操作记录到操作系统系统日志中

本文介绍如何在Oracle数据库中配置审计,将sys用户的操作记录到Linux操作系统的日志文件中,首先查看数据库审计状态,并设置审计跟踪为none。

此次以Linux系统为例!


1、查看当前数据库版本及状态信息

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production


SQL> select dbid,name,open_mode from v$database;
      DBID NAME      OPEN_MODE
---------- --------- --------------------
1435632369 ORCL      READ WRITE


2、检查audit默认设置
SQL> show parameter audit
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      /u01/app/oracle/admin/orcl/adu
                                                 mp
audit_sys_operations                 boolean     FALSE
audit_syslog_level                   string
audit_trail                          string      DB


3、修改如下参数,将sys操作记入/var/log/message中
SQL> alter system set audit_syslog_level='USER.NOTICE' scope=spfile;
System altered.

SQL> alter system set audit_sys_operations=TRUE scope=spfile;
System altered.


SQL> alter system set audit_trail=none scope=spfile;

System altered.


SQL> startup force     ---生产环境中严禁此操作(强烈建议使用shundown immediate--startup)
ORACLE instance started.

Total System Global Area  413372416 bytes
Fixed Size                  2253784 bytes
Variable Size             327158824 bytes
Database Buffers           79691776 bytes
Redo Buffers                4268032 bytes
Database mounted.
Database
<think>我们正在讨论如何配置操作系统的日志审计。根据用户提供的引用内容,我们可以了解到Windows和Linux系统日志审计的相关信息,以及Oracle数据库的审计配置。用户特别询问了配置方法,因此我们需要分别说明Windows和Linux的日志审计配置步骤。 首先,对于Windows系统: - Windows使用事件查看器来管理日志,包括安全日志、应用程序日志和系统日志等。 - 配置方法主要是通过组策略(gpedit.msc)来设置审计策略。 对于Linux系统: - 引用中提到了多种日志文件的位置和用途,如/var/log/secure(认证日志)、/var/log/audit/audit.log(auditd服务的日志)等。 - 配置Linux审计主要使用auditd服务,通过编辑/etc/audit/audit.rules文件来添加审计规则。 另外,引用[3]提到了Oracle数据库的审计配置,特别是针对sys用户的审计。我们可以简要提及,但用户的问题主要集中在操作系统层面。 因此,回答将分为两部分:Windows配置和Linux配置。 ### 一、Windows系统日志审计配置 1. **开启审计策略**: - 按`Win+R`,输入`gpedit.msc`打开本地组策略编辑器。 - 导航到:计算机配置 → Windows设置 → 安全设置 → 本地策略 → 审核策略。 - 根据需要配置审核策略,如审核登录事件、对象访问等。例如: - 审核登录事件:成功和失败 - 审核对象访问:成功和失败(需要结合文件系统的审计设置) 2. **配置文件系统审计(示例)**: - 右键点击需要审计的文件夹 → 属性 → 安全 → 高级 → 审核。 - 添加要审计的用户或组,并选择要审计操作(如创建文件/写入数据)。 3. **查看日志**: - 事件查看器(eventvwr.msc)中查看安全日志。 ### 二、Linux系统日志审计配置(使用auditd) 1. **安装auditd**(通常默认安装): ```bash sudo apt-get install auditd audispd-plugins # Debian/Ubuntu sudo yum install audit audit-libs # CentOS/RHEL ``` 2. **配置审计规则**: - 编辑`/etc/audit/audit.rules`文件,添加规则。例如: ``` # 监视/etc/passwd文件的写操作和属性更改 -w /etc/passwd -p wa -k identity_changes # 监视/etc/group文件的写操作和属性更改 -w /etc/group -p wa -k identity_changes # 监视所有系统调用(谨慎使用,会生成大量日志) -a always,exit -F arch=b64 -S all -k full_audit ``` 3. **常用规则说明**: - `-w [文件路径]`: 监视指定文件或目录 - `-p [权限]`: 监视的权限(r=读,w=写,x=执行,a=属性更改) - `-k [关键字]`: 为事件标记关键字,便于搜索 4. **重启auditd服务**: ```bash sudo systemctl restart auditd ``` 5. **查看审计日志**: - 日志默认存储在`/var/log/audit/audit.log` - 使用`ausearch`工具查询: ```bash ausearch -k identity_changes # 按关键字查询 ``` ### 三、Oracle数据库审计日志输出到操作系统(可选) 如引用[3]所示,可以将Oracle审计日志(特别是sys用户的操作)输出到操作系统系统日志中。配置步骤: 1. 设置参数: ```sql ALTER SYSTEM SET audit_trail=os SCOPE=SPFILE; ALTER SYSTEM SET audit_sys_operations=TRUE SCOPE=SPFILE; ALTER SYSTEM SET audit_syslog_level='USER.NOTICE' SCOPE=SPFILE; ``` 2. 重启数据库实例。 ### 四、日志集中管理建议 将各服务器的日志集中收集到日志审计服务器(如ELK堆栈)中,便于统一分析和报警。 ### 五、测试审计配置 - 在Windows上:尝试登录失败,然后在事件查看器的安全日志中检查是否有相应事件。 - 在Linux上: ```bash sudo touch /etc/test_audit # 测试文件创建 ausearch -k file_access # 如果规则中监视了该路径,应能查到 ``` §§相关问题§§ 1. 如何验证Linux审计日志的完整性? 2. Windows事件日志的存储大小如何配置? 3. 如何将Linux的审计日志实时传输到远程服务器? </think>### 操作系统日志审计配置指南 #### 一、Windows系统审计配置 1. **启用基础审计策略** 打开组策略编辑器(`gpedit.msc`): ```powershell 计算机配置 → Windows设置 → 安全设置 → 本地策略 → 审核策略 ``` - 启用关键策略: - 审核登录事件(成功/失败) - 审核对象访问(成功/失败) - 审核策略更改(成功)[^1] 2. **高级文件审计配置** 对敏感文件(如`C:\Windows\System32\config\SAM`)配置审计: ```powershell 文件属性 → 安全 → 高级 → 审核 → 添加 ``` 设置审计主体:`Everyone`,勾选"写入"、"删除"、"更改权限"操作 3. **验证配置** 查看安全事件日志: ```powershell eventvwr.msc → Windows日志 → 安全日志 ``` 筛选事件ID: - 4624:成功登录 - 4625:失败登录 - 4663:文件访问 #### 二、Linux系统审计配置(基于auditd) 1. **安装与启服** ```bash # Debian/Ubuntu sudo apt install auditd audispd-plugins sudo systemctl enable --now auditd # RHEL/CentOS sudo yum install audit sudo service auditd start ``` 2. **核心配置文件** `/etc/audit/audit.rules` 添加规则: ```bash # 监控敏感文件 -w /etc/passwd -p wa -k identity_changes -w /etc/sudoers -p wa -k priv_escalation # 监控用户命令执行 -a always,exit -F arch=b64 -S execve -k user_cmds # 监控特权命令 -a always,exit -F arch=b64 -S chmod -S chown -k file_perms_changes ``` 3. **日志文件位置** - 主日志:`/var/log/audit/audit.log` - 关键日志路径[^2]: ```bash /var/log/secure # 认证日志 /var/log/boot.log # 系统启动日志 /var/log/cron # 计划任务日志 ``` #### 三、Oracle数据库审计配置 1. **启用SYS操作审计** ```sql SQL> ALTER SYSTEM SET audit_sys_operations=TRUE SCOPE=SPFILE; SQL> ALTER SYSTEM SET audit_trail=OS SCOPE=SPFILE; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; ``` 2. **验证日志输出** Oracle审计日志将输出到: ```bash $ORACLE_BASE/admin/$ORACLE_SID/adump/*.aud ``` 使用操作系统命令查看: ```bash tail -f $ORACLE_BASE/admin/$ORACLE_SID/adump/ora_*.aud ``` #### 四、审计策略优化建议 1. **日志保护配置** Linux审计日志防篡改: ```bash chattr +a /var/log/audit/audit.log ``` 2. **日志轮转策略** 编辑`/etc/audit/auditd.conf`: ```ini max_log_file = 50 # 保留50个日志文件 max_log_file_action = keep_logs ``` 3. **集中日志收集** 配置`audispd`转发到SIEM系统: ```ini # /etc/audisp/plugins.d/syslog.conf active = yes direction = out path = /sbin/audisp-syslog ``` > **审计覆盖率公式**: > 定义有效审计覆盖率: > $$ > \text{Coverage} = \frac{\text{已审计事件数}}{\text{应审计事件总数}} \times 100\% > $$ > 建议生产环境覆盖率 ≥ 95%[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值