等保篇-LINXU操作系统等保测评指南

LINXU操作系统等保测评指南

系统版本查看

在Linux系统测评过程中,查看系统版本是非常重要的,因为它可以帮助我们了解系统的基本情况,包括内核版本、发行版类型等等。以下是几种常见的查看Linux系统版本的方法:
一、使用 lsb_release命令:
输入以下命令查看系统版本信息:

lsb_release -a

该命令会显示完整的系统版本信息,包括发行版名称、版本号和发行日期。
二、使用 cat命令查看 /etc/*-release文件:
输入以下命令查看系统版本信息:

cat /etc/*-release

该命令会显示包含系统版本信息的文件内容。在大多数Linux发行版中,/etc/*-release文件包含了系统版本的详细信息。
三、使用 uname命令:
输入以下命令查看内核版本信息:

uname -a

该命令会显示包括内核版本在内的系统信息。内核版本可以提供有关系统版本的一些线索。
四、使用 hostnamectl命令(仅适用于Systemd系统):
输入以下命令查看系统版本信息:

hostnamectl

该命令会显示关于主机的信息,包括操作系统和内核版本。
请注意,具体命令和输出可能会因Linux发行版的不同而有所不同,但这些方法适用于大多数常见的Linux发行版。

一、身份鉴别

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

一、 应核查用户在登录时是否采用身份鉴别措施;

采用用户名、口令方式进行身份鉴别。
在这里插入图片描述

二、应核查用户列表确认用户身份标识是否具有唯一性;

在Linux系统中,用户标识符通常被称为用户ID(User ID),简称为UID。UID是用于在Linux环境中唯一标识一个用户的整数。默认每个登录的用户都有一个唯一的UID。在这里插入图片描述
输入以下命令查看所有用户信息,查看第三字段(UID)不存在相同数字、用户名不存在相同名称:

cat  /etc/password

在这里插入图片描述

三、应核查用户配置信息或测试验证是否不

存在空口令用户;
在/etc/passwd中用户的密码是被保护的状态,即使用了*号来隐藏。而实际的密码内容是加密后保存在/etc/shadow文件中了,我们确认是否存在空口令的用户就确认该文件中密码对应字段的长度是否为0,如果为0则证明该用户密码为空。
输入以下命令查看shadow文件信息:

cat /etc/shadow

在这里插入图片描述
格式内容如下:
在这里插入图片描述

 shadow文件简析:
1、登录名
是与/etc/passwd文件中的登录名相一致的用户账号。
2、口令
字段存放的是加密后的用户口令,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
一般存放的字符串就是加密过的密码文件。就是实际密码经过hash算法后的值。开头的数表示他用的是哪一种hash(可以在 man crypt 中查看到):
以$6$开头的,表明是用SHA-512加密的;
以$1$开头的,表明是用MD5加密的;
以$2$开头的,表明是用Blowfish加密的;
以$5$开头的,表明是用 SHA-256加密的。星号代表帐号被锁定;
如果是"*"或者"!"开头,则代表该账户已锁定、或者禁用,一般不能登录。
3、最后一次修改时间
表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。一般这个时间起点是197011日。
4、密码不可被更动的天数
第四个栏位记录了这个帐号的密码需要经过几天才可以被变更!如果是 0 的话, 表示密码随时可以更动的意思。这的限制是为了怕密码被某些人一改再改而设计的!
5、密码需要重新变更的天数
由于害怕密码被某些‘有心人士’窃取而危害到整个系统的安全,所以有了这个栏位的设计。 你必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。 而如果像上面的 99999 的话,那就表示,啊哈,密码永远不需要重新输入啦!
6、密码需要变更期限前的警告期限
当帐号的密码失效期限快要到的时候, 就是上面那个‘必须变更密码’的那个时间时, 系统会依据这个栏位的设定,发出‘警告’言论给这个帐号,提醒他‘再过 n 天你的密码就要失效了,请尽快重新设定你的密码呦!’,如上面的例子,则是密码到期之前的 7 天之内,系统会警告该用户。
7、密码过期的恕限时间
如果用户过了警告期限没有重新输入密码, 使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’ 那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~ 意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。 而如果在这个天数后还是没有变更密码,那么恭喜您的帐号已经失效了!
8、帐号失效日期
这个日期跟第三个栏位一样,都是使用 1970 年以来的总日数设定。这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用啦!(坑)
9、 保留
最后一个栏位是保留的,看以后有没有新功能加入。
四、应核查用户鉴别信息是否具有复杂度要求并定期更换。

输入以下命令查看login.defs文件信息:

cat /etc/login.defs
或
grep 'PASS_MAX_DAYS' /etc/login.defs

在这里插入图片描述

1)PASS_MAX_DAYS=90(密码登录有效期时间)
2)PASS_MIN_DAYS=0(密码最短修改时间)
3)PASS_MIN_LEN=8(密码最小长度)
4)PASS_WARN_AGE=7(密码过期前提前多少天提醒)

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

一、应核查是否配置并启用了登录失败处理功能;
二、应核查是否配置并启用了限制非法登录功能,非法登录达到一定次数后采取特定动作,如账户锁定等;
1、 登录失败处理功能策略(服务器本地)

查看/etc/pam.d/system-auth 文件

grep 'deny' /etc/pam.d/system-auth
//没图就不放查询结果图了
pam_tally2.so模块参数解读:
onerr=fail #表示连续错误
deny=n #表示连续登录失败次数超过n次后拒绝访问
unlock_time=300 #表示连续登录失败后锁定的时间(秒数)为300秒
no_magic_root #表示连root用户也在限制范围内
even_deny_root #root用户失败登录次数超过deny=n次后拒绝访问
root_unlock_time=300 #与even_deny_root相对应的选项,如果配置该选项,则root用户在登录失败次数超出限制后被锁定指定时间为300
2、登录失败处理功能策略(ssh远程连接登录)

查看/etc/pam.d/sshd文件

grep 'deny' /etc/pam.d/sshd
三、应核查是否配置并启用了登录连接超时及自动推出功能。

查看/etc/profile系统文件

grep 'TMOUT' /etc/profile

在这里插入图片描述

注:
export TMOUT=0 #0代表永不自动退出 ,针对所有用户
readonly TMOUT # 将值设置为readonly 防止用户更改,在shell中无法修改TMOUT

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

应核查是否采用加密等安全方式对系统进行远程管理,防止鉴别信息在网络传输过程中被窃听。

Linux系统可以通过SSH服务和telnet服务;SSH是一个安全的远程连接,它的数据信息是加密的,端口号为22,SSH服务默认可以为root用户连接。telnet是一个不安全的远程连接,它的数据信息为明文,端口号为23,默认不可以用root用户连接。该项应核查ssh服务、telnet服务是否运行;ssh服务应为运行,telnet服务应为关闭。
1、是否运行SSHD服务

service --status-all |grep sshd

2、是否打开SSHD服务对应端口22端口

netstat -an |grep 22
//查看22端口是否正在被SSHD监听

3、是否打开了Telnet服务

systemctl list-unit-files |grep telnet
//查看命令结果是否存在telen服务(应为不存在)

4、是否打开了Telnet服务的对应端口23端口

netstat -an |grep 23
//查看23端口是否正在被Telnet监听(应为不存在)

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

一、应核查是否采用动态口令、数字证书、生物技术和设备指纹等两种或两种以上组合的鉴别技术对用户身份进行鉴别;
二、应核查其中一种鉴别技术是否使用密码技术来实现。
该项应询问管理员或在测评过程中发现,除了输入口令登录还有什么方式能够进行身份鉴别,这个方法有没有采用密码技术。

二、访问控制

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

一、应核查是否为用户分配了账户和权限及相关设置情况;
umask
//查看服务器的umask=0027(0027代表 -----w-rwx (只看后三位))
linux服务器中文件最大权限为666,而目录最大权限为777,通过umask改变新建文件或文件夹权限。
创建的文件默认权限:
对于目录,默认权限=777-umask
对于文件,默认权限=666-umask(文件默认无执行权限)
以umask=0027为例;
0027代表 -----w-rwx (只看后三位)
文件夹最高权限为777即rwxrwxrwx
文件最高权限为666 即rw-rw-rw-
二、应核查是否已禁用或限制匿名、默认账户的访问权限;
more /etc/shadow
//查看命令返回结果 第二字段为(!*)表示该账户已锁定

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

一、应核查是否已经重命名默认账户或默认账户已被删除;
more /etc/shadow
//查看命令结果,是否存在默认无用账户。
//默认情况下一般都没更改
二、应核查是否已修改默认账户的默认口令;
询问管理员是否重命名默认账户与更改默认口令。默认账户一般为root、admin、system等。

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

一、应核查是否不存在多余或过期账户,管理员用户与账户之间是否一一对应;
more  /etc/shadow
//询问管理员,是否每个账号对应到个人
//禁用或删除不需要的系统默认账户
二、应测试验证多余的、过期的账户是否被删除或停用;
more /etc/shadow
//过期的账户已删除。

3、避免账户共用现象存在;

询问管理员,是否一人一号登录系统

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

一、应核查是否进行角色划分;
询问管理员是否建立了,系统管理员、安全管理员、审计管理员账户
二、应核查管理用户的权限是否已进行分离;
more  /etc/passwd
//第三个字段用户ID(0代表超级用户,普通用户不为0)
三、应核查管理用户权限是否为其工作任务所需的最小权限。
more  /etc/sudoers
//查看 /etc/sudoers 文件,找到下面一行,确保系统管理员权限只分配了root用户。
//Allow  root to run any commands anywhere
//root  ALL=(ALL)  ALL

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

一、应核查是否由授权主体(如管理用户)负责配置访问控制策略;
 询问系统管理员, 核查是否由指定授权人对操作系统的访问控制权限进行配置。
二、应核查授权主体是否依据安全策略配置了主体对客体的访问规则;
核查账户权限配置, 了解是否依据安全策略配置各账户的访问规则
三、应测试验证用户是否有可越权访问情形。
使用普通用户查看是否能够访问/etc/shadow文件

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

一、应核查访问控制策略的控制粒度是否达到主体为用户级别或进程级,客体为文件、数据库表、记录或字段级。

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

一、应核查是否对主体、客体设置了安全标记;
通过强制访问控制(MAC)机制,实现细粒度的访问控制功能,即进程级的访问控制。并且系统使用强认证的安全管理员设置的安全标记,通过对重要信息资源设置安全标记,来决定主体以何种权限对客体进行操作,实现强制访问控制机制。
详情请看网友文:https://zhuanlan.zhihu.com/p/569683621
二、应测试验证是否依据主体、客体安全标记控制主体对客体访问的强制访问控制策略。
more  /etc/selinux/config 
//查看SELinux是否开启
//SELinux配置
SELINUX=disable表示Selinux关闭
       =ecforcing强制模式
       =permissive宽容模式

三、安全审计

a. 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

一、应核查是否开启了安全审计功能;
service rsyslog status
service auditd status
//查看命令结果Active: active (running) 表示正在运行
二、应核查安全审计范围是否覆盖到每个用户;
三、应核查是否对重要的用户行为和重要安全事件进行审计。
1、通过service rsyslog/auditd status查看;通过cat /etc/rsyslog.conf查看配置,确保审计功能覆盖到每个用户的行为和重要安全事件;
2、查看/etc/audit/audit.rules文件 ,查看是设置了具体的审计规则。 
3、若未开启系统安全审计功能,则确认是否部署了第三方安全审计工具(cat /etc/rsyslog.conf文件),并进行相应的核查。

b. 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

一、应核查审计记录信息是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
tail -20/var/log/audit/audit.log
//查看最近20行日志
//审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果type(消息类型),msg(时间、事件ID),syscall(系统调用类型),success(此次syscall是否成功),exe(进程文件的执行路径)。

c.应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

一、应核查是否采取了保护措施对审计记录进行保护;
ls  -l  /var/log/audit
//查看审计文件权限
ls  -l  /var/log 
//查看目录权限
//文件可以有读取权限,但不允许有写入权限。
二、应核查是否采取技术措施对审计记录进行定期备份,并核查其备份策略。
//询问管理员,查看相关配置。

d.应对审计进程进行保护,防止未经授权的中断。

一、应测试验证通过非审计管理员的其他账户来中断审计进程,验证审计进程是否受到保护。
切换普通用户:service auditd stop停止守护进程
//使用普通用户,结束审计进程失败
//部署了第三方审计工具, 可以实时记录审计日志, 管理员不可以对日志进行删除操作

四、入侵防范

a.应遵循最小安装的原则,仅安装需要的组件和应用程序;

一、应核查是否遵循最小安装原则;
二、应核查是否未安装非必要的组件和应用程序;
yum list installed
//询问管理员当前的安装包是否存在多余、无用的服务

b.应关闭不需要的系统服务、默认共享和高危端口;

一、应核查是否关闭了非必要的系统服务和默认共享;
systemctl list-units --type=service --all
//询问管理员是否存在多余服务。
二、应核查是否不存在非必要的高危端口。
netstat -ntlp
//询问管理员是否存在多余端口,不存在telnet 23

c. 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;

一、应核查配置文件或参数是否对终端接入范围进行限制。

1、查看是否在hosts.deny和hosts.allow文件中进行限制;

more  /etc/hosts.deny
more  /etc/hosts.allow
//查看文件中是否存在ALL:ALL(禁止所有连接)
//sshd:192.168.1.10/255.255.255.0(允许这个IP连接)

2、是否采用了从防火墙设置了对接入终端的限制;

systemctl status firewalld
//查看防火墙是否开启(Active: active (running)正在运行 )
firewall-cmd  --zone=public --list-rich-rules
//查看防火墙是否有策略
详细请看网友:https://www.cnblogs.com/coolyang/p/17182664.html

e.应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;

一、应通过漏洞扫描、渗透测试等方式核查是否不存在高风险漏洞;
使用工具对资产进行扫描
二、应核查是否在经过充分测试评估后及时修补漏洞。
三、访谈补丁升级机制,查看补丁安装情况
more/var/log/secure | grep refused
rpm -qa |grep patch
//查看安全日志中入侵日志
//查看patch版本

f. 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警;

一、应访谈并核查是否有入侵检测的措施;
more/var/log/secure | grep refused)
//查看安全日志中入侵日志

询问管理员并查看是否安装入侵检测软件
二、应核查在发生严重入侵事件时是否提供报警。
询问管理员,是否提供了入侵报警功能,如何报警
三、查看主机防火墙状态
systemctl status firewalld
//查看防火墙是否开启(Active: active (running)正在运行 )

五、恶意代码防范

a.应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。

一、应核查是否安装了防恶意代码软件或相应功能的软件,定期进行升级和更新防恶意代码库;
询问管理员是否安装了防恶意代码软件或相应功能的软件,定期进行升级和更新防恶意代码库
二、应核查是否采用主动免疫可信验证技术及时识别入侵和病毒行为;
记录杀毒工具,软件版本、病毒库版本
三、应核查当识别入侵和病毒行为时是否将其有效阻断。
查看杀毒软件,杀毒记录

六、可信验证

a.可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证, 并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证 结果形成审计记录送至安全管理中心。

不符合

七、 数据完整性

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

一、应核查系统设计文档,鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等在传输过程中是否采用了校验技术和密码技术保证完整性;
二、应测试验证在传输过程中对鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等进行篡改、是否能否检测到数据在传输过程中的完整性收到破坏并能够及时恢复。
核查重要数据在传输的时候使用什么协议(Linux一般使用SSH协议)

b.应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。

用校验技术或密码技术保证重要数据在存储过程中的完整性

八、数据保密性

a. 应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;

一、应核查系统设计文档,鉴别数据、重要业务数据和重要个人信息等在传输过程中是否采用密码技术保证保密性;
核查重要数据在传输的时候使用什么协议(Linux一般使用SSH协议)
二、应通过嗅探等方式抓取传输过程中的数据包,鉴别数据、重要业务数据和重要个人信息等在传输过程中是否进行了加密处理。
抓取数据包,查看是否鉴别数据加密

b.应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。

核查重要配置数据在传输的时候使用什么协议(Linux一般使用SSH协议)

九、数据备份恢复

a.应提供重要数据的本地数据备份与恢复功能;

一、应核查是否安装备份策略进行本地备份;
询问管理员是否设置了备份策略(时间、备份地点、备份策略(增量、全量))
二、应核查备份策略设置是否合理、配置是否正确;
查看备份策略
三、应核查备份结果是否与备份策略一致;
查看备份结果
四、应核查近期恢复测试记录是否能够进行正常的数据恢复。
询问管理员,近期是否进行了备份恢复测试。

b.应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;

一、应核查是否提供异地实时备份功能,并通过网络将重要配置数据、重要业务数据实时备份至备份场地。
询问管理员是否有异地备份,备份策略是什么(时间、备份地点、策略(全量、增量))

c.应提供重要数据处理系统的热冗余,保证系统的高可用性。

一、访谈主机管理员哪些是重要数据处理系统, 数据处理系统是否有备份机制,是否采用本地热备份站点备份或异地活动互援备份
二、核查设备列表,重要数据处理系统是否采用热备服务器
应核查重要数据处理系统,是否采用热冗余方式部署。

十、剩余信息保护

a. 应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;

一、应核查相关配置信息或系统设计文档,用户的鉴别信息所在的存储空间被释放或重新分配前是否得到完全清除。
默认符合

b.应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。

一、应核查相关配置信息或系统设计文档,敏感数据所在的存储空间被释放或重新分配给其他用户前是否得到完全清除。
默认符合

十一、个人信息保护

a. 应仅采集和保存业务必需的用户个人信息;

一、应核查采集的用户个人信息是否是业务应用必须的;
二、应核查是否制定了相关用户个人信息保护的管理制度和流程。
不适用

b.应禁止未授权访问和非法使用用户个人信息;

一、应核查是否采用技术措施限制对用户个人信息的访问和使用;
二、应核查是否制定了有关用户个人信息保护的管理制度和流程;
不适用
  • 39
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子菜头

谢谢!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值