资讯专栏INFORMATION COLUMN

PostgreSQL审计插件pgaudit

IT那活儿 / 2797人阅读
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

指定日志级别.默认为log

pgaudit.log_parameter

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

pgaudit.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测试:

日志输出:

关闭审计:

关闭审计后日志输出:

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


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129941.html

相关文章

  • Kong网关部署

    摘要:是一个成熟的网关解决方案。网关的下一层,是内部服务,内部服务只需开发和关注具体业务相关的实现。网关可以提供发布管理维护等主要功能。   Kong是一个使用了lua-nginx-module运行在Nginx之上的Lua应用。Kong是一个成熟的API网关解决方案。API 网关,即API Gateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能、高可用的 API...

    hiyang 评论0 收藏0
  • Kong网关部署

    摘要:是一个成熟的网关解决方案。网关的下一层,是内部服务,内部服务只需开发和关注具体业务相关的实现。网关可以提供发布管理维护等主要功能。   Kong是一个使用了lua-nginx-module运行在Nginx之上的Lua应用。Kong是一个成熟的API网关解决方案。API 网关,即API Gateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能、高可用的 API...

    XiNGRZ 评论0 收藏0
  • 【内容安全】虚拟化及云环境下数据库审计优缺点分析

    摘要:属于虚拟交换机,其对数据包的处理完全依赖于,并不像传统交换机靠硬件进行流量转发,因此对宿主主机的资源占用也非常严重,极大的降低了宿主主机的性能。原标题:虚拟化及云环境下数据库审计技术探讨随着越来越多的企业用户将传统的业务系统迁移至虚拟化环境或是云服务商提供的云平台,数据的泄露及篡改风险变的越发严峻,针对数据安全的防护以及事后审计追溯也变得越来越困难。究其原因,主要是传统的数据库审计解决方案是...

    G9YH 评论0 收藏0
  • 国内首款自研公有云数据库安全服务亮相DTCC

    摘要:华为云数据库安全服务,简称,经过华为内部大规模实践和广泛邀请各行业企业试用后,已经在今年上线华为云。华为数据库安全服务能够更加全面的解决前文提到的敏感数据泄露的问题。5月12日,第九届中国数据库技术大会(DTCC2018)在北京落下帷幕,纵观三天的会议议程,当前全球主要的数据库例如Oracle,MySQL,SQL Server,PostgreSQL等纷纷亮相大会,来自国内外互联网、金融、教育...

    firim 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<