7.7. JBoss Enterprise Application Platform 6 で動作するようネットワークファイアウォールを設定
概要
ほとんどの本番稼動環境では、ネットワークセキュリティー全体の方針の一部としてファイアウォールを使用します。複数のインスタンスがお互い通信したり、Web サーバーやデータベースなどの外部サービスと通信したりする必要がある場合は、ファイアウォールでこのことを考慮する必要があります。良く管理されたファイアウォールでは、操作する必要があるポートのみが開かれ、特定の IP アドレス、サブネット、およびネットワークプロトコルに対するポートへのアクセスが制限されます。
本書では、ファイアウォールの完全な説明は範囲外です。
前提条件
- 開く必要があるポートを決定します。それぞれの環境のポートのリストを決定するには、「JBoss Enterprise Application Platform 6 により使用されるネットワークポート」を参照してください。
- ファイアウォールソフトウェアについて理解する必要があります。この手順では、Red Hat Enterprise Linux 6 の
system-config-firewall
コマンドを使用します。Microsoft Windows Server には、ファイアウォールが組み込まれ、各プラットフォーム用の複数のサードパーティー製ファイアウォールソリューションが利用可能です。
前提
この手順では、以下の前提で環境のファイアウォールを設定します。
- オペレーティングシステムが Red Hat Enterprise Linux 6 です。
- JBoss Enterprise Application Platform 6 がホスト
10.1.1.2
で実行されます。オプションで、サーバーには独自のファイアウォールがあります。 - ネットワークファイアウォールサーバーは、ホスト
10.1.1.1
のインターフェースeth0
で実行され、外部インターフェースeth1
を持ちます。 - ポート 5445 (JMS で使用されるポート) のトラフィックを JBoss Enterprise Application Platform 6 に転送します。ネットワークファイアウォールで他のトラフィックは許可されません。
手順7.2 タスク
管理コンソールにログインします。
管理コンソールにログインします。デフォルトでは、http://localhost:9990/console/ で実行されます。管理対象ドメイン: サーバーグループが使用するソケットバインディンググループを決定します。
各サーバーグループは、ソケットバインディングの集まりであるソケットバインディンググループを使用します。ソケットバインディングはポート名と番号の名前/値ペアです。サーバーがグループ化するソケットバインディンググループを決定するには、画面の右上にある Server Groups ラベルをクリックします。次に、Available server group configurations テーブルでサーバーグループの名前をクリックします。画面下部の Server attributes 領域に、サーバーグループが使用するプロファイルとソケットバインディンググループが入力されます。ソケットバインディンググループが使用するソケットバインディングを決定します。
管理コンソールの右上にある Profiles ラベルをクリックします。画面の左側に一連のメニューが表示されます。下部のメニュー見出しは General Configuration です。この見出しの下の Socket Binding Groups 項目をクリックします。Socket Binding Declarations 画面が表示されます。最初に、standard-sockets
グループが表示されます。異なるグループは、右側のコンボボックスで選択することにより選択できます。注記
スタンドアロンサーバーを使用する場合は、1 つのソケットバインディンググループのみが存在します。ソケット名とポートのリストが表示されます (1 ページあたり 6 つの値)。テーブルの矢印ナビゲーションを使用してページを移動できます。開く必要があるポートを決定します。
お使いの環境の特別なポートの機能とニーズによっては、一部のポートがファイアウォールを介してアクセスできる必要があります。ソケットバインディングの目的がわからない場合は、「JBoss Enterprise Application Platform 6 により使用されるネットワークポート」を参照して、デフォルトのソケットバインディングとその目的のリストを確認してください。JBoss Enterprise Application Platform 6 にトラフィックを転送するようファイアウォールを設定します。
以下の手順を実行して、必要なポートでトラフィックを許可するようネットワークファイアウォールを設定します。- root ユーザーとしてファイアウォールマシンにログインし、コマンドプロンプトにアクセスします。
system-config-firewall
コマンドを実行してファイアウォール設定ユーティリティーを起動します。ファイアウォールシステムにログインした方法に応じて、GUI またはコマンドラインユーティリティーが起動します。このタスクでは、SSH 経由でコマンドラインインターフェースを使用してログインしていることを前提とします。- キーボードで TAB キーを使用して Customize ボタンに移動し、ENTER キーを押します。Trusted Services 画面が表示されます。
- どの値も変更せずに、TAB キーを使用して Forward ボタンに移動し、ENTER を押して次の画面に進みます。Other Ports 画面が表示されます。
- TAB キーを使用して <Add> ボタンに移動し、ENTER を押します。Port and Protocol 画面が表示されます。
- Port / Port Range フィールドに
5445
と入力し、TAB キーを使用して Protocol フィールドに移動し、tcp
と入力します。TAB キーを使用して OK ボタンに移動し、ENTER を押します。 - TAB キーを使用して、Forward ボタンに移動し、Port Forwarding 画面にアクセスします。
- TAB キーを使用して <Add> ボタンに移動し、ENTER キーを押します。
- 以下の値を入力してポート 5445 のポート転送を設定します。
- 送信元インターフェース: eth1
- プロトコル: tcp
- ポート/ポート範囲: 5445
- 送信先 IP アドレス: 10.1.1.2
- ポート/ポート範囲: 5445
TAB キーを使用して OK ボタンに移動し、ENTER を押します。 - TAB キーを使用して Close ボタンに移動し、ENTER を押します。
- TAB キーを使用して OK ボタンに移動し、ENTER を押します。変更内容を適用するには、警告を読み、Yes をクリックします。
JBoss Enterprise Application Platform 6 ホストでファイアウォールを設定します。
一部の組織では、JBoss Enterprise Application Platform 6 サーバー自体でファイアウォールを設定し、運用に必要ないすべてのポートを閉じます。「JBoss Enterprise Application Platform 6 により使用されるネットワークポート」 を参照して開くポートを決定し、残りのポートを閉じます。Red Hat Enterprise Linux 6 のデフォルトの設定では、22 (Secure Shell (SSH) 用) と 5353 (マルチキャスト DNS 用) 以外のすべてのポートが閉じられます。ポートを設定する場合は、間違ってロックアウトされないよう物理的にアクセスしてください。
結果
ファイアウォールが、ファイアウォール設定で指定したように、内部 JBoss Enterprise Application Platform 6 サーバーにトラフィックを転送します。サーバーでファイアウォールを有効にした場合は、アプリケーションを実行するために必要なポート以外のすべてのポートが閉じられます。