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

概要
本ページでは、Cisco Merakiネットワーク認証情報をローテーションするためのパスワードローテーションを設定する方法について解説します。
要件
KSMアプリケーション: Keeperシークレットマネージャー (KSM) アプリケーションが設定されていること。
共有フォルダ: すべてのレコードが保存される共有フォルダを設定されていること。
PAM構成: PAM構成が設定されており、ゲートウェイが実行中でこの構成に接続されていること。
requestsライブラリ: Python環境にリクエストライブラリがインストールされていること。このライブラリは、CiscoデバイスへのHTTPリクエストを行うために必要となります。
AnyConnect Cisco VPNの設定: Ciscoデバイスに接続するために、KeeperゲートウェイをホストしているマシンにCisco AnyConnect VPNがインストールされ、適切に設定されていること。
Ciscoデバイスの接続テスト
requrstライブラリをインストール
requestsライブラリを使用すると、HTTPリクエストを簡単に送信できます。Keeperゲートウェイ環境で Python仮想環境をアクティブ化し、以下のコマンドを使用してライブラリをインストールします。
AnyConnect Cisco VPNの設定
KeeperゲートウェイをホストしているマシンにCisco AnyConnect VPNがインストールされており、Ciscoデバイスに接続できるように適切に設定されていることを確かにします。この設定は、Ciscoデバイスへの安全な接続を確立するために必要となります。
Ciscoデバイスのテスト手順
以下は、Cisco デバイスをテストし、Ciscoサンドボックス環境で新しいユーザーを作成する手順です。
注: 仮想環境を使用する場合は、 Python環境設定に基づいてスクリプトの先頭にシェバン行を追加します。
1. Cisco Sandboxにログインする
Cisco DevNetサンドボックスへ移動します。
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. ユーザー作成手順
管理者ユーザー (開発者) でログインします。
特権コマンドを有効にします。
構成モードに入ります。
パスワードを使用する新しいユーザーを作成します。

10. 新しいユーザーをテスト
新しいユーザーでログインします。

注:
<user>
を作成したユーザー名に、<device-ip>
をCiscoデバイスのIPアドレスに置き換えます。
ボルトでローテーションを設定
上記の準備が完了した後、以下を確認します。
すべての要件が満たされていることを確かにします。
ポストローテーションスクリプトが、Cisco管理者の認証情報を含むKeeperレコードを参照するようにします。
Keeper PAMユーザーレコードにポストローテーション スクリプトを添付します。このレコードのシークレットがローテーションされると、ポストローテーションスクリプトが実行され、指定されたCiscoデバイスユーザーのパスワードが更新されます。
1. ローテーションレコードをセットアップ
新しいPAMユーザーレコードを作成し、パスワードをローテーションするSnowflakeユーザーの詳細情報を保存します。
Ciscoデバイスの管理者認証情報と一致するようにユーザー名を設定します。
パスワードを、ユーザーに設定されている現在のパスワードに設定します。
Cisco Authentication Recordに
network_id
という名前のカスタムフィールドを追加し、その値をホストアドレス (例:13.0.0.1
) に設定します。
2. PAMスクリプトを追加
パスワードのローテーションを実行する以下のPythonスクリプトを添付します。スクリプトにはコメントが含まれています。
3. NOOPカスタムフィールドを追加
ノーオペレーション (NOOP) アトミック実行を有効にします。
ユーザーの詳細情報が保存されている現在のPAMユーザーレコードで、
NOOP
という名前の新しいカスタムテキストフィールドを作成し、その値をTrue
に設定します。
4. パスワードローテーション設定を構成
Rotation Typo (ローテーションタイプ): この例では、「On-Demand」に設定します。
Password Complexity (パスワードの複雑さ): 特別な要件がない限り、デフォルトのままにしておきます。
Rotation Settings (ローテーション設定): 先ほど設定したPAM構成を指定します。
Administrative Credentials Record (管理者認証情報レコード): 空白のままでも構いません。
Pythonスクリプト
以下は、Cisco Merakiユーザーの認証情報をローテーションするPAMスクリプトです。
上記のSnowflakeポストローテーションスクリプトは、以下でも入手できます。
Cisco Merakiネットワークユーザー認証情報のローテーション
注: パスワードがローテーションされるユーザーは管理者であってはならず、クライアントVPNに対して認証されている必要があります (ユーザー管理ポータルでユーザーを追加する際、認証オプションに「Yes」を選択する必要があります)。
PAMユーザーレコードで Ciscoユーザー認証情報のローテーションを設定した後、[スクリプトのみを実行]をクリックすると認証情報がローテーションします。

最終更新