Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

リモートアクセスの概要

DHCP、フィンガー、FTP、rlogin、SSH、Telnet サービスなどを使用して、ルーター、スイッチ、またはセキュリティデバイスにリモートでアクセスできます。このトピックでは、Telnet、SSH、FTP、Finger サービスを使用してリモートアクセスを構成する方法について説明します。詳細については、このトピックをお読みください。

システムサービスの概要

セキュリティ上の理由により、ルーターへのリモートアクセスはデフォルトで無効になっています。リモートシステム上のユーザーがアクセスできるようにルーターを明示的に設定する必要があります。ルーターは、DHCP、フィンガー、FTP、rlogin、SSH、および Telnet サービスを使用して、リモートシステムからアクセスできます。さらに、Junos XML プロトコルクライアントアプリケーションは、他のサービスとして、SSL (Secure Sockets Layer) または Junos の XML プロトコル固有のクリアテキストサービスを使用できます。

注:

システムリソースを保護するために、1つのサービスによって許可される同時接続数と単一ユーザーが所有するプロセス数を制限することができます。いずれかの制限を超えた場合、接続試行は失敗します。

ルーターまたはスイッチへのリモートアクセスのための Telnet サービスの構成

アクセスサービスとして Telnet を受け入れるようにルーターまたはスイッチを構成telnetするには[edit system services] 、以下のステートメントを階層レベルに含めます。

デフォルトでは、ルーターまたはスイッチは、同時 Telnet セッション数と1分あたりの接続試行回数の制限をサポートしています。

オプションとして、以下の文のいずれかまたは両方を使用してデフォルトを変更することができます。

  • connection-limit limit—プロトコル当たりの同時接続最大数(IPV4 および IPv6)。範囲は1~250です。デフォルトは75です。接続制限を構成する場合、プロトコルあたりの telnet セッション数 (IPv4 および IPv6) に制限が適用されます。たとえば、接続制限10は 10 IPv6 telnet セッションと10個の IPv4 telnet セッションを許可します。

  • rate-limit limit—1 分間に許容される接続試行の最大数(1~250)。デフォルトは150です。レート制限を構成すると、プロトコル当たりの接続試行数 (IPv4 および IPv6) に制限が適用されます。たとえば、レート制限10に設定すると、1分あたり10の IPv6 telnet セッション接続試行が許可され、1分間に10個の IPv4 telnet セッション接続を試行できます。

Junos FIPS ソフトウェアをtelnet実行しているデバイスにステートメントを含めることはできません。Common Criteria 環境では Telnet を使用することをお勧めします。

ルーターまたはスイッチへのリモートアクセスのための FTP サービスの設定

アクセスサービスとしての FTP を受け入れるようにルーターまたはスイッチをftp構成するに[edit system services]は、以下のステートメントを階層レベルに含めます。

デフォルトでは、ルーターまたはスイッチは、同時 FTP セッション数の制限と1分当たりの接続試行数をサポートしています。デフォルトを変更するには、以下の文のいずれか、または両方を含めることができます。

  • connection-limit limit—プロトコル(IPV4 と IPv6)当たりの同時接続最大数。範囲は1~250の値です。デフォルトは75です。接続制限を構成する場合、プロトコル当たりのセッション数 (IPv4 および IPv6) に制限が適用されます。たとえば、10の接続制限では、10個の IPv6 FTP セッションと10個の IPv4 FTP セッションが許可されます。

  • rate-limit limit—1 分間に許容される接続試行の最大数(1 ~250 の値)。デフォルトは150です。レート制限を構成すると、プロトコル当たりの接続試行数 (IPv4 および IPv6) に制限が適用されます。たとえば、レート制限10は10の IPv6 FTP セッション接続試行と10個の IPv4 FTP セッション接続試行を許可します。

パッシブ ftp を使用して、パッシブ FTP サービスのみを受け入れるデバイスにアクセスできます。FTP を使用するすべてのコマンドとステートメントもパッシブ FTP を受け付けます。アクティブ ftp ftpまたはパッシブ[edit system services] ftp を使用するには、階層レベルのステートメントを追加してください。

