等保2.0服务器测评-身份鉴别测评方法以及配置整改-01

2024-03-07 09:48

本文主要是介绍等保2.0服务器测评-身份鉴别测评方法以及配置整改-01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

等保2.0服务器测评-身份鉴别

声明:

测评要求参考《信息安全技术 网络安全等级保护测评要求GB/T 28448一2019》
测评方法以及配置整改为个人工总结,仅供参考不适用全部操作系统,有不合理的地方大家多多指出,欢迎交流。

测评项

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

测评项a)

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

测评方法和预期:
1)用户登录需输入用户名和密码;
2)用户具备唯一性;(即用户名或用户ID不能重复,这个不用多说,windows自动实现,默认符合。)
3)尝试使用空口令登录,未成功;
4)结果如下:
a)复杂性要求已启用;
b)密码长度最小值:长度最小值至少为8位;
c)密码长度最长使用期限:不为0;
d)密码最短使用期限:不为0;
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则证明该用户密码为空。
具体看下表

uangianlap:$6$oX3cr.x9IJD6Qx1J$17EXp1cHc5cJWECPz36DiUUFY9yzcZdN48AUFAgu6TGT7gpcvuTD/cfatPZCdeGCHUd7BWsMDlBRB2J89N8su1:17017:5:180:7:30:23590:可以看到被“:”分隔出总共有9个字段,下面简要说说这些字段的含义。(1)uangianlap: 系统用户名(必须在系统中存在)(2)$6$oX3c...: 加密后的用户密码
PS:如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了;
$6$开头的,表明是用SHA-512加密;
$1$表明是用MD5加密;
$5$ 是用 SHA-256加密;
$2a$ 和 $2y$表示Blowfish算法(3)17017      :最近一次修改密码的时间。即密码的生日。这个数字代表天数(即距1970年1月1日的天数)(4)5              :密码的最短“寿命”(单位为天),这里定了5天,即说明这个用户密码至少得“存活“5天吧?换句话说也就是这5天内不再允许你修改自己的密码了。(5)180       :密码的最长“寿命” (单位为天),即180天内密码都是有效的,但180天之后用户必须更新其密码。(6)7           :密码“寿命”到时提前几天警告用户。这里的7天表示180天的寿命前7天即第173天开始给用户警告。(7)30         :我这里把这个理解为密码失效后的一个缓冲时间。即180天过后的30天之内,密码还是有效的(前提是用户没有拿出),但是若用户要重新登录的话,则要求用户设置新密码了。数字0表示立即失效,如果是-1则代表密码永远不会失效。(8)23590   :帐号失效日期(单位为天,距1970年1月1日的天数)。这个日期后用户帐号将失效,而不会理会密码的问题。(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)修改/etc/login.defs文件
PASS_MAX_DAYS   90  #密码最长过期天数
PASS_MIN_DAYS   80  #密码最小过期天数
PASS_MIN_LEN    10  #密码最小长度
PASS_WARN_AGE   7   #密码过期警告天数

二、/etc/pam.d/system-auth


[root@hecs-357431 pam.d]# cat  system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.soaccount     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.sopassword    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.sosession     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
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参考配置策略

password requisite pam_cracklib.so retry=5 difok=3 minlen=8 dcredit=-1 
(此处有个回车请删除)
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用户无效。修改后你可能会立即测试,会发现以上设置无效。你可以新建账户,并进入该账户(即对新建用户生效)效果如下:。
在这里插入图片描述

#删除test用户
userdel -rf test
cat /etc/pam.d/system-auth

2.4) 参考不重复历史密码

Debian / Ubuntu:修改文件 # vi /etc/pam.d/common-password
CentOS / RHEL / RedHat / Fedora 修改文件 # vi /etc/pam.d/system-auth在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
在相应行的后面添加 remember=10,而不是添加一行!SUSE比较恶心,找了半天才找到。man pw_check
在/etc/security/pam_pwcheck文件中添加remember=5
passwd:    nullok use_cracklib remember=5

2.5) 综合密码复杂度配置检查:


#密码复杂度
cat  /etc/pam.d/system-auth#更换周期
cat /etc/login.defs
无空口令用户
唯一id一般默认符合,

[root@hecs-357431 pam.d]# cat  system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.soaccount     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.sopassword    requisite     pam_pwquality.so password requisite pam_cracklib.so retry=5 difok=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
password    sufficient    pam_unix.so sha512 shadow remember=10  nullok try_first_pass use_authtok
password    required      pam_deny.sosession     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

今天就先到这里,欢迎关注公众号
在这里插入图片描述

这篇关于等保2.0服务器测评-身份鉴别测评方法以及配置整改-01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783107

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则