目录
一、前言
有网友留言希望讲解一下Nginx中间件的测评要求,今天就来安排一下,nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,Nginx中间件作为一个HTTP服务器,主要进行网站的发布处理,其实Nginx中间件对于系统环境的依赖程度是非常高的,许多测评项对于Nginx中间件来说都是不适用的,直接查看系统的相关配置就行了,也只有安全审计这一块需要重点说一下。
首先为了方便,我们还是使用之前phpstudy环境中自带的Nginx中间件环境,在nginx主目录下运行cmd,查看Nginx中间件的版本号。
phpstudy环境中nginx
我们可以打开cmd,进入到nginx文件下,使用nginx -v命令来查看Nginx中间件的版本,如下图所示:
Nginx中间件版本
二、测评项
1、身份鉴别
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
正如我开头所说的一样,由于Nginx中间件没有像Apache Tomcat一样的管理控制台,对于身份的鉴别还是依赖于操作系统层面,一般来说我们都会填写不适用。
2、访问控制
a)应对登录的用户分配账户和权限;
b)应重命名或删除默认账户,修改默认账户的默认口令;
c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;
d)应授予管理用户所需的最小权限,实现管理用户的权限分离;
e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问;
同样的原因,也是不适用。
3、安全审计
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
Nginx中间件日志分为error.log错误日志和access.log访问日志,两种日志都开启就算是符合要求,我们可以查看配置文件nginx.conf,access_log off;表示关闭access_log,即不记录访问日志,只要没有这个语句,日志都是默认开启的。
配置文件nginx.conf
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
日志文件保存在nginx文件夹里的logs文件夹里,如下图所示:
日志文件夹
打开之后可以看到有access.log和error.log两个日志文件,如下图所示:
日志文件
打开后如下图所示,会看到记录的一些信息,包括主机ip、日期和时间、状态等信息。
access.log日志内容
我们也可以在配置文件nginx.conf中的log_format参数设置日志内容参数,如下图所示:
设置日志内容参数
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
定期备份最好查看一下日志的备份文件,并且询问管理员备份策略,至于避免受到未预期的删除、修改或覆盖等,就需要查看系统用户的权限了,选择日志文件右键单击属性,普通用户只有读取和执行的权限,没有删除、修改的权限。
日志权限
d)应对审计进程进行保护,防止未经授权的中断。
Nginx中间件的审计进程都是跟主进程相关的,没有办法单独终止,所以默认符合。
4、入侵防范
a)应遵循最小安装的原则,仅安装需要的组件和应用程序;
中间件不适用,可以到操作系统层面查看。
b)应关闭不需要的系统服务、默认共享和高危端口;
中间件不适用,可以到操作系统层面查看。
c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制
同访问控制一样,不适用,可以到操作系统层面查看。
d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求
同理不适用,可以到操作系统层面查看。
e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
应该对中间件进行漏洞扫描或者渗透测试,并查看相关报告,是否存在高危漏洞,查看漏洞是否被修补。
f)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
中间件不适用,可以到操作系统层面查看。
5、可信验证
a)可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
中间件不适用,可以到操作系统层面查看。
6、数据完整性
a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
由于nginx中间件没有自己独立的登录界面,而是通过登录到操作系统进行中间件的管理,因此许多数据都是通过系统层面传输的,因此只要保证系统层面的数据完整性就可以了,但是审计数据如果需要备份保存,就需要查看备份策略是否有相关技术保证数据完整性。
b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
需要询问管理员在存储相关重要数据时,是否定期做完整性校验,一般采用对比前后哈希值的方法来验证。
7、数据保密性
a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
由于nginx中间件没有自己独立的登录界面,而是通过登录到操作系统进行中间件的管理,因此许多数据都是通过系统层面传输的,因此只要保证系统层面的数据保密性就可以了,因此此项不适用。
b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
由于nginx中间件没有自己独立的登录界面,而是通过登录到操作系统进行中间件的管理,因此许多数据都是通过系统层面传输的,因此只要保证系统层面的数据保密性就可以了,因此此项不适用。
以上就是一项一项教你测等保2.0——Nginx中间件的所有内容,希望对大家有所帮助,之后会持续更新其余安全扩展要求的测评项,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯与知识。