パッシブ FTP セッションを開始するにはpasvftp 、標準 ftp ftp形式 (ftp://destination) で (ではなく) を使用します。たとえば、以下のように記述します。

Junos FIPS ソフトウェアをftp実行しているルーターやスイッチにステートメントを含めることはできません。共通基準環境では finger サービスを使用しないことをお勧めします。

ルーターへのリモートアクセスのための Finger サービスの構成

アクセスサービスとして finger を受け入れるようにルーターを設定するfingerには、 [edit system services]次のステートメントを階層レベルに含めます。

デフォルトでは、ルーターは同時 finger セッション数と接続試行数が、分単位で制限されています。オプションとして、以下の文のいずれかまたは両方を使用してデフォルトを変更することができます。

  • connection-limit limit—プロトコル当たりの同時接続最大数(IPv4 および IPv6)。範囲は1~250の値です。デフォルトは75です。接続制限を構成する場合、プロトコル当たりのセッション数 (IPv4 および IPv6) に制限が適用されます。たとえば、接続制限10は 10 IPv6 クリアテキストサービスセッションと10個の IPv4 クリアテキストサービスセッションを許可します。

  • rate-limit limit—1 分間に許容される接続試行の最大数(1 ~250 の値)。デフォルトは150です。レート制限を構成すると、プロトコル当たりの接続試行数 (IPv4 および IPv6) に制限が適用されます。たとえば、レート制限10に設定すると、1分あたり10の IPv6 セッション接続が可能になり、1分あたり10個の IPv4 セッション接続試行が許可されます。

Junos FIPS ソフトウェアをfinger実行しているルーターにステートメントを含めることはできません。共通基準環境では finger サービスを使用しないことをお勧めします。

ルーターまたはスイッチへのリモートアクセスのための SSH サービスの設定

アクセスサービスとして SSH を受け入れるようにルーターまたはスイッチを設定sshするには[edit system services] 、以下のステートメントを階層レベルに含めます。

デフォルトでは、ルーターまたはスイッチは、同時 SSH セッション数と1分あたりの接続試行数の制限をサポートしています。デフォルトを変更するには、以下のステートメントを使用します。

  • connection-limit limit—プロトコル当たりの同時接続最大数(IPv4 および IPv6)。範囲は1~250の値です。デフォルトは75です。接続制限を構成する場合、プロトコルあたりの SSH セッション数 (IPv4 および IPv6) に制限が適用されます。たとえば、接続制限10は10個の IPv6 SSH セッションと10個の IPv4 SSH セッションを許可します。

  • max-sessions-per-connection number—このステートメントを含め、単一の SSH 接続ごとに許容される SSH セッションの最大数を指定します。これにより、1つの SSH 接続でトンネルされた複製セッション数を制限できます。デフォルト値は10です。

  • rate-limit limit—1 分間に許容される接続試行の最大数(1 ~250 の値)。デフォルトは150です。レート制限を構成すると、プロトコル当たりの接続試行数 (IPv4 および IPv6) に制限が適用されます。たとえば、レート制限10は、1分当たり10の IPv6 SSH セッション接続を許可し、1分間に10の IPv4 SSH セッション接続を試行します。

  • data-limit:セッション キーを再ネゴシエーションする前のデータ制限(バイト)

  • time-limit:セッション キーを再ネゴシエーションする前の時間制限(分)

Junos OS リリース 19.4R1 および Junos OS リリース 17.4R3 から、 [ ] 階層レベルの および を使用して、SSH ログイン パスワードまたは challenge-response 認証のいずれかを無効 no-password-authenticationno-challenge-responseedit system services ssh にできます。

デフォルトでは、SSH経由で仮想マシンを実行しているCLIセッション経由でSSHトンネルJunos OS作成できます。このタイプのトンネルを使用して TCP トラフィックを転送し、ファイアウォールフィルターやアクセスコントロールリストをバイパスして、ルーターを越えたリソースへのアクセスを可能にすることができます。ユーザーがno-tcp-forwarding ssh 経由でルーターに ssh トンネルを作成できないようにする場合は、このオプションを使用します。

その他の構成設定の詳細については、以下のトピックを参照してください。

SSH による Root ログインの設定

デフォルトでは、認証方法でパスワードが必要ない場合、SSHからルーターまたはスイッチにログインできます root 。SSH を使用してユーザーのアクセスをroot-login制御するに[edit systems services ssh]は、以下のように階層レベルのステートメントを追加します。

allow—ユーザーは、SSH からルーターまたは root としてスイッチにログインできます。

deny—SSH からルーターまたはスイッチに root としてログインするユーザーを無効にします。

deny- 認証方法(RSAなど)でパスワードが必要ない場合、ユーザーはルーターにログインするか、SSHからrootとしてスイッチに password ログインできます。

デフォルトはdeny-passwordです。

受信 SFTP 接続の設定

SSH File Transfer Protocol(SFTP)は、信頼性の高いデータ ストリームを使用してファイル アクセス、ファイル転送、ファイル管理を実行できるネットワーク プロトコルです。リリース Junos OS、デフォルト19.1R1 SFTP 受信接続はグローバルで無効になっています。必要に応じて、階層レベルでステートメントを設定することで、受信するSFTP接続 sftp-server をグローバルに [edit system services ssh] 有効にできます。リリースリリースJunos OS以前19.1R1 SFTP接続はグローバルに有効になっています。

注:

デフォルトでは、受信する SFTP 接続のみ無効になります。たとえば、デバイス A と B(デバイス A が 19.1R1 を実行している場合)は、デフォルトで B から A に SFTP を介して接続できません。ただし、デバイス A で設定した場合は、デバイス B からデバイス A に SFTP sftp-server で接続できます。

受信 SFTP 接続はデフォルトで無効になっています。受信 SFTP 接続を有効にするには、次の方法に示します。

  1. 階層レベル sftp-server で ステートメント [edit system services ssh] を設定します。
  2. 構成をコミットします。

    ステートメント sftp-server がアクティブになります。そのため、受信 SFTP 接続は有効になっています。

SSH プロトコルバージョンの設定

デフォルトでは、バージョン2の SSH プロトコルのみが有効になっています。

ルーターまたはスイッチを、バージョン2の SSH プロトコルを使用するように設定protocol-versionするにはv2 、ステートメント[edit system services ssh]を含め、階層レベルで指定します。

FIPS モードのシステムは常に SSH プロトコルv2バージョンを使用します。

クライアントの生きたメカニズムを設定する

クライアントの起動メカニズムは、接続が非アクティブになったときにクライアントやサーバーが認識することに依存している場合に役立ちます。標準のキープアライブメカニズムとは異なり、クライアント起動メッセージは暗号化チャネルを介して送信されます。デフォルトでは、クライアントの生きたメカニズムは有効ではありません。これを有効にするにclient-alive-count-maxclient-alive-interval 、and ステートメントを構成します。このオプションは、SSH プロトコルバージョン2のみに適用されます。

次の例では、応答しない SSH クライアントは約100秒 (20 x 5) を経過すると切断されます。

SSH フィンガープリントハッシュアルゴリズムの構成

SSH サーバーがfingerprint-hashキーのフィンガープリントを表示する際に使用するハッシュアルゴリズムを設定するにはmd5sha2-256以下の[edit system services ssh]文を含め、階層レベルを指定するか、またはそのようにします。

このmd5ハッシュアルゴリズムは、FIPS モードのシステムでは使用できません。

Telnet コマンド

CLI telnetコマンドを使用して、リモートデバイスへの Telnet セッションを開くことができます。

注:

SRX100、SRX210、SRX220、SRX240、SRX300、SRX320、SRX340、SRX345、SRX1500 の各デバイスでは、同時 Telnet セッションの最大数は次の表に示されています。プラットフォームのサポートは、インストールの Junos OS リリースによって異なります。

SRX100

SRX210SRX220

SRX240

SRX300SRX320SRX340

SRX345

SRX1500

3

3

5

3

5

5

Telnet セッションを終了して Telnet コマンドプロンプトに戻るには、Ctrl +] キーを押します。

