Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例:Telnet および SSH アクセスをブロックするフィルターの設定

要件

共有ネットワーク リンクで接続された Junos OS を搭載したデバイスが2台必要です。デバイスの基本的な初期化(管理インターフェース、リモート アクセス、ユーザー ログイン アカウントなど)以外の特別な設定は必要ありません。厳格な要件ではありませんが、R2 デバイスへのコンソール アクセスを推奨します。

注:

この例は、当社のコンテンツテスト チームが検証し、更新したものです。

概要とトポロジー

この例では、IPv4 ステートレス ファイアウォール フィルターを作成します。このフィルターは、発信元が 192.168.1.0/30 サブネットのパケット以外の、ローカル ルーティング エンジン に送信された Telnet または SSH のパケットをログに記録して拒否します。このフィルターはループバック インターフェイスが適用され、ローカル デバイス宛てのトラフィックだけに影響を与えます。フィルターは入力方向に適用します。出力フィルターは使用しません。その結果、ローカルで生成されたすべてのトラフィックが許可されます。

  • 特定のサブネットや IP プレフィックスから送信されたパケットを照合するには、入力方向に適用する source-address IPv4 の一致条件を使用します。

  • Telnet ポートおよび SSH ポート宛のパケットを照合するには、入力方向に適用された port telnet および port ssh のIPv4 一致条件と protocol tcp の一致条件を組み合わせて使用します。

トポロジーの例

図 1 にこの例のテスト トポロジーを示します。ファイアウォールフィルターがR2デバイスに適用され、DUT(被試験デバイス)になります。R1とR2のデバイスは、192.168.1.0/30 のサブネットが割り当てられたリンクを共有します。両デバイスとも、/32サブネットマスクを使用した192.168.255.0/30 プレフィックスから割り当てられたループバックアドレスを持っています。この簡単な例では、内部ゲートウェイプロトコルが設定されていないため、ループバックアドレス間の到達性は静的ルートで確保されます。

図 1: トポロジーの例トポロジーの例

設定

次の例では、設定階層のいくつかのレベルに移動する必要があります。設定モードでのCLIエディターの使用CLIのナビゲーションについては、「1 コンフィグレーション・モードでのCLIエディタの使用」1 を参照してください。

注意:

設計上、サンプル フィルターは、R1 の共有サブネットから発信されたものでない限り、R2 への Telnet および SSH のアクセスを制限します。SSH または Telnet を使用して R2 デバイスに直接アクセスすると、フィルターが適用されて接続を失います。この例に沿って設定を行うなら、コンソール アクセスの取得をお勧めします。必要に応じて、R1 デバイスをジャンプ ホストとして使用し、フィルター適用後に R2 への SSH セッションを開始できます。または、サンプルフィルターを変更して、R2デバイスへのアクセスに使用するマシンに割り当てられたIPサブネットを許可することもできます。

次のタスクを実行して、この例に沿って設定を行いましょう。

CLIクイック構成

R1 デバイスの簡易設定

R1 デバイスを簡易的に設定する場合、以下のコマンドを適宜編集して、[edit] 階層レベルの CLI に貼り付けます。変更を有効にするには、必ず設定モードで commit を発行してください。

R2 デバイスの簡易設定

R2 デバイスを簡易的に設定する場合、以下のコマンドを適宜編集して、[edit] 階層レベルの CLI に貼り付けます。変更を有効にするには、必ず モードで commit を発行してください。

ヒント:

デバイスのリモートアクセスに影響を与えうる変更を行う際は、commit-confirmed の使用を検討します。Junos OS の設定有効時の確認要求

R1 デバイスの設定

ステップバイステップでの手順

以下の手順に従って、R1 デバイスを設定します。

  1. インターフェイスを設定します。

  2. R2デバイスのループバックアドレスに対して、ホスト名と静的ルートを設定します。Telnet および SSH のアクセスも設定します。

R1 デバイスでの設定の確認とコミット

ステップバイステップでの手順

