約束の地

キャロ組

Rundeck 3 でユーザのパスワードを暗号化(ハッシュ化)する方法

結論

  • GUI で暗号化(ハッシュ化)の値を取得することができる
  • その値を設定するためには(現時点では)GUI ではできず、直接設定ファイル(realm.properties)を編集する必要がある

具体的な方法

1. 暗号化(ハッシュ化)したい値を入力する

暗号化(ハッシュ化)した値を取得するには画面右上の歯車のアイコンをクリックし、Password Utility を選んで UsernameValue To Encrypt を入力すればよいです。EncoderJetty 固定になっています*1

f:id:gregminster:20190211123446p:plain

2. 取得できた結果を確認する

上記の作業の結果、以下のように obfuscatemd5crypt の3つの値が取得できたはずです。

f:id:gregminster:20190211123624p:plain

この3つの値の違いは次のとおり……だと思います(自信がない)。

  • obfuscate (OBF)
    • 復号可能
    • ダイジェスト認証に用いる
  • md5
    • 復号不可(実質的にどうかは置いとくとして……)
    • 何度実行しても同じ結果なのでソルトやストレッチングの類は行われていない
      • 同じパスワードならばハッシュ値を使い回すことができるということ
  • crypt
    • 復号不可
    • ユーザ名とセットになっているので使い回すことはできない

公式ドキュメント には md5 の例が取り上げられていますが、どれも完全とは言えないと思います。この中から選ぶなら crypt がよさそうな気はしますが、それでも平文よりかはましな程度かと思います。

3. 取得できた値をユーザに適用する

こちらの記事 も参考にして、realm.properties に設定を書き込みます。

たとえば、yamada さんのパスワードを fuga にして、そのパスワードを md5 形式で記載し、さらに所属グループを foobar にする場合は以下のように書き加えます。

yamada: MD5:c32ec965db3295bad074d2afa907b1c3,foo,bar

4. Rundeck を再起動する

ユーザの設定を書き換えた場合は Rundeck の再起動が必要なようです。Ubuntu ならば次のようにして再起動しましょう。rundeck ではなく rundeckd です。 なお、再起動には結構な時間がかかります(私の環境では2分程度)。

$ sudo service rundeckd restart

5. 設定したパスワードでログインできるか確認する

以上の設定が正しくできていれば、設定したパスワードでログインできるはずです。

補足

Rundeck 3 については粒度を細かくして記事にしているので、他の記事 も参考にするとよいかもしれません。

あと、困ったら何はともあれ 公式ドキュメント です。

*1:プラグインで変更できる?

Powered by はてなブログ