PostgreSQL
TMA-POSTGRES-5.5
Ensure per-account connection limits are used
低级别 1自动化postgres
说明
Limiting concurrent connections to a PostgreSQL server can be used to reduce the risk of Denial of Service (DoS) attacks. Counts login roles with an unlimited (-1) connection limit. Runs psql as ${PGUSER:-postgres} against ${PGDATABASE:-postgres}; set PGHOST/PGPORT and use ~/.pgpass (not PGPASSWORD, see 1.6/1.7) when peer authentication is not available.
检查方式
审计方法: SQL 查询
sql_query
out=$(psql -X -U "${PGUSER:-postgres}" -d "${PGDATABASE:-postgres}" -tAc "SELECT count(*) FROM pg_roles WHERE rolname !~ '^pg_' AND rolcanlogin AND rolconnlimit = -1" 2>/dev/null) || exit 1; printf '%s\n' "$out"- 预期输出
0
修复方式
修复方法: 操作指南或基础设施补丁
ALTER ROLE <dbuser> CONNECTION LIMIT <reasonable concurrent connection count>; for every login role reported (SELECT rolname FROM pg_roles WHERE rolcanlogin AND rolconnlimit = -1).
属性
- 操作系统
- 任意
- 标签
- postgresdatabaseauthentication
- 参考
- CIS PostgreSQL 18 Benchmark v1.0.0 - 5.5 Ensure per-account connection limits are used
检查本机
请在您有权审计的机器上运行此命令。扫描为只读操作。
shell
tmaegis scan --target postgres