次の手順に従って、キャンディデート構成をR1デバイスで確認してコミットします。

  1. show interfaces 設定モード コマンドを使用して、インターフェイスの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。

  2. R2 デバイスがループバック アドレスまで到達するのに使用する静的ルートや、SSH および Telnet アクセスが有効であることを確認します。show routing-options および show system services 設定コマンドを使用します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。

  3. R1 デバイスの設定に問題がなければ、受験者の設定をコミットします。

R2 デバイスの設定

ステップバイステップでの手順

以下の手順に従って、R2 デバイスを設定します。始めに、Telnet および SSH アクセスを選択的にブロックするステートレス ファイアウォール フィルターを定義します。

  1. edit firewall family inet filter local_aclの階層に移動します。

  2. フィルター条件terminal_accessを定義します。この条件は、指定されたソースプレフィックスからのTelnetとSSHを許可します。

  3. フィルター条件terminal_access_deniedを定義します。この条件は、その他すべての送信元アドレスからの SSH および Telnet を拒否します。この条件は、条件に一致するログを記録し、明示的なインターネット制御メッセージ プロトコル(ICMP)宛先到達不能応答をパケットの送信元に返信します。フィルターロギングオプションの詳細については、ファイアウォールフィルターロギングアクションをご覧ください。

    ヒント:

    discard アクションを使用すると、送信元への ICMP エラーメッセージの生成を抑制できます。詳細については、ファイアウォールフィルターロギングアクションをご覧ください。

  4. オプション。

    フィルター条件tcp-estabを定義します。この条件はインターネットへのアウトバウンドアクセスを許可し、Juniper Mist Cloudへの接続をサポートします(tcp-establishedはビットフィールド一致条件のtcp-flags "(ack | rst)"であり、これは確立されたTCPセッションであるものの、TCP接続の最初のパケットではないことを示しています)。

  5. フィルター条件default-termを定義します。この条件は、他のすべてのトラフィックを許可します。Junos OSステートレス フィルターの末尾には、暗黙的な deny 条件があることを思い出してください。default-termは、明示的なacceptアクションでフィルターを終了させてこの動作を上書きします。フィルターが終了すると、その他のすべてのトラフィックがファイラーによって許可されます。

    注:

    この例では他のすべてのトラフィックを許可しますが、ご自身のネットワークでは、ルーティングエンジンを保護した方がよいでしょう。詳細についてはルーティングエンジンを保護するを参照ください。

  6. ループバックインターフェイスを設定し、入力方向にフィルターを適用します。

  7. ホスト名、ge-0/0/0インターフェイス、R1デバイスのループバックアドレスへの静的ルートを設定し、SSHおよびTelnetを使用したリモートアクセスを有効にします。

R2デバイスでの設定の確認とコミット

ステップバイステップでの手順

次の手順に従って、受験者の設定を R2 デバイスで確認してコミットします。

  1. show firewall 設定モード コマンドを使用して、ステートレス ファイアウォール フィルターの設定を確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。

  2. show interfaces 設定モード コマンドを使用して、インターフェイスの設定とフィルター アプリケーションを確認します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。

  3. R1 デバイスのループバック アドレスに到達するのに使用する静的ルートを確認し、Telnet および SSH アクセスが有効であることを確認します。show routing-options および show system services 設定コマンドを使用します。コマンドの出力結果に意図した設定内容が表示されない場合は、この例の手順を再実行して設定を修正します。

  4. R2 デバイスの設定に問題がなければ、受験者の設定をコミットします。

    ヒント:

    デバイスのリモートアクセスに影響を与えうる変更を行う際は、commit-confirmed の使用を検討します。

ステートレス ファイアウォール フィルターの確認

TelnetおよびSSHアクセスを制限するファイ ウォールフィルターが正常に動作していることを確認します。

受理されたパケットの確認

目的

トラフィックが 192.168.1.0/30 サブネットから送信されている場合、ファイアウォール フィルターが SSH と Telnet を正しく許可していることを確認します。