Telnet セッションを終了し、CLI コマンドプロンプトに戻るには、 quitを入力します。

表 1telnetコマンドオプションについて説明します。

表 1: CLI telnet コマンドオプション

オプション

説明

8bit

8ビットのデータパスを使用します。

bypass-routing

ルーティングテーブルをバイパスし、直接接続されたインターフェイス上のホストにのみ Telnet セッションを開きます。ホストが直接接続されたインターフェイス上にない場合、エラーメッセージが返されます。

host

指定されたホスト名または IP アドレスへの Telnet セッションを開始します。

inet

Telnet セッションを IPv4 宛先に強制的に適用します。

interface source-interface

指定されたインターフェイス上のホストへの Telnet セッションを開始します。このオプションが含まれていない場合は、すべてのインターフェイスが使用されます。

no-resolve

シンボル名の表示を抑制します。

port port

ホストのポート番号またはサービス名を指定します。

routing-instance routing-instance-name

指定されたルーティングインスタンスを Telnet セッションに使用します。

source address

指定された発信元アドレスを Telnet セッションに使用します。

Ssh コマンド

CLI sshコマンドを使用して secure SHELL (SSH) プログラムを使用して、リモートデバイスへの接続を開くことができます。

注:

SRX100、SRX210、SRX220、SRX240、SRX300、SRX320、SRX340、SRX345、SRX1500 の各デバイスでは、同時 SSH セッションの最大数は次の表に示されています。プラットフォームのサポートは、インストールの Junos OS リリースによって異なります。

SRX100

SRX210SRX220

SRX240

SRX300SRX320SRX340

SRX345

SRX1500

3

3

5

3

5

5

表 2sshコマンドオプションについて説明します。

表 2: CLI ssh コマンドオプション

オプション

説明

bypass-routing

ルーティングテーブルをバイパスし、直接接続されたインターフェイス上のホストにのみ SSH 接続を開きます。ホストが直接接続されたインターフェイス上にない場合、エラーメッセージが返されます。

host

指定されたホスト名または IP アドレスへの SSH 接続を開きます。

inet

