jboss wildfly 17.0.1-静默身份验证质询文件的正确位置是什么?

时间:2019-12-02 09:09:52

标签: jboss wildfly

您好,在互联网上阅读了许多文章之后,我知道jboss wildfly在tmp目录中编写了一个质询文件以进行静默身份验证(JBOSS-LOCAL-USER机制)。

根据我的理解,质询文件应位于例如$ JBOSS_HOME / standalone / tmp / auth / local2639861357474361285.challenge。如果管理CLI客户端可以在同一台计算机上成功访问文件,则静默身份验证成功。

让我们说:

应用服务器主机名:appserver

jboss wildfly版本:17.0.1

wildfly作为服务帐户运行-wildfly:wildfly

我的作品帐户:mike

如果我使用Mike SSH到Appserver,然后运行$ JBOSS_HOME / bin / jboss-cli.sh -c,我认为我应该使静默身份验证失败,但最终会成功。然后我尝试:

  1. tcpdump收听9990以查看是否有任何有价值的信息,并发现:
  

0x0000:4500 0060 abf6 4000 4006 9721 0a3f 7181 E..` .. @。@ ..!。??   

0x0010:0a3f 7181 276a 932e 7a86 87cf 5604 7121。?q.'j..z ... V.q!   

0x0020:8018 0058 f7d2 0000 0101 080a 0fcc 2e80 ... X ............   

0x0030:0fcc 2e6a 0000 0028 032f 746d 702f 6c6f ... j ...( ./ tmp / lo   

0x0040:6361 6c35 3336 3339 3030 3330 3638 3933 cal5363900306893   

0x0050:3137 3238 3532 2e63 6861 6c6c 656e 6765 172852。挑战

  1. auditctl各种路径以查看是否有任何有价值的信息,并发现挑战文件是在 / tmp /
  2. 中创建的

是否有任何系统属性来设置质询文件的位置?感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

Wildfly似乎正在使用java.io.tmpdir系统属性。一种替代方法是使用命令行运行standalone.sh。例如,如果我运行$WILDFLY_HOME/bin/standalone.sh -Djava.io.tmpdir=/var/tmp,我可以在启动日志中看到:

...
    java.io.tmpdir = /var/tmp
...

没有它我得到:

...
    java.io.tmpdir = /tmp
...

答案 1 :(得分:0)

事实证明,当我根据https://docs.jboss.org/author/display/WFLY/Elytron+Subsystem#ElytronSubsystem-usedefaultelytronmgmtauth配置http接口时,我的http接口设置变为:

 <management-interfaces>
        <http-interface http-authentication-factory="management-http-authentication" ssl-context="httpsSSC">
            <http-upgrade enabled="true" sasl-authentication-factory="management-sasl-authentication"/>
            <socket-binding http="management-http" https="management-https"/>
        </http-interface>
    </management-interfaces>

挑战文件将在/tmp/localxxxxxxxx.challenge中创建。

最后,我决定保留默认设置,而不是使用elytron进行管理身份验证。