TMAegisBeta
更多 postgres 规则

PostgreSQL

TMA-POSTGRES-2.3

Disable PostgreSQL Command History

低级别 1自动化postgres

说明

On Linux/UNIX, the PostgreSQL client logs most interactive statements to a history file. The default PostgreSQL history file is named .psql_history in the user's home directory. The PostgreSQL command history should be disabled. Run as root; counts .psql_history files under /home, /root and the postgres home that are not symlinks to /dev/null.

检查方式

审计方法: Shell 命令

shell
[ "$(id -u)" -eq 0 ] || exit 1; h=$(getent passwd postgres | cut -d: -f6); l=$(find /home /root $h -maxdepth 3 -name .psql_history 2>/dev/null); n=0; for f in $l; do [ "$(readlink "$f")" = /dev/null ] || n=$((n+1)); done; echo "$n"
预期输出
0

修复方式

修复方法: 操作指南或基础设施补丁

For each user: rm -f ~<user>/.psql_history, then either add '\set HISTFILE /dev/null' to ~<user>/.psqlrc or ln -s /dev/null ~<user>/.psql_history; optionally set PSQL_HISTORY=/dev/null in /etc/environment.

属性

操作系统
任意
标签
postgresdatabasecredentialshistory
参考
CIS PostgreSQL 18 Benchmark v1.0.0 - 2.3 Disable PostgreSQL Command History

检查本机

请在您有权审计的机器上运行此命令。扫描为只读操作。

shell
tmaegis scan --target postgres