• PostgreSQL中常见的14个用户安全配置


    墨墨导读:本文主要介绍PostgreSQL数据库中一些常见用户安全配置。

    1. 限制用户连接数

    max_connections根据应用并发量设置合理的值,对普通数据库用户设置限制连接数,并设置少量的保留超级用户登录连接数。

    postgres=# create user app1 connection limit 5;CREATE ROLE
    
    
    

    2. 修改默认端口

    建议修改默认5432端口。

    postgres=# select * from current_setting('port'); current_setting----------------- 6000(1 row)
    
    
    

    3. 不使用默认postgres数据库

    建议新建数据库后删除默认的postgres数据库

    postgres=# create database my_app_db owner app1;CREATE DATABASEpostgres=# c my_app_dbYou are now connected to database "my_app_db" as user "postgres".my_app_db=# drop database postgres;DROP DATABASE
    
    
    

    4. 自定义超级用户

    建议删除默认超级用户postgres,新建不同名称超级用户,也可再initdb时使用-U指定。

    $ initdb -D /opt/data6000/ -U admin -W
    
    
    

    5. 修改监听地址

    根据业务场景设置,比如设置为localhost或服务器IP。

    #listen_addresses = 'localhost'#listen_addresses = '192.168.99.100'#listen_addresses = '192.168.99.100,192.168.99.200'
    
    
    

    6. 配置客户端认证

    参考配置如下

    # 服务端本地数据库用户免密登录local      all   all       trust# 拒绝超级用户从网络登录host      all   postgres  0.0.0.0/0     reject# 其它用户密码验证登陆host      all   all      0.0.0.0/0  scram-sha-256# 流复制用户密码验证登录host      replication  replica  192.168.99.101/32     md5
    
    
    

    7. 设置socket访问方式

    参考配置如下

    unix_socket_directories='$PGDATA'unix_socket_group=''unix_socket_permissions='0700'
    
    
    

    8. 使用pgpass文件

    linux和window都建议使用pgpass文件

    Linux$ cat .pgpass192.168.99.200:5432:postgres:postgres:admin192.168.99.227:6432:*:app1:yourPassword
    win10C:UserspcsucAppDataRoamingpostgresqlpgpass.conflocalhost:5432:*:postgres:admin192.168.99.227:6432:*:app1:yourPassword
    
    
    

    9. 用户密码安全策略

    可参考《PostgreSQL用户密码安全策略管理》(链接:https://www.modb.pro/db/21476)


    10. 权限配置

    表权限按最小最需原则分配,建议不使用public模式
    revoke all on DATABASE XXX from public;
    可参考《PostgreSQL用户表权限设计与配置》(链接:https://www.modb.pro/db/23483)

    11. 记录数据库日志并清理

    配置合理的日志级别,常见级别如warn
    配置日期过期策略,如配置最大100个循环写文件,或按周循环等。


    12. 备份恢复测试

    初始化数据目录时建议打开checksums,数据库备份后需要做恢复测试,确保有效性,可以使用第三方备份恢复管理器,如pg_rman,pg_probackup,pgBackRest等。


    13. 备份数据文件加密存储

    备份文件可以手工压缩加密或者借助第三方备份工具,如pgBackRest等。


    14. 小版本升级

    定期升级数据库小版本,下面是源码方式升级主要步骤:

    1. 下载编译新版本的源码程序到新目录

    2. 重新编译现有数据库所有源码安装的扩展

    3. 停数据库服务

    4. 使用符号链接新目录到原目录

    5. 新版本服务启动

    6. 检查无误后移除旧版本

    墨天轮原文链接:https://www.modb.pro/db/27257(复制到浏览器中打开或者点击“阅读原文”)

    推荐阅读:144页!分享珍藏已久的数据库技术年刊

    数据和云

    ID:OraNews

    如有收获,请划至底部,点击“在看”,谢谢!

    点击下图查看更多 ↓

    云和恩墨大讲堂 | 一个分享交流的地方

    长按,识别二维码,加入万人交流社群

    请备注:云和恩墨大讲堂

      点个“在看”

    你的喜欢会被看到❤

  • 相关阅读:
    删除购物车列表页面商品
    购物车页面修改数量功能实现
    cookie来实现购物车功能
    wxWidgets学习计划
    正则校验表达式
    Vue组件间的参数传递与Vue的路由实现
    Vue实现数据双向绑定的原理
    Vue的生命周期
    对于mvvm的理解
    vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13311617.html
Copyright © 2020-2023  润新知