IZUG846W:从远程站点收到了对 az/OSMF REST 服务的 HTTP 请求

IZUG846W:从远程站点收到了对 az/OSMF REST 服务的 HTTP 请求

我设置了 z/OSMF 并在尝试访问 url 时收到此错误https://my.zos.com/zosmf/restjobs/jobs

{ “errorID”:“IZUG846W”,“errorMsg”:“IZUG846W:从远程站点接收到 z/OSMF REST 服务的 HTTP 请求。但是,请求被拒绝,因为远程站点 \“\” 不允许访问目标系统 \“my.zos.com\” 上的 z/OSMF 服务器 \“IZUSVR\”。“}

错误消息没有提供足够的信息来确定根本原因。其他人遇到过这个问题吗?

答案1

更好的选择是,并且我相信这是默认设置,保持 CSRF_SWITCH(ON),这需要设置白名单,以便只有白名单中的主机才能发出请求。

白名单是 RACFZMFAPLA资源类配置文件,格式为IZUDFLT.ZOSMF.REST.<zosmf-service>.<reversed-host-name>。所有此类配置文件都必须使用 UACC(NONE) 定义,并允许对服务器 ID 进行读取访问(默认为 IZUSVR)。

示例配置文件IZUDFLT.ZOSMF.REST.*.com.whoa.test.myserver将允许来自主机名 myserver.test.whoa.com 的入站跨源请求。来自直接访问 z/OSMF 主机的 Web 浏览器的同源请求不受 CSRF 保护。

答案2

如果您自己生成 REST 请求,则可以添加标头 X-CSRF-ZOSMF-HEADER 并添加任意值来解决这个问题。例如,Firefox postman 允许您添加标头我在 Postman 中看到了之前和之后的图片

处理挑剔的 z/OSMF 服务器的另一种好方法是通过 CURL 驱动 API

curl -k -H “X-CSRF-ZOSMF-HEADER:虚拟” -u:https://:/zosmf/restfiles/ds?dslevel=T*

在 zowe.org 中,我们提供了一组不坚持标头并抽象出 z/OSMF 的一些细微差别的 REST API,以及一个命令行界面和一个漂亮的 JES 资源管理器以及几个用于在浏览器中运行的数据集和 USS 文件的文件资源管理器,所以如果您有时间,请浏览 zowe.org 并让我们知道它是否有帮助。

干杯,

答案3

默认情况下,z/OSMF 配置为安全模式,以免意外打开安全漏洞。提供的消息表明远程系统(REST 调用的源)可能不安全。这意味着请求被拒绝。

避免此问题的一种方法是修改IZUPRMnn初始化 z/OSMF 的成员。参数:

CSRF_SWITCH(ON)可以将其更改为默认值, CSRF_SWITCH(OFF)以禁用跨站点脚本安全机制。

可以找到 z/OSMF 的参数这里

下面包含了特定的条目CSRF_SWITCH以供参考,并且基于 z/OS 2.3。

CSRF_SWITCH(开|关)

指示是否为 REST API 请求启用跨站点请求伪造 (CSRF) 自定义标头检查。默认情况下,CSRF_SWITCH 设置为 ON,以确保您的安装受到保护,免受 CSRF 攻击。但是,在某些有限情况下(例如测试),您可以选择通过设置 CSRF_SWITCH=OFF 暂时禁用 CSRF 检查。但是,建议您保持此设置处于启用状态以防止 CSRF 攻击。有关更多信息,请参阅 IBM z/OS 管理工具编程指南。默认值:ON

可以找到有关 z/OSMF 配置的更多信息这里

相关内容