墨墨导读:本文主要介绍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:\Users\pcsuc\AppData\Roaming\postgresql\pgpass.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

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

点击下图查看更多 ↓

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

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

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

PostgreSQL中常见的14个用户安全配置相关推荐

  1. Postgresql中的sync相关参数源码分析

    注:本专栏所有分析以函数为主线,必要数据结构会带入讲解:数据库版本为Postgresql10.16. 注:如有讨论的需要请email to jackgo73@outlook.com 一.问题 Post ...

  2. PostgreSQL数据库中的角色(Role)、用户(User)、模式(Schema)

    文章目录 PostgreSQL数据库中的角色(Role).用户(User).模式(Schema) 角色(Role)和用户(User) 角色操作 CREATE ROLE 创建角色 ALTER ROLE修 ...

  3. PostgreSQL中的数据库实例、模式、用户(角色)、表空间

    2019独角兽企业重金招聘Python工程师标准>>> 本文参考:http://blog.csdn.net/kanon_lgt/article/details/5931522 htt ...

  4. 使用×××版软件中常见的一些错误代码

    1.错误代码(691):由于域上的用户名或密码无效而拒绝访问. 如果是使用的易游提供的×××服务器,请在帐务系统确认使用的帐号是否状态正常,刚设置好的帐号需要等5分钟才能使用.如果是外部×××服务器请 ...

  5. PostgreSQL的常见参数和技巧

    墨墨导读:本文主要详述PostgreSQL的常见参数以及一些技巧. 1. psql命令 1.1 General options 1.1.1- ? 我们可以psql -?或者psql --help看下p ...

  6. PostgreSQL中的pg_hba.conf

    PostgreSQL中的pg_hba.conf 环境:PG 13 -bash-4.2$ pwd /var/lib/pgsql/13/data -bash-4.2$ more pg_hba.conf # ...

  7. Postgresql杂谈 10—Postgresql中的分区表

    一.关于分区表 表分区是在大数据优化中的一种常见的分表方案,通过将大数据按照一定的规则(最常见的是按照时间)进行分表处理,将逻辑上的一个大表分割成物理上的几块表,插入数据时,数据会自动插入到不同的分区 ...

  8. Postgresql杂谈 04—Postgresql中的五种常规索引

    一.索引的分类 Postgresql中索引一共分为5种,每一种都有它合适的应用场景,我们在使用时要根据不同业务的特点,选择合适的索引,这样才能加快sql语句的查询效率.下面,我们将就每种不同的索引,介 ...

  9. 音视频开发中常见基础问题总结

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/54962205 前言:音视频中一些 ...

最新文章

  1. 排序中减治法算法伪代码_【算法与数据结构】伪代码与流程图
  2. nginx引用外部配置
  3. Wireshark网络抓包(四)——工具
  4. ASP.NET程序中常用的三十三种代码
  5. 人类信息接收过去、现在与未来 ——我对于内容产业的判断
  6. 【pmcaff】苏杰:产品经理对技术做这些,就完蛋了
  7. 电脑安装android2.0,电脑上怎么安装使用安卓系统
  8. C++成员函数指针的应用
  9. ExtJs 备忘录(2)—— Form表单(二) [ 控件封装 ]
  10. Python OOP:继承、单继承、多继承、__mro__、子类重写父类同名属性和方法、子类调用父类同名属性和方法、多层继承、super()、私有(实例)属性和方法、获取修改私有属性值、私有类属性
  11. 数据结构上机实践第14周项目1(3) - 验证算法(二叉排序树)
  12. 高数复习:极限与连续,一元函数微分学,一元函数积分学,多元函数微分学以及微分方程(思维导图版知识点总结)
  13. 用RANSAC算法实现干扰严重的直线拟合(续)求点线距离
  14. 现在骨传导耳机什么牌子最好,最受欢迎的五款骨传导耳机推荐
  15. ZT I Believe I Can Fly(我相信我能飞)
  16. python打印大写字母_Python: 打印出大写字符C
  17. 频率换算:模拟频率、模拟角频率、数字频率
  18. 正则表达式,密码规则
  19. 蜂鸣器干扰通讯_蜂鸣器常见错误电路分析
  20. java-net-php-python-jsp健身俱乐部管理系统演示录像计算机毕业设计程序

热门文章

  1. 夏天面试男生穿什么_你今年夏天在做什么?
  2. 马拉松教会我_社区教会了我关于开放组织的知识
  3. (18)Vue DevTools插件
  4. JavaScript_Object.assign(目标对象,源对象1,源对象2,...)
  5. 程序| 只要使用这个功能,程序运行速度瞬间提升,高到离谱!
  6. window对象(一) 计时器 定位导航 url解析 浏览历史 对话框 消息推送
  7. Protobuffer和json深度对比
  8. 视觉SLAM十四讲学习笔记-第六讲学习笔记总结(1)---非线性优化原理
  9. 三星s8android pie,三星更改Galaxy S8的Android Pie更新计划,添加Gala
  10. UWP开发---通过委托跨页面导航