第8章 ネットワーク設定
Red Hat Single Sign-On は、ネットワークの制限がいくつかありますが、追加設定なしで実行できます。1 つは、すべてのネットワークエンドポイントが localhost
にバインドされるため、認証サーバーは実際には 1 つのローカルマシンでのみ使用可能です。HTTP ベースの接続では、80 や 443 などのデフォルトポートを使用しません。HTTPS/SSL は追加設定なしでは設定されず、Red Hat Single Sign-On には多くのセキュリティー脆弱性があります。最後に、Red Hat Single Sign-On は、外部サーバーへのセキュアな SSL および HTTPS 接続を作成する必要があるため、エンドポイントを正しく検証できるようにトラストストアを設定する必要があります。本章では、これらすべてについて説明します。
8.1. バインドアドレス
デフォルトでは、Red Hat Single Sign-On は localhost ループバックアドレス 127.0.0.1
にバインドされます。これは、認証サーバーがネットワークで利用可能な場合に非常に便利なデフォルトではありません。通常、パブリックネットワークにリバースプロキシーまたはロードバランサーをデプロイし、トラフィックをプライベートネットワーク上に個別の Red Hat Single Sign-On サーバーインスタンスにルーティングすることが推奨されます。ただし、いずれの場合も、localhost
以外のインターフェイスにバインドするようにネットワークインターフェイスを設定する必要があります。
バインドアドレスの設定は非常に簡単で、操作モードでの操作 の章で説明されているとおり、コマンドラインでブートスクリプト standalone.sh または domain.sh のいずれかを使用して実行できます。
$ standalone.sh -b 192.168.0.5
-b
スイッチは、任意のパブリックインターフェイスの IP バインドアドレスを設定します。
または、コマンドラインでバインドアドレスを設定したくない場合は、デプロイメントのプロファイル設定を編集することもできます。プロファイル設定ファイル (操作モード に応じて standalone.xml または domain.xml) を開き、interfaces
XML ブロックを探します。
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> </interfaces>
public
インターフェイスは、公開されているソケットを作成するサブシステムに対応します。これらのサブシステムの 1 つが、Red Hat Single Sign-On の認証エンドポイントを提供する Web レイヤーです。management
インターフェイスは、JBoss EAP の管理レイヤーによって開かれたソケットに対応します。具体的には、jboss-cli.sh
コマンドラインインターフェイスと JBoss EAP Web コンソールを使用できるようにするソケットです。
public
インターフェイスを確認すると、特別な文字列 ${jboss.bind.address:127.0.0.1}
があることを確認できます。この文字列は、Java システムプロパティーを設定してコマンドラインで上書きできる値 127.0.0.1
を示します。
$ domain.sh -Djboss.bind.address=192.168.0.5
-b
は、このコマンドの簡単な表記です。そのため、バインドアドレス値をプロファイル設定で直接変更したり、起動時にコマンドラインで変更することができます。
インターフェイス
の定義を設定する際には、さらに多くのオプションを利用できます。詳細は、JBoss EAP 設定ガイドの ネットワークインターフェイス を参照してください。