Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ALG の概要

ALGの説明

このトピックでは、Junos OSでサポートされているアプリケーション層ゲートウェイ(ALG)について説明します。ALGサポートには、サポートされているALGのピンホールと親子関係の管理が含まれます。

サポートされているALG

表1は 、Junos OSでサポートされているALGの一覧です。MS-DPC、MS-MPC、MS-MICでサポートされているALGについては、 Junos OSアドレス認識NATで利用可能なALGを参照してください。

表1:Junos OSでサポートされているALG

対応ALG

v4からv4

v6 - v4

v6からv6

DS-Lite(MS-MPCおよびMS-MICでのDS-liteによるALGのサポートは、Junos OSリリース18.1R1で開始されます)

基本的なTCP ALG

はい

はい

はい

はい

基本的なUPD ALG

はい

はい

はい

はい

ブート

はい

いいえ

いいえ

いいえ

DCE RPCサービス

はい

いいえ

いいえ

いいえ

DNS

はい

はい

いいえ

はい

FTP

はい

はい(Junos OSリリース14.1R1以降)

いいえ

はい

ゲートキーパーRAS

はい(Junos OSリリース17.1R1以降)

○(Junos OSリリース17.2R1以降)

いいえ

いいえ

H323型

はい

○(Junos OSリリース17.2R1以降)

いいえ

いいえ

ICMP

はい

はい

はい

はい

IKE ALG(Junos OSリリース14.2R7、15.1R5、16.1R2、17.1R1以降)

はい

はい

いいえ

いいえ

IIOP

はい

いいえ

いいえ

いいえ

IP

はい

いいえ

いいえ

いいえ

NETBIOS

はい

いいえ

いいえ

いいえ

ネットショー

はい

いいえ

いいえ

いいえ

PPTP

はい

はい(Junos OSリリース14.1R1以降)

いいえ

はい

リアルオーディオ

はい

いいえ

いいえ

いいえ

Sun RPCおよびRPCポートマップサービス

はい

いいえ

いいえ

いいえ

RTSP

はい

はい(Junos OSリリース14.1R1以降)

いいえ

はい

SIP

はい

はい(Junos OSリリース14.1R1以降)

いいえ

SIPは、Junos OSリリース18.2R1以降、MS-MPCおよびMS-MIC上のDS-Liteでサポートされています。

SNMP

はい

いいえ

いいえ

いいえ

SQLネット

はい

いいえ

いいえ

いいえ

TFTP

はい

はい(Junos OSリリース14.1R1以降)

いいえ

はい

トレースルート

はい

はい

いいえ

はい

Unixリモートシェルサービス

はい

いいえ

いいえ

いいえ

WINFrame

はい

いいえ

いいえ

いいえ

ALGサポートの詳細

このセクションには、ALGに関する詳細が含まれています。これには以下が含まれます。

基本的なTCP ALG

このALGは、TCPパケットに対して基本的なサニティーチェックを実行します。エラーが見つかった場合は、以下の異常イベントとシステムログメッセージを生成します。

  • TCP送信元または宛先ポートゼロ

  • TCPヘッダー長のチェックに失敗しました

  • TCPシーケンス番号がゼロで、フラグが設定されていません

  • TCPシーケンス番号0とFIN/PSH/RSTフラグが設定されている

  • TCP FIN/RSTまたはSYN(URG|フィン|RST)フラグが設定されている

TCP ALGは、以下の手順を実行します。

  1. ルーターがSYNパケットを受信すると、ALGはTCPフォワードおよびリバースフローを作成し、 それらを会話にグループ化します。TCPスリーウェイハンドシェイクを追跡します。

  2. SYN防御メカニズムは、TCP接続の確立状態を追跡します。TCPセッションが短い時間間隔(現在は4秒)で確立されることを想定しています。この期間にTCPスリーウェイハンドシェイクが確立されない場合、セッションは終了します。

  3. キープアライブメカニズムは、応答しないエンドポイントとのTCPセッションを検出します。

  4. ICMPエラーは、フローがICMPデータで指定されたセレクター情報と一致する場合にのみ許可されます。

基本的なUDP ALG

このALGは、UDPヘッダーに対して基本的なサニティーチェックを実行します。エラーが見つかった場合は、以下の異常イベントとシステムログメッセージを生成します。

  • UDP送信元または宛先ポート0

  • UDPヘッダー長のチェックに失敗しました

UDP ALGは、以下のステップを実行します。

  1. 最初のパケットを受信すると、ALGは双方向フローを作成し、フォワードおよびリバースUDPセッショントラフィックを受け入れます。

  2. セッションが最大許容アイドル時間(デフォルトは30秒)を超えてアイドル状態になると、フローが削除されます。

  3. ICMPエラーは、フローがICMPデータで指定されたセレクター情報と一致する場合にのみ許可されます。

