PostgreSQL审计插件pgaudit

PostgreSQL可以通过log_statement=all 提供日志审计,但是没有提供审计要求的详细程度。本文主要介绍审计插件pgaudit。

pgAudit通过标准PostgreSQL日志记录工具提供详细的会话和/或对象审核日志记录。

注意:pgAudit可能会生成大量日志。请谨慎确定要在您的环境中记录哪些审核内容,以避免过多记录,可以根据需要开启审计,关闭审计设置pgaudit.log=’none’,并重新加载即可。pgAudit版本支持的PostgreSQL主要版本:

  • pgAudit v1.5.X旨在支持PostgreSQL 13。
  • pgAudit v1.4.X旨在支持PostgreSQL 12。
  • pgAudit v1.3.X旨在支持PostgreSQL 11。
  • pgAudit v1.2.X旨在支持PostgreSQL 10。
  • pgAudit v1.1.X旨在支持PostgreSQL 9.6。
  • pgAudit v1.0.X旨在支持PostgreSQL 9.5。

相关配置参数:
pgaudit.log

指定会话审计日志记录哪些语句类。可以设置的类别 read ,write ,function,role ,ddl,misc , All 等

  • READ:SELECT和COPY当源是一个关系或查询。
  • WRITE:INSERT,UPDATE,DELETE,TRUNCATE,以及COPY当目标的关系。
  • FUNCTION:函数调用和DO块。
  • ROLE:关于角色和特权声明:GRANT,REVOKE,CREATE/ALTER/DROP ROLE。
  • DDL:所有DDL未包含在ROLE该类中的内容。
  • MISC:其他命令,例如DISCARD,FETCH,CHECKPOINT,VACUUM,SET。
  • MISC_SET:其他SET命令,例如SET ROLE。
  • ALL:包括以上所有内容。

pgaudit.log_catalog

指定当一条语句中的所有关系都位于pg_catalog中时,应该启用会话日志记录。禁用此设置将减少来自psql和PgAdmin等工具的日志噪音,这些工具会大量查询目录。pgaudit.log_relation

指定会话审计日志记录是否应该为SELECT或DML语句中引用的每个关系(表、视图等)创建单独的日志条目。对于不使用对象审计日志记录的穷举日志记录,这是一个非常有用的快捷方式。

例如我们要记录 ddl ,role , functiton,以及更改系统配置 方面的操作记录pgaudit.log_client

指定日志消息是否对客户端进程可见pgaudit.log_level

指定日志级别.默认为logpgaudit.log_parameter

指定审核日志记录是否包含语句传递的参数。默认为offpgaudit.log_statement_once

指定日志记录是在语句/子语句组合的第一个日志条目中还是在每个条目中都包含语句文本和参数。pgaudit.role

指定用于对象审核日志记录的主角色。可以通过将多个审核角色授予主角色来定义多个审核角色pgaudit 安装:

▼▼▼wget https://codeload.github.com/pgaudit/pgaudit/tar.gz/refs/tags/1.5.0
tar -xzvf pgaudit-1.5.0.tar.gz
cd pgaudit-1.5.0
make install USE_PGXS=1

在数据库中创建pgaudit扩展

▼▼▼vi $PGDATA/postgresql.conf
shared_preload_libraries='pgaudit'
pgaudit.log = 'all, -misc'
pgaudit.log_catalog = on
pgaudit.log_client = on
pgaudit.log_level = log
pgaudit.log_parameter = on
pgaudit.log_relation = on
pgaudit.log_statement_once = on

数据库重启:
pg_ctl restart -D $PGDATA

pguadit测试:
PostgreSQL审计插件pgaudit

日志输出:

PostgreSQL审计插件pgaudit

关闭审计:

PostgreSQL审计插件pgaudit

关闭审计后日志输出:

PostgreSQL审计插件pgaudit

从日志结果查看,审计关闭后,相关操作不在输出到日志中。

来源:IT那活儿,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/127799

发表评论

登录后才能评论
侵权联系 投诉举报
返回顶部