SSH 接続を強制的に IPv4 宛先にします。

interface source-interface

指定されたインターフェイス上のホストへの SSH 接続を開きます。このオプションが含まれていない場合は、すべてのインターフェイスが使用されます。

routing-instance routing-instance-name

指定されたルーティングインスタンスを SSH 接続に使用します。

source address

SSH 接続用に指定された送信元アドレスを使用します。

v1

SSH で、接続にバージョン1を使用するように強制します。

v2

SSH が接続にバージョン2を使用するように強制します。

データのセキュアなコピーを実現するための SSH ホストキーの設定

Secure Shell (SSH) は、暗号化アルゴリズムを使用して、ホスト、サーバー、セッションキーシステムを生成します。これにより、セキュアなデータ転送が可能になります。SSH ホストキーを構成して、 FTPの代わりとして、構成アーカイブやイベントログなどのデータをバックグラウンドで転送することで、セキュアコピー (SCP) をサポートすることができます。SCP の SSH サポートを構成するには、以下のタスクを完了する必要があります。

  • ルーティングエンジンの構成階層にホスト名とホスティングキー情報を含めることで、SSH の既知のホストを指定します。

  • SCP URL を設定して、データを受信するホストを指定します。この属性を設定すると、自動的に SCP サーバーから SSH ホストキー情報を取得します。

  • ホストキーが正規のものであることを確認します。

  • セキュア接続を受け入れます。この接続を受け入れると、ホストキー情報がローカルのホストキーデータベースに自動的に保存されます。構成階層にホストキー情報を格納すると、セキュアハンドシェイクが自動化され、SCP を使用したバックグラウンドでのデータ転送が可能になります。

データのセキュアなコピーのために SSH ホストキーを構成するためのタスクは次のとおりです。

SSH の既知のホストの構成

SSH の既知のホストを構成するhostには、ステートメントを含め、信頼され[edit security ssh-known-hosts]たサーバーのホストおよびホストキーオプションを階層レベルで指定します。

ホストキーは以下のいずれかです。

  • dsa-key key—SSHバージョン2用の Base64エンコードDSA(デジタル署名アルゴリズム)キー。

  • ecdsa-sha2-nistp256-key —Base64 エンコード ECDSA-SHA2-NIST256 鍵。

  • ecdsa-sha2-nistp384-key —Base64 エンコード ECDSA-SHA2-NIST384 鍵。

  • ecdsa-sha2-nistp521-key —Base64 エンコード ECDSA-SHA2-NIST521 鍵。

  • ed25519-key — Base64 エンコード ED25519 鍵。

  • rsa-key key—SSHバージョン1およびSSHバージョン2の暗号化とデジタルシグネチャーをサポートする、Base64エンコードの公開キーアルゴリズム。

  • rsa1-key key—SSHバージョン1の暗号化とデジタルシグネチャーをサポートする、Base64エンコードのRSA公開鍵アルゴリズム。

Junos OSリリース18.3R1から、すぐに削除するのではなく、and ssh-dss hostkeyアルゴリズムを変更して下位互換性を確保し、設定を新しい設定に準拠する機会を提供します。 ssh-dsa

SCP ファイル転送のサポートを構成する

バックグラウンドの SCP ファイル転送をサポートするように既知のホストをarchive-sites構成するに[edit system archival configuration]は、階層レベルでステートメントを追加します。

注:

IPv6 ホストアドレスを使用して Junos OS ステートメントで URL を指定するときは、URL 全体を引用符 ("") で囲み、IPv6 ホストアドレスを角かっこ ([]) で囲む必要があります。例えば“scp://username<:password>@[host]<:port>/url-path”;

文をarchive-sites SCP URL に設定すると、ホストキーの自動取得がトリガーされます。この時点で、Junos OS は SCP ホストに接続して SSH パブリック・キーを取得し、ホスト・キー・メッセージのダイジェストまたはフィンガープリントをコンソールへの出力として表示し、サーバーへの接続を終了します。

ホストキーが本物かどうかを確認するには、この指紋を、信頼できるソースを使用して同じホストから取得したフィンガープリントと比較してください。フィンガープリントが同一の場合は、プロンプトでを入力してホスト キー yes を受け入れる。その後、ホストキー情報はルーティングエンジン構成で保存され、SCP を使用したデータのバックグラウンド転送をサポートします。

SSH ホストキー情報を更新しています

一般的に、SSH ホストキー情報は、階層レベルのarchival configuration archive-sites[edit system]ステートメントを使用して SCP の URL 属性を設定すると、自動的に取得されます。ただし、ホストキーデータベースを手動で更新する必要がある場合は、以下のいずれかの方法を使用してください。

手動でホストキー情報を取得する

