9.2.3. ユーザー名とパスワード認証の有効化
SASL PLAIN メカニズムを使用して、ユーザー名とパスワードのセットに対して受信クライアント接続を認証できます。このメソッドは独自に使用することも、SSL/TLS 暗号化と組み合わせることもできます。
前提条件
cyrus-sasl-plain
プラグインがインストールされている。Cyrus SASL は、プラグインを使用して特定の SASL メカニズムをサポートします。特定の SASL メカニズムを使用する前に、関連するプラグインをインストールする必要があります。
Red Hat Enterprise Linux の Cyrus SASL プラグインのリストを表示するには、
yum search cyrus-sasl
コマンドを使用します。Cyrus SASL プラグインをインストールするには、yum install <plugin>
コマンドを使用します。
手順
必要に応じて、ユーザー名とパスワードを SASL データベースに追加します。
この例では、新しいユーザー (user1@example.com) を SASL データベース (qdrouterd.sasldb) に追加します。
$ sudo saslpasswd2 -c -f qdrouterd.sasldb -u example.com user1
注記完全なユーザー名は、入力したユーザー名 (
<user-name>
@<domain-name>
) です。ユーザーをデータベースに追加する場合、ドメイン名を指定する必要はありませんが、これを指定しないと、デフォルトのドメインが自動的に追加されます (ツールが実行されているマシンのホスト名)。qdrouterd
プロセスが SASL データベースを読み取りできることを確認します。qdrouterd
プロセスが非特権ユーザーとして実行される場合は、ルーターが読み取れるように SASL データベースのパーミッションまたは所有権を調整する必要がある場合があります。この例では、qdrouterd ユーザーが SASL データベースの所有者になります。
$ sudo chown qdrouterd /var/lib/qdrouterd/qdrouterd.sasldb
/etc/sasl2/qdrouterd.conf
設定ファイルを開きます。以下の例では、
/etc/sasl2/qdrouterd.conf
設定ファイルを示しています。pwcheck_method: auxprop auxprop_plugin: sasldb sasldb_path: qdrouterd.sasldb mech_list: ANONYMOUS DIGEST-MD5 EXTERNAL PLAIN GSSAPI
-
mech_list
属性にPLAIN
メカニズムが含まれることを確認します。 -
/etc/qpid-dispatch/qdrouterd.conf
設定ファイルを開きます。 router
セクションで、SASL 設定ファイルへのパスを指定します。router { mode: interior id: Router.A saslConfigDir: /etc/sasl2/ }
saslConfigDir
- ユーザー名とパスワードを格納する SASL データベースへのパスが含まれる SASL 設定ファイルへのパス。
SASL PLAIN を使用してクライアントを認証するように、この接続の
listener
を設定します。この例では、
listener
に基本的なユーザー名とパスワード認証を設定します。この場合、SSL/TLS 暗号化は使用されません。listener { host: 0.0.0.0 port: 5672 authenticatePeer: yes saslMechanisms: PLAIN }