【等保测评】云计算Linux服务器(一)

【等保测评】云计算&Linux服务器(一)

  • 前言
  • 1、身份鉴别
    • 实例1
    • 实例2
    • 实例3
    • 实例4
  • 2、访问控制
    • 实例1
    • 实例2
    • 实例3
    • 实例4
    • 实例5
    • 实例6
    • 实例7


前言

Linux是指UNIX克隆或类UNIX风格的操作系统,在源代码级别兼容绝大部分UNIX标准(IEEE POSIX, System V, BSD),是一种支持多用户、多进程、多线程的实时性较好且功能强大而稳定的操作系统。

Linux服务器的等级测评主要涉及六个方面的内容,分别是
身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范和可信验证

本文主要是前两块,身份鉴别和访问控制

1、身份鉴别

实例1

安全要求

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

安全解读:

linux中/etc/login.defs是登录程序的配置文件(配置密码过期天数、密码长度约束等参数)
若/etc/pam.d/system-auth文件中有与/etc/login.defs相同的配置选项,以/etc/pam.d/system-auth为准

优先级:/etc/pam.d/system-auth > /etc/login.defs

linux中有调用PAM的应用程序认证用户,登录服务、屏保等功能

其中重要文件是

/etc/pam.d/system-auth(Redhat、CentOS、Fedora系统)
/etc/pam.d/common-passwd(Debian、Ubuntu、Linux Mint系统)

上面两个配置文件优先级高于其他

测评方法:

(1)访谈系统管理员,了解系统用户是否设置密码;核查登录过程中系统账户是否用密码进行登录
用有相应权限的用户身份登录操作系统,用more命令查看/etc/shadow文件,核查系统中是否存在空口令用户

(2)用more命令查看**/etc/login.defs文件,核查是否设置了密码长度和密码定期更换规则**;用more命令查看**/etc/pam.d/system-auth**文件,核查是否设置了密码长度和密码定期更换规则

(3)核查是否存在旁路或身份鉴别措施可绕过的安全风险(应该不存在)

预期结果(证据):

登录需要密码
不存在空口令
得到如下反馈

PASS_MAX_DAYS 90
PASS_MIN_DAYS 0
PASS_MIN_LEN 7
PASS_WARH_AGE 7			密码登录过期前7天提示

不存在可绕过的安全风险

实例2

安全要求:

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

安全解读:

(1)Linux操作系统有调用PAM的应用程序认证。登录功能

(2)在Redhat5后 的版本,用pam_tally2.so模块控制用户密码认证失败的次数

(3)本地登录失败处理功能在**/etc/pam.d/system-auth 或 /etc/pam.d/login** 中配置

(4)SSH远程登录失败处理在**/etc/pam.d/sshd**文件中配置

测评方法:

(1)核查系统中是否配置启用登录失败处理功能
Root身份登录操作系统,
核查/etc/pam.d/system-auth 或 /etc/pam.d/login 中本地登录失败配置情况

(2)核查/etc/pam.d/sshd 中远程登录失败配置情况
(3)核查**/etc/profile** 文件中TIMEOUT环境变量是否配置了超时锁定参数

预期结果(证据)

(1)查看本地登录失败处理功能相关参数,
/etc/pam.d/system-auth或/etc/pam.d/login 文件中存在

"auth required pam_tally2.so onerr=fail deny=5 unlock_time=300 even_ deny_root root3mlock_time=10”。

(2)查看远程登录失败处理功能相关参数,/etc/pamdsshd文件中存在

"auth required pam_tally2.so onerr=fail deny=5 unlock_time=300 even_deny_root root_unlock_ time=10"

(3)/etc/pro£le文件中设置了超时锁定参数,例如在该文件中设置了 TMOUT=300s

实例3

安全要求:

远程管理时,采取措施防止鉴别信息在网络传输中被窃听

安全解读:

本地化管理不适用

测评方法:

(1)问系统管理员远程管理方式,root登录系统
查看是否运行sshd服务

Service -status-all | grep sshd

查看相关端口是否打开

netstat -an | grep 22

若未使用SSH远程管理,查看是否用Telnet协议进行远程管理

Service --status-all | grep running

(2)抓包工具查看协议是否加密

预期结果(证据):

(1)使用SSH协议进行远程管理(防止鉴别信息在传输过程中被窃听)

