TMAegisBeta
更多 alibaba 規則

Alibaba Cloud

TMA-ALIBABA-6.8

Ensure server parameter 'log_disconnections' is set to 'ON' for PostgreSQL Database Server

中等級 1自動化alibaba

說明

Enable log_disconnections on PostgreSQL Servers. Enabling log_disconnections helps PostgreSQL Database to log session terminations of the server, as well as duration of the session. Log data can be used to identify, troubleshoot, and repair configuration errors and ... For every PostgreSQL instance the running parameter log_disconnections 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 指令

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_disconnections") { print tolower(vl); exit } }')
      [ "$v" = on ] || { echo "log_disconnections=${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_disconnections":"on"}' (RDS console > Parameters), then confirm the running value.

屬性

作業系統
不限
標籤
alibabards
參考資料
CIS Alibaba Cloud Foundation Benchmark v2.0.1 - 6.8 Ensure server parameter 'log_disconnections' is set to 'ON' for PostgreSQL Database Server

檢查此主機

請在您有權稽核的機器上執行此指令。掃描為唯讀操作。

shell
tmaegis scan --target alibaba