25、等保2.0 Postgresql数据库配置核查命令

第一部分

psql -h 127.0.0.1 -d postgres -U postgres 连接pgsql server

pg_ctl –version 查看数据库版本

select version(); 查看数据库版本(登录到数据库中)

打开pg_hba.conf配置文件查看数据库的身份认证方式

select * from pg_shadow ; 口令到期时间

show password_encryption; 查看口令加密算法

select * from pg_settings ps where ps.name like ‘%timeout%’; 查询超时

show shared_preload_libraries; 查看是否启用密码复杂度模块

打开postgresql.conf配置文件,查看ssl字段是否为on

第二部分

\du 查看管理用户。

打开postgresql.conf配置文件,查看logging_collector 是否= on,on表示开启日志,查看 log_statement的参数判断数据库审计记录信息。

检查访问控制配置:

SELECT * FROM pg_roles; SELECT * FROM pg_stat_user_tables;

执行more /var/lib/pgsql/data/pg_hba.conf;查看文件允许管理员指定主机需要使用 SSL 加密的连接(hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器

TYPE:值为local和host, Local值表示为主机Socket连接, host代表允许的主机地址连接

DATABASE: 允许访问的数据库名, all代表允许全部数据库

USER: 表示允许哪个用户访问数据库, all代表所有用户都可以访问

ADDRESS: 表示允许连接的主机信息

查看身份鉴别配置:

select * from pg_shadow;(select * from pg_catalog.pg_shadow);

查看登录超时配置:

select * from pg_settings where ps.name like ‘timeout%’;

查看密码算法配置:

show password_encryption;

检查SSL/TLS配置:

SHOW ssl;

SHOW ssl_cipher;

SHOW ssl_cert_file;

SHOW ssl_key_file;

执行more /var/lib/pgsql/data/postgresql.conf查看ssl支持是否启动。(postgresql.conf文件目录有可能不一样)(/var/lib/pgsql/11/data/postgresql.conf)

(pg_hba.conf文件目录有可能不一样)

检查远程访问权限:

SELECT * FROM pg_hba_file_rules;

检查日志记录配置:

SHOW logging_collector; SHOW log_directory; SHOW log_filename; SHOW log_rotation_age; SHOW log_rotation_size;

检查数据备份策略:

SELECT * FROM pg_stat_bgwriter; SELECT * FROM pg_stat_replication;

检查安全漏洞和补丁情况:

SELECT version(); SELECT current_setting(‘server_version’);

检查系统监控和报警配置:

SELECT * FROM pg_stat_database; SELECT * FROM pg_stat_activity;