SSH パブリックホストキー情報を手動で取得するにfetch-from-serverは、このset security ssh-known-hostsコマンドとともにオプションを使用します。SSH 公開鍵を取得するホストをset security ssh-known-hosts fetch-from-server指定するには、コマンドに hostname 属性を含める必要があります。

ファイルからホストキー情報をインポートします。

SSH ホストキー情報をサーバー /var/tmp/known-hosts上にある既知の hosts ファイルから手動でインポートするには、 load-key-fileこのset security ssh-known-hostsコマンドにオプションを含めます。ホストキー情報をインポートする場所known-hostsを指定するset security ssh-known-hosts load-key-fileコマンドを使用して、ファイルへのパスを含める必要があります。

レガシー暗号化をサポートするように SSH サービスを設定する

Junos OSリリース16.1から、Junos OSのSSHサーバーは OpenSSH 7に基づいており、デフォルトではより安全な暗号セットと鍵交換アルゴリズムが使用されます。OpenSSH 7 では、従来の暗号化を省略しています。

注:

デバイスに従来の暗号化機能がサポートされていないと Junos Space デバイスの検出に失敗します。この問題を回避するに3des-cbcは、または暗号化、あるいはblowfish-cbcその両方をサポートするようにdh-group1-sha1デバイスを構成します。また、キー交換方法にも対応しています。この問題は、アップグレードされた FreeBSD で Junos OS を実行しているデバイスには影響しません。

注:

これらの拡張機能の詳細については、詳細については、 のマニュアル https://www.openssh.com/ OpenSSH 7 を参照してください。

Junos OS リリース16.1 では、デフォルトで次の暗号セットがサポートされています。

  • chacha20-poly1305@openssh.com

  • aes128-ctr

  • aes192-ctr

  • aes256-ctr

  • aes128-gcm@openssh.com

  • aes256-gcm@openssh.com

Junos OS リリース16.1 では、次の暗号はデフォルトではサポートされていませんが、以下の暗号化をサポートするようにデバイスを構成できます。最も安全性の高いものから低いものへと次のように表示されています。

  • aes256-cbc

  • aes192-cbc

  • aes128-cbc

  • 3des-cbc

  • blowfish-cbc

  • cast128-cbc

  • arcfour256

  • arcfour128

  • arcfour

Junos OS リリース16.1 は、デフォルトで次の一連のキー交換方法をサポートしています。

  • curve25519-sha256

  • ecdh-sha2-nistp256

  • ecdh-sha2-nistp384

  • ecdh-sha2-nistp521

  • group-exchange-sha2

  • dh-group14-sha1

Junos OS リリース16.1 では、次のキー交換方法はデフォルトでサポートされていませんが、デバイスを構成してサポートすることができます。

  • group-exchange-sha1

  • dh-group1-sha1

レガシー暗号化をサポートするように SSH サービスを設定するには、次のようにします。

注:

一連の暗号、キー交換方式、またはメッセージ認証コード (Mac) を設定することで、新たに定義したセットがサーバーとクライアントの両方のコマンドに適用されます。セキュリティ保護コピープロトコル (SCP file copy ) を使用すると、デフォルトの変更がコマンドに影響を与えます。

  1. このコマンドを使用して、 set system services ssh ciphers [ cipher 1 cipher 2 ... ]暗号のサポートを追加します。最後に使用されるオプションの中に暗号を追加することをお勧めします。次の例では、 3des-cbcおよびblowfish-cbc暗号がデフォルトセットに追加されています。
  2. コマンドを使用して、 set system services ssh key-exchange [ method 1 method 2 ... ]キー交換方法のサポートを追加します。キー交換の方法は、最後に使用されるオプションの間に追加することをお勧めします。次の例では、 dh-group1-sha1キー交換メソッドがデフォルトセットに追加されます。
  3. 構成をコミットします。

送信 SSH サービスの設定

Junos OS を実行するデバイスを設定して、クライアント管理アプリケーションとの TCP/IP 接続を開始することができます。クライアントが接続を開始しようとした場合、たとえば、デバイスがファイアウォールの背後にある場合などはブロックされます。このoutbound-sshコマンドは、デバイスに対してクライアント管理アプリケーションとの tcp/ip 接続を作成し、デバイスの id を転送するように指示します。接続が確立されると、管理アプリケーションはクライアントとして動作し、SSH シーケンスが開始され、デバイスはサーバーとして動作し、クライアントを認証します。

注:

アウトバウンド SSH を使用した開始コマンドはありません。送信 SSH の設定とコミットが完了すると、デバイスはコミットされた構成に基づいて送信 SSH 接続を開始します。デバイスは、成功するまで、この接続を繰り返し作成しようとします。デバイスとクライアント管理アプリケーションの間の接続が切断された場合、デバイスは、正常になるまで、新しい送信 SSH 接続の作成を再試行します。この接続は、送信 SSH スタンザが構成から削除されるまで維持されます。

