PostgreSQL数据库安全加固(八)——用户功能与数据库管理功能分开


前言

信息系统管理功能包括管理数据库、网络组件、工作站或服务器所需的功能,并且通常需要特权用户访问。如果在可供用户使用的界面上显示有关PostgreSQL管理的管理功能或信息,则可能无意中向用户提供有关DBMS设置的信息。

一、检查角色权限

检查PostgreSQL设置,以验证管理功能是否与用户功能分开。
以数据库管理员(此处显示为“postgres”)身份,列出数据库的所有角色和权限:

# 切换至postgres账户
su - postgres
# 查询角色权限
psql -c "\du"

如果任何非管理角色具有"Superuser",“Create role”, "Create DB"或"Bypass RLS"权限,则存在安全风险。

二、加固建议

配置PostgreSQL以分离数据库管理和一般用户功能。不要向不需要它的用户授予超级用户,创建角色,创建数据库或绕过rls角色属性。

# 删除管理员权限示例
alter role <username> nosuperuser;

总结

PostgreSQL必须将用户功能(包括用户界面服务)与数据库管理功能分开。

猜你喜欢

转载自blog.csdn.net/ma286388309/article/details/129122853