TMA-POSTGRES-1.6
Verify That 'PGPASSWORD' is Not Set in Users' Profiles
MediaNivel 1Automatizadapostgres
Descripción
PostgreSQL can read a default database password from an environment variable called PGPASSWORD. Run as root; counts Bash login scripts in /home/*, /root and /etc/environment that mention PGPASSWORD (other shells need manual review).
Cómo se verifica
Método de auditoría: Comando de shell
shell
[ "$(id -u)" -eq 0 ] || exit 1; n=$(grep -ls PGPASSWORD /home/*/.bashrc /home/*/.profile /home/*/.bash_profile /root/.bashrc /root/.profile /root/.bash_profile /etc/environment 2>/dev/null | wc -l); echo "$n"- Salida esperada
0
Cómo se corrige
Método de corrección: Guía o parche de infraestructura
Remove PGPASSWORD from the listed login scripts and use ~/.pgpass (mode 0600), a service file without passwords, or certificate/peer authentication instead.
Propiedades
- Sistemas operativos
- Cualquiera
- Etiquetas
- postgresdatabasecredentials
- Referencia
- CIS PostgreSQL 18 Benchmark v1.0.0 - 1.6 Verify That 'PGPASSWORD' is Not Set in Users' Profiles
Verificar este host
Ejecute esto en un equipo que tenga permiso para auditar. El escaneo es de solo lectura.
shell
tmaegis scan --target postgres