GaussDB数据库配置安全SSH协议

安全设备/系统

160人已加入

描述

1.操作系统特殊配置

1.1配置安全SSH协议

配置项名称 配置安全SSH协议
检查方法 grep -P '^[^#]*Protocols*' /etc/ssh/sshd_config
操作步骤 以root身份在/etc/ssh/sshd_config文件中配置参数Protocol,设置之后需要重启SSH服务生效。
su - root
vim /etc/ssh/sshd_config
service sshd restart #重启SSH服务
操作风险等级

1.2  配置安全 SSH 服务允许组

配置项名称 配置安全SSH服务允许组
检查方法 grep -P '^[^#]*AllowGroupss*' /etc/ssh/sshd_config
操作步骤 以root身份在/etc/ssh/sshd_config文件中配置参数AllowGroups,设置完成之后需要重启SSH服务生效。
su - root
vim /etc/ssh/sshd_config
service sshd restart #重启SSH服务
操作风险等级

1.3配置安全SSH协议服务root 用户允许登录方式

配置项名称 配置安全SSH协议服务root 用户允许登录方式
检查方法 grep -P '^[^#]*Protocols*' /etc/ssh/sshd_config
操作步骤 以root身份在/etc/ssh/sshd_config文件中配置参数PermitRootLogin,设置完成之后需要重启SSH服务。
su - root
vim /etc/ssh/sshd_config
service sshd restart #重启SSH服务
操作风险等级

1.4配置安全SSH协议服务监听IP地址

配置项名称 配置安全SSH协议服务监听IP地址
检查方法 grep -P '^[^#]*PermitRootLogins*' /etc/ssh/sshd_config
操作步骤 以root身份在/etc/ssh/sshd_config文件中配置参数PermitRootLogin,设置完成之后需要重启SSH服务。
su - root
vim /etc/ssh/sshd_config
service sshd restart #重启SSH服务
操作风险等级

1.5配置安全SSH协议服务密码认证方式

配置项名称 配置安全SSH协议服务密码认证方式
检查方法 grep -P '^[^#]*PasswordAuthentications*' /etc/ssh/sshd_config
操作步骤 以root身份在/etc/ssh/sshd_config文件中配置参数PasswordAuthentication,设置之后需要重启SSH服务生效。
su - root
vim /etc/ssh/sshd_config
service sshd restart #重启SSH服务
操作风险等级

1.6配置安全SSH服务互信IP访问权限

配置项名称 配置安全SSH服务互信IP访问权限
检查方法 cat ~/.ssh/authorized_keys
操作步骤 以用户账户身份在~/.ssh/authorized_keys文件中配置from字段。
vim ~/.ssh/authorized_keys 
配置内容见如下示例(在建立互信后检查该文件中,是否配置有from字段,如没有,请添加需要使用互信的主机IP和主机名称):
from="10.180.40.100,10.180.40.101,10.180.40.102,plat1,plat2,plat3"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArMU/cd5QDIkA/
trmLpfj1W1zBk2pW8zyDjMEvc7JiAdtOlsOIFyRpdmdMv39WuQfZ6G/
+zbAc9JJwYLP8/3aYgkNSJ10+c4VcyQJ8jBsLJyKLW/Pt2t3IlY+zG35UUyhyDo9P8Bt/uZ0d1XbgRrWuVrO8idWIFncallJYrmaTvd5b7CULKMSrFI+CMys9FLYOk5lGHVdQSQUE0uNor/k63plsyyL7+fVqG2ZDRbB77nVC+ah5PMfogBym24g1ouiuxQPIihOTt2dDPeqnnWpC0/WzhB/PjIoeHCK
+HbGFg92eWdi7CJexb7H6OiG/Ylvej2ED4yc8WqEnCSZmWQDow==xijie_trunk@plat1
操作风险等级

1.7修改数据库安装的omm密码

配置项名称 修改数据库安装的omm密码
检查方法 使用默认密码登录时登录失败,使用新设置密码时登录成功
操作步骤 以root身份修改数据库安装用户omm密码。
操作风险等级

2.数据库文件限制

2.1限制home、data目录权限

