透過的 Web プロキシ
このステップバイステップの例で、SRXシリーズファイアウォールで透過的なWebプロキシを設定する方法をご確認ください。
透過的 Web プロキシを使用して、外部プロキシ サーバーにトラフィックを送信し、選択したアプリケーション トラフィックのプロキシ サーバーをバイパスできます。バイパスされたアプリケーショントラフィックは、ターゲットWebサーバーに直接送信されます。
さらに、透過的な Web プロキシ機能は HTTP/2 をサポートしているため、HTTPS トラフィックを復号化せずに中継できるため、安全で効率的なデータ伝送が保証されます。
透過的 Web プロキシを使用すると、クライアント ブラウザが認識することなく、外部プロキシ サーバーを介してトラフィックをルーティングできます。つまり、プロキシはユーザーには見えないように動作し、ユーザー側で追加の認証や設定を行う必要はありません。
透過プロキシを使用する場合、プロキシサーバーをバイパスするように特定のアプリケーショントラフィックを指定できます。たとえば、特定のアプリケーション(Yahoo など)からのトラフィックを Web サーバーに直接送信する場合は、このトラフィックを除外するようにプロキシを構成できます。このバイパスされたトラフィックは、プロキシサーバーを完全に回避して、ターゲットWebサーバーに直接送信されます。
その結果、ファイアウォールは、指定されたアプリケーションに対してクライアントとWebサーバー間で透過的なプロキシを実行し、アプリケーショントラフィックに対してより優れたQoSを提供します。
透過的 Web プロキシの利点
- Webサーバーへの直接接続を確立することで、特定のアプリケーショントラフィックのサービス品質を向上させます。
- さまざまなタイプのトラフィックに対して異なるセキュリティポリシーを実装し、信頼できるアプリケーションに対してはプロキシをバイパスし、他のトラフィックはプロキシ経由でさらなる検査に誘導することができます。
- ビデオストリーミングサービスなどの高帯域幅アプリケーションのプロキシをバイパスし、プロキシサーバーの負荷を軽減し、全体的なネットワークパフォーマンスを向上させます。
- プロキシは、HTTP CONNECTを介してHTTPSトラフィックを透過的に処理しながら、他のすべてのトラフィックタイプ(プレーンHTTPやHTTP/2など)をクライアントが指定した外部プロキシにシームレスに中継するため、ルーティングを中断することなく幅広いプロトコルがサポートされます。
制限
- SRXシリーズファイアウォールが透過Webプロキシをサポートしていないか、透過Webプロキシ機能が正常に機能しない可能性があります。
- シャーシクラスタモードまたはマルチノード高可用性で動作している場合。
- APBR(高度なポリシーベースのルーティング)を除くすべてのレイヤー7セキュリティ機能を使用して構成した場合。
- 統合ポリシー(動的なアプリケーションを持つセキュリティポリシー)で構成された場合。
- トランスペアレントブリッジモードで動作している場合。
- クライアントデバイスとそのプロキシサーバーが同じネットワークセグメントに展開されている場合。
- 透過プロキシは、プレーンな HTTP/2 トラフィックと HTTP/2 フレーム形式で送信される HTTP CONNECT リクエストの両方をバイパスします。
- SSLプロキシは、透過プロキシを介して処理されたセッションには適用しないでください。
透過的 Web プロキシの概要
透過的 Web プロキシのしくみ
SRXシリーズファイアウォールは、クライアントからリクエストを受信すると、HTTPヘッダーを調べてアプリケーションを識別します。ファイアウォールは、透過プロキシプロファイルに基づいて、どのトラフィックが外部プロキシサーバーをバイパスできるかを判断します。セキュリティポリシールールに一致するトラフィックにプロファイルを適用します。プロファイルで指定された動的アプリケーションに一致する許可されたアプリケーショントラフィックは、Webサーバーに送信されます。それ以外の場合、許可されたトラフィックは設定された外部プロキシ サーバーにリダイレクトされます。
たとえば、外部プロキシ サーバから MS Office または Yahoo のトラフィックをバイパスする場合は、透過 Web プロキシ プロファイルでこれらのアプリケーションを指定できます。SRXシリーズファイアウォールは、YahooまたはSMS Officeアプリケーショントラフィックをサーバーに直接転送して、外部プロキシサーバーをバイパスします。アプリケーションと一致しない接続は、外部プロキシ サーバーにルーティングされます。
以下の図は、SRXシリーズファイアウォールが透過的なWebプロキシサービスを提供する方法を示しています。
上の透過的 Web プロキシSRXシリーズ
-
クライアントのブラウザが外部プロキシ サーバに HTTP 接続要求を送信します。
-
SRXシリーズファイアウォールはTCP接続を傍受します。デバイスは HTTP ヘッダーでアプリケーションを識別し、DNS 解決を行います。
-
トラフィックパラメータがセキュリティポリシールールと透過Webプロキシプロファイル仕様と一致する場合、SRXシリーズファイアウォールは透過モードで動作します。デバイスは、透過モードのクライアントのIPアドレスを使用して、外部プロキシサーバーをバイパスしてWebサーバーとの新しい接続を開始します。
-
残りのトラフィックについては、SRXシリーズファイアウォールはパススルーモードで動作し、HTTP接続リクエストを外部プロキシサーバーに送信できます。クライアントが要求を行うと、要求は最初にプロキシサーバーに送信され、次にプロキシサーバーが要求を実際のサーバーに転送します。
- サーバーはプロキシに応答し、プロキシはSRXシリーズファイアウォールを介してクライアントに応答を送り返します。
SRXシリーズファイアウォールは、以下のステップでセキュアなWebプロキシを実行します。
SRXシリーズファイアウォールで透過的なWebプロキシを使用するには、以下を行う必要があります。
-
外部プロキシ サーバの詳細と、外部プロキシ サーバをバイパスする動的アプリケーションまたはアプリケーション グループを使用して、透過 Web プロキシ プロファイルを作成します。
- デバイスを通過するトラフィックを管理するためのセキュリティポリシーを作成します。
- セキュア Web プロキシ プロファイルをセキュリティ ポリシーにアタッチし、許可されたトラフィックのアプリケーション サービスとしてプロファイルを適用します。
HTTP/2トラフィック用の透過的Webプロキシ
透過的 Web プロキシの HTTP/2 のサポートにより、HTTP/2 プロトコルを使用して暗号化された HTTPS トラフィックを復号化せずにリレーできます。この機能により、TLSネゴシエーション中に使用されるALPN拡張が妨げられることがなくなり、シームレスなクライアント/サーバー通信が可能になります。HTTP/2を採用することで、ネットワークは多重化、ヘッダー圧縮、優先順位付けなどの機能を活用できます。これらの機能により、Web通信の速度と効率が向上し、より応答性の高いユーザーエクスペリエンスが提供されます。
透過的 Web プロキシと Secure Web Proxy
Junos OS リリース 25.2R1 以降、セキュア Web プロキシの名前を透過 Web プロキシに変更しました。
透過プロキシを使用した設定については、以下のトピックのいずれかをお読みください。
-
Junos OS バージョン 25.2R1 以降のリリースを使用している場合、セキュア Web プロキシと同じ利点を得るために透過的 Web プロキシを設定する必要があります。 「例:透過的 Web プロキシの設定」を参照してください。
-
Junos OS 25.2R1より前のバージョンのJunos OSを使用している場合は、セキュアWebプロキシを引き続き使用できます。 「Secure Web Proxy」を参照してください。
CLI コンフィギュレーション ステートメントの変更点
Junos OS リリース 25.2R1 以降のリリースにアップグレードする場合は、プロキシ機能の使用に関して以下の点に留意してください。
既存のSecure web proxy関連のCLIステートメントおよびコマンドはすべて非推奨です。つまり、Junos OS リリース 25.2R1 以降、セキュア web プロキシ機能は、すぐには削除されませんが、非推奨とされました。これは、後方互換性を確保し、設定を新しい設定に適合させる機会を提供するためです。この変更の一環として、 [edit services web-proxy secure-proxy] 階層とこの階層のすべての設定オプションは非推奨となります。つまり、透過プロキシ設定ステートメントの階層が set services web-proxy secure-proxy から set services web-proxy transparent-proxy に変更されました。
移行するには、次の表に示すように、既存のコマンド階層を新しいものに置き換える必要があります。
| 前の階層(Secure Web Proxy) | 新しい階層(透過Webプロキシ) |
|---|---|
set services web-proxy secure-proxy |
set services web-proxy transparent-proxy |
set security policies from-zone trust to-zone untrust policy apply_webproxy then permit application-services web-proxy profile-name <trans-proxy-profile-name> |
set security policies from-zone trust to-zone untrust policy apply_webproxy then permit application-services transparent-proxy profile-name <trans-proxy-profile-name> |
これらの調整により、設定が最新の状態に保たれ、新機能を活用する準備が整います。
例:透過的 Web プロキシの設定
透過的なwbプロキシ機能を使用すると、外部プロキシサーバーを介してトラフィックを転送したり、SRXシリーズファイアウォール上の指定されたアプリケーションに対してトラフィックをバイパスしたりできます。外部プロキシ サーバーの詳細とバイパスするアプリケーションを使用して透過的な Web プロキシ プロファイルを構成することで、該当する場合にトラフィックがターゲット Web サーバーに直接送信されるようにします。デバイスは HTTP ヘッダーを検査し、セキュリティ ポリシー ルールに基づいて Web プロキシ プロファイルを適用し、それに応じて許可されたトラフィックをリダイレクトします。
この例では、外部プロキシ サーバーをバイパスしてアプリケーション トラフィックを Web サーバーに転送するように透過的 Web プロキシを構成します。
| 読書の時間 |
15分 |
| 設定時間 |
30分 |
前提条件の例
表 3 は、構成をサポートするハードウェアおよびソフトウェア コンポーネントの一覧です。
| ハードウェア要件 |
サポートされているSRXシリーズファイアウォールとvSRX仮想ファイアウォール。この例は、vSRXインスタンスを使用してテストしました。 |
| ソフトウェア要件 |
Junos OS リリース 25.2R1 外部プロキシ サーバーの IP アドレスとポート番号。 アプリケーション識別(AppID)をインストールして構成します。詳細については、 アプリケーションを識別するための事前定義されたアプリケーション シグネチャを参照してください。 SRXシリーズファイアウォール上の有効なアプリケーション識別機能ライセンス。 Junos OSライセンスの管理を参照してください。 |
始める前に
| もっと知る |
|
| 詳細情報 |
機能の概要
表 4 は、この例で展開される構成コンポーネントの簡単な概要を示しています。
| 使用技術 |
|
| 主な検証タスク |
トポロジー図
以下の図は、この設定例で使用されるトポロジーを示しています。
を設定するためのトポロジー
この例では、SRXシリーズファイアウォール上に透過的なWebプロキシプロファイルを設定し、ほとんどのアウトバウンドWebトラフィックを外部プロキシサーバー経由で転送します。ただし、Yahooなどの特定の動的アプリケーションを宛先とするトラフィックは、プロキシをバイパスし、ge-0/0/2.0インターフェイスを介してインターネットに直接転送する必要があります。
透過的な Web プロキシ シナリオのトラフィック フローは次のとおりです。
(一般交通用)
- trustゾーン(IP:
10.1.1.2)のクライアントは、Webリクエスト(一般的なWebサイトなど)を開始します。 - このトラフィックは、インターフェイス
ge-0/0/0.0経由でSRXファイアウォールに到達します。ファイアウォールは、透過的 Web プロキシ プロファイルに照らしてトラフィックを評価します。トラフィックは Yahoo として識別されないため、インターフェイスge-0/0/1.0を介して10.1.2.2の外部プロキシ サーバにリダイレクトされます。 - その後、プロキシー・サーバーは、独自のルートを介して要求をインターネットに転送します。
- インターネットからの応答はプロキシサーバーに返され、プロキシサーバーから
ge-0/0/1.0経由でSRXに送り返され、ファイアウォールがそれをクライアントに転送します。
(Yahoo 固有のトラフィックの場合)
- クライアントは、Yahoo サービス(mail.yahoo.com など)に要求を送信します。
- SRXファイアウォールは
ge-0/0/0.0でこれを受信し、アプリケーション識別を使用してトラフィックがYahoo関連であることを検知します。 - Yahoo はプロキシ プロファイルで除外されているため、ファイアウォールは外部プロキシをバイパスします。
- 代わりに、インターフェイス
ge-0/0/2.0を介してトラフィックをインターネットに直接転送します。 - 応答は
ge-0/0/2.0を介して返され、ge-0/0/0.0経由でクライアントに直接ルーティングされます。
ファイアウォールは、ゾーンベースのポリシーを適用して、trustゾーンとuntrustゾーン間のトラフィックを制御します。
このラボ環境では、インターフェイスNAT機能を使用して、アウトバウンドインターネットアクセス用の内部IPを変換します。この例は、SRXシリーズファイアウォールからの送信トラフィックに対して、このラボ固有のNAT設定を使用して設定およびテストされたものであり、NAT設定の詳細は含まれていません。
トポロジーの概要
表 5 は、この例で使用される設定の詳細を示しています。
| デバイス | インターフェイス | IP アドレス | ゾーン | が構成対象 |
|---|---|---|---|---|
| SRXシリーズファイアウォール | ge-0/0/0 |
10.1.1.254/24 |
信託 |
クライアント デスクトップに接続します。 |
| ge-0/0/1 |
10.1.2.254/24 |
信頼できない |
プロキシサーバーに接続します。 | |
| ge-0/0/2 |
10.102.70.157 |
信頼できない |
インターネットに接続します。 |
設定オブジェクト:
-
透過プロキシ プロファイル:
- 外部プロキシ サーバーの IP (10.1.2.2) とポートを定義します。
- trustゾーンからのアウトバウンドHTTP/HTTPSトラフィックにプロファイルを適用します。
-
アプリケーションベースのプロキシバイパス:
- アプリケーション識別を使用して Yahoo トラフィックを検出します。
- Yahoo トラフィックをプロキシ リダイレクトから除外します。
-
トラフィックフローの動作:
- Yahooトラフィック:プロキシをバイパスして、ge-0/0/2.0経由でインターネットに直接ルーティングされます。
- その他すべての Web トラフィック: ge-0/0/1.0 経由で外部プロキシ サーバーにリダイレクトされます。
透過的 Web プロキシの設定
次の手順を使用します。
検証
次の表示コマンドを使用して、この例の機能を確認します。
| コマンド | 検証タスク |
|---|---|
|
|
透過 Web プロキシ セッションの詳細を表示します。 |
show services web-proxy transparent-proxy statistics |
透過的な Web プロキシの統計情報を表示します。 |
透過的 Web プロキシ セッションの詳細の確認
目的
透過 Web プロキシ セッションの詳細を表示および確認します。
アクション
動作モードから、次のコマンドを実行します。
user@host> show services web-proxy transparent-proxy session detail Transparent Proxy sessions: Client Session ID : 8590193205, Proxy Session ID: 8590193206 Client: 10.1.2.254/13250 ---> 10.1.2.2/8080 Proxy : 10.1.1.2/35662 ---> 69.147.88.7/443 Proxy Request: CONNECT:www.yahoo.com:443 Dynamic Web App: junos:YAHOO Client Session ID : 8590193212, Proxy Session ID: 8590193213 Client: 10.1.2.254/13739 ---> 10.1.2.2/8080 Proxy : 10.1.1.2/35680 ---> 69.147.88.8/443 Proxy Request: CONNECT:www.yahoo.com:443 Dynamic Web App: junos:YAHOO Client Session ID : 8590193210, Proxy Session ID: 8590193211 Client: 10.1.2.254/24706 ---> 10.1.2.2/8080 Proxy : 10.1.1.2/35672 ---> 74.6.231.20/443 Proxy Request: CONNECT:yahoo.com:443 Dynamic Web App: junos:YAHOO
user@host> show services web-proxy transparent-proxy session summary Transparent Proxy sessions: Client Session Proxy Session [8590193288] 10.1.2.254/28677 ---> 10.1.2.2/8080 [8590193289] 10.1.1.2/48870 ---> 69.147.88.7/443
意味
これらのサンプルでは、クライアントとプロキシのセッションの詳細を確認します。クライアントセッションは、SRXシリーズファイアウォールからプロキシサーバーまで拡張されます。プロキシセッションは、クライアントデバイスをWebサーバーに直接接続します。さらに、プロキシ要求と動的 Web アプリケーションを監視できます。
私たちのラボでは、アウトバウンドインターネットアクセスにインターフェイスNAT構成を使用しています。サンプル出力はこの設定を反映しており、NATされたIPとラボ構成に固有のポートを示しています。
透過的 Web プロキシの統計情報の確認
目的
透過的 Web プロキシ セッションの統計情報を表示します。
アクション
動作モードから、次のコマンドを実行します。
user@host> show services web-proxy transparent-proxy statistics
Transparent Proxy :
Active Transparent proxy sessions 0
Active Passthrough sessions 0
Active HTTP passthrough sessions 0
Active HTTPS passthrough sessions 0
Total Transparent proxy sessions 4
Total Passthrough sessions 0
Total HTTP Passthrough sessions 0
Total HTTPS Passthrough sessions 0
意味
出力には、透過 Web プロキシ セッションの数が表示されます。プロキシは合計で 4 つのセッションを処理しましたが、すべて透過プロキシ経由です。パススルー(バイパス)セッションは発生していません。
すべてのデバイスでコマンドを設定
SRXシリーズファイアウォールでコマンドを設定
set services application-identification set services web-proxy transparent-proxy profile yahoo-profile proxy-address external_proxy ip 10.1.2.2/32 set services web-proxy transparent-proxy profile yahoo-profile proxy-address external_proxy port 8080 set services web-proxy transparent-proxy profile yahoo-profile dynamic-web-application junos:YAHOO set security policies from-zone trust to-zone untrust policy policy-for-transparent-proxy match source-address any set security policies from-zone trust to-zone untrust policy policy-for-transparent-proxy match destination-address any set security policies from-zone trust to-zone untrust policy policy-for-transparent-proxy match application any set security policies from-zone trust to-zone untrust policy policy-for-transparent-proxy then permit application-services transparent-proxy profile-name yahoo-profile set security policies pre-id-default-policy then log session-close set security zones security-zone trust host-inbound-traffic system-services all set security zones security-zone trust host-inbound-traffic protocols all set security zones security-zone trust interfaces ge-0/0/0.0 set security zones security-zone untrust host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/2.0 set security zones security-zone untrust interfaces ge-0/0/1.0 set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24 set interfaces ge-0/0/2 unit 0 family inet address 10.102.70.157/24
show configuration 出力
設定モードから、 show コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
透過的 Web プロキシ
[edit]
user@host# show services
application-identification;
web-proxy {
transparent-proxy {
profile yahoo-profile {
proxy-address external_proxy {
ip 10.1.2.2/32;
port 8080;
}
dynamic-web-application junos:YAHOO;
}
}
}
セキュリティ ポリシー
[edit]
user@host# show security policies
policy policy-for-transparent-proxy {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
application-services {
transparent-proxy {
profile-name yahoo-profile;
}
}
}
}
セキュリティ ゾーン
[edit]
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/0.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/2.0;
ge-0/0/1.0;
}
}
インターフェイス
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.254/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.2.254/24;
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 10.102.70.157/24;
}
}
}