NGINX Plus R22 介绍

原创
2021/02/10 18:00
阅读数 244

作者 |  F5 - Liam Crilly

发表时间 | 2020 年 6 月 9 日

我们很高兴地宣布推出 NGINX Plus 版本 22 (R22)。NGINXPlus 基于 NGINX Open Source 构建而成,是唯一一款将软件负载均衡器、内容缓存、Web 服务器和 API 网关功能集于一身的多合一产品。该版本主要侧重于监控和身份验证,旨在增强大规模部署时的应用粒度和弹性。

NGINX Plus R22 的新增特性包括:

  • 客户端证书认证的增强功能–在线证书状态协议     (OCSP) 验证提供了多一层保护,可检查双向 TLS 的吊销证书。

  • 支持多个 IdP 的 OpenID Connect–我们在 NGINX Plus R15 中引入了OpenID Connect (OIDC) 集成功能,以支持我们的客户向其应用添加单点登录 (SSO)。NGINX Plus R22支持您轻松地与多个 OIDC 身份提供商 (IdP) 相集成。

  • 包含更多指标的实时活动监控仪表盘–仪表盘现在可显示有关 OIDC 活动的指标以及请求和连接限制的历史图表。

  • NGINX JavaScript 模块的增强功能– NGINX JavaScript 模块 (njs) 已更新至0.4.1,更新版修复了几个错误,并新增了几个特性,例如导入 JavaScript 模块和访问原始标头对象。

►重要变更

不再支持旧版操作系统

  • 不再支持 Alpine Linux 3.8

  • 正如NGINX Plus R21所宣布的,NGINX   Plus 不再支持 32 位平台(i386  架构)


新增特性详情


01
OCSP 验证客户端证书


NGINX Plus 支持双向 TLS,后者使用客户端证书来验证连接客户端的身份并建立加密连接。双向 TLS 可充分保证客户端的身份,但却带来了吊销证书管理负担。在线证书状态协议 (OCSP) 通过验证客户端证书的状态,有效地解决了此问题。

您可以配置 NGINX Plus使用 OCSP 来检查 X.509客户端证书的有效性,如RFC 6960所定义。

如要启用对 SSL 客户端证书的 OCSP 验证,则要使用ssl_ocsp新指令以及启用证书验证的ssl_verify_client指令。

除非您使用ssl_ocsp_responder指令定义一个不同的URI,否则NGINX Plus 会将 OCSP 请求发送到客户端证书中嵌入的 OCSP URI。

如要在由所有worker 进程共享的单个内存区域中缓存 OCSP 响应,则要使用ssl_ocsp_cache指令来定义区域的名称和大小。除非OCSP 响应中的nextUpdate值指定了不同的值,否则响应将被缓存 1 小时。

客户端证书的验证结果可在$ssl_client_verify变量中找到,包括 OCSP 失败的原因。

如果客户端证书不受信任或者 OCSP 响应无效,则 TLS 握手失败。在这种情况下,会返回状态代码495(SSLCertificate Error),并在错误日志中创建一个error严重性级别的条目:

YYYY/MM/DD hh:mm:ss [error] 31222#0: *5 certificate status "revoked" in the OCSP response while requesting certificate status, responder: 127.0.0.1



02
OpenID Connect 的增强功能

NGINX Plus 的OpenID Connect 参考实施将 SSO 扩展到现有应用和新应用,以最大限度地降低复杂性和成本。参考实施结合使用 NGINX Plus 特性和NGINX JavaScript 模块 (njs),与授权端点进行代码交换并从 IdP 接收 ID 令牌。ID令牌本身缓存在 NGINX Plus 键值存储中,并将不透明的会话令牌发送给客户端。然后,客户端通过提供有效的会话令牌进行身份验证,NGINX Plus 在访问后端应用之前会使用该会话令牌来验证 ID 令牌。

此版本为OIDC 参考实施带来了多项增强以及两个重大变更:

  1. 该配置现在可通过将来自入站请求的适当输入变量传递到多个map块中来支持多个 IdP。增强的灵活性减少了修改 OIDC 参考实施代码的需要。

  2. JavaScript 代码现在作为模块实施,因此它可以与其他 njs 解决方案共存于同一主机之上,同时无需在单个文件中管理所有 njs 代码。

请看下面的配置示例:

