维护审计日志

    • 与审计日志相关的配置参数及其含义请参见表1

      表 1 审计日志相关配置参数

    • 审计日志删除命令为数据库提供的sql函数pg_delete_audit,其原型为:

      其中参数startime和endtime分别表示审计记录的开始时间和结束时间。

    • 目前常用的记录审计内容的方式有两种:记录到数据库的表中、记录到OS文件中。这两种方式的优缺点比较如所示。

      表 2 审计日志保存方式比较

      方式

      优点

      缺点

      记录到表中

      由于表是数据库的对象,如果一个数据库用户具有一定的权限,就能够访问到审计表。如果该用户非法操作审计表,审计记录的准确性难以得到保证。

      记录到OS文件中

      比较安全,即使一个帐户可以访问数据库,但不一定有访问OS这个文件的权限。

      需要用户维护审计日志。

      从数据库安全角度出发,openGauss采用记录到OS文件的方式来保存审计结果,保证了审计结果的可靠性。

    1. 以操作系统用户omm登录数据库主节点。
    2. 使用如下命令连接数据库。

      postgres为需要连接的数据库名称,8000为数据库主节点的端口号。

      连接成功后,系统显示类似如下信息:

    3. 选择日志维护方式进行维护。

      • 设置自动删除审计日志

        审计文件占用的磁盘空间或者审计文件的个数超过指定的最大值时,系统将删除最早的审计文件,并记录审计文件删除信息到审计日志中。

        说明:
        审计文件占用的磁盘空间大小默认值为1024MB,用户可以根据磁盘空间大小重新设置参数。

        配置审计文件占用磁盘空间的大小(audit_space_limit)。

        1. 查看已配置的参数。

          1. postgres=# SHOW audit_space_limit;
          2. audit_space_limit
          3. -------------------
          4. 1GB
          5. (1 row)
        2. 建议执行如下命令设置成默认值1024MB。

    1. 配置审计文件个数的最大值(audit\_file\_remain\_threshold)。
    2. 1. 查看已配置的参数。
    3. ```
    4. postgres=# SHOW audit_file_remain_threshold;
    5. audit_file_remain_threshold
    6. -----------------------------
    7. 1048576
    8. ```
    9. 如果显示结果不为1048576,执行“\\q”命令退出数据库。
    10. 2. 建议执行如下命令设置成默认值1048576
    11. ```
    12. gs_guc reload -N all -I all -c "audit_file_remain_threshold=1048576"
    13. ```
    14. - 手动备份审计文件
    15. 当审计文件占用的磁盘空间或者审计文件的个数超过配置文件指定的值时,系统将会自动删除较早的审计文件,因此建议用户周期性地对比较重要的审计日志进行保存。
    16. ```
    17. postgres=# SHOW audit_directory;
    18. ```
    19. 2. 将审计目录整个拷贝出来进行保存。
    20. - 手动删除审计日志
    21. 当不再需要某时段的审计记录时,可以使用审计接口命令pg\_delete\_audit进行手动删除。
    22. 以删除2012/9/202012/9/21之间的审计记录为例:
    23. ```
    24. ```