ブート

ブートストラッププロトコル(BOOTP)クライアントは、ネットワーク全体のサーバーからネットワーク情報を取得します。BOOTPサーバーから返される情報を要求するために、一般的なブロードキャストメッセージを送信します。プロトコルの仕様については、 ftp://ftp.isi.edu/in-notes/rfc951.txtを参照してください。

ステートフルファイアウォールをサポートするためには、UDPサーバーポート67とクライアントポート68でBOOTP ALGを設定する必要があります。クライアントからブロードキャストメッセージが送信される場合は、サービスルールの from ステートメントでブロードキャストアドレスを設定する必要があります。NATルールがトラフィックに一致していても、ネットワークアドレス変換(NAT)はBOOTPトラフィックに対して実行されません。ルーターで BOOTP リレー機能がアクティブになっている場合、リモート BOOTP サーバーは、NAT 変換によってマスクされたクライアントにアドレスを割り当てると想定されます。

DCE RPCサービス

分散コンピューティング環境(DCE)リモートプロシージャコール(RPC)サービスは、主にMicrosoftアプリケーションで使用されます。ALGは、ポートマッピングサービスに既知のTCPポート135を使用し、プロトコルを識別するためにプログラム番号の代わりにユニバーサル一意識別子(UUID)を使用します。メインのアプリケーションベースのDCE RPCは、Microsoft Exchangeプロトコルです。

ステートフルファイアウォールとNATサービスをサポートするためには、TCPポート135でDCE RPCポートマップALGを設定する必要があります。DCE RPC ALGは、アプリケーション固有のUUIDでTCPプロトコルを使用します。

DNS

ドメインネームシステム(DNS)は通常ポート53で動作し、ドメイン名を検索してIPアドレスに変換するために必要なデータを処理します。MXシリーズDNS ALGは、DNSクエリーと応答パケットを監視し、UDPとTCP DNSトラフィックを独立してサポートします。DNS ALGはNATのペイロード変換をサポートしていませんが、運用担当者はこれを使用して、DNSサーバーが応答を送信した後、メモリからNATまたはステートフルファイアウォールDNSセッションを効率的に削除できます。DNS ALGは、応答を受信するか、アイドルタイムアウトに達した場合にのみセッションを閉じます。

DNSトラフィックが標準のリクエストおよび応答タイプ以外の場合、TCP-DNS-ALGを使用するとTCP DNSトラフィックに問題が発生する可能性があります。例えば、TCP-DNS-ALGは、DNSレプリケーションやゾーン転送など、TCPを使用するDNSサーバー間通信を中断する可能性があります。TCPハンドシェイクが完了し、各サーバーが1つのパケットをもう1つに送信した後にTCP-DNS-ALGがセッションを閉じるため、このタイプのトラフィックはNATまたはステートフルファイアウォールプラグインによって破棄される可能性があります。このような場合は、TCP-DNS-ALGを使用しないでください。

注:

TCP-DNS-ALGは、MS-DPCサービスカードではサポートされていません。

FTP

FTPは、RFC 959で規定されているファイル転送プロトコルです。メイン制御接続に加えて、クライアントとサーバー間のデータ転送のためにデータ接続も行われます。ホスト、ポート、方向は制御チャネルを介してネゴシエートされます。

非パッシブモードFTPの場合、Junos OSステートフルファイアウォールサービスは、サーバーが接続するIPアドレスとポート番号を提供するPORTコマンドのクライアントからサーバーへのアプリケーションデータをスキャンします。パッシブモードFTPの場合、Junos OSステートフルファイアウォールサービスは、PASVコマンドのクライアントからサーバーへのアプリケーションデータをスキャンし、次にクライアントが接続するIPアドレスとポート番号を含む227応答のサーバーからクライアントへの応答をスキャンします。

さらに複雑な点があります。FTPはこれらのアドレスとポート番号をASCIIで表します。その結果、アドレスとポートが書き換えられると、TCPシーケンス番号が変更される可能性があり、その後、NATサービスは、後続のすべてのパケットでシーケンスNATを実行して、SEQ番号とACK番号でこのデルタを維持するNAT必要があります。

ステートフルファイアウォールとNATサービスをサポートするためには、TCPポート21でFTP ALGを設定して、FTP制御プロトコルを有効にする必要があります。ALGは、以下のタスクを実行します。

  • 動的なデータ接続用に、データポートとファイアウォールの権限を自動的に割り当てます

  • 動的にネゴシエートされたデータ接続用のフローを作成します

  • アクティブモードとパッシブモードの両方で制御接続を監視します

  • 制御パケットを適切なNATアドレスとポート情報で書き換えます

MS-MPC、MS-MICでは、FTPアプリケーション層ゲートウェイ(ALG)を有効にせずにパッシブFTPが正常に動作するために([edit services stateful-firewall rule rule-name term term-name from]階層および[edit services nat rule rule-name term term-name from]階層レベルでapplication junos-ftpステートメントを指定しないことで)、アドレスプーリングペア(APP)機能を有効にする必要があります([edit services nat rule rule-name term term-name then translated]階層レベルにaddress-poolingステートメントを含めることで)。このような設定により、データおよび制御FTPセッションは同じNATアドレスを受信するようになります。

ゲートキーパーRAS

Junos OSリリース17.1R1以降、ゲートキーパーの登録、管理、およびステータス(RAS)ALGは、H.323コールのゲートキーパーモードを完全にサポートできるようになりました。エンドポイントはゲートキーパーに登録し、その管理を要求します。呼び出しを行う前に、エンドポイントはゲートキーパーに呼び出しの許可を求めます。登録フェーズとアドミッションフェーズの両方で、RASチャネルが使用されます。IPv4およびIPv6ステートフルファイアウォールルールまたはNAPT-44ルールでゲートキーパーRAS ALGとH323 ALGを使用します。Junos OSリリース17.2R1以降、NAT-64ルールもサポートされるようになりました。 junos-h323-suite Junosデフォルトのアプリケーションセットには、H323 ALGとゲートキーパーRAS ALGが含まれています。

H323型

H323は、音声/ビデオ会議およびコラボレーションアプリケーション向けのITUプロトコルスイートです。H323は、H.225コールシグナリングプロトコルとメディア通信用のH.245制御プロトコルで構成されています。H.225ネゴシエーション中、エンドポイントは制御チャネルでコールシグナリングメッセージを交換することでコールを作成し、H.245の新しい制御チャネルをネゴシエートします。H.245 メッセージ用に新しい制御接続が作成されます。メッセージは、H.245制御チャネル上で交換され、メディアチャネルを開きます。

ステートフルファイアウォールは、H.225制御チャネルを監視して、H.245制御チャネルを開きます。H.245チャネルが作成された後、ステートフルファイアウォールはこのチャネルのメディアチャネル情報も監視し、ファイアウォールを通過するメディアトラフィックを許可します。

H323 ALGは、H.225およびH.245メッセージ内の適切なアドレスとポートを書き換えることで、静的宛先、静的、動的な送信元NATをサポートします。

H.323コールのゲートキーパーモードをサポートするには、IPv4およびIPv6ステートフルファイアウォールルールまたはNAPT-44ルールでH323 ALGとゲートキーパーRAS ALGを使用します。Junos OSリリース17.2R1以降、NAT-64ルールもサポートされるようになりました。 junos-h323-suite Junosデフォルトのアプリケーションセットには、H323 ALGとゲートキーパーRAS ALGが含まれています。

ICMP

インターネット制御メッセージプロトコル(ICMP)は、RFC 792で定義されています。Junos OSステートフルファイアウォールサービスを使用すると、ICMPメッセージを特定のタイプまたは特定のタイプコード値でフィルタリングできます。タイプとコードが特定に設定されていないICMPエラーパケットは、反対方向の既存のフローと照合され、エラーパケットの正当性がチェックされます。フィルターマッチングを通過したICMPエラーパケットは、NAT変換の対象となります。

ICMP ALGは、常にICMPシーケンス番号を使用して、pingトラフィックをステートフルに追跡します。各エコー応答は、対応するシーケンス番号を持つエコー要求がある場合にのみ転送されます。どの ping フローでも、エコー応答を受信せずに転送できるのは 20 個のエコー要求だけです。動的NATを設定すると、PING パケット識別子が変換され、NAT プール内の追加のホストが同じ識別子を使用できるようになります。

ステートフルファイアウォールおよびNATサービスをサポートするためには、プロトコルが必要な場合にICMP ALGを設定する必要があります。ICMPタイプとコードを設定して、追加のフィルタリングを行うことができます。

IIOP

Oracle Application Serverネーム・サーバー・インターネットORB間プロトコル(IIOP)。このALGは、分散コンピューティングに基づくCORBA(Common Object Request Broker Architecture)で使用されます。CORBAおよびIIOPはオブジェクト管理グループ(OMG)標準ですが、IIOPに固定ポートは割り当てられていません。CORBAを実装する各ベンダーは、ポートを選択します。Java 仮想マシンはデフォルトでポート 1975 を使用し、ORBIX はデフォルトでポート 3075 を使用します。

ステートフルファイアウォールとNATでは、Java VM IIOPの場合はTCPポート1975、CORBAアプリケーションの場合は3075にALG IIOPを設定する必要があります。

IKEアルゴリズム

Junos OSリリース17.4R1以前では、MXシリーズルーターのIPsec機能のJunos VPN Site Secureスイートでは、ネットワークアドレス変換トラバーサル(NAT-T)はサポートされていません。Junos OSリリース14.2R7、15.1R5、16.1R2、17.1R1以降、IKE ALGは、NAT-Tに準拠していないIPsecピア間で、NAPT-44およびNAT64ルールを介してIKEv1およびIPsecパケットを渡すことを可能にします。このALGは、ESPトンネルモードのみをサポートします。

このALGをNATルールで使用し、UDPプロトコルとポート500を指定します。

このALGは、以下を実行します。

  • IKEv1接続開始要求を追跡して、NAT処理が必要かどうかを判断します。

  • 発信および受信IKEv1要求に対してNAT変換を実行し、IKEセッションを作成します。

  • 確立されたIKEセッションに関連するIPsecパケットを特定し、ピア間のセキュリティアソシエーションを確立します。

  • IPsecパケットでNAT変換を実行します。

IP

IP ALGは、単方向フローの作成にのみ使用されます。TCPトラフィックの場合、3ウェイハンドシェイクプロセスはチェックされません。このALGは、トラフィックが一方向にのみ流れるようにするステートフルファイアウォールのみのサービスセットの場合に役立ちます。 match-direction input-output と組み合わせて設定すると、リターントラフィックもステートフルファイアウォールを通過するようになります。一般的なシナリオは、静的 NAT、宛先 NAT、または非対称ルーティングが存在する場合にトラフィックがステートフル ファイアウォールを通過することが予想されるシナリオです。Junos IP ALGはNAPTでの使用を意図していないため、ドロップフローの作成によって一致するトラフィックが破棄されます。

NetBIOS

NetBIOS ALGは、NATが使用されている場合、NetBIOS IPアドレスとポート番号を変換します。

NetBIOS は、TCP および UDP トランスポートプロトコルをサポートします。ステートフルファイアウォールとNATサービスをサポートするためには、UDPポート138とTCPポート139でNetBIOS ALGを設定する必要があります。

ネットショー

Microsoftプロトコルのms-streamingは、MicrosoftメディアサーバーであるNetShowによって使用されます。このプロトコルは、TCP、UDP、HTTP などの複数のトランスポート プロトコルをサポートしています。クライアントはポート1755でTCP接続を開始し、PORTコマンドをサーバーに送信します。その後、サーバーはそのポートでクライアントに対して UDP を開始します。ステートフルファイアウォールおよびNATサービスをサポートするには、UDPポート1755でNetShow ALGを設定する必要があります。

ONC RPCサービス

Open Networks Computing(ONC)RPCサービスの機能は、DCE RCPサービスと同様に機能します。ただし、ONC RPC ALGは、ポートマッピングサービスにTCP/UDPポート111を使用し、UUIDではなくプログラム番号を使用してプロトコルを識別します。

ステートフルファイアウォールとNATサービスをサポートするためには、TCPポート111でONC RPCポートマップALGを設定する必要があります。ONC RPC ALGは、アプリケーション固有のプログラム番号を持つTCPプロトコルを使用します。

PPTP

PPTP(Point-to-Point Tunneling Protocol)ALGはTCPベースのALGです。PPTPを使用すると、PPP(Point-to-Point Protocol)をIPネットワークを介してトンネリングできます。PPTP は、クライアント/サーバー アーキテクチャ、PPTP ネットワーク サーバー、PPTP アクセス コンセントレータを定義します。PPTP ALGには、制御接続とデータトンネルが必要です。制御接続は、TCP を使用して PPP セッションの確立と切断を行い、ポート 1723 で実行されます。データトンネルは、IPを介して伝送されるGRE(Generic Routing Encapsulation)パケットでPPPトラフィックを伝送します。

RealAudio

Real Networks PNA プロトコル RealVideo は別のサービスではありません。これは RealPlayer の一部であり、おそらくビデオに別のチャネルを使用しています。RealPlayer バージョン G2、7、および 8 は PNA と RTSP を使用します。このバージョンを機能させるには、ALGがPNA(7070)とRTSP(554)の両方を許可する必要があります。メディアについては、サーバーはUDPポート(6970〜7170)、TCPポート7071、またはHTTPの範囲から選択します。クライアントは、特定のポートを使用するように設定できます。RealPlayer バージョン 4.0 および 5.0 では、制御チャネル 7070 のメディア UDP ポート 6970 から 7170、TCP ポート 7071、または HTTP を使用します。RealAudio プレーヤー バージョン 3.0 は、制御チャネル 7070 メディア、UDP ポート 6770-7170、または TCP ポート 7071 を使用します。

