等保2.0测评之Nginx 中间件

前期调研

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,一般主要功能会有两种,一种作为一个HTTP服务器进行网站的发布处理,另外一种nginx可以作为反向代理进行负载均衡的实现。所以这里填主要功能的时候就要分清。

图片

查看Nginx版本:

如果系统有配置nginx命令的环境变量,直接 nginx -v 即可查看版本信息

若无,我们去nginx主目录下运行cmd,输入nginx -v查看版本

图片

图片

一、身份鉴别

由于该中间件并没有类似于Tomcat一样的管理控制台,所以个人认为以下条款均判不适用。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,身份鉴别由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,身份鉴别由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,身份鉴别由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,身份鉴别由操作系统层面实现。

二、访问控制

同理判不适用。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,访问控制由操作系统层面实现。

三、安全审计

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

针对于各类的中间件来说,日志一般会分为两种,一种是 error.log 错误日志,另一种是 access.log 网页访问日志。都开启的情况下,我们就可以判符合(前提日志级别配置正确)。

先来看一下 errlog_log

error_log:设置服务器运行的相关日志

设置格式

error_log 路径 级别

默认值:error_log logs/error.log error;

配置段:main,http,server,location

关闭error_log:error_log off

日志的级别

debug:调试级别,记录的信息最多;

info:普通级别;

notice:可能需要注意的信息;

warn:警告消息;

error:错误消息;

crit:严重错误消息;

access_log

访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息。

access_log:用来配置访问日志的输出格式和输出的路径;

语法: access_log path [format [buffer=size [flush=time]]];

默认值: access_log logs/access.log combined;

后续版本好像有变更,默认为 main;

配置段: http, server, location, if in location, limit_except

关闭access_log:access_log off

path:指定日志的存放位置

format:指定日志的格式。默认使用预定义的combined

buffer:用来指定日志写入时的缓存大小。默认是64k

gzip:日志写入前先进行压缩。压缩率可指定,从1到9数值越大压缩比越高,同时压缩的速度也越慢。默认是1。

flush:设置缓存的有效时间。如果超过flush指定的时间,缓存中的内容将被清空。

if:条件判断。如果指定的条件计算为0或空字符,那么当前作用域下的所有的请求日志都会被关闭。

所以我们这里先在 Nginx 主目录下找到conf文件夹

图片

其中会有一个叫 nginx.conf 的文件

图片

查看对应error_log和access_log配置情况,默认情况下都是为注释状态

图片

若为注释状态,nginx 会有一个默认值,如下:

error_log logs/error.log error;

access_log logs/access.log main;

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

日志文件在nginx主目录下的log目录中

图片

图片

默认情况下都是满足条款要求的,比如查看一下 access.log 日志

图片

另外考虑的点就是日志记录的时间是否准确,中间件时间一般跟随操作系统时钟,如果操作系统时间正确,那么基本也不会有问题。

或者我们可以去配置文件中,配置我们自己想要的日志记录内容。

对应参数:log_format

log_format:用来设置日志格式

nginx的log_format有很多可选的参数用于标示服务器的活动状态,默认为:

‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

图片

如果要记录更详细的信息需要自己修改log_format,具体可设置的参数格式及说明如下:

这条日志是之前实验访问应用留下的,我们可以分析一下。

