Alibaba Cloud
TMA-ALIBABA-6.9
Ensure server parameter 'log_duration is set to 'ON' for PostgreSQL Database Server
說明
Enable log_duration on PostgreSQL Servers. Enabling log_duration helps PostgreSQL Database to Logs the duration of each completed SQL statement which in turn generates query and error logs. For every PostgreSQL instance the running parameter log_duration must be on. Iterates every RDS region and instance (DescribeDBInstances). Read-only aliyun CLI calls; credentials and default region come from the CLI's normal profile (aliyun configure, ~/.aliyun/config.json or ALIBABA_CLOUD_* environment variables). JSON output is parsed with sed/awk. A missing CLI or credential fails the check.
檢查方式
稽核方法: Shell 指令
regs=$(aliyun rds DescribeRegions 2>/dev/null) || exit 1
regions=$(printf '%s\n' "$regs" | sed -n 's/.*"RegionId"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | sort -u)
[ -n "$regions" ] || exit 1
bad=0
for r in $regions; do
page=1
while :; do
out=$(aliyun rds DescribeDBInstances --RegionId "$r" --Engine PostgreSQL --PageSize 100 --PageNumber "$page" 2>/dev/null) || exit 1
ids=$(printf '%s\n' "$out" | sed -n 's/.*"DBInstanceId"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | sort -u)
[ -n "$ids" ] || break
for i in $ids; do
p=$(aliyun rds DescribeParameters --DBInstanceId "$i" 2>/dev/null) || exit 1
v=$(printf '%s\n' "$p" | awk '
/\{/ { nm = ""; vl = "" }
/"ParameterName"/ { nm = $0; sub(/^[^:]*:[[:space:]]*"/, "", nm); sub(/".*/, "", nm) }
/"ParameterValue"/ { vl = $0; sub(/^[^:]*:[[:space:]]*"/, "", vl); sub(/".*/, "", vl) }
/\}/ { if (nm == "log_duration") { print tolower(vl); exit } }')
[ "$v" = on ] || { echo "log_duration=${v:-unset}: $r $i"; bad=1; }
done
set -- $ids
[ "$#" -lt 100 ] && break
page=$((page + 1))
done
done
[ "$bad" -eq 0 ] && echo compliant- 預期輸出
compliant
修補方式
修補方法: 操作指南或基礎設施修補檔
aliyun rds ModifyParameter --DBInstanceId <id> --Parameters '{"log_duration":"on"}' (RDS console > Parameters), then confirm the running value.
屬性
- 作業系統
- 不限
- 標籤
- alibabards
- 參考資料
- CIS Alibaba Cloud Foundation Benchmark v2.0.1 - 6.9 Ensure server parameter 'log_duration is set to 'ON' for PostgreSQL Database Server
檢查此主機
請在您有權稽核的機器上執行此指令。掃描為唯讀操作。
tmaegis scan --target alibaba