文章仅代表个人观点,有更好的想法欢迎在评论区沟通。
从上世纪学术界提出虚拟化的理论以来,在IT行业中,虚拟化技术正在从日趋成熟的主流的服务器虚拟化、存储虚拟化技术蔓延到网络的各个角落。这里我们实际做测评的时候,也发现客户上云的趋势越来越高,目前还采用的实体机的已经比较少了,所以我们这里就来看一下客户用的比较多的VMware ESXI系统,针对于等保2.0的保护需求是怎样的。
系统版本查看
这里就略过安装的步骤了,配置好访问IP后,就可以直接输入IP地址访问我们的VMware ESXI系统了。
VMware ESXi 底层是一个定制版的Linux系统。可通过在控制台开启SSH服务进入Linux系统(默认是关闭SSH服务)。
可在此处开启SSH管理,个人认为,这个SSH管理其实就是类似安全设备(如防火墙)一样的命令行界面,你在应用层面操作的内容都会反馈到命令行界面中。
查看版本:
应用层面:
SSH登录:
vmware -v
一、身份鉴别
1. 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
应用层面:
1)对登录的用户进行身份标识和鉴别
通过用户名+口令的方式
2)身份标识唯一性
默认不允许添加同名用户
3)身份标识复杂度
首先判断用户当前口令是否为复杂口令,至于什么算复杂口令,这里就不再赘述了。
确认强制口令策略:主机→管理→系统→高级设置→对应键值为:Security.PasswordQualityControl
值具体代表什么什么意思,这里放在下面底层操作系统进行说明
4)身份鉴别信息定期更换
确认强制口令策略:主机→管理→系统→高级设置→对应键值为:Security.PasswordMaxDays
历史密码记录
对应键值:Security.PasswordHistory
当手动修改密码的时候会显示这样的提示,防止用户口令到期后使用相同口令刷新口令更改日期
操作系统层面
这里我们登录到系统底层,对登录的用户进行身份标识和鉴别、身份标识具有唯一性与上述一致,这里主要说明口令复杂度模块。
登录底层系统后,他的口令复杂度配置文件在:
/etc/pam.d/passwd
1)pam_passwdqc模块
是一个简单的密码强度检查模块
以下选项可以传递给身份验证模块:
① min=N0,N1,N2,N3,N4
(min=disabled,24,12,8,7)不同类型的密码/密码短语允许的最小密码长度。关键字disabled可用于禁止给定类型的密码,无论其长度如何。每个后续数字都不得大于前一个。
N0:仅用于由一个字符类中的字符组成的密码。字符类包括:数字、小写字母、大写字母和其他字符。还有一种特殊的非ASCII字符类,但不能分类,但假定为非数字。
N1:用于密码,该密码由不符合密码要求的两个字符类中的字符组成。
N2:用于密码短语,除了满足此长度要求之外,密码短语还必须包含足够数量的单词。
N3、N4用于由三个和四个字符类的字符组成的密码。
在计算字符类别的数量时,不计算用作第一个字符的大写字母和用做最后一个字符的数字。除了足够长之外,还要求密码包含足够多的不同字符,已用于字符类和检查时所依据的最小长度
② max=N [最大=40]
允许的最大密码长度,用于防止用户设置对于某些系统服务而言可能太长的密码。
N=8被特殊对待:max = 8时,长度超过8个字符的密码不会被拒绝,但会被截断为8个字符以进行强度检查,并会警告用户。这是为了兼容传统的DES密码散列,它截断密码为8个字符。
如果使用传统散列,请务必将max=8设置为重要值,否则某些弱密码将通过检查。
③ passphrase=N
密码短语所需的字数,或者以0禁用用户选择对密码短语的支持。如果密码中被识别出了常用的短语,那么最小长度就为必须为N2设置的值,常用单词的最小识别长度为N(由passphrase确定)。
④ match=N、similar=permit|deny
如果发现本次修改的密码跟老密码有4个substring的长度类似,就认为是弱密码。(match=4 similar=deny)
⑤ random=N [,only]
随机生成的密码短语的大小,或以0禁用此功能。
⑥ enforce=none|users|everyone
可以使用该模块配置警告仅限密码,但实际上不强制使用强密码。users代表除root账户。
⑦ retry=N
修改密码可重试的次数,返回密码修改错误
⑧ disable_firstupper_lastdigit_check
默认情况下,对于输入的密码,如果第一个字母是大写字母,或者最后一个字母为数字,则不会计入密码字符的种类。比如:Fuck1234,由于第一个F是大写字母,所以会被认为,该密码只有小写字母和数字两种字符。用disable_firstupper_lastdigit_check 禁止了这种识别。
2)针对图中配置详解
password requisite /lib/security/$ISA/pam_passwdqc.so retry=3 min=disabled,disabled,disabled,7,7
①只包含一种字符的密码,拒绝
②只包含两种字符的密码,拒绝
③拒绝
④只包含三种字符的密码,最小长度7位
⑤只包含四种字符的密码,最小长度为7位
有效的密码应该是由大小写字母、数字和其他字符混合组成。你可以用7个字符长密码,至少包含这4个类中的3个字符。
但以密码开头的大写字母和以结束它的数字,不计入其使用的字符类数(经测试,Zhufuy@1、zhuFuy1密码设置不成功,密码zhuFuy@成功)。
所以VMware ESXI 默认口令复杂度配置大致是这个规则。
另外,不知道是不是我这里环境的问题,如果配置口令最大使用期限,使用ssh首次登录时,它会提示:
它居然强制给你用随机生成的密码?上述hanoi&call5Also就是新生成的口令,可以使用该口令登录系统。
2. 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
1)登录失败处理功能
在web界面查看:主机→管理→系统→高级设置→对应键值为:Security.AccountLockFailures 、Security.AccountUnlockTime
默认:相同账户登录失败次数达到5次后,锁定该账户900秒。
登录失败次数达到设置阈值后,即使输入正确口令也显示密码不正确
2)操作超时
控制台超时,默认情况下,可在此处查看配置:默认为900秒
也可在高级设置中配置:主机→管理→系统→高级设置→对应键值为:
UserVars.HostClientSessionTimeout
当自主设置过值后,已覆盖会变为true
同时应用程序超时的 √ 会消失
3. 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
这个只要观察远程管理web界面时,使用的是http还是https
默认采用https
4. 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
默认为用户名+口令的方式进行身份鉴别
该条现场核查是否采用双因素认证
二、访问控制
1. 应对登录的用户分配账户和权限
用户在此添加:主机→管理→安全和用户
如果用户无权相关操作的时候访问会被拒绝,这里我没有授予test账户登录管理的权限。
在主机→权限中添加权限
然后可查看对应角色对应web界面的系统功能
针对这条条款,我们就需要去看他系统中有哪些账户,然后权限是怎样分配的。
2. 应重命名或删除默认账户,修改默认账户的默认口令
主机→管理→安全和用户
查看是否存在root、admin、administrator等易猜解账户。
3. 应及时删除或停用多余的、过期的账户,避免共享账户的存在
该条同理, 在主机→管理→安全和用户查看
询问管理人员,确认每个账户用途,是否存在多余、过期账户,确认是否存在多人共用同一账户情况存在,有无共享账户存在。
4. 应授予管理用户所需的最小权限,实现管理用户的权限分离
三权分立原则,实现管理用户的权限分离
一般现场核查,确认是否存在管理员、操作员、审计员等类型账户,如果只有一个超管账户那肯定不符合
5. 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
授权主体一般为该系统管理员,然后在主机→管理→安全和用户 中查看各用户的权限分配情况,即为授权主体配置的主客体访问控制规则,默认符合
6. 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
主体为用户,客体一般对应系统菜单权限功能
这里个人给默认符合
7. 应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
主要查看系统是否具有强制访问控制机制,该条默认不符合。
来源:freebuf.com 2021-01-13 15:57:33 by: 等保不好做啊
请登录后发表评论
注册