192.168.21.176 - - [28/Sep/2020:14:34:48 +0800] "GET /favicon.ico HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
参数说明示例
$remote_addr客户端地址192.168.21.176
$remote_user客户端用户名称
$time_local访问时间和时间[28/Sep/2020:14:34:48 +0800]
$request请求的URI和HTTP协议“GET /favicon.ico HTTP/1.1”
$http_host请求地址,即浏览器中你输入的地址(域名或IP)www.test.com192.168.0.23
$statusHTTP请求状态404
$upstream_statusupstream状态
$body_bytes_sent服务器发送客户端的相应body字节数555
$http_refererurl跳转来源-https://www.google.com/
$http_user_agent用户终端浏览器等信息“Mozilla/5.0 (Windows NT……”
$http_x_forwarded_for当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置
$ssl_protocolSSL协议版本TLSv1
$ssl_cipher交换数据中的算法Rc4-SHA
$upstream_addr后台upstream的地址,即真正提供服务的主机地址10.36.10.80:80
$request_time整个请求的总时间0.165
$upstream_response_time请求过程中,upstream响应时间0.002

所以如果想要记录更详细,可以自己进行配置。

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

1. 确认本机的日志文件权限

确认是否仅管理员组具有日志的管理权限,其他组没有修改权限

图片

如users组无权管理修改

图片

Linux系统下同理,对应的日志文件不高于644

2. 是否对日志文件进行定期备份

这个好像默认自带的方式没有找到,那么就去询问一下运维人员,是否有备份措施对中间件日志进行备份。

一般有的现场看到好像是通过FTP同步,会将日志文件同步一份到备份服务器上。

3. 日志留存时间

查看日志留存时间是否达到6个月以上,满足法律法规要求。

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

审计进程与中间件主进程关联,无法单独中断审计进程,只要开启即符合。

四、入侵防范

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

该测评点在操作系统层面核查,中间件不适用该条款。

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

该测评点在操作系统层面核查,中间件不适用该条款。

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

通过登录到服务器本地对Nginx 软件进行管理,该项不适用。

d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求

该中间件无独立的管理控制台,无对应的人机或通信接口输入功能,该项不适用。

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

1.通过漏洞扫描、渗透测试等方式核查中间件系统是否存在高风险漏洞;

2.核查是否及时修补漏洞。

询问客户,查看漏洞扫描报告,如果无漏洞可判符合

不存在高危漏洞,判部分符合

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

该测评点在操作系统层面核查,中间件不适用该条款。

五、可信验证

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

该测评点在设备层面核查,中间件不适用该条款。

六、数据完整性

数据完整性对于中间件来说,一般涉及鉴别数据、重要审计数据、重要配置数据这三类

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

1. 鉴别数据、重要配置数据

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,故鉴别数据、重要配置数据等无单独传输过程。

2. 审计数据

确认审计数据是否有传输,如果审计数据有备份的话就需要考虑这点。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,未涉及鉴别数据的存储。

重要配置数据、重要审计数据需要询问管理人员,是否有对配置文件,日志文件等做定期的哈希完整性校验等。

七、数据保密性

数据保密性来说对于中间件这里仅涉及鉴别数据,Nginx 不涉及鉴别数据,所以均不适用。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,故鉴别数据无单独传输过程。

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

无独立的登录管理界面,通过登录到操作系统本地管理该中间件,未涉及鉴别数据的存储。

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

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

相关文章

深入了解以太坊

1. 以太坊编程语言和操作码 以太坊中智能合约的代码以高级语言编写,如 Serpent、LLL、Solidity 或 Viper,并可转换为 EVM 可以理解的字节码,以便执行。 Solidity 是为以太坊开发的高级语言之一,它具有类似 JavaScript 的语法,可以…

骨传导耳机哪个牌子最好?精选五款热门不踩雷品牌分享

每个人对耳机要求不同、使用场景不同,适合的耳机自然也不同,但是骨传导耳机不用入耳的佩戴方式更加安全、舒适和卫生,还能听到周围的环境声,因此被更多的运动爱好者所喜爱,今天我将我这么多年运动使用体验感较好的几款…

哥伦比亚TV:重塑影视娱乐版图,开启全球文化共鸣之旅

在瞬息万变的媒体景观中,哥伦比亚TV以其卓越的洞察力、不懈的创新精神以及对全球文化深刻的理解,正逐步重塑影视娱乐行业的版图,开启了一场前所未有的全球文化共鸣之旅。这家充满活力的影视平台,正通过一系列精心策划的举措,将影视作品打造成为连接不同国家和地区观众的桥梁,促…

业务协同平台--简介

一、使用场景 1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入 2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行 3.作业过程中,可设置完成时间预…

日本“大米荒”持续!政府再次拒绝投放储备米

KlipC报道:日本多地从7月开始出现“大米荒”,有部分新米上市,但是许多超市的大米仍然存在断购或限购的情况,并且部分新米价格上涨至去年同期的两倍。大阪府官员再次呼吁日本中央政府尽快投放储备米以缓解供应紧张,但遭…

MacBook真的不能打游戏吗?Mac打游戏会损坏电脑吗?苹果电脑怎么玩游戏

MacBook从来都是高端的代名词,超强的性能搭配顶尖的系统,不光处理大型文件时举重若轻,长期使用也不会有明显卡顿。但很多人在需要MacBook一流的生产力同时,也希望能在空闲时体验游戏的乐趣。在大多人的印象里,Mac电脑对…

Sora原理详解

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

深入解读Docker核心原理:Namespace资源隔离机制详解

在容器技术中,资源隔离 是容器化能够实现轻量级虚拟化的关键技术之一。通过资源隔离,容器可以拥有自己的独立环境,确保容器之间互不干扰,从而实现应用的安全和稳定。Docker作为主流的容器平台,其核心的资源隔离机制依赖…

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等…

JavaEE:多线程进阶(线程安全的集合类)

文章目录 线程安全的集合类多线程环境使用ArrayList多线程环境使用队列多线程环境使用哈希表HashtableConcurrentHashMap 线程安全的集合类 之前学习的集合类大部分都不是线程安全的. 比如ArrayList,Queue,HashMap等等,这都是线程不安全的. Vector,Stack,Hashtable,这些集合类…

asynMotorController控制器类

电机控制器的基类,实际的电机控制器从这个类派生 asynMotorController.h头文件 /* asynMotorController.h* 这个文件为asynMotorController定义了基类。* 真实电机控制器从这个类派生。它派生字PortDriver.*/ #ifndef asynMotorController_H #define asynMotorCont…

【初识Linux】Linux下基本指令

01. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -…

Linux实用操作

简介:个人学习分享,如有错误,欢迎批评指正。 一、常用快捷键 ctrl c 强制停止 Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl c 命令输入错误,也可以通过快捷键ctrl c,退出当…

基于vue框架的车辆信息检索系统的设计与实现6eph8(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:车辆信息,事故登记,维修记录,用户,汽车类型,保养记录,违章信息,年检记录 开题报告内容 基于Vue框架的车辆信息检索系统的设计与实现开题报告 一、项目背景与意义 随着汽车市场的不断扩大和车辆保有量的急剧增加,车辆信息的…

【无人机设计与控制】 四轴飞行器的位移控制

摘要 本文介绍了一种四轴飞行器的位移控制方法,并通过Simulink模型进行仿真和验证。该方法通过PID控制器对飞行器的位移进行精确调节,以实现飞行器在三维空间中的稳定定位和路径跟踪。通过参数调节,能够适应不同的飞行任务需求,确…

梨花声音研修院退费配音市场现状分析

配音市场近年来显示出强劲的增长势头,涵盖了影视作品、广告、游戏、动画、电子书、企业宣传片等多个领域。随着全球化进程的加速和数字媒体的快速发展,配音需求不断增加,市场前景广阔。本文将详细探讨配音市场的现状,从市场规模、…

java中实现缓存的几种方式

一、通过HashMap实现缓存 这种方式可以简单实现本地缓存&#xff0c;但是实际开发中不推荐使用&#xff0c;下面我们来实现一下这种方式。 首先创建一个管理缓存的类 public class LocalCache {public static ConcurrentMap<String,String> cache new ConcurrentHashM…

SQL插入、更新和删除数据

SQL插入、更新和删除数据 一、直接向表插入数据 1.1、插入完整的行 这里所说的完整行指的是包含表内所有字段的数据行&#xff1b;假设表中有n个字段&#xff0c;则插入完整行的语法&#xff1a; INSERT INTO 表名或视图名 VALUES(字段1的值,字段2的值,字段3的值,...,字段n的…

基于Java+SpringBoot+Vue+MySQL的地方美食分享网站

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于SpringBootVue的地方美食分享网站【附源码文档】、前后…

【Redis入门到精通一】什么是Redis?

目录 Redis 1. Redis的背景知识 2.Redis特性 3.Redis的使用场景 4.Ubuntu上安装配置Redis Redis Redis在当今编程技术中的地位可以说非常重要&#xff0c;大多数互联网公司内部都在使用这个技术&#xff0c;熟练使用Redis已经成为开发人员的一个必备技能。 本章将带领读者…