3

PG运维篇--访问控制配置文件

 2 years ago
source link: https://blog.51cto.com/u_13874232/5473860
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

PG运维篇--访问控制配置文件

原创

进击的CJR 2022-07-15 00:36:34 博主文章分类:PostgreSQL ©著作权

文章标签 数据库 服务器 unix 文章分类 其它 数据库 yyds干货盘点 阅读数272

pg_hba.conf

哪些主机可以连接数据库实例

哪个数据库用户可以使用它

允许这个用户使用哪些数据库

客户端使用什么连接方式和认证方式

​# TYPE DATABASE USER ADDRESS METHOD​

local
local匹配使用Unix域套接字的连接

host
匹配使用 TCP/IP建立的连接,同时匹配SSL和非SSL连接
启用远程连接需要修改postgresql.conf中的listen_addresses参数

hostssl
匹配使用 TCP/IP建立的连接,必须是使用SSL加密的链接

hostnossl
与hostssl相反,只匹配不使用SSL的连接请求。

DATABASE

all
表示所有库

replication
表示允许流复制连接,并不是表示可以连接一个叫replication的库
all
表示可以匹配所有用户

ADDRESS

允许哪个IP连接
***.***.1.10/32 表示只允许***.***.1.10这台主机连接,因为掩码是32表示
完全匹配此IP

***.***.1.0/24 表示只允许***.***.1.*的主机都能连接

METHOD

trust
无条件地允许连接。
允许任何可以与PostgreSQL数据库服务器连接的用户身份登入
不需要口令或者其他任何认证。

reject
无条件拒绝连接。常用于从一个组中“过滤出”特定主机
例如一个reject行可以阻塞特定的主机连接,而后面一行允许特定网络中的其余主机进行连接

md5和password口令认证

ident
通常与UNIX域套接字的连接认证方式组合使用,
这样就可以以操作系统用户认证的方式连接到数据库中。
例如,在操作系统下创建了一个用户“postgres”,数据库中也有一个用户“postgres”,
设定ident认证方式后,在操作系统用户“postgres”下,可以直接连接到数据库中,
而不需要密码。

访问控制举例

如果一台机器只给数据库使用,而没有其他用途,则可以在pg_hba.conf中进行如下配置

local all all trust

该命令行表示在这台机器上,任何操作系统的用户都可以以任何数据库用户身份(包括数据库超级用户)连接到数据库上而不需要密码。因为这台主机只供数据库使用,可以把不用的操作系统用户都禁止,以保证安全性。

如果想在数据库主机上使用密码验证,可以使用如下配置

local all all md5

如果想让其他主机的连接都使用md5密码验证,则使用如下配置

host all all 0.0.0.0/0 md5

如果数据库中有一个用户“osdba”,操作系统中也有一个用户“osdba”,在操作系统“osdba”用户下连接数据库不需要密码验证的设置方法如下

local all osdba ident

postgresql.conf

指定地址和端口

listen_addresses = '*' #(关联配置文件pg_hba.conf)
#指定服务器在哪些 TCP/IP 地址上监听客户端连接。
值的形式是一个逗号分隔的主机名和/或数字 IP 地址列表。
特殊项*对应监听所有可用 IP 接口
0.0.0.0允许监听所有 IPv4 地址
并且::允许监听所有 IPv6 地址
如果列表为空,服务器将根本不会监听任何 IP 接口,在这种情况中只能使用 Unix 域套接字来连接它。
默认值是localhost,它只允许建立本地 TCP/IP "环回"连接。
这能帮助在不安全网络接口上阻止重复的恶意连接请求。
这个参数只能在服务器启动时设置。

port = 5866
#服务器监听的 TCP 端口;默认是 5866 。
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK