Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
4.2. JBoss EAP 6 で動作可能なネットワークファイアウォールの設定
概要
ほとんどの実稼働環境では、ネットワークセキュリティー全体のストラテジーの一部としてファイアウォールを使用します。複数のサーバーインスタンスが相互に通信したり、Web サーバーやデータベースなどの外部サービスと通信したりする必要がある場合は、ファイアウォールにこれを考慮する必要があります。適切に管理されたファイアウォールは、操作に必要なポートのみを開き、ポートへのアクセスを特定の IP アドレス、サブネット、およびネットワークプロトコルに制限します。
前提条件
- 開く必要があるポートを判断します。
- ファイアウォールソフトウェアを理解していること。この手順では、Red Hat Enterprise Linux 6 の system-config-firewall コマンドを使用します。Microsoft Windows Server にはファイアウォールが組み込まれ、プラットフォームごとに複数のサードパーティーのファイアウォールソリューションを利用できます。Microsoft Windows Server では、PowerShell を使用してファイアウォールを設定できます。
前提条件
この手順では、以下を前提として環境のファイアウォールを設定します。
- オペレーティングシステムは Red Hat Enterprise Linux 6 です。
- JBoss EAP 6 はホスト 10.1.1.2 で実行さ
れ
ます。オプションで、サーバーには独自のファイアウォールがあります。 - ネットワークのファイアウォールサーバーは、ホスト
10.
1.1.1 のインターフェースeth0
で実行され、外部インターフェースeth1
があります。 - ポート
5445
のトラフィック(JMS で使用されるポート)を JBoss EAP 6 に転送する必要があります。ネットワークファイアウォールを介して他のトラフィックを許可しないでください。
手順4.1 ネットワークファイアウォールと JBoss EAP 6 が連携するための管理
管理コンソールへのログイン
管理コンソールへのログインデフォルトでは、で実行され http://localhost:9990/console/ ます。ソケットバインディンググループが使用するソケットバインディングを決定します。
- 管理コンソールの上部にある Configuration ラベルをクリックします。
- General Configuration メニューを展開します。Socket Binding を選択します。
- Socket Binding Declarations 画面が表示されます。最初は、
standard-sockets
グループが表示されます。右側のコンボボックスからそのグループを選択して、別のグループを選択します。
注記スタンドアロンサーバーを使用する場合は、1 つのソケットバインディンググループのみが存在します。ソケット名とポートのリストが表示されます(ページごとに 8 つの値)。テーブルの下にある矢印ナビゲーションを使用すると、ページを移動できます。開く必要があるポートを判断します。
特定ポートの機能および環境の要件によっては、一部のポートをファイアウォール上で開く必要がある場合があります。JBoss EAP 6 にトラフィックを転送するようファイアウォールを設定します。
以下の手順を実行して、必要なポートでトラフィックを許可するようネットワークファイアウォールを設定します。- root ユーザーとしてファイアウォールマシンにログインし、コマンドプロンプトにアクセスします。
- system-config-firewall コマンドを実行してファイアウォール設定ユーティリティーを起動します。ファイアウォールシステムにログインする方法に応じて、GUI またはコマンドラインユーティリティーが起動します。このタスクでは、SSH でログインし、コマンドラインインターフェースを使用します。
- キーボードの TAB キーを使用して Customize ボタンに移動し、ENTER キーを押します。Trusted Services 画面が表示されます。
- 値は変更しないでくださいが、TAB キーを使用して Forward ボタンに移動し、ENTER を押して次の画面に移動します。他のポート画面が 表示されます。
- TAB キーを使用して < Add> ボタンに 移動し、ENTER を押します。Port and Protocol 画面が表示されます。
- Port / Port Range フィールドに
5445
を入力し、TAB キーを使用して Protocol フィールドに移動し、tcp
と入力します。TAB キーを使用して OK ボタンに移動し、ENTER を押します。 - TAB キーを使用して、Port Forwarding 画面に到達するまで Forward ボタンに移動します。
- TAB キーを使用して < Add> ボタン に移動し、ENTER キーを押します。
- 以下の値を入力して、ポート
5445
のポート転送を設定します。- 送信元インターフェース:
eth1
- protocol:
tcp
- ポート/ポート範囲:
5445
- 宛先 IP アドレス: 10
.1.1.2
- ポート/ポート範囲:
5445
TAB キーを使用して OK ボタンに移動し、ENTER を押します。 - TAB キーを使用して Close ボタンに移動し、ENTER を押します。
- TAB キーを使用して OK ボタンに移動し、ENTER を押します。変更を適用するには、警告を確認して Yes をクリックします。
JBoss EAP 6 ホストでファイアウォールを設定します。
一部の組織では、JBoss EAP 6 サーバー自体でファイアウォールを設定し、操作に必要でないすべてのポートを閉じます。「JBoss EAP 6 により使用されるネットワークポート」 を参照して開くポートを決定してから、残りを閉じます。Red Hat Enterprise Linux 6 のデフォルト設定は、22
(Secure Shell(SSH)および5353
(マルチキャスト DNS で使用される)以外のポートをすべて閉じます。ポートを設定する際には、誤ってロックアウトしないように、サーバーに物理アクセスがあることを確認します。
結果
ファイアウォールは、ファイアウォール設定で指定した方法で、トラフィックを内部 JBoss EAP 6 サーバーに転送するように設定されます。サーバーでファイアウォールを有効にすることを選択すると、アプリケーションの実行に必要なポートを除くすべてのポートが閉じられます。
手順4.2 PowerShell を使用した Microsoft Windows 上でのファイアウォールの設定
- デバッグの目的でファイアウォールを停止し、現在のネットワークの挙動がファイアウォールの設定と関係しているかどうかを判断します。
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall set allprofiles state off"'
- ポート 23364 で UDP 接続を許可します。以下に例を示します。
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=in action=allow protocol=UDP localport=23364"' Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=out action=allow protocol=UDP localport=23364"'
手順4.3 mod_cluster アドバタイズを許可するよう Red Hat Enterprise Linux 7 でファイアウォールを設定
- Red Hat Enterprise Linux 7 で mod_cluster のアドバタイズを有効にするには、以下のようにファイアウォールで UDP ポートを有効にする必要があります。
firewall-cmd --permanent --zone=public --add-port=23364/udp
注記UDP マルチキャストをアドバタイズする mod_cluster バランサーのデフォルトアドレスおよびポートは 224.0.1.105:23364 です。