送信 SSH 接続用のデバイスを構成するにはoutbound-ssh 、以下の[edit system services]ステートメントを階層レベルに含めます。

[edit system services outbound-ssh]

以下のトピックでは、発信 SSH サービスを構成するためのタスクについて説明します。

送信 SSH 接続用のデバイス識別子の構成

デバイスが発信 SSH 接続を確立するたびに、まず、開始シーケンスを管理クライアントに送信します。このシーケンスは、デバイスを管理クライアントに識別します。この伝送では、のdevice-id価値があります。

デバイスのデバイス識別子を構成するには、次device-idのように[edit system services outbound-ssh client client-id]階層レベルのステートメントを追加します。

構成されてsecretいない場合の開始シーケンス:

パブリック SSH ホストキーを送信 SSH クライアントに送信しています

ルーターまたはスイッチは、発信 SSH 接続を確立するたびに、最初に開始シーケンスを管理クライアントに送信します。このシーケンスでは、ルーターまたはスイッチを管理クライアントに識別します。この送信内では device-id の値です

ルーターまたはスイッチのデバイス識別子を構成するには、 device-id次のよう[edit system services outbound-ssh client client-id]に階層レベルのステートメントを追加します。

構成されてsecretいない場合の開始シーケンス:

SSH 接続の初期化中に、クライアントはデバイスのパブリック SSH ホストキーを使用してデバイスの id を認証します。そのため、クライアントが SSH シーケンスを開始できるようになる前に、デバイスのパブリック SSH キーが必要です。このsecret文を設定すると、デバイスは送信 ssh 接続開始シーケンスの一部として、そのパブリック ssh キーを渡します。

このsecret文が設定され、デバイスが発信 ssh 接続を確立すると、デバイスはデバイス ID、そのパブリック ssh キー、およびsecretステートメントから派生した SHA1 ハッシュを通信します。このsecretステートメントの値は、デバイスと管理クライアントの間で共有されています。クライアントは、この共有シークレットを使用して、受信したパブリック SSH ホストキーを認証します。これにより、公開鍵device-idは、その文によって特定されたデバイスからのものかどうかを判断します。

このsecret文を使用して、パブリック SSH ホストキーを転送することはオプションです。公開鍵を手動でクライアントシステムに転送してインストールすることができます。

注:

このsecret文を含むということは、デバイスがクライアントへの接続を確立するたびに、パブリック SSH ホストキーを送信することを意味します。そのデバイスにすでに対応している場合は、クライアントが SSH ホストキーを使用するかどうかを決定します。クライアントのコピーを新しいキーに置き換することをお勧めします。ホストキーはさまざまな理由で変化します。また、接続が確立されるたびにキーを置き換えることで、クライアントが最新のキーを持っていることを確認できます。

デバイスがクライアントに接続するときにルーターまたはスイッチのパブリックSSHホスト キーを送信するには、階層レベルにステートメント secret[edit system services outbound-ssh client client-id] 含める:

secret属性が設定されると、デバイスによって以下のメッセージが送信されます。

送信 SSH 接続用の Keepalive メッセージの設定

クライアントアプリケーションがルーターまたはスイッチのパブリックSSHホスト キーを持つ場合、TCP/IP接続を作成した場合と同様にSSHシーケンスを開始し、そのシーケンスの一部としてルーターまたはスイッチのパブリックホストSSHキーのコピーを使用してデバイスを認証できます。デバイスは、Junos OS (RSA/DSA パブリック文字列またはパスワード認証) でサポートされているメカニズムを通じてクライアントユーザーを認証します。

デバイスが SSH プロトコル keepalive メッセージをクライアントアプリケーションに送信できるようにするにはkeep-alive 、以下の[edit system services outbound-ssh client client-id]ように階層レベルでステートメントを設定します。

新しい発信 SSH 接続の構成

接続が切断されると、デバイスは新しい発信 SSH 接続を開始します。接続が切断された後でデバイスがサーバーに再接続する方法をreconnect-strategy指定するに[edit system services outbound-ssh client client-id]は、以下のように階層レベルのステートメントを追加します。

また、再試行回数を指定し、再接続が停止するまでの時間を設定することもできます。参照送信 SSH 接続用の Keepalive メッセージの設定してください。

利用可能なサービスとして NETCONF を受け入れるように送信 SSH クライアントを構成する

利用可能なサービスとして NETCONF を受け入れるようにアプリケーションをservices netconf設定するに[edit system services outbound-ssh client client-id]は、次のように階層レベルのステートメントを追加します。

送信 SSH クライアントの設定

この送信 SSH 接続で利用可能なクライアントを構成するには、各クライアントを階層レベルの[edit system services outbound-ssh client client-id]個別の address ステートメントでリストします。

注:

送信 SSH 接続は、IPv4 および IPv6 のアドレス形式をサポートします。

送信 SSH クライアント用のルーティングインスタンスの構成

(SRX シリーズおよび MX シリーズのみ)Junos OS リリース 19.3 R1 から開始して、送信 SSH 接続を確立する必要があるルーティングインスタンスの名前を指定するには、階層routing-instanceレベルの[edit system services outbound-ssh]文を含めます。

管理ルーティングインスタンスを使用するには、まずmgmt_junosset system management-instanceコマンドを使用してルーティングインスタンスを有効にします。

その他のルーティングインスタンスを使用するには、まず、 [edit routing-instances]階層でルーティングインスタンスを設定します。

ルーティングインスタンスが指定されていない場合、デバイスはデフォルトルーティングテーブルを使用して送信 SSH 接続を確立します。

指定された TCP ポートでの NETCONF Over SSH 接続の構成

Junos OS では、ファイアウォールを構成せずに、受信した NETCONF 接続を指定した TCP ポートに制限することができます。NETCONF over SSH 接続に使用される TCP ポートを設定するには、 port[edit system services netconf ssh]階層レベルでステートメントを追加します。ポートが設定されているのは、NETCONF over SSH セッションのみです。このポートに対する通常の SSH セッション要求は拒否されます。

RFC 4742 で指定されている、SSH 経由の NETCONF 接続に対してデフォルト ポート 830 を設定するか 、SSH(NETCONF Configuration Protocol over Secure Shell)を使用して設定するか、1~65535 の任意のポートを設定できます。

注:
  • デフォルトの SSH ポート (22) では、NETCONF セッションを設定した場合でも、NETCONF が引き続き受け付けられます。NETCONF セッションを受け付けないように SSH ポートを無効にするには、ログインイベントスクリプトでこれを指定します。

  • NETCONF over SSH 接続を構成するために、FTP (21) および Telnet (23) サービスのデフォルトポートを設定することはお勧めしません。

Telnet および SSH アクセスのパスワード再試行制限を構成します。

強引な攻撃を防ぐために、デバイスはデフォルトで Telnet または SSH セッションに対して以下のアクションを実行します。

  • 最大10回連続してパスワードをリトライした後、セッションを切断します。

  • 2つ目のパスワードを再試行すると、その後のパスワード再試行から5秒後に遅延が生じます。

    たとえば、このデバイスでは、3つ目と4つ目のパスワードの再試行の間に5秒の遅延が生じ、4番目と5番目のパスワードの再試行の間に10秒の遅延が生じることがあります。

  • セッションを切断できない場合に、最小セッション時間を20秒にします。最小セッション時間を設定すると、悪意のあるユーザーがパスワードを再試行する前にセッションを切断することができなくなります。また、複数のログインを使用してブルートフォース攻撃や辞書アタックも試行されます。

Telnet および SSH アクセスのパスワード再試行制限を設定できます。この例では、Telnet および SSH セッションに対して以下のアクションを実行するようにデバイスを構成します。

  • セッションを切断する前に、最大4回の連続したパスワードの再試行を許可します。

  • 2つ目のパスワードを再試行した後に発生するパスワード再試行の間隔を5秒単位で入力します。

  • セッションを切断できない場合に、最小セッション時間を40秒に設定します。

Telnet および SSH アクセスのパスワード再試行制限を構成するには、次のようにします。

  1. Telnet または SSH または telnet セッションを切断する前に、連続してパスワードをリトライする最大回数を設定します。デフォルトの番号は10ですが、 1 ~ 10の数値を設定できます。
  2. パスワードの再試行回数のしきい値を設定します。その後、2回の連続したパスワードのリトライで遅延が発生します。デフォルトの番号は2ですが、から1の値を指定する3こともできます。
  3. パスワード再試行回数のしきい値より後の連続したパスワードの再試行間隔 (秒) を設定します。デフォルトの遅延は5秒単位で指定できますが、 510秒を単位とした値になります。
  4. Telnet または SSH セッションを切断できない最短時間 (秒) を設定します。デフォルトは秒20ですが、 20 ~ 60秒の間隔を指定できます。
  5. デバイスの設定が完了したら、設定commitモードから入力します。

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

要件

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

注:

この例は、コンテンツ テスト チームが検証と更新を行いました。

概要とトポロジー

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

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

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

トポロジーの例

図 1 は、この例のテスト トポロジを示しています。ファイアウォール フィルタは R2 デバイスに適用され、DUT(テスト中のデバイス)になります。R1 と R2 のデバイスは、192.168.1.0/24 のサブネットが割り当てられたリンクを共有します。どちらのデバイスも、/32 サブネット マスクを使用して、192.168.255.0/24 プレフィックスから割り当てられたループバック アドレスを持っています。静的ルートは、内部ゲートウェイ プロトコルとしてループバック アドレス間の到達可能性を提供しますが、この基本例では設定されていません。

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