(2)Telnet协议 默认不符合此项。

(3)抓包工具截获的信息为密文,无法读取,协议为加密协议。

实例4

安全要求:
采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份 鉴别,且其中一种必须是密码技术

安全解读:

测评方法:
问管理员是否采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份 鉴别,核查其中一种必须是密码技术

预期结果(证据):
和上面类似

2、访问控制

目的是保证系统资源被合法使用,用户不能越权只能使用自己权限访问系统资源

实例1

安全要求:
对登录的用户分配账户和权限

安全解读:
配置文件≤644
可执行文件≤755
测评方法:
用相应权限账户身份登录系统,用ls-l 文件名 查看重要文件和目录权限设置是否合理,ls -l /etc/passwd 显示744
644 -rw-r–r–
744 -rwxr–r–

预期结果(证据):

配置文件≤644
可执行文件≤755

实例2

安全要求:
重命名或删除默认账户,修改默认账户的默认口令

安全解读:
Linux中提供了很多账户,账户越多,越容易受到攻击
应删除 adm 、lp、 sync、 shutdown 、halt、 mail、 uucp、 operator、 games 、gopher 、ftp等
禁止root远程登录

测评方法:

(1)用相应权限身份登录系统,执行more命令查看/etc/shadow 中是否存在以上没用账户

(2)查看root账户能否远程登录(通常不能)

预期结果(证据):
不存在默认无用账号

/etc/ssh/sshd_config文件中的PermitRootLogin参数设置为no(PermitRootLoginno)表示不允许root远程登录

实例3

安全要求:

及时删除停用多余过期账户,避免共享账户存在

安全解读:

多余过期账户会影响审计中追踪定位自然人

测评方法:

核查是否存在多余账户,查看games、news、ftp、lp、等默认账户是否被禁用,特权账户halt、shatdown是否被删除

访谈管理员,核查不同的账户是否使用不同的账户登录系统

预期结果(证据):

禁用删除不需要的系统默认账户
各类管理员均使用自己特定权限账户登录,不存在多余过期账号

实例4

安全要求:
授予管理用户所需最小权限,实现管理用户权限分离

安全解读:
避免出现权限漏洞
sudoer.conf中使用sudo命令授予普通用户root权限
测评方法
用相应权限身份登录系统,执行more命令,查看 /etc/passwd文件中的非默认用户,了解各用户的权限,核查是否实现了管理用户的权限分离。

用相应权限的账户身份登录Linux操作系统,执行more命令,查看 /etc/sudoers文件,核查哪些用户拥有root权限。

预期结果(证据):

(1)各用户均仅具备最小权限,且不与其他用户的权限交叉。设备支持新建多用户角 色功能。
(2)管理员权限仅分配给root用户。

实例5

安全要求:
由授权主体(安全管理员)配置访问控制策略,访问控制策略规定主体对客体的访问规则。

安全解读:
由安全管理员进行配置

测评方法:

(1)问系统管理员,是否由指定授权人对操作系统访问控制权进行配置
(2)核查账户权限配置,了解是否一句安全策略配置各账户访问规则

预期结果(证据):

有专门安全员负责访问控制权限的授权工作
各账户权限基于安全员的安全策略配置进行访问控制

实例6

安全要求:
访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。

安全解读:

重点目录的访问控制主体可•能为某个用户 或某个进程,应能够控制用户或进程对文件、数据库表等客体的访问。

测评方法:

