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 |
操作風險等級 | 中 |
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目錄。 |
操作風險等級 | 中 |
編輯:黃飛
?
評論