PostgreSQL
TMA-PGSQL-NO-TRUST-AUTH
Ensure pg_hba.conf does not use 'trust' or 'password' authentication
Опис
trust allows login without any credential and password sends the password in clear text. The CIS PostgreSQL 18 Benchmark covers pg_hba.conf only through the manual checks 5.3/5.4; this rule automates that part by reading pg_hba_file_rules (superuser). 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 упит
out=$(psql -X -U "${PGUSER:-postgres}" -d "${PGDATABASE:-postgres}" -tAc "SELECT count(*) FROM pg_hba_file_rules WHERE auth_method IN ('trust','password')" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Очекивани излаз
0
Како се исправља
Метод исправке: Смерница или закрпа инфраструктуре
Replace trust/password entries in pg_hba.conf with scram-sha-256 (or peer for local administrative sockets), then SELECT pg_reload_conf();
Својства
- Оперативни системи
- Било који
- Ознаке
- postgresdatabaseauthenticationpg_hba
- Референца
- CIS PostgreSQL 18 Benchmark v1.0.0 - 5.3 / 5.4 Ensure login via "local" UNIX Domain Socket / "host" TCP/IP Socket is configured correctly
Проверите овај рачунар
Покрените ово на рачунару за који имате дозволу за проверу. Скенирање ради у режиму само за читање.
tmaegis scan --target postgres