配置项名称 限制home、data目录权限
检查方法 find ${GAUSSHOME} -prune( ! -user ${GAUSSUSER} -o ! -group${GAUSSGROUP} -o -perm/ g=rwx,o=rwx )
find${GAUSSDATA} -prune ( ! -user${GAUSSUSER} -o ! -group ${GAUSSGROUP} -o -perm / g=rwx,o=rwx )
操作步骤 chmod0700 ${GAUSSHOME}
chmod 0700 ${GAUSSDATA}
环境变量{GAUSSUSER}和{GAUSSGROUP}需要配置为集群的安装用户和用户组
操作风险等级

2.1限制postgresql.conf、pg_hba.conf文件权限

配置项名称 限制postgresql.conf、pg_hba.conf文件权限
检查方法 find ${GAUSSDATA}/postgresql.conf ( ! -user ${GAUSSUSER} -o ! -group ${GAUSSGROUP} -o -perm / u=x,g=rwx,o=rwx )
find ${GAUSSDATA}/pg_hba.conf ( ! -user ${GAUSSUSER} -o ! -group${GAUSSGROUP} -o -perm / u=x,g=rwx,o=rwx )
操作步骤 chmod 0600 {GAUSSDATA}/postgresql.conf
chmod0600 {GAUSSDATA}/pg_hba.conf 
其中GAUSSDATA为CN以及DN的data目录。环境变量{GAUSSUSER}和{GAUSSGROUP}需要配置为集群的安装用户和用户组
操作风险等级

3.连接设置

3.1监听地址不允许包括*或 0.0.0.0

配置项名称  监听地址不允许包括*或 0.0.0.0
检查方法 SELECT name,setting FROM pg_settings WHERE name = 'listen_addresses'AND (setting = '*' OR setting = '0.0.0.0');
操作步骤 在postgresql.conf配置文件中修改参数listen_addresses为“localhost”,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

3.2端口使用非默认端口

配置项名称 端口使用非默认端口
检查方法 SELECT name,setting FROM pg_settings WHERE name = 'port' AND setting = '25308';
操作步骤 在postgresql.conf配置文件中修改服务器监听端口参数port为非25308的值,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

3.3配置数据库最大并发连接数

配置项名称 配置数据库最大并发连接数
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'max_connections'; 
操作步骤 在postgresql.conf配置文件中修改参数max_connections为800,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

3.4配置系统管理员使用的连接数

配置项名称 配置系统管理员使用的连接数
检查方法 SELECTname,setting FROM pg_settings WHERE name='sysadmin_reserved_connections';   
操作步骤 在postgresql.conf配置文件中修改参数sysadmin_reserved_connections为3,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

4.安全认证设置

4.1配置客户端认证超时时间

配置项名称 配置客户端认证超时时间
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'authentication_timeout';  
操作步骤 在postgresql.conf配置文件中修改参数authentication_timeout为1min,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

4.2配置SSL协议

配置项名称 配置SSL协议
检查方法 SELECTname,setting FROM pg_settings WHERE name='ssl';
操作步骤 在postgresql.conf配置文件中修改参数ssl为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

4.3配置SSL协议加密算法

配置项名称 配置SSL协议加密算法
检查方法 SELECTname,setting FROM pg_settings WHERE name='ssl_ciphers';  
操作步骤 在postgresql.conf配置文件中修改参数ssl_ciphers为ALL,然后重启数据库,配置参数ssl_ciphers为ALL,GaussDB A默认会选择AES256-SHA。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

5.用户身份鉴别配置和访问控制

5.1配置密码复杂度检查

配置项名称 配置密码复杂度检查
检查方法 SELECT name,setting FROM pg_settings WHERE name='password_policy'and setting !=1;
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "password_policy=1"
操作风险等级

5.2配置密码存储加密方式

配置项名称 配置密码存储加密方式
检查方法 SELECTname,setting FROM pg_settings WHERE name='password_encryption_type' and setting!=1;
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "password_encryption_type=1"
操作风险等级

5.3配置密码不可重用天数

配置项名称 配置密码不可重用天数
检查方法 SELECTname,setting FROM pg_settings WHERE name='password_reuse_time';    
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "password_reuse_time=60"
操作风险等级

