PostgreSQL可以通过log_statement=all 提供日志审计,但是没有提供审计要求的详细程度。本文主要介绍审计插件pgaudit。
pgAudit通过标准PostgreSQL日志记录工具提供详细的会话和/或对象审核日志记录。
注意:pgAudit可能会生成大量日志。请谨慎确定要在您的环境中记录哪些审核内容,以避免过多记录,可以根据需要开启审计,关闭审计设置pgaudit.log=none,并重新加载即可。
指定会话审计日志记录哪些语句类。可以设置的类别 read ,write ,function,role ,ddl,misc , All 等
指定当一条语句中的所有关系都位于pg_catalog中时,应该启用会话日志记录。禁用此设置将减少来自psql和PgAdmin等工具的日志噪音,这些工具会大量查询目录。
指定会话审计日志记录是否应该为SELECT或DML语句中引用的每个关系(表、视图等)创建多带带的日志条目。对于不使用对象审计日志记录的穷举日志记录,这是一个非常有用的快捷方式。
例如我们要记录 ddl ,role , functiton,以及更改系统配置 方面的操作记录
指定日志消息是否对客户端进程可见
指定日志级别.默认为log
指定审核日志记录是否包含语句传递的参数。默认为off
指定日志记录是在语句/子语句组合的第一个日志条目中还是在每个条目中都包含语句文本和参数。
指定用于对象审核日志记录的主角色。可以通过将多个审核角色授予主角色来定义多个审核角色
▼▼▼
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
日志输出:
关闭审计:
关闭审计后日志输出:
从日志结果查看,审计关闭后,相关操作不在输出到日志中。
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129941.html
摘要:属于虚拟交换机,其对数据包的处理完全依赖于,并不像传统交换机靠硬件进行流量转发,因此对宿主主机的资源占用也非常严重,极大的降低了宿主主机的性能。原标题:虚拟化及云环境下数据库审计技术探讨随着越来越多的企业用户将传统的业务系统迁移至虚拟化环境或是云服务商提供的云平台,数据的泄露及篡改风险变的越发严峻,针对数据安全的防护以及事后审计追溯也变得越来越困难。究其原因,主要是传统的数据库审计解决方案是...
摘要:华为云数据库安全服务,简称,经过华为内部大规模实践和广泛邀请各行业企业试用后,已经在今年上线华为云。华为数据库安全服务能够更加全面的解决前文提到的敏感数据泄露的问题。5月12日,第九届中国数据库技术大会(DTCC2018)在北京落下帷幕,纵观三天的会议议程,当前全球主要的数据库例如Oracle,MySQL,SQL Server,PostgreSQL等纷纷亮相大会,来自国内外互联网、金融、教育...
阅读 1229·2023-01-11 13:20
阅读 1536·2023-01-11 13:20
阅读 991·2023-01-11 13:20
阅读 1644·2023-01-11 13:20
阅读 3952·2023-01-11 13:20
阅读 2446·2023-01-11 13:20
阅读 1284·2023-01-11 13:20
阅读 3436·2023-01-11 13:20