1

jboss-5.0.1.GAを使用していて、shutdown.shへのアクセスを制限したい

jmx-console-users.propertiesに、

admin=<password>

jmx-invoker-service.xmlで、インターセプターのコメントを解除しました

 <descriptors>
           <interceptors>
              <!-- Uncomment to require authenticated users-->
              <interceptor code="org.jboss.jmx.connector.invoker.AuthenticationInterceptor"
                 securityDomain="java:/jaas/jmx-console"/>

              <!-- Interceptor that deals with non-serializable results -->
              <interceptor code="org.jboss.jmx.connector.invoker.SerializableInterceptor"
                 policyClass="StripModelMBeanInfoPolicy"/>
           </interceptors>
        </descriptors>

コマンドを試しました

../jboss-5.0.1.GA/bin/shutdown.sh -u admin -p <password>

次の例外が発生しました。

Exception in thread "main" java.lang.SecurityException: Failed to authenticate principal==admin, securityDomain=jmx-console
    at org.jboss.jmx.connector.invoker.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:88)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:90)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at org.jboss.invocation.jrmp.server.JRMPProxyFactory.invoke(JRMPProxyFactory.java:180)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668) ......

私は何かを逃しましたか?

4

4 に答える 4

0

エコー -n [パスワード] | openssl dgst -md5 -バイナリ | openssl base64

上記のスクリプトを実行して、md5 を使用して暗号化されたパスワードを取得します。それを jmx-console-users.properties と stopServer.sh に入れます

于 2015-02-10T11:47:57.740 に答える
0

http://docs.oracle.com/javase/1.4.2/docs/guide/security/CryptoSpec.html#AppAから

Message Digest Algorithms
The algorithm names in this section can be specified when generating an instance of MessageDigest. 

MD2: The MD2 message digest algorithm as defined in RFC 1319. 

MD5: The MD5 message digest algorithm as defined in RFC 1321. 

SHA-1: The Secure Hash Algorithm, as defined in Secure Hash Standard, 
       NIST FIPS 180-1. 

SHA-256, SHA-384, and SHA-512: New hash algorithms for which the draft Federal
Information Processing Standard 180-2, Secure Hash Standard (SHS) is now available.
SHA-256 is a 256-bit hash function intended to provide 128 bits of security against
collision attacks, while SHA-512 is a 512-bit hash function intended to provide 256
bits of security. A 384-bit hash may be obtained by truncating the SHA-512 output.
于 2012-06-19T20:49:27.940 に答える
0

私は問題を理解しました:

コマンドを実行すると:

../jboss-5.0.1.GA/bin/shutdown.sh -u admin -p <password>

jmx-invoker-service.xml で「securityDomain」を探し、login-config.xml に移動して一致するものを見つけます。 securityDomain="java:/jaas/jmx-console"/

login-config.xml 構成は次のようになります。

<application-policy name="jmx-console">
<authentication>
  <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
    flag="required">
    <module-option name="usersProperties">props/jmx-console-users.properties</module-option>
    <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
    <module-option name="hashAlgorithm">MD5</module-option> 
    <module-option name="hashEncoding">base64</module-option>        
  </login-module>
</authentication>

次に、jmx-console-users.properties に移動して、定義されたユーザー名とパスワードを見つけます。

admin=fGoYCzaJagqMAnh+6vsOTA==

プロパティ ファイルのパスワードは、MD5 を使用して暗号化されます (平文は「password1」です)。

秘訣は、平文を使用する必要があるコマンドです。

のように:../jboss-5.0.1.GA/bin/shutdown.sh -u admin -p password1 しかし、私はこのコマンドを暗号化パスワードを使用してスクリプトに入れました

../jboss-5.0.1.GA/bin/shutdown.sh -u admin -p fGoYCzaJagqMAnh+6vsOTA==

まだ2つの質問があります:

1.暗号化されたパスワードでシャットダウンを使用する方法はありますか? スクリプトに平文のパスワードを入れたくありません。2.MD5 以外の暗号化アルゴリズムのオプションは何ですか? MD5 より強力なアルゴリズムはありますか? 誰でもこれについて助けることができますか?

于 2012-06-18T21:21:44.420 に答える