25、等保2.0 Postgresql数据库配置核查命令
Categories:
少于1分钟
第一部分
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;