CentOS7安全基线检查策略
一、未通过项17项
序号 | 项目 | 处理建议(处理时请先做备份) |
1 | 确保配置了密码尝试失败的锁定 | 编辑/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,以符合本地站点策略: auth required pam_faillock.so preauth audit silent deny=5 unlock_time=900 auth [success=1 default=bad] pam_unix.so auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=900 auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=900 |
2 | 确保默认用户umask限制为027或更高 | 编辑/etc/bash.bashrc、/etc/profile和/etc/profile.d/*.sh文件(以及系统上支持的任何其他Shell的适当文件),并添加或编辑umask参数,如下所示: umask 027 备注:修复完后运行以下命令以确保是否已完全修复 grep "umask" /etc/bashrc grep "umask" /etc/profile grep "umask" /etc/profile.d/*.sh 如果umask配置不为027的,需全部修改为027或更严格) |
3 | 确保默认用户shell超时为900秒或更短 | 编辑/etc/bashrc和/etc/profile文件(以及系统上支持的任何其他Shell的适当文件),并添加或编辑任何umask参数,如下所示: TMOUT=600 |
4 | 确保配置了bootloader配置的权限 | 运行以下命令来设置对grub配置的权限: # chown root:root /boot/grub2/grub.cfg # chmod og-rwx /boot/grub2/grub.cfg # chown root:root /boot/grub2/user.cfg # chmod |
-rwx /boot/grub2/user.cfg |
| 5 | 确保设置了引导程序密码 | 使用以下命令创建加密的密码:<br/>grub2-setpassword<br/>Enter password: <password> <br/>Confirm password: <password> |
| 6 | 确保核心转储受到限制 | 将以下行添加到/etc/security/limits.conf或/etc/security/limits.d/*文件中:<br/>hard core 0<br/>在/etc/sysctl.conf或/etc/sysctl.d/*文件中设置以下参数<br/>fs.suid_dumpable = 0<br/>运行以下命令来设置活动内核参数:<br/># sysctl -w fs.suid_dumpable=0 |
| 7 | 确保启用了地址空间布局随机化(ASLR) | 在/etc/sysctl.conf或/etc/sysctl.d/*文件中设置以下参数:<br/>kernel.randomize_va_space = 2<br/>运行以下命令来设置内核参数:<br/># sysctl -w kernel.randomize_va_space=2 |
| 8 | 确保审核日志不会自动删除 | 在/etc/audit/auditd.conf中设置以下参数:<br/>max_log_file_action = keep_logs |
| 9 | 确保系统管理范围(sudoers)更改的收集 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /etc/sudoers -p wa -k scope<br/>-w /etc/sudoers.d/ -p wa -k scope<br/>重启auditd:service auditd restart |
| 10 | 确保收集了系统管理员操作(sudolog) | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /var/log/sudo.log -p wa -k actions<br/>重启auditd:service auditd restart |
| 11 | 确保审核配置是不变的 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-e 2<br/>重启auditd:service auditd restart |
| 12 | 确保启用对在auditd之前启动的进程的审计 | 编辑/etc/default/grub并将audit = 1添加到GRUB_CMDLINE_LINUX:<br/>GRUB_CMDLINE_LINUX="audit=1"<br/>运行以下命令以更新grub2配置:<br/># grub2-mkconfig -o /boot/grub2/grub.cfg |
| 13 | 确保收集了修改用户/组信息的事件 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /etc/group -p wa -k identity<br/>-w /etc/passwd -p wa -k identity<br/>-w /etc/gshadow -p wa -k identity<br/>-w /etc/shadow -p wa -k identity<br/>-w /etc/security/opasswd -p wa -k identity |
| 14 | 确保收集了修改系统的强制访问控制的事件 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /etc/security/smaca -p wa -k mac_policy |
| 15 | 确保收集了登录和注销事件 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /var/log/wtmp -p wa -k logins<br/>-w /var/run/utmp -p wa -k session<br/>-w /var/log/btmp -p wa -k logins |
| 16 | 确保收集了会话启动信息 | 将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules文件中:<br/>-w /var/log/wtmp -p wa -k logins<br/>-w /var/run/utmp -p wa -k session<br/>-w /var/log/btmp -p wa -k logins |
| 17 | 确保在审核日志已满时禁用系统 | 该配置会在日志满后触发守护进程关闭系统(该配置有让系统关闭中断的风险,对于需要持续生产的环境不建议进行该项配置,对于日志记录及安全要求高的环境可进行该项配置)<br/>在 /etc/audit/auditd.conf中设置以下参数:<br/>admin_space_left_action = halt<br/>admin_space_left_action = poweroff<br/>admin_space_left_action = reboot<br/>admin_space_left_action = shutdown |
二、已通过项15项
序号 | 项目 | 处理建议(处理时请先做备份) |
1 | 确保已配置SSH空闲超时间隔 | 编辑/etc/ssh/sshd_config文件以设置参数: ClientAliveInterval 600 ClientAliveCountMax 2 |
2 | 确保SSH MaxAuthTries设置为4或更低 | 编辑/etc/ssh/sshd_config文件以设置参数,如下所示: MaxAuthTries 4 |
3 | 确保已禁用SSH空密码登录 | 编辑/etc/ssh/sshd_config文件以设置参数,如下所示: PermitEmptyPasswords no |
4 | 确保单用户模式需要身份验证 | 编辑/etc/ssh/sshd_config文件以设置参数,如下所示: PermitRootLogin without-password |
5 | 确保已启用XD/NX支持 | 在32位系统上,安装具有PAE支持的内核,而在64位系统上则不需要安装: 如有必要,请配置您的引导程序以加载新内核并重新引导系统,您可能需要在BIOS中启用NX或XD支持,关于如何启用NX/XD支持详细指引请参考: |
6 | 确保配置/etc/passwd的权限 | 运行以下命令以设置/etc/passwd的权限: chown root:root /etc/passwd chmod 644 /etc/passwd |
7 | 确保配置/etc/shadow的权限 | 运行以下命令以设置/etc/shadow的权限: chown root:root /etc/shadow chmod 640 /etc/shadow |
8 | 确保配置/etc/group的权限 | 运行以下命令以设置/etc/group的权限: chown root:root /etc/group chmod 644 /etc/group |
9 | 确保配置/etc/gshadow的权限 | 运行以下命令以设置/etc/gshadow的权限: chown root:root /etc/gshadow chmod 440 /etc/gshadow |
10 | 确保配置/etc/passwd-的权限 | 运行以下命令以设置/etc/passwd-的权限: chown root:root /etc/passwd chmod 644 /etc/passwd |
11 | 确保配置/etc/shadow-的权限 | 运行以下命令以设置/etc/shadow-的权限: chown root:root /etc/shadow chmod 640 /etc/shadow |
12 | 确保配置/etc/group-的权限 | 运行以下命令以设置/etc/group-的权限: chown root:root /etc/group chmod 644 /etc/group |
13 | 确保配置/etc/gshadow-的权限 | 运行以下命令以设置/etc/gshadow-的权限: chown root:root /etc/gshadow chmod 440 /etc/gshadow |
14 | 确保已配置审核日志存储大小 | 根据站点策略设置/etc/audit/auditd.conf参数: max_log_file = 5 max_log_file_action = rotate |
15 | 确保已启用auditd服务 | 运行以下命令以启用auditd: systemctl enable auditd systemctl start auditd |
三、常见问题FAQs
1.如何在CentOS7中更改用户的密码复杂性要求?
答:可以通过编辑/etc/security/pwquality.conf
文件来更改密码复杂性要求,将minlen
设置为10,将minclass
设置为3,表示密码至少包含大写字母、小写字母和数字中的三类字符。
2.如何在CentOS7中启用地址空间布局随机化(ASLR)?
答:在/etc/sysctl.conf
或/etc/sysctl.d/
文件中设置kernel.randomize_va_space = 2
,然后运行sysctl -w kernel.randomize_va_space=2
命令来启用ASLR。
3.如何在CentOS7中确保审核日志不会自动删除?
答:在/etc/audit/auditd.conf
中设置max_log_file_action = keep_logs
,以确保审核日志不会自动删除。
四、小编有话说
在实施CentOS7的安全基线检查策略时,务必注意以下几点:
1、备份重要数据:在进行任何系统配置更改之前,务必备份重要数据和配置文件。
2、逐步实施:建议逐步实施安全基线检查策略,避免一次性大规模更改导致系统不稳定。
3、定期审查:定期审查和更新安全基线检查策略,确保系统始终处于最佳安全状态。
4、培训与意识:提高系统管理员和用户对安全基线检查策略的认识,确保他们了解并遵守相关规定。