構成

次の例では、構成階層のさまざまなレベルを移動する必要があります。CLI のナビゲートの詳細については、「 Cli エディターを設定モードで使用する」を参照してください。

注意:

サンプル フィルターを設計することで、R1 の共有サブネットからの発信元を持たない Telnet と SSH のアクセスを R2 に制限します。SSH または Telnet を使用して R2 デバイスに直接アクセスすると、フィルターが適用されると接続が失われる可能性があります。この例を設定する際には、コンソールにアクセスする必要があります。必要に応じて、R1 デバイスを jump ホストとして使用して、フィルターを適用した後で R2 への SSH セッションを開始できます。または、サンプル フィルターを変更して、R2 デバイスへのアクセスに使用するマシンに割り当てられた IP サブネットも許可することもできます。

次のタスクを実行して、この例を設定します。

CLI クイック構成

R1 デバイスの簡易構成

R1 デバイスを迅速に設定するには、必要に応じて以下のコマンドを編集し、階層レベルCLIに [edit] 貼り付けます。変更をアクティブにするには、 commit 必ず設定モードからを発行してください。

R2 デバイスの簡易構成

R2 デバイスを迅速に設定するには、必要に応じて以下のコマンドを編集し、階層レベルCLIに [edit] 貼り付けます。変更をアクティブにするには、 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)宛先を生成するように設定されています。フィルター ロギング オプションの詳細については、「 ファイアウォール フィルター ロギング アクション 」を参照してください。

    ヒント:

    このアクションを使用して、送信元に戻す ICMP エラー メッセージ discard の生成を抑制できます。詳 しくは、 ファイアウォール フィルターターミリング アクション を参照してください。

  4. フィルタ条件の default-term を定義します。この用語は、他のすべてのトラフィックを受け入れる。ステートレス Junos OSフィルタの最後に暗黙的な 拒否 語があるのを思い出してください。デフォルト 条件は、 明示的に受け入れるアクションでフィルターを終了することで、この動作 を上書き します。その結果、その他すべてのトラフィックがファイルによって受け入れられます。

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

  6. ホスト名 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 リモート アクセスに影響を与える可能性がある変更を行う際の使用を検討します。詳細 については、「 設定のJunos OSアクティブ化 」 を参照してください。ただし、確認が 必要です。

ステートレス ファイアウォール フィルターの検証

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

受け入れられるパケットを検証

目的

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

アクション
  1. ルーターまたはスイッチのファイアウォールログをクリアします。

  2. 192.168.1.0/24 サブネット内の IP アドレスのホストから、 コマンドを使用して、許可されたソース アドレスからssh 192.168.255.2 SSH を使用してデバイスにログインできると確認します。このパケットを受け入れる必要があります。このパケットのパケット ヘッダー情報は、ファイアウォール フィルター ログ バッファのログ バッファに記録パケット転送エンジン。デバイス間のユーザーとして初めてSSHログインを実行する場合は、SSHホスト キーを 保存するよう求 めるプロンプトが表示されます。

    注:

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

  3. R2 デバイスでCLIし、SSH セッションを閉じます。

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

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

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

ログに記録されたパケットと拒否されたパケットを検証

目的

ファイアウォール フィルターが、192.168.1.0/24 サブネットから発信されない SSH および Telnet トラフィックを正しく拒否することを検証します。

アクション

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

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

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

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

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

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

    出力は、192.168.255.1 の送信元アドレスからのトラフィックがフィルターのサーバー条件と一terminal_access_deniedされました。Action に、 を表示 R して、これらのパケットが拒否されたと示します。インターフェイス、トランスポート プロトコル、送信元と宛先のアドレスも表示されます。これらの結果は、この例でファイアウォール フィルタが正常に機能しているという確認を行います。

リリース履歴テーブル
リリース
説明
19.4R1
Junos OS リリース 19.4R1 および Junos OS リリース 17.4R3 から、 [ ] 階層レベルの および を使用して、SSH ログイン パスワードまたは challenge-response 認証のいずれかを無効 no-password-authenticationno-challenge-responseedit system services ssh にできます。
19.1R1
リリース Junos OS、デフォルト19.1R1 SFTP 受信接続はグローバルで無効になっています。必要に応じて、階層レベルでステートメントを設定することで、受信するSFTP接続 sftp-server をグローバル [edit system services ssh] に有効にできます。
18.3R1
Junos OSリリース18.3R1から、すぐに削除するのではなく、and ssh-dss hostkeyアルゴリズムを変更して下位互換性を確保し、設定を新しい設定に準拠する機会を提供します。 ssh-dsa