安全审计

数据库审计是对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为进行记录、分析和汇报,可以用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。

log_XXX

log_xxx 系列参数用于配置日志记录的行为,帮助监控和调试数据库的运行情况。将所有的数据库操作行为记录到数据库运行日志里,然后分析日志进行危险行为预警处理。

配置参数

logging_collector     --是否开启日志收集开关,默认off,推荐on
log_destination       --日志记录类型,默认是stderr,只记录错误输出,推荐csvlog,总共包含:stderr, csvlog, syslog, and eventlog,
log_directory          --日志路径,默认是$PGDATA/pg_log, 
log_filename            --日志名称,默认是postgresql-%Y-%m-%d_%H%M%S.log
log_file_mode           --日志文件类型,默认为0600
log_truncate_on_rotation  --默认为off,设置为on的话,文件内容覆盖方式:off后面附加,on:清空再加
log_rotation_age      --保留单个文件的最大时长,默认是1d,也有1h,1min,1s
log_rotation_size       --保留单个文件的最大尺寸,默认是10MB
log_error_verbosity    --默认为default,verbose表示冗长的
log_connections    --用户session登陆时是否写入日志,默认off,推荐为on
log_disconnections --用户session退出时是否写入日志,默认off,推荐为on
log_statement    --记录用户登陆数据库后的各种操作 
    none,即不记录
    ddl(记录create,drop和alter)
    mod(记录ddl+insert,delete,update和truncate)
    all(mod+select)
log_min_duration_statement = 2s   --记录超过2秒的SQL
log_checkpoints = on
log_lock_waits = on
deadlock_timeout = 1s

配置示例

以下是一个配置示例,将这些参数添加到 postgresql.conf 文件中:

注意!
修改 postgresql.conf 文件后,需要重启 YMatrix 服务以使配置生效。

logging_collector = on
log_directory = 'stderr'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
log_truncate_on_rotation = off

log_statement = 'all'
log_min_duration_statement = 100

log_connections = on
log_disconnections = on
log_lock_waits = on