ToB企服应用市场:ToB评测及商务社交产业平台

标题: 网络安全之等保2.0服务器测评-身份鉴别 [打印本页]

作者: 惊落一身雪    时间: 2024-6-15 03:56
标题: 网络安全之等保2.0服务器测评-身份鉴别
测评项

  1. a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
  2. b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
  3. c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
  4. d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
复制代码
测评项a)

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
  1. 测评方法和预期:
  2. 1)用户登录需输入用户名和密码;
  3. 2)用户具备唯一性;(即用户名或用户ID不能重复,这个不用多说,windows自动实现,默认符合。)
  4. 3)尝试使用空口令登录,未成功;
  5. 4)结果如下:
  6. a)复杂性要求已启用;
  7. b)密码长度最小值:长度最小值至少为8位;
  8. c)密码长度最长使用期限:不为0;
  9. d)密码最短使用期限:不为0;
  10. e)强制密码历史:至少记住5个密码以上。
复制代码
我这里以windows2016服务器为测试案例,windows服务器基本上是大同小异。
测评方法:
1、windows服务器

上机检查:
1、用户登录需输入用户名和密码
运行netplwiz

2、用户ID不能重复,这个不用多说,windows自动实现,默认符合。
3、检查密码复杂度要求是否启用。
输入gpedit.msc或secpol.msc,进入
计算机设置—Windows设置—安全设置—帐户策略—密码策略

具体密码复杂度规则阐明可以双击“密码必须符合复杂性”要求,查看阐明

综上 windows服务器启用口令复杂度要求并设置口令长度、更换周期、欺压密码汗青就可以了。
2、linux服务器

上机检查:
以CentOS为例
1)、用户登录需输入用户名和密码

查看是否存在空口令用户
在/etc/passwd中用户的密码是被掩护的状态,即使用了*号来隐藏。而现实的密码内容是加密后保存在/etc/shadow文件中了,我们确认是否存在空口令的用户就确认该文件中密码对应字段的长度是否为0,
假如为0则证明该用户密码为空。
具体看下表
  1. uangianlap:$6$oX3cr.x9IJD6Qx1J$17EXp1cHc5cJWECPz36DiUUFY9yzcZdN48AUFAgu6TGT7gpcvuTD/cfatPZCdeGCHUd7BWsMDlBRB2J89N8su1:17017:5:180:7:30:23590:
  2. 可以看到被“:”分隔出总共有9个字段,下面简要说说这些字段的含义。
  3. (1)uangianlap: 系统用户名(必须在系统中存在)
  4. (2)$6$oX3c...: 加密后的用户密码
  5. PS:
  6. 如果为空,则对应用户没有口令,登录时不需要口令;
  7. 星号代表帐号被锁定;
  8. 双叹号表示这个密码已经过期了;
  9. $6$开头的,表明是用SHA-512加密;
  10. $1$表明是用MD5加密;
  11. $5$ 是用 SHA-256加密;
  12. $2a$ 和 $2y$表示Blowfish算法
  13. (3)17017      :最近一次修改密码的时间。即密码的生日。这个数字代表天数(即距1970年1月1日的天数)
  14. (4)5              :密码的最短“寿命”(单位为天),这里定了5天,即说明这个用户密码至少得“存活“5天吧?换句话说也就是这5天内不再允许你修改自己的密码了。
  15. (5)180       :密码的最长“寿命” (单位为天),即180天内密码都是有效的,但180天之后用户必须更新其密码。
  16. (6)7           :密码“寿命”到时提前几天警告用户。这里的7天表示180天的寿命前7天即第173天开始给用户警告。
  17. (7)30         :我这里把这个理解为密码失效后的一个缓冲时间。即180天过后的30天之内,密码还是有效的(前提是用户没有拿出),但是若用户要重新登录的话,则要求用户设置新密码了。数字0表示立即失效,如果是-1则代表密码永远不会失效。
  18. (8)23590   :帐号失效日期(单位为天,距1970年1月1日的天数)。这个日期后用户帐号将失效,而不会理会密码的问题。
  19. (9)             :第9个字段,默认留空,暂时没有意义。是系统保留的一个字段,以备后用。
复制代码
2)、检查密码复杂度要求以及设置,centOS为例。

2.1) 设置明白

系统对密码的控制是有两部分(我知道的)构成:
  1 cracklib
  2 login.defs
  声明:login.defs主要是控制密码的有用期。对密码进行时间管理。此处不细谈。
  login.defs --shadow password suite configuration
  pam_cracklib.so或pam_pwquality.so才是控制密码复杂度的关键文件。
