安全配置基线 – 操作系统类 – Linux Server
安全配置基线 – 操作系统类
Linux Server操作系统 V1.0
本文档针对安装运行CentOS 7/Redhat Enterprise 7的服务器操作系统所应当遵循的通用基本安全设置要求提供了参考建议,用于安装配置操作系统过程中进行安全配置合规性自查,以及实施安全评估或安全加固时提供标准依据与操作指导。
重要提示:执行Linux系统基线配置时,需要修改的配置文件请务必先做备份。
目录
一、 账户与口令... 1
1.1 口令策略... 1
1.2 密码生存期... 2
1.3 密码历史... 2
1.4 账户锁定策略... 2
1.5 空闲会话超时配置... 2
1.6 禁止root用户ssh远程登录... 3
1.7 SSH协议安全配置... 3
1.8 SSH Banner配置... 3
二、 权限... 4
2.1 新建文件默认权限... 4
2.2 敏感文件保护... 4
一、 账户与口令
1.1 口令策略
编号 |
Linux-V1-1-1 |
控制要求 |
口令符合复杂性要求,最小长度9位 |
操作指南 |
1、 检查/etc/pam.d/password-auth和/etc/pam.d/system-auth确认已包含支持pam_pwquality.so模块(默认选项) 2、 编辑/etc/security/pwquality.conf文件,包含如下配置: minlen = 9 dcredit = -1 ucredit = -1 ocredit = -1 lcredit = -1 |
检测方法 |
查看配置文件 |
判定依据 |
输出结果匹配操作指南中参数值为符合 |
1.2 密码生存期
编号 |
Linux-V1-1-2 |
控制要求 |
对于采用静态口令认证技术的系统,账户口令的生存期需设置使用期限。最长使用90天,最短1天,提前15天提醒修改密码,密码最小长度9. |
操作指南 |
编辑/etc/login.defs配置文件,包含如下配置: PASS_MAX_DAYS 90 PASS_MIN_DAYS 1 PASS_WARN_AGE 15 PASS_MIN_LEN 9 |
检测方法 |
查看配置文件 |
判定依据 |
输出结果匹配操作指南中参数值为符合 |
1.3 密码历史
编号 |
Linux-V1-1-3 |
控制要求 |
对于采用静态口令认证技术的系统,强制限制使用历史密码,以确保旧密码不被连续重新使用来增强安全性。 |
操作指南 |
编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,在password sufficient pam_unix.so 这行的末尾配置添加remember=5 |
检测方法 |
查看配置文件 |
判定依据 |
输出结果匹配操作指南中参数值为符合 |
1.4 账户锁定策略
编号 |
Linux-V1-1-4 |
控制要求 |
对于采用静态口令认证技术的系统,应配置当用户连续认证失败次数超过 5 次(不含 5 次)后,锁定该用户使用的账号,10分钟后解锁。 |
操作指南 |
编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,在# User changes will be destroyed the next time authconfig is run.这行下面增加 auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=600 |
检测方法 |
查看配置文件 |
判定依据 |
输出结果匹配操作指南中参数值为符合 |
1.5 空闲会话超时配置
编号 |
Linux-V1-1-5 |
控制要求 |
设置会话不活动断连时间,强制终结会话 |
操作指南 |
编辑/etc/bashrc 和/etc/profile,添加一行TMOUT=600 |
检测方法 |
执行命令 # grep "^TMOUT" /etc/bashrc # grep "^TMOUT" /etc/profile |
判定依据 |
输出“TMOUT=600”为符合 |
1.6 禁止root用户ssh远程登录
编号 |
Linux-V1-1-6 |
控制要求 |
禁止root用户直接远程登录系统 |
操作指南 |
修改文件/etc/ssh/sshd_config,编辑为PermitRootLogin no后保存退出,重启sshd服务 |
检测方法 |
执行命令 # grep "^PermitRootLogin" /etc/ssh/sshd_config |
判定依据 |
输出“PermitRootLogin no”为符合 |
1.7 SSH协议安全配置
编号 |
Linux-V1-1-7 |
控制要求 |
SSH协议作为Linux系统最普遍的远程管理协议,建议修改相关配置来增强安全性。 |
操作指南 |
编辑/etc/ssh/sshd_config,增加如下配置内容(注释内容仅做参数解释,不需在配置文件体现): LogLevel INFO //记录登入登出日志 Protocol 2 //启用SSH v2 MaxAuthTries 5 //密码尝试失败最大次数为5 PermitEmptyPasswords no //禁用SSH空密码用户登录 ClientAliveInterval 600 //10分钟空闲会话退出 ClientAliveCountMax 0 //空闲会话结束前不发送确认 |
检测方法 |
查看配置文件 |
判定依据 |
存在上述配置内容为符合 |
1.8 SSH Banner配置
编号 |
Linux-V1-1-8 |
控制要求 |
SSH协议作为Linux系统最普遍的远程管理协议,建议修改相关配置来增强安全性。 |
操作指南 |
编辑/etc/ssh/sshd_config, 增加配置Banner /etc/ssh/alert。 创建alter文件,vi /etc/ssh/alert,写入如下内容(内容自己定义,提醒登录用户引起重视,下文仅作参考) ******************************************************* Warning!!! This server is provided for authorized use only。 ******************************************************* |
检测方法 |
查看sshd_config文件 |
判定依据 |
存在Banner定义为符合。 |
二、 权限
2.1 新建文件默认权限
编号 |
Linux-V1-2-1 |
控制要求 |
限制新增目录与文件的非所有者和所有者所属组的访问权限 |
操作指南 |
修改文件/etc/bashrc,/etc/profile,添加行: umask 027 |
检测方法 |
执行命令: # grep "umask" /etc/bashrc umask 027 # grep "umask" /etc/profile umask 027 |
判定依据 |
查看输出有 “umask 27”为符合。 |
2.2 敏感文件保护
编号 |
Linux-V1-2-2 |
控制要求 |
保护敏感的用户和组配置文件 |
操作指南 |
执行命令: #chmod 644 /etc/passwd #chmod 644 /etc/group #chmod 400 /etc/shadow |
检测方法 |
执行命令: stat /etc/passwd stat /etc/group stat /etc/shadow 检查Uid、Gid、Access的输出。 |
判定依据 |
/etc/passwd和/etc/group的执行结果 Uid 和Gid 为0/root,Access 为0644 为符合 /etc/shadow的执行结果 Uid 和Gid 为0/root,Access 为0400 为符合 |