対処

  1. ルーターまたはスイッチのファイアウォール ログを消去します。

  2. 192.168.1.0/30 サブネット内の IP アドレスのホストから、ssh 192.168.255.2 コマンドを使用して、許可された送信元アドレスから SSH を使用してデバイスにログインできるか確認します。このパケットは受理されるべきですが、このパケットのパケット ヘッダー情報は、パケット転送エンジンのファイアウォール フィルター ログ バッファーに記録されるべきではありません。これらのデバイス間のuser最初のSSHログインである場合は、SSHホストキーを保存するようにメッセージが現れます。

    注:

    デフォルトの R1 デバイスは、宛先に到達するために使用するエグレス インターフェイスから SSH トラフィックを送信します。その結果、このトラフィックは、R1デバイスのge-0/0/0インターフェイスに割り当てられた192.168.1.1アドレスから送信されます。

  3. R2デバイスでCLIからログアウトして、SSHセッションを閉じます。

  4. 192.168.1.0/30 サブネット内の IP アドレスのホストから、 telnet 192.168.255.2 コマンドを使用して、許可された送信元アドレスから Telnet を使用してルーターまたはスイッチにログインできるか確認します。このパケットは受理されるべきですが、このパケットのパケット ヘッダー情報は、パケット転送エンジンのファイアウォール フィルター ログ バッファーに記録されるべきではありません。

  5. R2デバイスでCLIからログアウトして、R2デバイスへのTelnetセッションを閉じます。

  6. show firewall log コマンドを使用して、R2 デバイスの パケット転送エンジン(PFE)のファイアウォール ログ バッファーに、192.168.1.0/30 サブネット内の送信元アドレスを持つエントリーが含まれていないか確認します。

ログされたパケットと拒否されたパケットの確認

目的

ファイアウォール フィルターが、発信元が 192.168.1.0/30 サブネットではない SSH および Telnet トラフィックを正しく拒否しているか確認します。

対処

  1. ルーターまたはスイッチのファイアウォール ログを消去します。

  2. R1デバイスのループバックアドレスから送信されたSSHトラフィックを生成します。このトラフィックの送信元アドレスは、許可された 192.168.1.0/30 サブネットの外にありますssh 192.168.255.2 source 192.168.255.1 コマンドを使用して、この送信元アドレスから SSH を使用してデバイスにログインできないことを確認します。このパケットは拒否され、パケットのヘッダー情報はファイアウォール フィルター ログのバッファーに記録されるはずです。

    この出力結果は、SSH接続が拒否されたことを示しています。この出力は、フィルターが ICMP エラー メッセージを生成していること、および許可されない送信元アドレスから送信された SSH トラフィックを正しくブロックしていることを確認します。

  3. R1 デバイスのループバック アドレスから送信された Telenet トラフィックを生成します。このトラフィックの送信元アドレスは、許可された 192.168.1.0/30 サブネットの外にありますtelnet 192.168.255.2 source 192.168.255.1 コマンドを使用して、この送信元アドレスから Telnet を使用してデバイスにログインできないことを確認します。このパケットは拒否され、パケットのヘッダー情報は PFE のファイアウォール フィルター ログのバッファーに記録されるはずです。

    この出力結果は、Telnet接続が拒否されたことを示しています。この出力は、フィルターが ICMP エラー メッセージを生成していること、および許可されない送信元アドレスから送信された Telnet トラフィックを正しくブロックしていることを確認します。

  4. show firewall log コマンドを使用して、R2デバイスのファイアウォールログバッファーに、送信元アドレスの192.168.255.1を持つパケットが拒否されたことを示すエントリーが含まれていないか確認します。

    この出力から、送信元アドレス192.168.255.1からのトラフィックがフィルターのterminal_access_denied条件に一致したことがわかります。Action 列には、これらのパケットが拒否されたことを示す R が表示されています。インターフェイス、トランスポート プロトコル、送信元アドレスおよび宛先アドレスも一覧表示されています。これらの結果から、この例においてファイアウォールフィルターが正しく動作したことが確認できます。