起首明白login.defs、system-auth和shadow文件的关联。
一、login.defs
login.defs是设置新用户帐号限制的文件,在这里我们可设置密码的最大逾期天数,密码的最大长度约束等内容(该文件里的设置对root用户无效)。
假如/etc/shadow文件中设置参数为账户既有的设置,如有相同功能的字段设置,则以/etc/shadow里既有的设置为准。
而system-auth中设置的是对Linux登录PAM验证机制,分阶段逐行匹配设置信息,执行认证乐成或失败的利用。
检查/etc/login.defs文件,重点关注PASS_MAX_DAYS口令使用最长天数应公道。
2.2) login.defs参考设置策略:

  1. (1)修改/etc/login.defs文件
  2. PASS_MAX_DAYS   90  #密码最长过期天数
  3. PASS_MIN_DAYS   80  #密码最小过期天数
  4. PASS_MIN_LEN    10  #密码最小长度
  5. PASS_WARN_AGE   7   #密码过期警告天数
复制代码
二、/etc/pam.d/system-auth
  1. [root@hecs-357431 pam.d]# cat  system-auth
  2. #%PAM-1.0
  3. # This file is auto-generated.
  4. # User changes will be destroyed the next time authconfig is run.
  5. auth        required      pam_env.so
  6. auth        required      pam_faildelay.so delay=2000000
  7. auth        sufficient    pam_unix.so nullok try_first_pass
  8. auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
  9. auth        required      pam_deny.so
  10. account     required      pam_unix.so
  11. account     sufficient    pam_localuser.so
  12. account     sufficient    pam_succeed_if.so uid < 1000 quiet
  13. account     required      pam_permit.so
  14. password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
  15. password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
  16. password    required      pam_deny.so
  17. session     optional      pam_keyinit.so revoke
  18. session     required      pam_limits.so
  19. -session     optional      pam_systemd.so
  20. session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  21. session     required      pam_unix.so
复制代码
在设置前了解system-auth文件的结构:
auth 组件:认证接口,要求并验证密码。
account组件:检测是否允许访问,检测账户是否逾期或在末端时间内能否登岸。
password组件:设置并验证密码。
session组件:设置和管理用户 session。
当前组件对设置的限制程度:
required:该模块必须success才气进行继续。即使失败,用户也不会立刻获知,直到所有相关模块完成。
requisite:该模块必须success才气使认证继续进行。
suffifient:假如失败则忽略。
optinal:忽略结果,不管是否失败。
密码复杂度要求策略需在password组件策略下修改pam_pwquality.so或pam_cracklib.so地点行。
2.3) /etc/pam.d/system-auth参考设置策略

  1. password requisite pam_cracklib.so retry=5 difok=3 minlen=8 dcredit=-1
  2. (此处有个回车请删除)
  3. ucredit=-1 lcredit=-1 ocredit=-1 dictpath=/usr/share/cracklib/pw_dict
复制代码
释义:修改密码可尝试5次,difok为与旧口令不同的字符个数3个,minlen为新口令最短长度8,dcredit为数字最少1位,ucredit为大写字母最少1位,lcredit为小写字母最少1位,ocredit为特别字符最少1位(credit设置中负数为最少有X位,正数为最多有X位),启用弱口令检查字典pw_dict。
注意:以上设置对root用户无效。修改后你可能会立刻测试,会发现以上设置无效。你可以新建账户,并进入该账户(即对新建用户生效)效果如下:。

  1. #删除test用户
  2. userdel -rf test
复制代码
  1. cat /etc/pam.d/system-auth
复制代码
2.4) 参考不重复汗青密码

  1. Debian / Ubuntu:修改文件 # vi /etc/pam.d/common-password
  2. CentOS / RHEL / RedHat / Fedora 修改文件 # vi /etc/pam.d/system-auth
  3. 在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
  4. 在相应行的后面添加 remember=10,而不是添加一行!
  5. SUSE比较恶心,找了半天才找到。man pw_check
  6. 在/etc/security/pam_pwcheck文件中添加remember=5
  7. passwd:    nullok use_cracklib remember=5
复制代码
2.5) 综合密码复杂度设置检查:

  1. #密码复杂度
  2. cat  /etc/pam.d/system-auth
  3. #更换周期
  4. cat /etc/login.defs
  5. 无空口令用户
  6. 唯一id一般默认符合,
复制代码
  1. [root@hecs-357431 pam.d]# cat  system-auth
  2. #%PAM-1.0
  3. # This file is auto-generated.
  4. # User changes will be destroyed the next time authconfig is run.
  5. auth        required      pam_env.so
  6. auth        required      pam_faildelay.so delay=2000000
  7. auth        sufficient    pam_unix.so nullok try_first_pass
  8. auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
  9. auth        required      pam_deny.so
  10. account     required      pam_unix.so
  11. account     sufficient    pam_localuser.so
  12. account     sufficient    pam_succeed_if.so uid < 1000 quiet
  13. account     required      pam_permit.so
  14. password    requisite     pam_pwquality.so password requisite pam_cracklib.so retry=5 difok=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
  15. password    sufficient    pam_unix.so sha512 shadow remember=10  nullok try_first_pass use_authtok
  16. password    required      pam_deny.so
  17. session     optional      pam_keyinit.so revoke
  18. session     required      pam_limits.so
  19. -session     optional      pam_systemd.so
  20. session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  21. session     required      pam_unix.so
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4