最近试用了一下腾讯云主机主机安全的基线检查功能
(图片可放大查看)
(图片可放大查看)
(图片可放大查看)
梳理了(Copy C/Copy V)一下腾讯云主机安全——【等保三级】CentOS7安全基线检查策略
一、未通过项17项
1. 确保配置了密码尝试失败的锁定
处理建议 (处理时请先做备份)
编辑/etc/pam.d/password-auth 和/etc/pam.d/system-auth 文件,以符合本地站点策略:
代码语言:javascript复制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或更高
处理建议 (处理时请先做备份)
代码语言:javascript复制编辑/etc/bash.bashrc、/etc/profile和/etc/profile.d/*.sh文件(以及系统上支持的任何其他Shell的适当文件),并添加或编辑umask参数,
如下所示:
代码语言:javascript复制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参数,如下所示:
代码语言:javascript复制TMOUT=600
4. 确保配置了bootloader配置的权限
处理建议 (处理时请先做备份)
运行以下命令来设置对grub配置的权限:
代码语言:javascript复制# chown root:root /boot/grub2/grub.cfg
# chmod og-rwx /boot/grub2/grub.cfg
# chown root:root /boot/grub2/user.cfg
# chmod og-rwx /boot/grub2/user.cfg
5. 确保设置了引导程序密码
处理建议 (处理时请先做备份)
使用以下命令创建加密的密码grub2-setpassword:
代码语言:javascript复制# grub2-setpassword
Enter password: <password>
Confirm password: <password>
6. 确保核心转储受到限制
处理建议 (处理时请先做备份)
代码语言:javascript复制将以下行添加到/etc/security/limits.conf或/etc/security/limits.d/*文件中:
* hard core 0
在/etc/sysctl.conf或/etc/sysctl.d/*文件中设置以下参数:
fs.suid_dumpable = 0
运行以下命令来设置活动内核参数:
# sysctl -w fs.suid_dumpable=0
7. 确保启用了地址空间布局随机化(ASLR)
处理建议 (处理时请先做备份)
代码语言:javascript复制在/etc/sysctl.conf或/etc/sysctl.d/*文件中设置以下参数:
kernel.randomize_va_space = 2
运行以下命令来设置内核参数:
# sysctl -w kernel.randomize_va_space=2
8. 确保审核日志不会自动删除
处理建议 (处理时请先做备份)
在/etc/audit/auditd.conf中设置以下参数 :
代码语言:javascript复制 max_log_file_action = keep_logs
9. 确保系统管理范围(sudoers)更改的收集
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope
重启auditd:service auditd restart
10. 确保收集了系统管理员操作(sudolog)
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /var/log/sudo.log -p wa -k actions
重启auditd:service auditd restart
11. 确保审核配置是不变的
处理建议 (处理时请先做备份)
代码语言:javascript复制将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中: -e 2
重启auditd:service auditd restart
12. 确保启用对在auditd之前启动的进程的审计
处理建议 (处理时请先做备份)
编辑/etc/default/grub并将audit = 1添加到GRUB_CMDLINE_LINUX:GRUB_CMDLINE_LINUX="audit=1" 运行以下命令以更新grub2配置:
代码语言:javascript复制# grub2-mkconfig -o /boot/grub2/grub.cfg
13. 确保收集了修改用户/组信息的事件
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /etc/group -p wa -k identity
-w /etc/passwd -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/security/opasswd -p wa -k identity
重启auditd:service auditd restart
14. 确保收集了修改系统的强制访问控制的事件
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /etc/selinux/ -p wa -k MAC-policy
-w /usr/share/selinux/ -p wa -k MAC-policy
重启auditd:service auditd restart
15. 确保收集了登录和注销事件
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /var/log/lastlog -p wa -k logins
-w /var/run/faillock/ -p wa -k logins
重启auditd:service auditd restart
16. 确保收集了会话启动信息
处理建议 (处理时请先做备份)
将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
代码语言:javascript复制-w /var/run/utmp -p wa -k session
-w /var/log/wtmp -p wa -k logins
-w /var/log/btmp -p wa -k logins
重启auditd:service auditd restart
17. 确保在审核日志已满时禁用系统
处理建议 (处理时请先做备份)
该配置会在日志满后触发守护进程关闭系统(该配置有让系统关闭中断的风险,对于需要持续生产的环境不建议进行该项配置,对于日志记录及安全要求高的环境可进行该项配置)
在 /etc/audit/auditd.conf中设置以下参数:
代码语言:javascript复制space_left_action = email
action_mail_acct = root
admin_space_left_action = halt
二、已通过项15项
1. 确保已配置SSH空闲超时间隔
处理建议 (处理时请先做备份)
编辑/etc/ssh/sshd_config文件以设置参数:
代码语言:javascript复制ClientAliveInterval 300
ClientAliveCountMax 0
2. 确保SSH MaxAuthTries设置为4或更低
处理建议 (处理时请先做备份)
编辑/etc/ssh/sshd_config文件以设置参数,如下所示:
代码语言:javascript复制 MaxAuthTries 4
3. 确保已禁用SSH空密码登录
处理建议 (处理时请先做备份)
编辑/etc/ssh/sshd_config文件以设置参数,如下所示:
代码语言:javascript复制 PermitEmptyPasswords no
4. 确保单用户模式需要身份验证
处理建议 (处理时请先做备份)
代码语言:javascript复制编辑/usr/lib/systemd/system/rescue.service 及/usr/lib/systemd/system/emergency.service设置ExecStart
ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block default"
5. 确保已启用XD/NX支持
处理建议 (处理时请先做备份)
在32位系统上,安装具有PAE支持的内核,而在64位系统上则不需要安装:
如有必要,请配置您的引导程序以加载新内核并重新引导系统。
您可能需要在BIOS中启用NX或XD支持。关
于如何启用NX/XD支持,详细指引请参考:
代码语言:javascript复制https://access.redhat.com/solutions/2936741
6. 确保配置/etc/passwd的权限
处理建议 (处理时请先做备份)
运行以下命令以设置/etc/passwd的权限:
代码语言:javascript复制# chown root:root /etc/passwd
# chmod 644 /etc/passwd
7. 确保配置/etc/shadow的权限
处理建议 (处理时请先做备份)
运行以下命令以设置/etc/shadow的权限:
代码语言:javascript复制# chown root:root /etc/shadow
# chmod 000 /etc/shadow
8. 确保配置/etc/group的权限
处理建议 (处理时请先做备份)
运行以下命令以设置/etc/group的权限:
代码语言:javascript复制# chown root:root /etc/group
# chmod 644 /etc/group
9. 确保配置/etc/gshadow的权限
处理建议 (处理时请先做备份)
运行以下chown以设置/etc/gshadow的权限:
代码语言:javascript复制# chown root:root /etc/gshadow
# chmod 000 /etc/gshadow
10. 确保配置/etc/passwd-的权限
处理建议 (处理时请先做备份)
运行以下命令以设置/etc/passwd-的权限:
代码语言:javascript复制# chown root:root /etc/passwd-
# chmod u-x,go-rwx /etc/passwd-
11. 确保配置/etc/shadow-的权限
处理建议 (处理时请先做备份)
运行以下命令以设置/etc/shadow-的权限:
代码语言:javascript复制# chown root:root /etc/shadow-
# chmod 000 /etc/shadow-
12. 确保配置/etc/group-的权限
处理建议 (处理时请先做备份) 运行以下命令以设置/etc/group-的权限:
代码语言:javascript复制# chown root:root /etc/group-
# chmod u-x,go-wx /etc/group-
13. 确保配置/etc/gshadow-的权限
处理建议 (处理时请先做备份) 运行以下命令以设置/etc/gshadow-的权限:
代码语言:javascript复制# chown root:root /etc/gshadow-
# chmod 000 /etc/gshadow-
14. 确保已配置审核日志存储大小
处理建议 (处理时请先做备份)
根据站点策略设置/etc/audit/auditd.conf参数:
代码语言:javascript复制 max_log_file = XX<MB>
15. 确保已启用auditd服务
处理建议 (处理时请先做备份) 运行以下命令以启用auditd:
代码语言:javascript复制#systemctl enable auditd