等保2.0测评:VMware ESXI (上) – 作者:等保不好做啊

文章仅代表个人观点,有更好的想法欢迎在评论区沟通。

从上世纪学术界提出虚拟化的理论以来,在IT行业中,虚拟化技术正在从日趋成熟的主流的服务器虚拟化、存储虚拟化技术蔓延到网络的各个角落。这里我们实际做测评的时候,也发现客户上云的趋势越来越高,目前还采用的实体机的已经比较少了,所以我们这里就来看一下客户用的比较多的VMware ESXI系统,针对于等保2.0的保护需求是怎样的。

系统版本查看

这里就略过安装的步骤了,配置好访问IP后,就可以直接输入IP地址访问我们的VMware ESXI系统了。

1609211474_5fea9e526a983faa73fa0.png!small

VMware ESXi 底层是一个定制版的Linux系统。可通过在控制台开启SSH服务进入Linux系统(默认是关闭SSH服务)。

可在此处开启SSH管理,个人认为,这个SSH管理其实就是类似安全设备(如防火墙)一样的命令行界面,你在应用层面操作的内容都会反馈到命令行界面中。

1609211695_5fea9f2f73fb2d107e318.png!small

查看版本:

应用层面:
1609211887_5fea9fef4f80f70877040.png!small

1609211925_5feaa015df8efbe3d4e93.png!small

SSH登录:

vmware -v

1609211978_5feaa04a382eede09c332.png!small

一、身份鉴别

1. 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

应用层面:

1)对登录的用户进行身份标识和鉴别

通过用户名+口令的方式

1610521353_5ffe9b09cda6ae67dd100.png!small

2)身份标识唯一性

默认不允许添加同名用户

1610521442_5ffe9b62036dea9aa39ee.png!small

3)身份标识复杂度

首先判断用户当前口令是否为复杂口令,至于什么算复杂口令,这里就不再赘述了。

确认强制口令策略:主机→管理→系统→高级设置→对应键值为:Security.PasswordQualityControl

1610521561_5ffe9bd968bf1c421641c.png!small1610521625_5ffe9c19253075264b748.png!small

值具体代表什么什么意思,这里放在下面底层操作系统进行说明

4)身份鉴别信息定期更换

确认强制口令策略:主机→管理→系统→高级设置→对应键值为:Security.PasswordMaxDays

1610521897_5ffe9d291b9e0803ae32c.png!small1610521915_5ffe9d3b70404831200bc.png!small

历史密码记录

对应键值:Security.PasswordHistory

1610522007_5ffe9d97e0f67a41cbf92.png!small

当手动修改密码的时候会显示这样的提示,防止用户口令到期后使用相同口令刷新口令更改日期

1610522064_5ffe9dd0d21267dbd324c.png!small

操作系统层面

这里我们登录到系统底层,对登录的用户进行身份标识和鉴别、身份标识具有唯一性与上述一致,这里主要说明口令复杂度模块。

登录底层系统后,他的口令复杂度配置文件在:

/etc/pam.d/passwd

1610522351_5ffe9eefeed1ec846b824.png!small

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位

1610522485_5ffe9f75a9019d5969179.png!small

有效的密码应该是由大小写字母、数字和其他字符混合组成。你可以用7个字符长密码,至少包含这4个类中的3个字符。

但以密码开头的大写字母和以结束它的数字,不计入其使用的字符类数(经测试,Zhufuy@1、zhuFuy1密码设置不成功,密码zhuFuy@成功)。

所以VMware ESXI 默认口令复杂度配置大致是这个规则。

另外,不知道是不是我这里环境的问题,如果配置口令最大使用期限,使用ssh首次登录时,它会提示:

1610522630_5ffea0067a0fa09a322c8.png!small1610522638_5ffea00e7925487d12cba.png!small

它居然强制给你用随机生成的密码?上述hanoi&call5Also就是新生成的口令,可以使用该口令登录系统。

2. 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施

1)登录失败处理功能

在web界面查看:主机→管理→系统→高级设置→对应键值为:Security.AccountLockFailures 、Security.AccountUnlockTime

默认:相同账户登录失败次数达到5次后,锁定该账户900秒。

1610522853_5ffea0e583e0db81b1afd.png!small1610522862_5ffea0ee2ae8af0e1afe1.png!small

登录失败次数达到设置阈值后,即使输入正确口令也显示密码不正确

1610522923_5ffea12befb9e647d362c.png!small

2)操作超时

控制台超时,默认情况下,可在此处查看配置:默认为900秒

1610522975_5ffea15f7c6bcaeb4d7b0.png!small也可在高级设置中配置:主机→管理→系统→高级设置→对应键值为:

UserVars.HostClientSessionTimeout

1610523036_5ffea19c5a8f5cbb42654.png!small

当自主设置过值后,已覆盖会变为true

1610523081_5ffea1c975eb957129e22.png!small

同时应用程序超时的 √ 会消失

1610523124_5ffea1f4dbc3c42aee4f7.png!small

3. 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

这个只要观察远程管理web界面时,使用的是http还是https

默认采用https

1610523174_5ffea226b9066823f902c.png!small

4. 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现

默认为用户名+口令的方式进行身份鉴别

该条现场核查是否采用双因素认证

二、访问控制

1. 应对登录的用户分配账户和权限

用户在此添加:主机→管理→安全和用户

1610523316_5ffea2b4055e05d736796.png!small

如果用户无权相关操作的时候访问会被拒绝,这里我没有授予test账户登录管理的权限。

1610523351_5ffea2d733c562458aa5c.png!small

在主机→权限中添加权限

1610523417_5ffea3199c1dd48febce0.png!small1610523424_5ffea320a8a56d466c897.png!small1610523430_5ffea326f2733f15934b4.png!small

然后可查看对应角色对应web界面的系统功能

1610523474_5ffea352a331c031f94a2.png!small1610523497_5ffea36953916b2c3f76d.png!small针对这条条款,我们就需要去看他系统中有哪些账户,然后权限是怎样分配的。

2. 应重命名或删除默认账户,修改默认账户的默认口令

主机→管理→安全和用户

查看是否存在root、admin、administrator等易猜解账户。

1610523673_5ffea4194a0941f5c3236.png!small

3. 应及时删除或停用多余的、过期的账户,避免共享账户的存在

该条同理, 在主机→管理→安全和用户查看

询问管理人员,确认每个账户用途,是否存在多余、过期账户,确认是否存在多人共用同一账户情况存在,有无共享账户存在。

4. 应授予管理用户所需的最小权限,实现管理用户的权限分离

三权分立原则,实现管理用户的权限分离

一般现场核查,确认是否存在管理员、操作员、审计员等类型账户,如果只有一个超管账户那肯定不符合

5. 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则

授权主体一般为该系统管理员,然后在主机→管理→安全和用户 中查看各用户的权限分配情况,即为授权主体配置的主客体访问控制规则,默认符合

6. 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级

主体为用户,客体一般对应系统菜单权限功能

这里个人给默认符合

7. 应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问

主要查看系统是否具有强制访问控制机制,该条默认不符合。

来源:freebuf.com 2021-01-13 15:57:33 by: 等保不好做啊

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论