运行WebSphere MQ Server v7.1的Linux Server Box:
我在Linux中创建了一个属于’mq-users’组的用户’mq-
user’。然后,我创建了队列管理器QM_TEST
,并使用MQSC发出以下命令来创建队列并设置安全性:
SET AUTHREC OBJTYPE(QMGR) PRINCIPAL('mq-user') AUTHADD(ALL)
SET AUTHREC PROFILE(SYSTEM.MQEXPLORER.REPLY.MODEL) OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(INQ,DSP,GET)
SET SET AUTHREC PROFILE(SYSTEM.ADMIN.COMMAND.QUEUE) OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(INQ,DSP,PUT)
DEFINE CHANNEL (TEST_CHANNEL) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER('mq-user')
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS(*) MCAUSER('mq-user')
DEFINE QLOCAL (TEST_QUEUE)
SET AUTHREC PROFILE(TEST_QUEUE) OBJTYPE(QUEUE) PRINCIPAL('mq-user') AUTHADD(ALL)
DEFINE LISTENER (TEST_LISTENER) TRPTYPE (TCP) CONTROL (QMGR) PORT (1414)
START LISTENER (TEST_LISTENER)
运行WebSphere MQ Client v7.1和WebSphere MQ Explorer的Linux Client Box:
我以我的用户名(arrehman)登录,该用户名不属于mq-users组。但是,我可以通过Java应用程序和MQ
Explorer客户端访问我在上面创建的队列, 而无需传递任何用户凭证 。如果安全性有效,为什么会这样?
需要任何其他详细信息,请让我知道。谢谢。
这行:
SET CHLAUTH(TEST_CHANNEL) TYPE(ADDRESSMAP) ADDRESS(*) MCAUSER('mq-user')
说以下内容:
TEST_CHANNEL
…mq-user
换句话说,启用通道,以使任何连接都继承特权,mq- user
无论它们起源于何处以及它们所呈现的身份如何。因此,您看到的行为是基于上述CHLAUTH
规则的预期行为。
列出的规则还有其他一些问题:
PRINCIPAL
而不是GROUP
。在非Windows服务器上,如果指定PRINCIPAL
发生的情况,则QMgr将查找该ID,查询其主要组,然后根据该组设置授权。因此,如果mq-users
具有staff
或的主要组users
,则该组将获得授权,而mq-users
不是您想要的。始终使用,group
以便通过setmqaut
或获得预期的结果AUTHREC
。ALL
在QMgr上进行授予使ID /组具有管理性。QMgr级别的特权之一是SET
,具有SET
权限的组中的任何用户都可以设置授权控制列表等。因此,即使你只授予AUTHADD(INQ,DSP,PUT)
的mq-users
ID可以提交PCF命令授予所有访问所有对象。如果您只需要批准,CONNECT
并INQUIRE
在QMgr上。USERSRC(CHANNEL)
在映射上指定了ID,那么您的ID将被使用,并且很可能被拒绝。但是拒绝的原因可能是因为它在mqm
组中(默认CHLAUTH
规则阻止了它),或者是因为它所在的组中没有AUTHREC
记录。欲了解更多有关硬化WMQ,还有一些收集的资源在这里。该 硬化的WebSphere MQ
表现为V7.0。尽管v7.1具有新的控件,但其原理保持不变:
MCAUSER
通过在通道中对其进行硬编码或通过使用出口或CHLAUTH
规则动态设置它来将已认证的身份映射到一个值因此,我正在尝试在我的本地主机上获取服务应用程序凭据,并且遇到了一些问题。我创建并下载了json密钥,我想保护它们,而不是让它们变成纯文本。 我想知道最好的方法。我有这个代码: 这里的问题是我的JSON文件在我的存储库中以纯文本形式公开。
我开发了一个服务(service),它自动化了用户可以在另一个第三方站点(第三方站点)上执行的某些操作。 “我的服务”为用户提供以下功能: > 用户在服务中注册 用户向服务提供其第三方站点用户名/密码 该服务使用该凭据代表用户登录到第三方站点 该服务将第三方站点发布的cookie存储在其数据库中 从现在起,该服务开始使用以前存储的cookie(第三方站点的用户名/密码不会保存在任何位置)代表用户定
问题内容: 攻击 在凭证存储的情况下,一种可能的威胁模型是攻击者,它具有以下能力: 检查任何(用户)进程内存 读取本地(用户)文件 AFAIK,这种攻击的共识是无法阻止(因为必须将凭据存储在内存中,程序才能实际使用它们),但是有两种技术可以缓解这种攻击: 最小化敏感数据在内存中的存储时间 一旦不再需要数据,将覆盖内存 通过模糊措施来处理内存中的数据,继续移动数据以及其他安全性 特别是Python
问题内容: 在我的网站上,我有一个名为的变量,其中包含来自表单的输入。然后,我在用户页面上显示此变量(通过echo)。 使用此变量来避免任何安全风险的最佳方法是什么?我使用,但这还不够。 此变量也将保存到MySQL数据库。 问题答案: 为避免严重的安全问题,必须执行两项非常重要的操作。 您需要先对用户输入进行转义,然后再将其放入SQL查询中。转义表示转义所有特殊字符,如; 幸运的是,有一个函数已经
我正在开发一个在JBOSS Wildfly下运行的JSF2应用程序,它利用了Java的JAAS安全机制。 一切都按预期工作,我可以使用 request.login(用户名,密码)机制登录。 我还需要授权设备(我已使用cookie实现)作为登录过程的一部分。我试图实施的过程如下: 验证用户名和密码(但不登录) 检查设备授权并重定向到授权过程页面(如果尚未授权)。 登录(如果授权成功) 除非用户被授权
我最近一直在寻找一个如何在CentOS 7中安全保存git凭证的解决方案。 我想保存多个git存储库的凭据。 我想出的解决方案是将侏儒密钥环与任何版本的git一起使用。但我遇到了一些问题。我发现很多帖子说这在Redhat 7或Centos 7中不是一个好的解决方案。,它将被弃用。 但这对我不起作用,使用git时出错: 与gnome-keyring-daemon通信时出错 然后我把git升级到最后一