- sshキーのみでSSHログインを可能にする方法。
- ssh-accessを使用できるJuniperへのIPアドレスのリストを制限する方法。
かつて、私はこのような単純なことをジュニパーに実装する方法を終わらせるために、1日中正直に殺しました。 私の記事が時間の節約に役立つことを願っています。
最初の段落を実装しましょう。 そしてすぐに種子用のタールスプーンを数杯:
- ジュニパーでは、SSHポートを変更しないでください! 私たちは一生を22日に接続します! わかった これは、キー入力を行うもう1つの理由です。 私は将来のファームウェアで何らかの形でそれを修正することを願っています...
- この手順は、Webインターフェイスへのアクセスには影響しません。 これは一方で悪いです、なぜなら Webフェイスのパスワードを破った人は誰でも好きなように設定を変更できますが、一方で、 私たちを考えさせ、誰が私たちのウェブの顔に行くことができ、彼はそれを行うことができますか? インターフェイスとIPの両方でWebインターフェイスへのアクセスを制限できます。 しかし、それについては後で。
それでは始めましょう。 最初に、SSHキーのペアを生成する必要があります。 PuTTyユーティリティの標準セットのPuTTygenユーティリティは、これに最適です 。 起動すると、次のようなウィンドウが表示されます。
SSH2-RSAを選択します。キーの長さは1024ビットです(Junipersはサポートしていません)。 「生成」をクリックし、生成の進行中にマウスを動かします。 終了したら、必ず適切なフィールドに強力なパスワードを2回入力し、[プライベートキー]ボタンをクリックしてプライベートキーを保存します。 秘密鍵は秘密鍵と呼ばれ、非常に安全な場所に保管する必要があることを思い出す必要はないと思いますか? たとえば、私はそれを開いた形で保存しませんが、 KeePass2ユーティリティを使用します。 まあ、これはすでに誰かにとって便利です!
また、このキーを紛失しないことをお勧めします。 さらに、ジュニパーがいないと、コンソールに行かないようにジュニパーを設定します。 Webフェイスに移動して、この設定を担当する構成の部分を削除する必要があります。 さて、またはデバイスへのルートパスワードをリセットするための退屈な手順を実行します。
次に、「公開キー...」ウィンドウの内容をノートブックにコピーします。 Juniperの構成に公開キーを挿入する前に、何かを修正する必要があります。 最初に、フレーズ「rsa-key- ...」を末尾から削除してから、キーをフォームに追加します。
「Ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBfkD3juKaLXqNKJfhUMIwt4Ro / aF38WDi7XlALiSYDYY8GZuhcAMJHL0FKJRTI07Qcr注意! ここで間違いをしないことが重要です。そうしないと、ジュニパーネットワークスはキーを受け入れません。 キーは常に引用符で囲む必要があります。 最後に「=」記号があり、その後にスペースが1つあり、ルート@ your_Juniper_nameがあります。 これは、デバイスのコマンドラインプロンプトとまったく同じです。 私が思い出すように、ジュニパーの名前は、構成モードで
Kfev4nFm2HbeSFkaI96l4TSKlqS90goemrbTkNTes / 2F9VBzRjogYcEfr57bgUQ + DVmnSMWiLeWwFwT79pctJR1dJZbSuQf2jgmrqPpTfJ235u + 8 + V4O2KPmIbrjHaWg9MZQcu2pdDfLBFaLgkgh9wPlToKtaCk0577DN6OImhOpL + xoyIOzg3JFlCwTNIYSvGX8sdnJaJkt0IOWf + KJrGQSXfc68Zw0hhakBojfotyFklGO390KxO
wVecS35kMuHjSRmhaGqf03yG1sQWt =ジュニパーのルート»
set system host-name
コマンドによって設定されます。 後でこの名前を変更する場合は、キー自体を修正する必要があります。
秘密鍵はパスワードで保護されて安全な場所に保存され、公開鍵は構成に挿入する準備ができたので、PuTTygenユーティリティを閉じてコンソールに入力できます。 私たちは書きます:
すべてが正しく行われた場合、Juniperは自分の構成にキーを書き込みます。root@juniper# set system root-authentication ssh-rsa _ ( -)
ここで、キーにのみ入り口を作成します。
まあ、もちろん:root@juniper# set system services ssh root-login deny-password
ここで、SSH経由でログインするために、まず「接続-SSH-認証」セクションでPuttiの秘密鍵のファイルを指定する必要があります。 入り口には、次のようなものが表示されます。root@juniper# commit check
root@juniper# commit
ここで、秘密鍵の生成時に設定されたパスワードを入力します。 その後、私たちは寛大に許可されています! 興味深いことに、誰かがキーなしで入力しようとすると、ジュニパーは同じように素直にログインパスワードを要求しますが、認証は毎回失敗します。
次に、ネットワークアクセスレベルでSSHログインを制限する方法について説明します。 これには2つの補完的な方法があります。 最初:
edit security zones
の
edit security zones
セクションの
host-inbound-traffic
ディレクティブ。 例:
このディレクティブは、 ジュニパーがこのゾーン/インターフェースで利用できるプロトコルを管理します。 たとえば、ssh、ping、https、https、dhcp、tftpなど。root @ juniper#セキュリティゾーンを表示security-zone untrust 画面untrust-screen; インターフェース{ fe-0 / 0 / 0.0 { host-inbound-traffic { system-services { ping ssh; } } }
host-inbound-traffic system-services
セクションでsshプロトコルを指定すると、Juniperはこのゾーン/インターフェースでssh要求をリッスンします。
いいね ただし、LANのインターフェイスでsshを開いている場合、LANのすべてのユーザーがsshを介してジュニパーにアクセスできる可能性があります。 ほとんどの場合、これは不明瞭ではないため、ファイアウォールフィルターを使用して特定のIPのみにアクセスを許可する必要があります。
IP 192.168.10.10のアクセスのみを許可し、他のすべてを無効にする必要があるとします。 このような構造を記述します。
(フィルター編集モードに入った)root@juniper# edit firewall filter deny-ssh
(送信元アドレスとの一致を示します...)root@juniper# set term 1 from source-address 0/0
(...必要なものを除く)root@juniper# set term 1 from source-address 192.168.10.10 except
(sshを介したアクセスの禁止。破棄-パケットを静かに強制終了することを意味します。拒否-禁止もできますが、icmpポートに到達できません。ログ-sshに失敗した試行を記録します。原則、書き込みはできません)。root@juniper# set term 1 from destination-port ssh
root@juniper# set term 1 then log discard
(他のすべてを許可することを忘れないでください。さもないと、私たちとルーターにとって非常に悪いでしょう)root@juniper# set term 2 then accept
このフィルターをルーターのループバックインターフェイスに適用します(ルーティングエンジン、つまりsshdデーモンが存在するシステムのカーネルにつながるため)。
上記の方法は非常に難しく、 慎重に適用する必要があります 。 任意のインターフェースからジュニパーへのsshアクセスを調整します。 このような深刻なレベルのセキュリティが必要ない場合は、同じフィルタをLANインターフェイスに同様に適用できます。 この場合にのみ、LANインターフェースが定義により通過していることを考慮する必要があります。したがって、Juniperをroot@juniper# set interfaces lo0 unit 0 family inet filter input deny-ssh
destination-address
フィルターのフィルタールールに追加する必要があります。そうしないと、特定のネットワークのsshプロトコルが一般的に魔法のように機能しません。 ループバックインターフェイスの場合、
destination-address
を指定する必要はありません。 一時的なものではありません。
たとえば、
source-address
すべてゼロを書き込むことは完全にオプションです。 特定のサブネット、さらにはインターフェースを指定できます。 つまり、アクセスを非常に柔軟に構成できます。
ちなみに、同様の手順でジュニパーのWebインターフェイスへのアクセスを制限できます。
以上です! この簡単な方法で、sshセッションのセキュリティが大幅に向上しました!