5.4配置登录失败尝试次数

配置项名称 配置登录失败尝试次数
检查方法 SELECTname,setting FROM pg_settings WHERE name='failed_login_attempts';  
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "failed_login_attempts=10"
操作风险等级

5.5配置账户锁定后自动解锁时间

配置项名称 配置账户锁定后自动解锁时间
检查方法 SELECTname,setting FROM pg_settings WHERE name='password_lock_time';   
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "password_lock_time=1"
操作风险等级

6.权限控制

6.1回收 PUBLIC 角色拥有的CREATE 权限

配置项名称 回收 PUBLIC角色拥有的CREATE权限
检查方法 SELECT CAST(has_schema_privilege('public','public','CREATE') ASTEXT);
操作步骤 REVOKE CREATE ON SCHEMA PUBLIC FROM public;
操作风险等级

6.2所有对象权限不允许授予public

配置项名称 配所有对象权限不允许授予public
检查方法 SELECT relname,relacl FROM pg_class WHERE CAST(relacl AS TEXT) LIKE '%,=%}' OR CAST(relacl AS TEXT) LIKE '{=%}';
操作步骤 REVOKE ALL ON FROM public;
操作风险等级

6.3开启三权分离配置

配置项名称 开启三权分离配置
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'enableSeparationOfDuty' andsetting!='on'; 
操作步骤 在postgresql.conf配置文件中修改参数enableSeparationOfDuty为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.数据库审计

7.1开启数据库审计

配置项名称 开启数据库审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_enabled' andsetting!='on';      
操作步骤 在postgresql.conf配置文件中修改参数audit_enabled为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.2开启登录注销审计

配置项名称 开启登录注销审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_login_logout';   
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_login_logout =7"
操作风险等级

7.3开启数据库启动、停止、恢复和切换审计

配置项名称 开启数据库启动、停止、恢复和切换审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_database_process';   
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_database_process =1"
操作风险等级

7.4开启数据库锁定和解锁审计

配置项名称 开启数据库锁定和解锁审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_user_locked'; 
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_user_locked =1"
操作风险等级

7.5开启权限授予和回收审计

配置项名称 开启权限授予和回收审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_grant_revoke';          
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_grant_revoke =1"
操作风险等级

7.6对数据库对象的增加、删除、修改进行审计

配置项名称 对数据库对象的增加、删除、修改进行审计
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_system_object';   
操作步骤 gs_guc reload-Z coordinator -D ${BIGDATA_DATA_HOME}/mppdb/data1/coordinator -c "audit_system_object =7"
操作风险等级

7.7配置日志审计文件最小保存时间

配置项名称 配置日志审计文件最小保存时间
检查方法 SELECTname,setting FROM pg_settings WHERE name = 'audit_file_remain_time';
操作步骤 在postgresql.conf配置文件中修改参数audit_file_remain_time为180天,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.8开启日志收集器

配置项名称 开启日志收集器
检查方法 SELECTname,setting FROM pg_settings WHERE name='logging_collector' AND setting !='on'; 
操作步骤 在postgresql.conf配置文件中修改参数logging_collector为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.9配置日志路径

配置项名称 配置日志路径
检查方法 SELECTname,setting FROM pg_settings WHERE name='log_directory';  
操作步骤 在postgresql.conf配置文件中修改参数log_directory为pg_log,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.10开启用户登录时日志记录功能

配置项名称 开启用户登录时日志记录功能
检查方法 SELECTname,setting FROM pg_settings WHERE name='log_connections' AND setting!='on';    
操作步骤 在postgresql.conf配置文件中修改参数log_connections为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

7.11开启用户注销时日志记录功能

配置项名称 开启用户注销时日志记录功能
检查方法 SELECTname,setting FROM pg_settings WHERE name='log_disconnections' AND setting!='on';   
操作步骤 在postgresql.conf配置文件中修改参数log_disconnections为on,然后重启数据库。
vim ${GAUSSDATA}/postgresql.conf
pgs_ om-t stop
pgs_ om-t start
其中GAUSSDATA为CN的data目录。
操作风险等级

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分