実際の製品は、 表2に示すポートとポート範囲を使用しています。

表2:RealAudio製品のポート使用状況

実際の製品

ポート使用状況

4.0 および 5.0 サーバー/プレイヤー

TCPポート7070の制御チャネル(双方向)TCP ポート 7070 または UDP ポート 6970-7170 上のサーバーからプレーヤーへのデータ チャネル。

4.0および5.0サーバー/エンコーダー

TCPポート7070の制御チャネル(双方向)TCPポート7070上のエンコーダーまたはサーバーからのデータチャネル。

G2サーバー/プレイヤー

TCPポート80、554、7070、または8080の制御チャネル(双方向)。TCPポート80、554、7070、8080またはUDPポート6970-32,000のサーバーからプレーヤーへのデータチャネル。

G2 Server/3.1、および5.xエンコーダー

TCPポート7070の制御チャネル(双方向)TCPポート7070上のエンコーダーからサーバーへのデータチャネル。

G2サーバー/G2プロデューサー

TCP ポート 4040 の制御チャネル(双方向)。TCPポート4040およびUDPポート6970-32,000のエンコーダーからサーバーへのデータチャネル。

2サーバー/G2プロデューサー(TCPのみ)

TCP ポート 4040 の制御チャネル (双方向) TCP ポート 4040 のエンコーダーからサーバーへのデータ チャネル。注:TCP-ONLYオプションは、バージョン6.1以降で使用できます。

注:

RealAudio は RealPlayers によるオリジナルのプロトコルでした。新しいバージョンの RealPlayer は RTSP を使用します。ステートフルファイアウォールとNATでは、TCPポート7070でALG RealAudioをプログラムする必要があります。

Sun RPCおよびRPCポートマップサービス

リモートプロシージャコール(RPC)ALGは、ポートマッピングに既知のポートTCP 111とUDP 111を使用し、RPCサービスにポートを動的に割り当てて開放します。RPCポートマップALGは、ポート要求を追跡し、これらの要求されたポートのファイアウォールを動的に開きます。RPC ALGは、許可されたプログラム番号を指定することで、RPCプロトコルをさらに制限することができます。

ALGには、 表3に示すRPCサービスが含まれます。

表3:サポートされているRPCサービス

名前

説明

コメント

rpc-mountd

ネットワークファイルサーバー(NFS)マウントデーモン。詳細は、 rpc.mountd(8)のUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。

rpc-nfsprog

NFSの一部として使用されます。詳細については、RFC 1094を参照してください。NFS v3 のRFC1813も参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。

rpc-nisplus

NISを置き換えるために設計されたネットワーク情報サービスプラス(NIS+)。これは Sun Solaris のデフォルトの命名サービスであり、古い NIS とは関係ありません。利用可能なプロトコル情報はありません。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。

rpc-nlockmgr

ネットワークロックマネージャー

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム100021に基づいて rpc-nlockmgr サービスを許可またはブロックできます。

rpc-pcnfsd

カーネル統計サーバー。詳細は、 rstatd および rpc.rstatdのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム150001に基づいて rpc-rstat サービスを許可またはブロックできます。

rpc-rwall

ユーザーへのメッセージを書き込むために使用されます。詳細は、 rpc.rwalldのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム150008に基づいて rpc-rwall サービスを許可またはブロックできます。

rpc-ypbind

NIS バインディング プロセス。詳細は、 ypbindのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム100007に基づいて rpc-ypbind サービスを許可またはブロックできます。

rpc-yppasswd

NISパスワードサーバー。詳細は、 yppasswdのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム 100009に基づいて rpc-yppasswd サービスを許可またはブロックできます。

rpc-ypserv

NISサーバー。詳細は、 ypservのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム100004に基づいて rpc-ypserv サービスを許可またはブロックできます。

rpc-ypupdated

ネットワーク更新ツール。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム100028に基づいて rpc-ypupdated サービスを許可またはブロックできます。

rpc-ypxfrd

NISマップ転送サーバー。詳細は、 rpc.ypxfrdのUNIXマニュアルページを参照してください。

ベースサポートはRPC v2とポート111のポートマッパーサービスです(RFC 1050を参照)。RPC プログラム テーブルが構築されると、RPC プログラム 100069に基づいて rpc-ypxfrd サービスを許可またはブロックできます。

ポートマッピングを使用するステートフルファイアウォールとNATサービスをサポートするには、TCP/UDP宛先ポート111でRPCポートマップALGを設定し、TCPとUDPの両方でRPC ALGを設定する必要があります。1つ以上の rpc-program-number 値を指定して、許可されるRPCプロトコルをさらに制限できます。

RTSP

RTSP(リアルタイムストリーミングプロトコル)は、オーディオやビデオなどのリアルタイムプロパティでデータの配信を制御します。RTSPによって制御されるストリームはRTPを使用できますが、必須ではありません。メディアは同じRTSP制御ストリームで送信できます。これはHTTPに似たテキストベースのプロトコルですが、クライアントとサーバーがセッション情報を保持します。セッションは、SETUPメッセージを使用して確立され、TEARDOWNメッセージを使用して終了します。トランスポート(メディアプロトコル、アドレス、ポート番号)は、セットアップと設定応答でネゴシエートされます。

ステートフルファイアウォールおよびNATサービスをサポートするには、TCPポート554のRTSP ALGを設定する必要があります。

ALGは、制御接続を監視し、メディア(RTP/RTSP)ストリームのフローを動的に開き、NATアドレスとポートの書き換えを実行します。

SIP

SIP(セッション開始プロトコル)は、メディアセッションを確立、維持、終了できるアプリケーション層プロトコルです。これは、広く使用されているVoIP(Voice over IP)シグナリングプロトコルです。SIP ALGは、SIPトラフィックを監視し、シグナリングとメディアパス上のピンホールを動的に作成および管理します。ALGは、正しい権限を持つパケットのみを許可します。SIP ALGは、以下の機能も実行します。

  • 親子セッション関係を管理します。

  • セキュリティポリシーを適用します。

  • VoIPトラフィックのピンホールを管理します。

SIP ALGは、以下の機能をサポートしています。

  • ステートフルファイアウォール

  • 静的ソース NAT

  • 動的アドレスのみの送信元 NAT

  • NAPT(ネットワークアドレスポート変換 )

注:

SIP セッションは、MS-MIC および MS-MPC インターフェイス カードでの NAT 処理のために 12 時間(720 分)に制限されています。MS-DPC での SIP セッションには時間制限がありません。

SNMP

SNMP は、個々のネットワークデバイスと集合デバイスの両方を含む TCP/IP ネットワークを管理するための通信プロトコルです。このプロトコルは、RFC 1157で定義されています。SNMP は UDP 上で実行されます。

Junos OSステートフルファイアウォールサービスは、SNMP ALGを実装してSNMPタイプを検査します。SNMP はステートフル フローを強制しません。各SNMPタイプを特別に有効にする必要があります。ステートフルファイアウォールサービスの完全なSNMPサポートには、UDPポート161でSNMP ALGを設定する必要があります。これにより、SNMP get コマンドと get-next コマンド、および逆方向の応答トラフィックが有効になります。 UDP ポート 161 で、SNMP get-response コマンドが有効になります。SNMPトラップが許可されている場合は、UDPポート162で設定し、SNMP trap コマンドを有効にすることができます。

SQLNet

SQLNetプロトコルは、ロードバランシングやアプリケーション固有のサービスなどのクライアントからのSQLコマンドを実行するためにOracle SQLサーバーによって使用されます。

ステートフルファイアウォールとNATサービスをサポートするには、TCPポート1521のSQLNet ALGを設定する必要があります。

ALGは、制御パケットを監視し、データトラフィック用にフローを動的に開放し、NATアドレスとポートの書き換えを実行します。

TFTP

RFC 1350 では、Trivial File Transfer Protocol(TFTP)が規定されています。最初のTFTP要求は、UDP宛先ポート69に送信されます。追加のフローを作成して、個々のファイルを 取得 または 配置 できます。ステートフルファイアウォールとNATサービスをサポートするには、UDP宛先ポート69に対してTFTP ALGを設定する必要があります。

トレースルート

トレースルートは、パケットがネットワークホストにたどるルートを表示するためのツールです。IP TTL(Time-to-live)フィールドを使用して、ルーターまたはゲートウェイからのICMP time-exceeded メッセージをトリガーします。使用されていないと考えられる宛先ポートにUDPデータグラムを送信します。宛先ポートには、次の式を使用して番号が付けられます。+ nホップ - 1。デフォルトのベースポートは33434です。ファイアウォールを介したトレースルートをサポートするには、2種類のトラフィックを通過させる必要があります。

  1. UDPプローブパケット(UDP宛先ポート>33000、IP TTL<30)

  2. ICMP応答パケット(ICMPタイプtime-exceeded)

NATが適用される場合、ICMPエラーパケット内のIPアドレスとポートも変更する必要があります。

ステートフルファイアウォールとNATサービスをサポートするには、UDP宛先ポート33434から33450のトレースルートALGを設定する必要があります。さらに、TTLしきい値を設定して、TTL値が大きいUDPフラッド攻撃を防ぐことができます。

UNIXリモートシェルサービス

UNIXリモートシェルサービスの基礎となるプロトコルは3つあります。

  • Exec—リモートコマンド実行。クライアントシステム上のユーザーがリモートシステム上でコマンドを実行できるようにします。クライアント(rcmd)からサーバー(rshd)への最初のコマンドは、既知のTCPポート512を使用します。2つ目のTCP接続は、 rcmdの要求に応じて開くことができます。2番目の接続のクライアントポート番号は、ASCII文字列としてサーバーに送信されます。

  • ログイン— rloginとしてよく知られており、既知のTCPポート513を使用します。詳細については、RFC 1282を参照してください。特別なファイアウォール処理は必要ありません。

  • シェル—リモートコマンド実行。クライアントシステム上のユーザーがリモートシステム上でコマンドを実行できるようにします。クライアント(rcmd)からサーバー(rshd)への最初のコマンドは、既知のTCPポート514を使用します。2つ目のTCP接続は、 rcmdの要求に応じてオープンできます。2番目の接続のクライアントポート番号は、ASCII文字列としてサーバーに送信されます。

ステートフルファイアウォールサービスをサポートするためには、TCPポート512でExec ALG、TCPポート513でログインALG、TCPポート514でシェルALGを設定する必要があります。NATリモートシェルサービスでは、割り当てられる動的送信元ポートがポート範囲512〜1023である必要があります。NATプールを設定する場合、このポート範囲はリモートシェルアプリケーション専用に予約されています。

WinFrame

WinFrameアプリケーションサーバーソフトウェアは、あらゆるタイプのクライアントへのあらゆるタイプのネットワーク接続を介して、事実上あらゆるWindowsアプリケーションへのアクセスを提供します。

このプロトコルは、主にCitrix Windowsアプリケーションで使用されます。

ステートフルファイアウォールとNATでは、TCP宛先ポート1494とUDPポート1604にALG Winframeを設定する必要があります。

ジュニパーネットワークスのデフォルト

このJunos OSには、ルーターの設定に自動的に適用される junos-defaults と呼ばれるデフォルトの非表示設定グループが用意されています。 junos-defaults グループには、一般的なアプリケーションの事前定義された値を含む事前設定されたステートメントが含まれています。FTPやTelnetなどのアプリケーションでは、有効にするために参照する必要があります。端末設定などのその他のステートメントは自動的に適用されます。事前設定されたステートメントはすべて、予約名 junos-で始まります。

注:

Junos OSのデフォルト設定値を上書きすることはできますが、削除または編集することはできません。設定を削除すると、新しい設定が追加されるとデフォルトが戻されます。

Junos OS defaultsグループで apply-groups ステートメントを使用することはできません。

Junos OSデフォルトグループから利用可能なプリセットステートメントの全セットを表示するには、 show groups junos-defaults 設定モードコマンドを発行します。次の例は、アプリケーションプロトコル(ALG)を使用するJunos OSデフォルトグループの一覧を示しています。

junos-defaultsグループから利用可能なステートメントを参照するには、選択したjunos-default-nameステートメントを該当する階層レベルで含めます。アプリケーションプロトコルを設定するには、アプリケーションのプロパティの設定を参照してください。特定のプロトコルの詳細については、ALGの説明を参照してください。

例:Junos OSデフォルトグループからプリセットステートメントを参照する

次の例は、ステートフルファイアウォールのFTPで利用可能なJunos OSデフォルトグループのプリセットステートメントです。

Junos OSデフォルトグループからプリセットJunos OSデフォルトステートメントを参照するには、該当する階層レベルでjunos-default-nameステートメントを含めます。例えば、ステートフルファイアウォールでFTPのJunos OSデフォルトステートメントを参照するには、[edit services stateful-firewall rule rule-name term term-name from applications]階層レベルにjunos-ftpステートメントを含めます。

以下の例は、デフォルトのJunos IP ALGの設定を示しています。

ステートフルファイアウォールルールでIP ALGを設定すると、任意のIPトラフィックと一致しますが、他のより具体的なアプリケーションが同じトラフィックに一致する場合、IP ALGは一致しません。例えば、以下の設定では、ICMP ALGとIP ALGの両方が設定されていますが、ICMPパケットのトラフィックは、より具体的な一致であるため、一致します。

MS-MIC および MS-MPC 用の ICMP、PING、TRACEROUTE ALG