每个map块都允许多个值,以便可以支持多个 IdP 和 auth 参数(客户端密钥、JWK 密钥文件、授权端点)。在此,我们使用$host变量作为输入参数,不过您也可以指定从请求标头派生的任何变量。

NGINX Plus API 现在可以追踪与OpenID Connect 登录有关的活动,从而帮助进行监控和故障排除。有关 OpenID Connect 参考实施的更多信息,请参见GitHub 存储库



03
速率和连接限制的实时仪表盘图表


DDoS 和暴力破解密码猜测攻击是应用面临的两个严重威胁。借助 NGINX Plus,您可以通过速率限制,即限制每个客户端在特定时间段内可以发出的请求数,缓解这些攻击的影响。

NGINX Plus R20为 NGINX Plus API 添加了对请求速率连接限制的实时监控(在 /api/version/http/limit_reqs and /api/version/http/limit_conns 端点)。NGINX Plus 实时活动监控仪表盘现提供该信息,累积计数以表格形式显示,时间戳计数以图表形式显示:

  • 请求速率限制指标位于 HTTP     区域选项卡的限制请求表中

  • 连接限制指标位于 TCP/UDP     区域选项卡的限制连接表中

limit_req_zonelimit_conn_zone指令所定义的每个区域在该表中对应显示一行。如要显示图表,请点击该行左端的图表图标。

展开的图表会继续更新,并以堆积面积图的形式显示每个时间间隔的值。您可以通过以下方式自定义显示的信息:

  • 选择显示的时间范围:1 分钟、5 分钟或 15 分钟

  • 将鼠标悬停在图表上,可显示某个时间点的精确计数

  • 将鼠标悬停在图例区域中的统计数据类型上,可在图表中突出显示该统计数据

  • 点击图例区域中的统计类型,可在显示和不显示之间切换

  • 左右拖动图表可查看历史数据

默认的仪表盘更新间隔为 1 秒,每个图表可存储大约 30 分钟的历史数据。延长仪表盘更新间隔(减少更新频率)可增加可用的历史数据量。请注意,仪表盘图表并非永久存在,当您离开或重新加载选项卡时,历史数据就会丢失。



04
NGINX JavaScript 模块的增强功能


NGINX JavaScript 模块扩展了NGINX Plus 功能,可支持广泛的用例,包括对流量的更精细控制、合并跨应用的 JavaScript 函数以及抵御安全威胁。NGINX JavaScript 模块已更新至0.4.1,并且包含以下特性:

  • 新的js_import指令,用于导入实施定位和变量处理程序的多个模块文件

  • 改进的标头支持,包括新的原始标头对象

  • 您可以在 njs 代码中使用TypeScript定义文件

  • 支持将外部值转换为本地 JavaScript 对象

以下代码和配置显示了在遇到错误时,如何使用新的r.rawHeadersIn对象记录客户端发送的准确的标头集。

请看404响应的日志条目示例:



05
身份验证失败时延迟响应


为了缓解密码暴力攻击和撞库攻击等定时攻击,您可以将NGINX Plus 设置为身份验证失败时延迟响应。新的 auth_delay 指令指定了这种延迟,并可以将其应用于Auth BasicAuth JWTAuth Request模块处理的身份验证请求。



06
升级或试用 NGINX Plus


如果您是NGINX Plus 用户,我们强烈建议您尽快升级到 NGINX Plus R22。您还将收到其他的一些修复和改进,后者有助于 NGINX 在您需要提出支持申请时为您提供帮助。

如果您还不是NGINX Plus 用户,我们诚邀您试用它,它具备强大的安全性,可充当负载均衡器、API 网关或者具备增强的监视和管理 API 的完全受支持的 Web 服务器。请立即下载30 天免费试用版,亲自了解NGINX Plus 可如何帮助您交付和扩展应用。


扫码立即下载
NGINX Controller 30天免费试用版

扫码联系我们  



end



活动推荐

点击图片查看活动详情






你还不能错过:







你还不能错过:



你还不能错过:






URL是如何关联location配置块的?
如何configure定制出属于你的Nginx?
HTTP请求是如何关联Nginx server{}块的?
问答、课件及录像地址:NGINX从入门到精通进阶系列培训
 F5收购NginX



点击下方阅读原文,加入NGINX开源社区!

  

本文分享自微信公众号 - NGINX开源社区(gh_0d2551f1bdb6)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部