Cisco IOS XE

Cisco IOS XEネットワーク認証情報をローテーション

概要

本ページでは、Cisco IOS XEネットワーク認証情報をローテーションするためのパスワードローテーションを設定する方法について解説します。

要件

  • KSMアプリケーション: Keeperシークレットマネージャー (KSM) アプリケーションが設定されていること。

  • 共有フォルダ: すべてのレコードが保存される共有フォルダを設定されていること。

  • PAM構成: PAM構成が設定されており、ゲートウェイが実行中でこの構成に接続されていること。

  • requestsライブラリ: Python環境にリクエストライブラリがインストールされていること。このライブラリは、CiscoデバイスへのHTTPリクエストを行うために必要となります。

  • AnyConnect Cisco VPNの設定: Ciscoデバイスに接続するために、KeeperゲートウェイをホストしているマシンにCisco AnyConnect VPNがインストールされ、適切に設定されていること。

  • Ciscoデバイスの接続テスト

requrstライブラリをインストール

requestsライブラリを使用すると、HTTPリクエストを簡単に送信できます。Keeperゲートウェイ環境で Python仮想環境をアクティブ化し、以下のコマンドを使用してライブラリをインストールします。

pip install requests

AnyConnect Cisco VPNの設定

KeeperゲートウェイをホストしているマシンにCisco AnyConnect VPNがインストールされており、Ciscoデバイスに接続できるように適切に設定されていることを確かにします。この設定は、Ciscoデバイスへの安全な接続を確立するために必要となります。

Ciscoデバイスのテスト手順

以下は、Cisco デバイスをテストし、Ciscoサンドボックス環境で新しいユーザーを作成する手順です。

注: 仮想環境を使用する場合は、 Python環境設定に基づいてスクリプトの先頭にシェバン行を追加します。

1. Cisco Sandboxにログインする

  • Ciscoアカウントの認証情報を使用してログインします。

  • サンドボックスを選択して起動します。

2. デバイスを選択して起動する

  • サンドボックスカタログに移動します。

  • Ciscoデバイス (Cisco IOS XE など) に適したサンドボックスを選択します。

  • サンドボックスを起動します。

3. メールまたはDevNet環境で詳細情報を受け取る

サンドボックスを起動すると、接続の詳細情報が記載されたメールが届きます。または、DevNet環境の「Quick Access」で詳細情報を確認できます。

4. Cisco AnyConnect VPNをダウンロード

  • Cisco AnyConnect Secure Mobility Clientをダウンロードしてインストールします。

  • 接続手順について、詳しくはこちらのウェブサイトをご覧ください。

5. VPNに接続

  • Cisco AnyConnectセキュアモビリティクライアントを開きます。

  • メールまたはDevNet 環境からのVPN接続の詳細情報を入力します。

  • 提供されたユーザー名とパスワードを使用して接続します。

6. 開発者の認証情報を保存する

この時点で、開発者認証情報 (ホスト、ユーザー名、パスワード) が表示されます。これらの値を、Cisco Authentication Recordという名前でLoginタイプのKeeperレコードに保存します。ポストローテーションスクリプトを実行するには、このKeeperレコード名が必要になります。

7. Cisco Authentication Recordにカスタムフィールドを追加

Cisco Authentication Recordにhost_endpointという名前のカスタムフィールドを追加し、その値をホストアドレス (例: 10.10.20.48) に設定します。

8. ユーザーを作成

  • ターミナルまたはSSHクライアントを開きます。

  • 提供されたIP アドレスと認証情報を使用してCiscoデバイスに接続します。

9. ユーザー作成手順

  1. 管理者ユーザー (開発者) でログインします。

  2. 特権コマンドを有効にします。

  3. 構成モードに入ります。

  4. パスワードを使用する新しいユーザーを作成します。

10. 新しいユーザーをテスト

新しいユーザーでログインします。

注:<user>を作成したユーザー名に、<device-ip>をCiscoデバイスのIPアドレスに置き換えます。

ボルトでローテーションを設定

上記の準備が完了した後、以下を確認します。

1

すべての要件が満たされていることを確かにします。

2

ポストローテーションスクリプトが、Cisco管理者の認証情報を含むKeeperレコードを参照するようにします。

3

Keeper PAMユーザーレコードにポストローテーション スクリプトを添付します。このレコードのシークレットがローテーションされると、ポストローテーションスクリプトが実行され、指定されたCiscoデバイスユーザーのパスワードが更新されます。

1. ローテーションレコードをセットアップ

新しいPAMユーザーレコードを作成し、パスワードをローテーションするSnowflakeユーザーの詳細情報を保存します。

  • Ciscoデバイスの管理者認証情報と一致するようにユーザー名を設定します。

  • パスワードを、ユーザーに設定されている現在のパスワードに設定します。

  • Cisco Authentication Recordにhost_endpointという名前のカスタムフィールドを追加し、その値をホストアドレス (例: 10.10.20.48) に設定します。

2. PAMスクリプトを追加

  • パスワードのローテーションを実行する以下のPythonスクリプトを添付します。スクリプトにはコメントが含まれています。

3. NOOPカスタムフィールドを追加

  • ノーオペレーション (NOOP) アトミック実行を有効にします。

    • ユーザーの詳細情報が保存されている現在のPAMユーザーレコードで、 NOOPという名前の新しいカスタムテキストフィールドを作成し、その値をTrueに設定します。

4. パスワードローテーション設定を構成

  1. ローテーションタイプ: この例では、「On-Demand」に設定します。

  2. パスワードの複雑さ: 特別な要件がない限り、デフォルトのままにしておきます。

  3. ローテーション設定: 先ほど設定したPAM構成を指定します。

  4. 管理者認証情報レコード: 空白のままでも構いません。

Pythonスクリプト

以下は、Cisco IOS XEのユーザー認証情報をローテーションする PAMスクリプトです。

上記のSnowflakeポストローテーションスクリプトは、以下でも入手できます。

Cisco IOS XEネットワークユーザー認証情報のローテーション

注: パスワードがローテーションされるユーザーは管理者であってはならず、クライアントVPNに対して認証されている必要があります (ユーザー管理ポータルでユーザーを追加する際、認証オプションに「Yes」を選択する必要があります)。

PAMユーザーレコードでCiscoユーザー認証情報のローテーションを設定した後、[スクリプトのみを実行] をクリックすると認証情報がローテーションします。

最終更新