17

JBoss AS 5 では、*-ds.xml で定義されたデータソースがありますが、ユーザー名/暗号化されたパスワードを *-jboss-beans.xml に入れます。

JBoss AS 7.1 では、データソースは standalone.xml または domain.xml で定義されます。AS 7.1 では、暗号化されたパスワードをどこに置くのですか?

言い換えれば、AS 7 ではクリアなパスワードはどのように暗号化され、保護されるのでしょうか?

4

5 に答える 5

40

AS7では、SecureIdentityLoginModuleを使用して、暗号化されたパスワードドメインを追加できます。たとえば、standalone.xmlまたはdomain.xmlでセキュリティドメインを定義できます。

<security-domain name="EncryptedPassword">
  <authentication>
    <login-module code="SecureIdentity" flag="required">
      <module-option name="username" value="test"/>
      <module-option name="password" value="encrypted_password"/>
    </login-module>
  </authentication>
</security-domain>

次に、standalone.xmlまたはdomain.xmlでこのuserid / pwdの組み合わせを使用する特定のデータソースに、このセキュリティドメインを追加できます。

  <datasource ... >
       .....
       <security>
              <security-domain>EncryptedPassword</security-domain>
       </security>
  </datasource>

パスワード自体を暗号化するには、次のコマンドを実行できます(特定のAS7ダウンロードのpicketboxjarとloggingjarのバージョンを確認して、それに応じて置き換えてください)。

java -cp $JBOSS_HOME/modules/org/picketbox/main/picketbox-4.0.6.<beta|final>.jar:$JBOSS_HOME/modules/org/jboss/logging/main/jboss-logging-3.1.0.<some_version>.jar:$CLASSPATH org.picketbox.datasource.security.SecureIdentityLoginModule password

これにより、セキュリティドメインで使用できる暗号化されたパスワードが返されます。

JBoss AS7セキュリティサブシステムの詳細については、こちらをご覧ください。オープンソースは素晴らしいので、 SecureIdentityLoginのソースコードでエンコーディングコードがどのように機能するかを確認できます。ソースコードでBlowfish、暗号化に使用されていることがわかります。

于 2012-05-10T22:03:48.203 に答える
4

これを Windows で実行することに興味がある人 (私の場合は JBoss EAP 6.4 で...)

set JBOSS_HOME=C:\dev\jboss\jboss-eap-6.4
set MYPATH=%JBOSS_HOME%\modules\system\layers\base\org\picketbox\main\picketbox-4.1.1.Final-redhat-1.
jar;%JBOSS_HOME%\modules\system\layers\base\org\jboss\logging\main\jboss-logging-3.1.4.GA-redhat-2.jar;
java -classpath %MYPATH% org.picketbox.datasource.security.SecureIdentityLoginModule SecretPass

Encoded password: 13e0362237c93a9cda89f5b3da271521

これが役に立てば幸いです、マッテオ

于 2016-08-01T19:47:04.713 に答える
2

環境 CentOS リリース 6.3、JBoss-EAP-6.0.0 では、パスワード暗号化に picketbox-4.0.9.Final-redhat-1.jar を使用して、code="SecureIdentity" でのみ機能しました。

<security-domain name="some-ds-EncryptedPassword">
  <authentication>
    <login-module code="SecureIdentity" flag="required">
      <module-option name="username" value="username"/>
      <module-option name="password" value="encrypted_password"/>
    </login-module>
  </authentication>
</security-domain>

code="SecureIdentityLogin" は、"PB00024: アクセスが拒否されました: 認証されていない発信者: null" を返します。

ソース: https://docs.jboss.org/author/display/AS7/Security+subsystem+configuration

于 2013-03-26T15:15:57.773 に答える
2

jar を使用して単純なプロジェクトを作成します( jboss-logging-3.1.4.GA-redhat-2.jar picketbox-4.1.1.Final-redhat-1.jar picketbox-commons-1.0.0.final-redhat-3.jar picketbox -infinispan-4.1.1.Final-redhat-1.jar) を入力し、入力引数を使用してカスタム クラスを実行します。

public class Test {

    public static void main(String[] args) throws Exception {
        new org.picketbox.datasource.security.SecureIdentityLoginModule()
                .main(args);

    }

}

出力は次のようになります: エンコードされたパスワード: 3d5bc094c128...

于 2016-06-17T11:51:44.277 に答える