Junos OS リリース 14.2 以降、MS-MIC および MS-MPC に事前インストールおよび事前設定された Junos OS 拡張プロバイダ パッケージは、uKernel サービスが提供するサポートと同一の一貫した方法で、ping、traceroute、ICMP ALG のサポートを提供します。これらのALGでは、MS-MIC/MS-MPCとuKernelサービスの間でパリティとサポートの統一性が確立されています。Junos OSリリース14.1まで、MXシリーズルーターでは、uKernel PICでステートフルファイアウォール(SFW)によるネットワークアドレス変換(NAT)を有効にするuKernelサービスと比較して、ICMP ALG、ping ALG、トレースルートALGは完全にサポートされていませんでした。反対方向の既存のフローに一致するICMPエラー応答パケットの処理と、pingパケットのNAT処理によるICMPパケットのNAT処理がサポートされました。

MS-MICとMS-MPCを搭載したMXシリーズルーターでは、ICMPシーケンス番号のみを使用してpingトラフィック状態を追跡する(例えば、対応するシーケンス番号を持つエコー要求が識別された場合にのみエコー応答を転送する)がサポートされています。ICMP アプリケーション層ゲートウェイ(ALG)は、詳細なロギング情報を提供するために強化されています。また、トレースルートALGにより、UDP宛先ポート番号が33000を超え、IP生存時間(TTL)が30秒未満の場合、UDPプローブパケットを処理できます。トレースルートALGは、ICMPタイプが時間超過したICMP応答パケットを処理できるようにし、トレースルートTTLしきい値をサポートします。これは、トレースルーティングのネットワーク浸透の許容レベルを制御します。

[edit services stateful-firewall rule rule-name term term-name from]および[edit services nat rule rule-name term term-name from]階層レベルでapplication junos-icmp-allapplication junos-icmp-ping、およびapplication icmp-codeステートメントでICMPおよびpingメッセージを設定し、ステートフルファイアウォールとNATルールの一致条件を定義できます。Junos OSリリース14.1までは、ICMPメッセージに定義できるアプリケーションに対する制限や検証は存在していませんでした。MS-MICとMS-MPCはuKernelサービスと同じように機能し、ICMPシーケンス番号を使用してpingトラフィックをステートフルに追跡します(対応するシーケンス番号を持つエコー要求が一致する場合にのみ、エコー応答が転送されます)。また、MS-MICおよびMS-MPCは、未処理のping要求に制限を課し、制限に達すると後続のping要求を破棄します。

同様に、tracerouteメッセージの場合、[edit services stateful-firewall rule rule-name term term-name from]および[edit services nat rule rule-name term term-name from]階層レベルでapplication junos-tracerouteおよびapplication junos-traceroute-ttl-1ステートメントを設定して、ステートフルファイアウォールとNATルールのtracerouteメッセージの一致条件を定義できます。

traceroute メッセージと ICMP メッセージは、IPv4 パケットと IPv6 パケットの両方でサポートされています。トレースルート機能が機能するためには、ユーザー定義のアプリケーションが非アクティブタイムアウト期間中に期待通りに動作し、TTLしきい値が[edit services application-identification application application-name]階層レベルでsession-timeout secondsステートメントを使用して設定された期間と同じ期間になるように設定されていることを確認するだけで済みます。ICMPメッセージのロギング中、pingおよびICMPユーティリティのALG情報は、uKernelロギングに表示されるのと同じ方法で、show sessionsshow conversationsなどの関連するshowコマンドの出力に表示されます。

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
18.2R1
SIPは、Junos OSリリース18.2R1以降、MS-MPCおよびMS-MIC上のDS-Liteでサポートされています。
18.1R1
MS-MPCおよびMS-MICでのDS-liteによるALGのサポートは、Junos OSリリース18.1R1で開始されます
17.2R1
(Junos OSリリース17.2R1以降)
17.2R1
(Junos OSリリース17.2R1以降)
17.2R1
Junos OSリリース17.2R1以降、NAT-64ルールもサポートされるようになりました。
17.2R1
Junos OSリリース17.2R1以降、NAT-64ルールもサポートされるようになりました。
17.1R1
(Junos OSリリース17.1R1以降)
17.1R1
Junos OSリリース17.1R1以降、ゲートキーパーの登録、管理、およびステータス(RAS)ALGは、H.323コールのゲートキーパーモードを完全にサポートできるようになりました。
14.2R7
IKE ALG(Junos OSリリース14.2R7、15.1R5、16.1R2、17.1R1以降)
14.2R7
Junos OSリリース14.2R7、15.1R5、16.1R2、17.1R1以降、IKE ALGは、NAT-Tに準拠していないIPsecピア間で、NAPT-44およびNAT64ルールを介してIKEv1およびIPsecパケットを渡すことを可能にします。