(1)使用“ls -l 文件名”命令查看重要文件和目录权限的设置是否合理
(例如“# ls -l /etc/passwd #744”)。

(2)重点核查文件和目录权限是否被修改过。

预期结果(证据):
(1)管理用户进行用户访问权限的分配
(2)用户依据访问控制策略对各类文件和数据库表进行访问
(3)重要文件和目录的权限在合理范围内
(4)用户根据自身拥有的对文件不同权限操作

实例7

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

安全解读:

通过对重要信息资源设置敏感标记,可以决定主体以何种权限对客体进行操作,实现强制访问控制

安全增强型Linux(SELinux)是一个Linux内核模块,在其中决定资源能否被访问的因素:用户权限、每一类进程对某一类资源的访问权限

这种权限管理机制的主体是进程(强制访问控制)
SElLinux中,主体=进程,客体是主体访问的资源(文件、目录、端口、设备)

SELinux三种工作模式
enforcing强制模式,违反SELinux规则的行为,被阻止并记录到日志中
permissive宽容模式,违反规则,记录到日志
disabled关闭SELinux,不使用SELinux

测评方法:
(1 )核查系统中是否有敏感信息。
(2)核查是否为主体用户或进程划分级别并设置敏感标记,是否在客体文件中设置敏感标记。
(3 )测试验证是否依据主体和客体的安全标记来控制主体对客体访问的强制访问控制策略。
(4)相应权限身份登录Linux操作系统,使用more命令查看 /etc/selinux/config 文件中 SELinux 的参数。

预期结果(证据)

	Linux服务器默认关闭SELinux服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接缝雕刻算法的 C++ 实现 - 算法概述与基本原理

第一部分:接缝雕刻算法的 C++ 实现 - 算法概述与基本原理 接缝雕刻(Seam Carving)是一种用于图像大小调整的算法,其目标是在不扭曲图像的“重要”部分的情况下调整图像大小。这种算法的主要优点是,它可以保持图像的视觉完整性,同时改变图像的尺寸。这与传统的图像缩放方…

c语言每日一练(4)

五道选择题 1、有以下代码&#xff0c;程序的输出结果是( ) #include <stdio.h> int main() {int a 0, b 0;for (a 1, b 1; a < 100; a){if (b > 20) break;//1if (b % 3 1)//2{b b 3;continue;}b b-5;//3}printf("%d\n", a);return 0; } A.1…

Vue原理解析:Vue到底是什么?

Vue.js是一种流行的JavaScript框架&#xff0c;用于构建用户界面。它采用了MVVM&#xff08;Model-View-ViewModel&#xff09;架构模式&#xff0c;旨在简化Web应用程序的开发过程。Vue具有响应式的数据绑定和组件化的特性&#xff0c;使得开发者能够以声明式的方式构建可复用…

vue3中监听,组件通信如父子传值、Vuex、Event Bus的使用

目录 一、监听 二、父子传值&#xff1a; 1、父传子&#xff1a; 2、子传父 三、全局状态管理&#xff08;Vuex&#xff09;&#xff1a; 四、事件总线&#xff08;Event Bus&#xff09;&#xff1a; 一、监听 <template><div><p>Count: {{ count }}…

【ARM Cache 系列文章 8 -- ARM DynamIQ 技术介绍

文章目录 DynamIQ 技术背景DynamIQ技术详解DynamIQ 与 big.LITTLEDynamIQ cluster 分类硬件支持 DynamIQ为什么适合人工智能&#xff1f; DynamIQ 技术背景 2017年3月21日下午&#xff0c;ARM在北京金隅喜来登酒店召开发布会&#xff0c;正式发布了全新的有针对人工智能及机器…

pyspark笔记 筛选条件 vs intersect

一个是filter提供条件时&#xff0c;条件的交集&#xff0c;一个是两个pyspark DataFrame 取交集 前者会有重复的行&#xff0c;后者则没有 举例说明&#xff0c;假设我们有如下的pyspark DataFrame d[[-1],[1],[1],[2],[3],[4]] dfspark.createDataFrame(d,[id]) df.show()-…

算法练习--数值相关

文章目录 整型数组合并质数因子 整型数组合并 将两个整型数组按照升序合并&#xff0c;并且过滤掉重复数组元素。 输出时相邻两数之间没有空格。 输入描述&#xff1a; 1 输入第一个数组的个数 2 输入第一个数组的所有数值 3 输入第二个数组的个数 4 输入第二个数组的所有数值…

IDEA创建项目常见问题

1.IDEA修改maven路径无效 创建spring项目&#xff0c;Maven导入报错&#xff0c;无法正常导入jar报&#xff0c;发现setting中设置的maven路径不是自己下载的路径&#xff0c;修改后无效。运行之后maven路径又恢复为其默认的路径 解决方案&#xff1a; 删除.mvn文件&#xff0…

openCV 图像对象的创建和赋值

文章目录 一、赋值二、克隆三、拷贝四、初始化 一、赋值 赋值操作是将一个cv::Mat对象的数据复制到另一个对象中。赋值操作使用的是浅拷贝&#xff08;shallow copy&#xff09;&#xff0c;即两个对象共享相同的数据内存。这意味着对一个对象的修改会影响到另一个对象 cv::M…

dinput8.dll导致游戏打不开的解决方法,快速修复dinput8.dll文件

当你尝试启动某个游戏时&#xff0c;如果遇到dinput8.dll文件缺失或损坏的错误提示&#xff0c;可能会导致游戏无法正常运行。dinput8.dll是DirectInput API的一部分&#xff0c;它提供了游戏手柄、键盘和鼠标等输入设备的支持。本文将详细介绍dinput8.dll的作用、导致游戏无法…

Spring BeanPostProcessor 接口的作用和使用

BeanPostProcessor 接口是 Spring 框架中的一个扩展接口&#xff0c;用于在 Spring 容器实例化、配置和初始化 bean 的过程中提供自定义的扩展点。通过实现这个接口&#xff0c;您可以在 bean 实例创建的不同生命周期阶段插入自己的逻辑&#xff0c;从而实现对 bean 行为的定制…

AI 降临!!!

人的记忆是脆弱的。因此&#xff0c;个人笔记成为了我们构建第二大脑和进行知识管理的重要手段。然而&#xff0c;人工智能的崛起&#xff0c;无疑改变了我们处理信息和知识的方式。作为一名长期关注笔记方法论和 AI 软件的「效率成瘾者」和「软件发烧友」&#xff0c;我深感此…

MDN-HTTP

参考资料 文章目录 HTTP简介HTTP 和 HTTPSHTTP消息典型的HTTP会话HTTP响应状态HTTP安全HTTP CookieHTTP压缩 HTTP简介 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于在计算机网络中传输超文本和其他资源的应用层协议。他是互联网的基础协议之一&#x…

银河麒麟高级操作系统V10助力联通云建设打出组合拳

联通云基于“双引擎基座一云多芯”为不同行业场景提供可靠、高质量的应用上云服务。在核心代码进行了全面把控&#xff0c;定制多架构芯片应用适配模版&#xff0c;开发了计算、存储、网络、中间件等组件&#xff0c;全面适配自主化服务器和操作系统&#xff0c;提供云服务器、…

关于docker 在ubuntu16.04 上的安装

https://www.sohu.com/a/708313241_121368355 参考教程&#xff1a; https://www.runoob.com/docker/docker-image-usage.html 镜像网址 https://hub.docker.com/

用ClickHouse 文件表引擎快速查询分析文件数据

有时我们需要快速查询分析文件数据&#xff0c;正常流程需要在数据库中创建表&#xff0c;然后利用工具或编码导入数据&#xff0c;这时才能在数据库中查询分析。利用ClickHouse文件引擎可以快速查询文件数据。本文首先介绍ClickHouse文件引擎&#xff0c;然后介绍如何快速实现…

Android10.1接上usb摄像头重启设备无声音

一、问题描述 接上客户的usb摄像头,插上喇叭,重启设备,有时候有声音,有时候没有 二、问题原因 原因:插上usb设卡后又两个声卡,而重启后哪个声卡的节点先生成不确定,而hal层中只是打开第一个节点,而usb声卡是没有播放功能的,所以节点中没有播放节点,所…

TypeScript

背景&#xff1a; JS 的类型系统存在“先天缺陷”弱类型&#xff0c;JS 代码中绝大部分错误都是类型错误&#xff08;Uncaught TypeError&#xff09; 开发的时候&#xff0c;定义的变量本应该就有类型 这些经常出现的错误&#xff0c;导致了在使用 JS 进行项目开发时&#xf…

Python中的dataclass:简化数据类的创建

Python中的dataclass是一个装饰器&#xff0c;用于自动添加一些常见的方法&#xff0c;如构造函数、__repr__、__eq__等。它简化了创建数据类的过程&#xff0c;减少了样板代码&#xff0c;提高了代码的可读性和可维护性。有点类似java里面的Java Bean。 让我们看一个简单的例子…

任意子数组和的绝对值的最大值【力扣1749】

一、解题思路 设n表示数组的长度&#xff0c;Min[i]是以nums[i]为开头组成的任意连续子数组中的和最小值&#xff08;若所有子数组的和都大于0&#xff0c;则Min[i]设为0。也就是说丢弃所有子数组&#xff09;&#xff1b;Max[i]是以nums[i]为开头组成的任意连续子数组中的和最…