等保测评之主机测评——Centos7


在测评过程中最为常见的是三级系统,所以本文按照三级等保标准进行测评。
本文中出现的测评截图均为博主搭建的测试环境。(请勿泄露客户的生产环境信息)

基础信息收集

记录基本的资产信息,方便后续统计。

# 查看系统版本
uname -a
cat /etc/redhat-release
cat /etc/issue
 # 查看本机IP
ifconifg

(一)身份鉴别

1.1 控制项:应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
测评方法:
1)访谈系统管理员系统用户是否已设置密码,并查看登录过程中系统帐户是否使用了密码进行验证登录;
2)以有权限的帐户身份登录操作系统后,使用命令more /etc/shadow文件,核查系统是否存在空口令帐户和同名帐户;
3)使用命令more /etc/login.defs文件,查看是否设置密码长度和定期更换要求;

使用命令more /etc/pam.d/system-auth,查看密码长度和复杂度要求。

password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
ucredit: upper-case 大写字母
lcredit: lower-case 小写字母
dcredit: digit-case 数字
ocredit: other-case 其他特殊字符
✏️最小长度策略,system-auth生效优先级高于login.def

1.2 控制项:应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
测评方法:
1)系统配置并启用了登录失败处理功能,查看文件内容:
本地登录配置:more /etc/pam.d/system-auth
添加auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600(见上图);
✏️保证pam_tally2.so在pam_unix.so上面即可(不一定非要在第一行)
远程ssh登录则配置此文件:more /etc/pam.d/sshd

2)查看/etc/profile中的TIMEOUT环境变量,是否配置超时锁定参数;
以秒为单位,此处为30分钟


3)SSH登录,查看/etc/ssh/sshd_config;
此处为每600秒检测一次,检测到3次不活动就断开

1.3 控制项:当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
测评方法:
1)访谈系统管理员,进行远程管理的方式。
以root身份登录进入:
查看是否运行了sshd服务(应该启用): ps -ef | grep sshd
查看是否运行了telnet服务(应该禁用):ps -ef | grep telnet
2)如果本地管理,本条判定为符合。

1.4 控制项:应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
测评方法:
访谈和核查系统管理员在登录操作系统的过程中使用了哪些身份鉴别方法,是否采用了两种或两种以上组合的鉴别技术,如口令教字证书Ukey、令牌、指纹等,是否有一种鉴别方法在鉴别过程中使用了密码技术。

(二)访问控制

📋主要以访谈为主,此处略过
2.1 控制项:应对登录的用户分配帐户和权限;
2.2 控制项:应重命名或删除默认帐户,修改默认帐户的默认口令;
2.3 控制项:应及时删除或停用多余的、过期的帐户,避免共享帐户的存在;
2.4 控制项:应授予管理用户所需的最小权限,实现管理用户的权限分离。
2.5 控制项:应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
2.6 控制项:访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
2.7 控制项:应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。

(三)安全审计

3.1 控制项:应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
测评方法:
以root 身份登录进入:
查看 :

ps -ef | grep rsyslogd
ps -ef | grep auditd
more /etc/audit/audit.rules

3.2 控制项:审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
测评方法:
以有相应权限的身份登录进入:
查看:

more /var/log/audit/audit.log
more /var/log/messages

3.3 控制项:应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
测评方法:
访问并查看日志是否足够六个月,查看:

#查看参数rotate,单位为周
cat /etc/logrotate.conf
ls /var/log/
ls /var/log/audit/

3.4 控制项:应对审计进程进行保护,防止未经授权的中断;

(四)入侵防范

4.1 控制项:应遵循最小安装的原则,仅安装需要的组件和应用程序;
测评方法:
访谈加查看:
yum list installed

4.2 控制项:应关闭不需要的系统服务、默认共享和高危端口;
测评方法:
查看:

# 查看服务
chkconfig --list
# 查看端口
netstat -ano | more

4.3 控制项:应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;
测评方法:
访谈网络防火墙、堡垒机或其他安全设备有无限制或查看:

# 白名单
cat /etc/hosts.allow
# 黑名单
cat /etc/hosts.deny

4.4 控制项:应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求;
不适用

4.5 控制项:应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
测评方法:访谈查看漏扫报告,查看补丁:
rpm -qa | grep patch

4.6 控制项:应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警;
测评方法:访谈并核查是否有入侵检测软件。

(五)恶意代码防范

5.1 控制项:应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断;
测评方法:访谈并核查是否有防病毒软件。

(六)可信验证

(七)数据完整性

7.1 控制项:应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
测评方法:

#查看是否运行sshd服务
ps -ef | grep sshd
#查看是否运行telnet服务
ps -ef | grep telnet

7.2 控制项:应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
测评方法:访谈并核查是否安装第三方主机防护软件。

(八)数据保密性

8.1 控制项:应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
测评方法:访谈管理员远程管理的方式,查看sshd和telnet服务。

8.2 控制项:应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
测评方法:

# 查看 password pam_unix.so 
more /etc/pam.d/system-auth

(九)数据备份恢复

📋主要以访谈为主,此处略过
9.1 控制项:应提供重要数据的本地数据备份与恢复功能;
9.2 控制项:应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
9.3 控制项:应提供重要数据处理系统的热冗余,保证系统的高可用性;

(十)剩余信息保护

10.1 控制项:应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;
测评方法:尝试登录服务器后退出,确认再次登记时是否需要重新输入用户名和密码(凭证)。

10.2 控制项:应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除;
测评方法:操作系统是否采用了主机加固保证敏感数据存储空间被释放或重新分配前得到完全的清除。

命令合集

uname -a 
cat /etc/redhat-release
cat /etc/issue
ifconfig
cat /etc/passwd
cat /etc/shadow
cat /etc/login.defs
cat /etc/pam.d/system-auth
cat /etc/pam.d/sshd
cat /etc/profile
cat /etc/ssh/sshd_config
ps -ef | grep sshd
ps -ef | grep telnet
ps -ef | grep rsyslogd
ps -ef | grep auditd
cat /etc/logrotate.conf
more /etc/audit/audit.rules
more /var/log/audit/audit.log
more /var/log/messages
ls /var/log/
ls /var/log/audit/
yum list installed
chkconfig --list
netstat -ano | more
cat /etc/hosts.allow
cat /etc/hosts.deny
rpm -qa | grep patch

***************************转载请注明出处,尊重原创!***************************