ユーザーロールファイアウォールセキュリティポリシー
ユーザーロールファイアウォールポリシーを使用すると、管理者は、割り当てられたロールに基づいて、ユーザーのネットワークアクセスを許可または制限できます。ユーザーロールファイアウォールは、脅威の軽減を強化し、より有益なフォレンジックリソースを提供し、規制コンプライアンスのためのレコードアーカイブを改善し、定期的なアクセスプロビジョニングを強化します。
ユーザーロールファイアウォールについて
IP情報のみに基づくネットワークセキュリティの実施、監視、報告は、今日のダイナミックでモバイルな労働力にとって、すぐには十分ではなくなるでしょう。ユーザーファイアウォールポリシーを統合することで、管理者は、割り当てられた役割に基づいて、従業員、請負業者、パートナー、およびその他のユーザーのネットワークアクセスを許可または制限できます。ユーザーロールファイアウォールは、脅威の軽減を強化し、より有益なフォレンジックリソースを提供し、規制コンプライアンスのためのレコードアーカイブを改善し、定期的なアクセスプロビジョニングを強化します。
ユーザー ロール ファイアウォールは、次の 2 つのアクションをトリガーします。
トラフィックに関連付けられたユーザーとロールの情報を取得する
ゾーンペアのコンテキスト内の6つの一致基準に基づいて実行するアクションを決定します
source-identity フィールドは、ユーザーロールのファイアウォールを他のタイプのファイアウォールと区別します。ソース ID が特定のゾーン ペアのポリシーで指定されている場合、それはユーザー ロール ファイアウォールです。ポリシーの検索が行われる前に、ユーザーとロールの情報を取得する必要があります。ソース ID がどのポリシーでも指定されていない場合、ユーザーとロールの検索は必要ありません。
ユーザーとロール情報を取得するために、認証テーブルで、トラフィックに対応する IP アドレスを持つエントリが検索されます。エントリが見つかった場合、そのユーザーは認証済みユーザーとして分類されます。見つからない場合、ユーザーは認証されていないユーザーとして分類されます。
認証されたユーザーに関連付けられているユーザー名とロールは、ポリシー照合のために取得されます。認証分類と取得されたユーザーおよびロール情報の両方が、source-identity フィールドの照合に使用されます。
トラフィックの特性は、ポリシーの仕様と一致します。ゾーンコンテキスト内では、ユーザーまたはロールに一致する最初のポリシーと5つの標準一致基準によって、トラフィックに適用されるアクションが決まります。
以下のセクションでは、ユーザーとロールの取得とポリシー検索プロセスの相互作用、ユーザーとロールの割り当てを取得する方法、ユーザー ロールのファイアウォール ポリシーを構成する手法、およびユーザー ロールのファイアウォール ポリシーを構成する例について説明します。
ユーザー ロールの取得とポリシー ルックアップ プロセス
ポリシールックアップの場合、ファイアウォールポリシーはゾーンペア(fromゾーンとtoゾーン)ごとにグループ化されます。ゾーン ペアのコンテキスト内で、IP ベースのファイアウォール ポリシーは、送信元 IP、送信元ポート、宛先 IP、宛先ポート、プロトコルの 5 つの基準に基づいてトラフィックにマッチングされます。
ユーザーロールのファイアウォールポリシーには、6番目の一致条件であるソースIDが含まれます。source-identity フィールドは、ポリシーが適用されるユーザーとロールを指定します。ゾーンペア内のポリシーでソースIDフィールドが指定されている場合、ポリシールックアップを続行する前に、ユーザーとロールの情報を取得する必要があります。(ゾーンペア内のすべてのポリシーが any
に設定されているか、source-identity フィールドにエントリがない場合、ユーザーとロールの情報は不要で、ポリシーの検索には 5 つの標準一致条件が使用されます)。
ユーザー識別テーブル (UIT) は、既に認証されているアクティブ ユーザーのユーザーとロールの情報を提供します。テーブルの各エントリは、認証されたユーザーと、そのユーザーに関連付けられているロールに IP アドレスをマッピングします。
トラフィックでユーザーとロールのデータが必要な場合、登録されている各 UIT で同じ IP アドレスを持つエントリが検索されます。ユーザーが認証されていない場合、その IP アドレスのエントリはテーブルにありません。UIT エントリが存在しない場合、ユーザーは認証されていないユーザーと見なされます。
ポリシー参照は、ユーザーとロールの情報が取得された後に再開されます。トラフィックの特性が、ポリシーの一致基準と照合されます。ポリシーの source-identity フィールドには、1 つ以上のユーザーまたはロール、および次のキーワードを指定できます。
authenticated-user | 認証されたユーザー。 |
unauthenticated-user | 認証されていないユーザー。 |
any | 認証に関係なくすべてのユーザー。source-identity フィールドが設定されていない場合、またはゾーン ペアのすべてのポリシーで any に設定されている場合、5 つの条件のみが一致します。 |
unknown-user | 停電など、認証サーバーの切断によりユーザーを認証できない。 |
たとえば、mgmt ロールに割り当てられている user-c について考えてみます。trustゾーンからuntrustゾーンへのトラフィックが、IPアドレス198.51.100.3のuser-cから受信されると、ポリシー検索が開始されます。 表 1 は、信頼から信頼解除ゾーンのペアに対するユーザー ロール ファイアウォールの 3 つのポリシーを示しています。
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
P1 |
信頼 |
信頼できない |
192.0.2.0 |
203.0.113.0 |
どれでも |
ティッカー |
拒否 |
– |
P2 |
信頼 |
信頼できない |
どれでも |
どれでも |
管理 |
どれでも |
許可 |
– |
P3 |
信頼 |
信頼できない |
198.51.100.3 |
どれでも |
従業員 |
ティッカー |
拒否 |
– |
ゾーンペアのすべてのポリシーが、最初にsource-identityオプションについてチェックされます。いずれかのポリシーでユーザー、ロール、またはキーワードが指定されている場合、ポリシーの検索を続行する前に、ユーザーとロールの取得を行う必要があります。 表 1 は、ポリシー P2 がソース ID として mgmt を指定し、これをユーザー ロール ファイアウォールにしていることを示しています。ポリシーの検索を続行する前に、ユーザーとロールを取得する必要があります。
キーワード any がある場合、またはゾーンコンテキストのすべてのポリシーでソースIDが指定されていない場合、ユーザーとロールの取得は実行されません。このような場合、残りの 5 つの値のみがポリシー条件に一致します。
表 2 に示されている UIT で IP アドレスが検査されます。アドレスが見つかるため、ユーザー名 user-c、user-c にリストされているすべてのロール(この場合は mgmt と employee)、およびキーワード authenticated-user は、ポリシーのフィールドへのsource-identity
トラフィックを照合するために使用されるデータになります。
送信元 IP アドレス |
名 |
役割 |
---|---|---|
192.0.2.4 |
ユーザー A |
従業員 |
198.51.100.3 |
ユーザーC |
管理、従業員 |
203.0.113.2 |
ユーザー-s |
建築 業者 |
ポリシールックアップが再開され、 表1 の各ポリシーの一致基準が着信トラフィックと比較されます。他のすべての基準が一致すると仮定すると、source-identity フィールドで user-c、mgmt、従業員、認証済みユーザー、または any を指定する最初のポリシーがこのトラフィックに一致する可能性があります。ポリシー P1 は、user-c の取得されたロールの 1 つと一致しますが、送信元 IP アドレスが一致しません。したがって、ポリシー検索は続行されます。ポリシーP2では、すべての基準がトラフィックに一致します。したがって、ポリシー アクションが実行され、トラフィックが許可されます。トラフィックはポリシーP3にも一致しますが、ユーザーファイアウォールポリシーは末期的であり、最初のポリシー一致が見つかったときにポリシールックアップが終了することに注意してください。ポリシー P2 はすべての条件に一致するため、ポリシー ルックアップは終了し、ポリシー P3 はチェックされません。
ポリシーは、ユーザーおよびロールの取得結果からユーザーに割り当てられた分類に基づくこともできます。 表 3 に示す同じゾーン ペアに対して、異なるポリシー セットがあるとします。IP 198.51.100.5 の user-q からトラフィックを受信する場合、少なくとも 1 つのポリシーで source-identity フィールドが指定されているため、ユーザーおよびロールの取得が必要です。
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
P1 |
信頼 |
信頼できない |
どれでも |
どれでも |
非認証ユーザー |
ティッカー |
拒否 |
– |
P2 |
信頼 |
信頼できない |
どれでも |
どれでも |
管理 |
どれでも |
許可 |
– |
P3 |
信頼 |
信頼できない |
198.51.100.3 |
どれでも |
従業員 |
ティッカー |
拒否 |
– |
表 2 の UIT エントリーを検査すると、IP アドレス 198.51.100.5 のエントリーは見つかりません。したがって、ユーザーは認証されていないユーザーと見なされます。ポリシー ルックアップが再開されると、トラフィックはポリシー P1 と一致し、トラフィックは拒否されます。
ユーザー識別テーブルについて
SRXシリーズファイアウォールのユーザー識別テーブル(UIT)には、認証された各ユーザーのIPアドレス、ユーザー名、およびロール情報が含まれています。エントリは IP アドレス順に並べられます。セキュリティ ポリシーでユーザー名とロールの情報が必要な場合は、すべての UT がチェックされます。いずれかの UIT のエントリで IP アドレスを見つけることは、そのアドレスのユーザーが既に正常に認証されていることを意味します。
各認証ソースは、独自の UIT を個別に維持し、データにアクセスするためのクエリ機能を提供します。ローカル認証テーブル、統合アクセス制御 (UAC) 認証テーブル、ファイアウォール認証テーブルの 3 種類の UT がサポートされています。
Local authentication table | CLIコマンドを使用して手動またはプログラムによってSRXシリーズファイアウォール上に作成された静的UIT。ローカル認証テーブルに含まれるすべてのユーザーは、認証されたユーザーと見なされます。一致する IP アドレスが見つかると、ユーザーとロールの情報がテーブル エントリから取得され、トラフィックに関連付けられます。ユーザーとロールの情報は、デバイス上で手動で作成することも、サードパーティの認証サーバーから移植することもできますが、ローカル認証テーブルのデータはリアルタイムでは更新されません。 |
UAC authentication table | Junos PulseアクセスコントロールサービスからSRXシリーズファイアウォールにプッシュされる動的なUIT。Junos Pulseアクセス制御サービスのUAC認証テーブルには、認証された各ユーザーのエントリーが含まれています。このテーブルのデータは、認証テーブルが更新されるたびに更新され、SRXシリーズファイアウォールにプッシュされます。デバイスの構成によっては、Junos Pulseアクセス制御サービス自体またはサードパーティの認証サーバーで認証が行われる場合があります。アクセス制御サービスがサードパーティサーバーからデータを中継している場合、データは認証テーブルのファイル形式に一致するようにアクセス制御サービスによって再構築され、SRXシリーズファイアウォールにプッシュされます。 |
Firewall authentication table | セキュリティーポリシーでファイアウォール認証タイプとして指定されている場合に 認証タイプは |
ローカル認証テーブル
ローカル認証テーブルは、エントリを挿入または削除する CLI コマンドで管理されます。ローカル認証テーブルは、動的 UIT が使用できない場合のバックアップ ソリューションとして、またはプリンターやファイル サーバーなど、ネットワークに対して認証できないデバイスにユーザーおよびロール情報を割り当てるために使用できます。ローカル認証テーブルを使用して、ファイアウォール認証またはアクセス コントロール サービスを構成せずにユーザー ロール ファイアウォールがどのように機能するかをテストしたり、デモンストレーションしたりできます。
サードパーティの認証ソースからIPアドレス、ユーザー名、およびロールをダウンロードして、CLIコマンドを使用してプログラムでローカル認証テーブルに追加できます。認証ソースでユーザーとグループが定義されている場合、グループをロールとして構成し、通常どおりユーザーに関連付けることができます。
UAC 認証テーブルに準拠するために、ユーザー名は 65 文字に制限され、ロール名は 64 文字に制限されています。ローカル認証テーブルには、インストールされたJunos OSリリースに応じて、SRX1500デバイス以上で最大10,240認証エントリ、SRX650デバイスで最大5120認証エントリがあります。ローカル認証テーブルには、vSRX 仮想ファイアウォールに関する 5120 個の認証エントリがあります。各認証エントリは、最大 200 個のロールに関連付けることができます。最大容量は、各ユーザーに割り当てられた平均 10 個のロールに基づきます。これは、UAC 認証テーブルに指定された容量と同じです。
次のコマンドを使用して、ローカル認証テーブルにエントリを追加します。各エントリは IP アドレスによってキーが付けられることに注意してください。
user@host> request security user-identification local-authentication-table add user user-name ip-address ip-address role [role-name role-name ]
1 つの CLI コマンドの role オプションは、最大 40 個のロールを受け入れます。40 を超えるロールを 1 人のユーザーに関連付けるには、複数のコマンドを入力する必要があります。認証、ユーザー、およびロールのエントリを追加または変更するときは、次の特性に注意してください。
ロール名をユーザー名と同じにすることはできません。
add
既存の IP アドレスとユーザー名で オプションを使用すると、ロール エントリが集約されます。このテーブルでは、ユーザーごとに最大 200 個のロールをサポートできます。add
既存のIPアドレスと新しいユーザー名で オプションを使用すると、そのIPアドレスの既存のユーザー名が上書きされます。ロールの集約は、既存のセッションには影響しません。
既存のエントリのロール リストを変更するには、既存のエントリを削除し、新しいロール リストを含むエントリを追加する必要があります。
既存のエントリの IP アドレスを変更するには、既存のエントリを削除し、新しい IP アドレスでエントリを追加する必要があります。
エントリは、IP アドレスまたはユーザー名で削除できます。
user@host> request security user-identification local-authentication-table delete (ip-address | user-name)
ローカル認証テーブルは、次のコマンドでクリアできます。
user@host> clear security user-identification local-authentication-table
ローカル認証テーブルの内容を表示するには、次のコマンド show...
を使用します。
user@host> show security user-identification local-authentication-table all (brief | extensive)
オプション(デフォルト)は brief
、IPアドレス順に表形式で情報を表示します。ユーザー名とロール リストは、形式に合わせて切り捨てられます。
user@host> show security user-identification local-authentication-table all
Total entries: 2 Source IP Username Roles 198.51.100.1 user1 role1 203.0.113.2 user2 role2, role3
オプションには extensive
、各フィールドの完全な内容が表示されます。その他のオプションでは、表示が 1 つのユーザー名、IP アドレス、またはロールに制限されます。
user@host> show security user-identification local-authentication-table all extensive
Total entries: 3 Ip-address: 198.51.100.2 Username: user1 Roles: role1 Ip-address: 203.0.113.2 Username: user1 Roles: role2 Ip-address: 192.0.2.3 Username: user3 Roles: role1, role2
UAC 認証テーブル
SRXシリーズファイアウォールは、Junos Pulseアクセスコントロールサービスのエンフォーサーとして機能します。この実装では、SRXシリーズファイアウォールがレイヤー3の適用ポイントとして機能し、アクセス制御サービスからプッシュダウンされたIPベースのリソースポリシーでリソースへのアクセスを制御します。
ユーザーロールファイアウォールとして実装された場合、SRXシリーズファイアウォールは、ユーザーロールを取得するために同様の方法でUACネットワークにアクセスできます。この場合、認証されたすべてのユーザーのユーザーとロールの情報がアクセス制御サービスからプッシュされます。
SRXシリーズのファイアウォールの構成は、エンフォーサーの構成と似ています。通信を確立するには、両方のデバイスが他方を認識するための構成とパスワード設定が必要です。SRXシリーズファイアウォールから、アクセスコントロールサービスをインフラネットコントローラとして接続します。
[edit] user@host# set services unified-access-control infranet-controller ic-name address ip-address user@host# set services unified-access-control infranet-controller ic-name interface interface-name user@host# set services unified-access-control infranet-controller ic-name password password
アクセスコントロールサービスから、SRXシリーズファイアウォールを新しいエンフォーサーとして定義します。SRXシリーズファイアウォールで指定されているものと同じパスワードを使用します。
ユーザーとパスワードは、標準の認証構成と同様にアクセス制御サービスで定義されます。1 つ以上のロールをユーザーに関連付けることもできます。ユーザーが認証されると、IP アドレス、ユーザー名、および関連付けられたロールを含むエントリが、アクセス制御サービスの UAC 認証テーブルに追加されます。
UAC認証テーブルは、2つのデバイス間の接続が初期化されるときに、アクセスコントロールサービスからSRXシリーズファイアウォールにプッシュされます。アクセスコントロールサービスでエントリーが追加、削除、または更新されるたびに、更新されたUAC認証テーブルがSRXシリーズファイアウォールにプッシュされます。
リソースアクセスポリシーは、ユーザーロールファイアウォール実装のアクセス制御サービスには必要ありません。アクセス動作は、SRXシリーズファイアウォールのポリシー設定で提供されます。リソースアクセスポリシーがアクセス制御サービスで定義されている場合、それらはSRXシリーズファイアウォールにプッシュされますが、特定のファイアウォールポリシーがポリシーのアクションフィールドにUACポリシーを実装しない限り、使用されません。
次のコマンド show services
は、SRXシリーズファイアウォール上のUAC認証テーブルの内容を表示し、テーブルがアクセスコントロールサービスから正常にプッシュされたことを確認します。
user@host> show services unified-access-control authentication-table extended
Id Source IP Username Age Role name 3 192.0.2.1 april 60 Users 6 192.0.2.2 june 60 Employeees Total: 2
SRXシリーズファイアウォールは接続を監視し、アクセス制御サービスへの通信が失われたかどうかを検出します。UAC設定に基づいて、SRXシリーズファイアウォールは、別のリクエストを発行する前に、設定された間隔で応答を待ちます。応答を受信した場合、アクセス制御サービスは機能していると見なされます。指定したタイムアウト期間が経過しても応答が受信されない場合、通信は失われたと見なされ、タイムアウト・アクションが適用されます。次の UAC コマンド構文は、間隔、タイムアウト、およびタイムアウト アクションを構成します。
user@host# set services unified-access-control interval seconds user@host# set services unified-access-control timeout seconds user@host# set services unified-access-control timeout-action (close | no-change | open)
切断中に、切断されたデバイスに対してユーザーとロールの検索を試みると、タイムアウトアクションに関係なく失敗コードが返されます。すべての認証ソースへのアクセスが失われると、キーワード unknown-user が IP アドレスに関連付けられます。ポリシールックアップが再開されると、送信元IDがunknown-userのポリシーがトラフィックに一致します。不明なユーザーに対する特定のポリシーを実装することで、認証ソースの損失を処理する方法を作成できます。
ファイアウォール認証テーブル
ファイアウォール認証では、ゾーンとデバイス間のアクセスを許可する前に、SRXファイアウォールに対する認証が必要です。トラフィックを受信すると、ユーザーはユーザー名とパスワードの入力を求められ、有効なユーザーの指定されたプロファイルに対して検証されます。ファイアウォール認証は、デバイスの設定に応じて、telnet、HTTP、HTTPS(SRX5800、SRX5600、およびSRX5400デバイスの場合)、およびFTPトラフィックがローカルまたはRADIUS、LDAP、またはSecureID認証サーバーによって認証されていることを確認します。
デバイスでファイアウォール認証が使用されている場合、認証プロセスでは、ユーザー ロールのファイアウォール一致条件に必要なユーザー名とロール情報も提供されます。この場合、情報はファイアウォール認証テーブルと呼ばれる UIT で収集および維持されます。階層内の 1 つ以上のアクセス ポリシーが、 edit access
ファイアウォール認証に使用する認証方法を定義します。
ファイアウォール認証テーブルは、ユーザーロール情報取得の認証ソースとして有効にする必要があります。このオプションは priority
、すべての UT がチェックされる順序を指定します。
user@host# set security user-identification authentication-source firewall-authentication priority priority
特定のゾーンペアのファイアウォールポリシーでは、アクションにpermit
指定されたサービスが一致するfirewall-authentication
トラフィックの認証を開始します。認証の種類によってuser-firewall
、認証されたユーザーの UIT エントリが生成されます。オプションで指定されたaccess-profile
名前は、有効なユーザーの認証に使用するプロファイルを識別します。
[edit security policies from-zone zone to-zone zone policy policy-name] user@host# set match source-identity unauthenticated-user user@host# set then permit firewall-authentication user-firewall access-profile profile-name
UITテーブルエントリには、認証されたユーザーとユーザーの関連グループにマッピングされたトラフィックのIPアドレスが含まれています。ユーザーがアクティブでなくなると、エントリはテーブルから削除されます。トラフィックや認証済みユーザーの変化に応じてエントリーが継続的に追加および削除されるため、ファイアウォール認証テーブルは動的と見なされます。
同じゾーンペア内のポリシーが一致条件の一部としてフィールドを指定する source-identity
と、有効なすべてのUITでトラフィックのIPアドレスに対応するエントリが検索されます。見つかった場合、関連付けられたユーザ名とグループが取得され、送信元と ID が照合されます。(ユーザー認証グループ名は、ソースと ID の照合ではロール名と見なされます)。
ユーザーとロールを使用したポリシーのプロビジョニング
SRXシリーズファイアウォールまたはアクセスコントロールサービスで定義されているかどうかにかかわらず、すべてのユーザーとロールは、SRXシリーズファイアウォールのユーザーロールファイルに保持されます。プロビジョニングに使用できるすべてのユーザーとロールを表示するには、次のコマンド show security...
を使用します。
ファイアウォール認証テーブルのユーザー名とロールは、以下の表示には含まれていません。
プロビジョニングに使用できるすべてのロールを表示するには、 コマンドを使用します
show security user-identification role-provision all
。すべての UT のロールが一緒に一覧表示されていることに注意してください。プロビジョニングに使用できるすべてのユーザーを表示するには、 コマンドを使用します
show security user-identification user-provision all
。プロビジョニングに使用できるすべてのユーザーとロールを表示するには、 コマンドを使用します
show security user-identification source-identity-provision all
。
ポリシー構成がコミットされると、ユーザー ロール ファイルがチェックされ、ポリシーで指定されたすべてのユーザーとロールがプロビジョニングに使用できるかどうかが確認されます。ユーザーまたはロールが見つからない場合は、後で定義できるように、不足しているユーザーまたはロールが識別される警告が表示されます。
ポリシーは、ユーザーまたはロールがまだ定義されていない場合でもコミットされます。
関連項目
ファイアウォール認証によるユーザー名とロール情報の取得
ユーザーロールファイアウォールポリシーは、ユーザーの認証と、ユーザー名およびロール情報の取得の両方のために、ファイアウォール認証と統合することができます。この情報はトラフィックのIPアドレスにマッピングされ、ファイアウォール認証テーブルに保存され、ユーザーロールのファイアウォールポリシー適用に使用されます。
次の CLI ステートメントは、ユーザー ロールのファイアウォール適用に対するファイアウォール認証を設定します。
キャプティブポータルリダイレクション用のユーザーロールファイアウォールの設定
認証されていないユーザをアクセス コントロール サービスに自動的にリダイレクトするには、UAC キャプティブ ポータル機能を使用します。次の構文は、キャプティブポータルのプロファイルを定義します。
set services unified-access-control captive-portal profile-name redirect-traffic [unauthenticated | all] set services unified-access-control captive-portal profile-name redirect-url host-url
認証の暗号化に使用される Kerberos プロトコルは、サービス プリンシパル名 (SPN) によってのみアクセス制御サービスを識別します。プロトコルはIPアドレスを受け入れません。したがって、リダイレクト URL の形式は次のとおりです。
service://hostname/options
この実装では、サービスは HTTP で、ホスト名はアクセス コントロール サービスの FQDN です。ホスト名の後に指定されたオプションは、ユーザーを元の宛先、SRXシリーズファイアウォール、またはリダイレクトを発信したポリシーに戻す追加情報をアクセス制御サービスに渡します。オプションは、次のキーワードと変数のペアを使用して設定できます。
?target=%dest-url% | ユーザーがアクセスしようとしている保護リソースを指定します。 |
&enforcer=%enforcer-id% | SRXシリーズファイアウォールがアクセス制御サービスによってエンフォーサーとして設定されている場合に割り当てられるIDを指定します。 |
&policy=%policy-id% | トラフィックをリダイレクトしたセキュリティ ポリシーの暗号化されたポリシー ID を指定します。 |
以下のステートメントは、auth-redirectという名前のキャプティブポータルのプロファイルを定義します。キャプティブ ポータルは、認証されていないユーザを認証のためにアクセス コントロール サービスの URL にリダイレクトします。認証に成功すると、トラフィックはSRXシリーズファイアウォールに戻されます。
[edit] user@host# set services unified-access-control captive-portal auth-redirect redirect-traffic unauthenticated user@host# set services unified-access-control captive-portal auth-redirect redirect-url "http://ic6000.example.com/?target=%dest-url%&enforcer=%enforcer-id%&policy=%policy-id%"
定義されたキャプティブポータルプロファイルは、UAC設定の一部として表示されます。
[edit] user@host#show services
unified-access-control { captive-portal auth-redirect { redirect-traffic unauthenticated; redirect-url "http://ic6000.example.com/?target=%dest-url%&enforcer=%enforcer-id%&policy=%policy-id%"; } }
プロファイルを定義した後、ポリシーは、特定の基準が一致した場合に、キャプティブ ポータルをアプリケーション サービスとして適用できます。ユーザ ロールが認証されていない場合、auth-redirect キャプティブ ポータルはトラフィックを trust ゾーンから untrust ゾーンに迂回させます。次に、ポリシー P1 を定義して、信頼から信頼されないすべての HTTP トラフィックに認証リダイレクト キャプティブ ポータル プロファイルを適用します。
[edit] user@host# set security policies from-zone trust to-zone untrust policy P1 match application http user@host# set security policies from-zone trust to-zone untrust policy P1 match source-identity unauthenticated-user user@host# set security policies from-zone trust to-zone untrust policy P1 then permit application-services uac-policy captive-portal auth-redirect
例:SRXシリーズ デバイスでのユーザー ロール ファイアウォールの設定
次の例では、SRXシリーズファイアウォールにユーザーロールファイアウォールを設定します。ファイアウォールは、アクティブな認証済みユーザーまたはそれに関連付けられたロールに基づいて、trustゾーンからuntrustゾーンへのアクセスを制御します。ユーザーロールファイアウォールポリシーは、次の制限を設定します。
trustゾーンからuntrustゾーンへの認証済みユーザーのみが許可されます。
認証されていないユーザーは、認証のためにアクセス制御サービスにリダイレクトされます。
ゾーン コンテキスト内の IP 192.0.2.0 から IP 203.0.113.0 へのトラフィックは制限されます。dev-abc、http-juniper-accessible、または ftp アクセス可能なロールを持つユーザーからのトラフィックのみが許可されます。許可されたトラフィックは、AppFWルールによってさらに評価されます。
junos:FACEBOOK-ACCESS、junos:GOOGLE-TALK、または junos:MEEBO アプリケーション トラフィックとして識別された許可トラフィックは拒否されます。
その他のアプリケーションの許可されたトラフィックは許可されます。
trustゾーンからuntrustゾーンへの他のすべてのトラフィックは許可されます。
要件
開始する前に、Junos OSリリース12.1以降を搭載したSRXシリーズファイアウォールが設定され、初期化されていることを確認します。
この例では、トラフィックの IP アドレスに関連付けられたユーザおよびロール情報がアクセス制御サービスによって提供されます。アクセス制御サーバーを構成する手順については、「 Active Directory 認証サーバーからのユーザー ロール情報の取得」を参照してください。
概要
表 4 に、この例の要件を満たすファイアウォールの概要を示します。ユーザー ロール ファイアウォールは、4 つのポリシーで構成されています。
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
ユーザーロールFW1 |
信頼 |
信頼できない |
どれでも |
どれでも |
非認証ユーザー |
ティッカー |
許可 |
UACキャプティブポータル |
ユーザーロール-fw2 |
信頼 |
信頼できない |
192.0.2.0 |
203.0.113.0 |
dev-abc http-juniper-accessible ftp-accessible |
ティッカー |
許可 |
AppFWルールセットRS1 |
ユーザーロールFW3 |
信頼 |
信頼できない |
192.0.2.0 |
203.0.113.0 |
どれでも |
ティッカー |
拒否 |
|
ユーザーロールFW4 |
信頼 |
信頼できない |
どれでも |
どれでも |
どれでも |
ティッカー |
許可 |
|
source-identity
このフィールドは、このファイアウォールの少なくとも 1 つのポリシーに対して指定されているため、ポリシーの検索を実行する前に、ユーザーとロールの情報を取得する必要があります。トラフィックの送信元 IP が UIT 内のアイテムと比較されます。送信元 IP アドレスが見つかった場合、キーワード authenticated
、ユーザー名、およびこのユーザーに関連付けられているすべてのロールは、後でポリシー ルックアップで使用するために保存されます。IP アドレスに一致するエントリが UIT に見つからない場合、キーワードunauthenticated-user
はポリシー検索用に格納されます。
ユーザー名、ロール、およびキーワードを取得した後、ポリシー検索が開始されます。受信トラフィックの特性が、各ポリシーの一致条件と比較されます。一致が見つかった場合は、そのポリシーで指定されたアクションが実行されます。
ポリシー一致は最終イベントであり、一致後のポリシーはチェックされません。ポリシー シーケンスは、トラフィックを照合するために実行するアクションに影響します。この例では、ポリシーは次の順序で適用されます。
user-role-fw1 | UAC キャプティブ ポータル サービスを適用して、HTTP トラフィックを unauthenticated-user キーワードと照合し、認証のためにアクセス コントロール サービスにリダイレクトします。キャプティブポータルの仕様を識別するために、UACプロファイルも設定する必要があります。 |
user-role-fw2 | ユーザー名またはロールが一致する、アドレス 192.0.2.0 からアドレス 203.0.113.0 への HTTP トラフィックに AppFW ルール セットを適用します。ルールセットを定義するために、アプリケーションファイアウォールも設定する必要があります。 |
user-role-fw3 | このゾーン ペアのアドレス 192.0.2.0 からアドレス 203.0.113.0 への残りの HTTP トラフィックをすべて拒否します。 |
user-role-fw4 | このゾーン ペアの残りの HTTP トラフィックをすべて許可します。 |
構成
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 CLIユーザー ガイドの 設定モードでのCLIエディターの使用 を参照してください。
認証されていないユーザーのリダイレクトの設定
手順
IP アドレスが UIT にリストされていない場合は、ポリシー検索で unauthenticated-user キーワードが使用されます。ポリシーは、このトラフィックへのアクセスを拒否する代わりに、認証のためにトラフィックを UAC キャプティブ ポータルにリダイレクトできます。
認証されたユーザーを対象としたポリシーによって UAC 認証がシャドウされないように、"任意の" ユーザーのポリシーの前に、認証されていないユーザーのリダイレクト ポリシーを配置することが重要です。
SRXシリーズファイアウォールからアクセス制御サービスへのリダイレクトを設定するには:
設定モードから、キャプティブポータルacsデバイスのUACプロファイルを設定します。
[edit] user@host# set services unified-access-control captive-portal acs-device redirect-traffic unauthenticated-user
アクセス コントロール サービスのリダイレクション URL またはキャプティブ ポータルのデフォルト URL を設定します。
[edit] user@host# set services unified-access-control captive-portal acs-device redirect-url “https://%ic-url%/?target=%dest-url%&enforcer=%enforcer-id%”
このポリシーは、認証後にユーザーを戻すためにアクセス制御サービスによって使用されるデフォルトのターゲット変数とエンフォーサー変数を指定します。これにより、システム仕様を変更してもコンフィギュレーション結果に影響が及ぶことはありません。
メモ:などの変数
?target=
がコマンド ラインに含まれている場合は、URL と変数を引用符で囲む必要があります。ソースIDがunauthenticated-userの場合、HTTPトラフィックをゾーンの信頼からゾーンの信頼にリダイレクトするユーザーロールのファイアウォールポリシーを設定します。キャプティブ ポータル プロファイル名は、このポリシーに一致するトラフィックに対して実行するアクションとして指定されます。
[edit] user@host# set security policies from-zone trust to-zone untrust policy user-role-fw1 match source-address any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw1 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw1 match application http user@host# set security policies from-zone trust to-zone untrust policy user-role-fw1 match source-identity unauthenticated-user user@host# set security policies from-zone trust to-zone untrust policy user-role-fw1 then permit application-services uac-policy captive-portal acs-device
ポリシーの設定が完了したら、変更をコミットします。
[edit] user@host# commit
結果
設定モードから、 および show security policies
コマンドを入力してshow services
設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host#
show services unified-access-control { captive-portal acs-device { redirect-traffic unauthenticated; redirect-url “https://%ic-ip%/?target=%dest-url%&enforcer=%enforcer-id%”
user@host#
show security policies
from-zone trust to-zone untrust {
policy user-role-fw1 {
match {
source-address any;
destination-address any;
application http;
source-identity unauthenticated-user
}
then {
permit {
application-services {
uac-policy {
captive-portal acs-device;
}
}
}
}
}
}
アプリケーションファイアウォールを使用したユーザーロールポリシーの作成
手順
このポリシーは、IP192.0.2.0からIP 203.0.113.0へのトラフィックを、ユーザーとロール、およびアプリケーションに基づいて制限します。この構成では、アプリケーション ルール セットを定義し、一致するユーザー ロール トラフィックに適用します。
AppFW ルール セット rs1 を構成します。次のルールセットは、junos:FACEBOOK-ACCESS、junos:GOOGLE-TALK、または junos:MEEBO アプリケーションのトラフィックを拒否します。デフォルト設定の permit が残りのトラフィックに適用されます。
[edit security application-firewall rule-sets rs1] user@host# set rule r1 match dynamic-application [junos:FACEBOOK-ACCESS junos:GOOGLE-TALK junos:MEEBO] user@host# set rule r1 then deny user@host# set default-rule permit
dev-abc、http-mgmt-accessible、または ftp アクセス可能なユーザー ロールを使用して、IP 192.0.2.0 から IP 203.0.113.0 へのトラフィックに rs1 アプリケーション ファイアウォール ルール セットを適用するポリシーを構成します。
[edit] user@host# set security policies from-zone trust to-zone untrust policy user-role-fw2 match source-address 192.0.2.0 user@host# set security policies from-zone trust to-zone untrust policy user-role-fw2 match destination-address 203.0.113.0 user@host# set security policies from-zone trust to-zone untrust policy user-role-fw2 match application http user@host# set security policies from-zone trust to-zone untrust policy user-role-fw2 match source-identity [dev-abc http-mgmt-accessible ftp-accessible] user@host# set security policies from-zone trust to-zone untrust policy user-role-fw2 then permit application-services application-firewall rule-set rs1
ポリシーの設定が完了したら、変更をコミットします。
[edit] user@host# commit
結果
AppFW ルール セットが正しく構成されていることを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host#
show security application-firewall rule-sets rs1 { rule r1 { match { dynamic-application [junos:FACEBOOK-ACCESS junos:GOOGLE-TALK junos:MEEBO] } then { deny; } } default-rule { permit; } }
ユーザーとロールに基づく残りのセキュリティポリシーの作成
手順
次の手順では、残りのトラフィックのポリシーを設定します。
送信元アドレスと宛先アドレスが同じで、user-role-fw2 ポリシーで指定されているものとは異なるユーザーとロールの基準を持つトラフィックを拒否するポリシーを設定します。
[edit] user@host# set security policies from-zone trust to-zone untrust policy user-role-fw3 match source-address 192.0.2.0 user@host# set security policies from-zone trust to-zone untrust policy user-role-fw3 match destination-address 203.0.113.0 user@host# set security policies from-zone trust to-zone untrust policy user-role-fw3 match application http user@host# set security policies from-zone trust to-zone untrust policy user-role-fw3 match source-identity any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw3 then deny
ゾーンの信頼からゾーンの信頼への他のすべての HTTP トラフィックを許可するセキュリティ ポリシーを構成します。
[edit] user@host# set security policies from-zone trust to-zone untrust policy user-role-fw4 match source-address any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw4 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw4 match application http user@host# set security policies from-zone trust to-zone untrust policy user-role-fw4 match source-identity any user@host# set security policies from-zone trust to-zone untrust policy user-role-fw4 then permit
結果
ユーザーロールファイアウォールポリシーの内容と順序を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host#
show security policies ... from-zone trust to-zone untrust { policy user-role-fw1 { match { source-address any; destination-address any; application http; source-identity unauthenticated-user } then { permit { application-services { uac-policy { captive-portal acs-device; } } } } } } from-zone trust to-zone untrust { policy user-role-fw2 { match { source-address 192.0.2.0; destination-address 203.0.113.0; application http; source-identity [dev-abc http-juniper-accessible ftp-accessible] } then { permit { application-services { application-firewall { rule-set rs1 } } } } } } from-zone trust to-zone untrust { policy user-role-fw3 { match { source-address 192.0.2.0; destination-address 203.0.113.0; application http; source-identity any } then { deny } } } from-zone trust to-zone untrust { policy user-role-fw4 { match { source-address any; destination-address any; application http; source-identity any } then { permit } } }
UAC を使用したリソースポリシーの設定
ユーザ ロール ファイアウォール機能を使用する場合、アクセス コントロール サービスにリソース ポリシーは必要ありません。ただし、リソースポリシーが存在する場合は、接続時にSRXシリーズファイアウォールにプッシュされます。これらのリソース ポリシーを使用するポリシーを作成するには、ポリシー設定で UAC アプリケーション サービスを適用します。 表 5 は、UAC リソース ポリシーのみを使用する 3 つのファイアウォール ポリシーを示しています。
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
P1 |
ゾーン1 |
ゾーン2 |
どれでも |
192.0.2.1 |
どれでも |
ティッカー |
許可 |
コンテンツセキュリティ |
P2 |
ゾーン1 |
ゾーン2 |
どれでも |
net2 |
どれでも |
ティッカー |
許可 |
Idp |
P3 |
ゾーン1 |
ゾーン2 |
どれでも |
どれでも |
どれでも |
どれでも |
許可 |
Uac |
zone1 から zone2 へのトラフィックのポリシーは、すべてのポリシーの source-identity フィールドに指定されているため、ユーザーとロールの取得を開始しません。この例では、IPアドレス192.0.2.1へのトラフィックは許可されますが、指定されたアプリケーションサービス(この場合はコンテンツセキュリティ)の処理要件を満たす必要があります。net2 へのトラフィックは、IDP 処理要件によって許可および処理されます。残りのトラフィックは、UAC 処理要件によって許可および処理されます。
このファイアウォールポリシーの構成は次のようになります。
[edit]
user@host#
show security policies from-zone zone1 to-zone zone2 { policy P1 { match { source-address any; destination-address 192.0.2.1; source-identity any; application http; } then { permit { application-services { idp; } } } } } from-zone zone1 to-zone zone2 { policy P2 { match { source-address any; destination-address net2; source-identity any; application http; } then { permit { application-services { utm; } } } } } from-zone zone1 to-zone zone2 { policy P3 { match { source-address any; destination-address any; source-identity any; application any; } then { permit { application-services { uac-policy; } } } } }
このサンプル設定では、P1とP2のアクションフィールドに、IDPとコンテンツセキュリティに設定された要件がそれぞれ適用されます。uac-policyオプションを指定することで、SRXシリーズファイアウォールにプッシュされたリソースポリシーが、宛先にアクセスできるかどうかを判断します。
ユーザーロールファイアウォールは、ユーザーロールポリシーとアクセス制御サービスからプッシュされるリソースポリシーの両方を実装できます。 表 6 に、3 つのゾーン ペアのポリシーを示します。
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
P1 |
ゾーン1 |
ゾーン2 |
どれでも |
どれでも |
非認証ユーザー |
どれでも |
許可 |
UACキャプティブポータル |
P2 |
ゾーン1 |
ゾーン2 |
どれでも |
192.0.2.1 |
役割2 |
ティッカー |
許可 |
Idp |
P3 |
ゾーン1 |
ゾーン2 |
どれでも |
net2 |
認証済みユーザー |
ティッカー |
許可 |
コンテンツセキュリティ |
P4 |
ゾーン1 |
ゾーン2 |
どれでも |
どれでも |
どれでも |
どれでも |
許可 |
|
P5型 |
ゾーン1 |
ゾーン3 |
どれでも |
どれでも |
どれでも |
どれでも |
許可 |
Uac |
P6 |
ゾーン2 |
ゾーン3 |
どれでも |
どれでも |
どれでも |
どれでも |
許可 |
Uac |
ゾーン 1 からゾーン 2 へのトラフィックには、4 つのユーザー ロール ポリシーのいずれかが適用されます。これらのポリシーの最初のものは、UACキャプティブポータルを使用して、認証されていないユーザーを認証のためにアクセス制御サービスにリダイレクトします。
ゾーン1からゾーン3およびゾーン2からゾーン3へのトラフィックのアクセスは、アクセス制御サービスからプッシュされたリソースポリシーによって制御されます。