メインコンテンツまでスキップ

11.2. Defining Users (ユーザーの定義)

11.2. Defining Users (ユーザーの定義)

このセクションでは, ユーザーベースセキュリティモデルでユーザーを定義する方法に関するガイダンスを提供します。

Clone-From Template Users (テンプレートユーザーからのクローン)

ユーザーを定義する推奨アプローチは, クローン用のテンプレートユーザーを使用することです。テンプレートユーザーは, 権威ある SNMP エンジンで定義されたユーザーであり, クローンのソースとして新しいユーザーを作成するために使用されます。

プロセス:

  1. 権威あるエンジンで以下を含むテンプレートユーザーを定義します:

    • 認証プロトコル
    • プライバシープロトコル
    • ローカライズされた認証鍵
    • ローカライズされたプライバシー鍵
  2. usmUserCloneFrom オブジェクトを使用してテンプレートユーザーをクローンし, 以下のいずれかで新しいユーザーを作成します:

    • 同じ権威あるエンジン, または
    • 非権威あるエンジン
  3. クローン後, usmUserAuthKeyChangeusmUserPrivKeyChange を使用して新しいユーザーに固有の鍵を設定します。

Password-Based Key Derivation (パスワードベースの鍵導出)

ユーザーを作成する際, 付録 A.2 で定義されているパスワードから鍵へのアルゴリズムを使用してパスワードを鍵に変換できます。このアルゴリズムは:

  1. パスワード (任意の長さの OCTET STRING) を受け取ります
  2. ハッシュ関数 (MD5 または SHA) を繰り返し適用します
  3. 適切な長さの鍵を生成します

重要: 異なるパスワードが繰り返しパターンで構成されている場合, 同じ鍵を生成する可能性があります。たとえば, パスワード "maplesyrupmaples" と "maplesyrup" は類似した中間ハッシュ値を生成する可能性があります。したがって:

  • 繰り返しのパスワードパターンを避けます
  • 少なくとも 8 文字の長さのパスワードを使用します
  • パスワードの複雑さを確保します

User Table Management (ユーザーテーブル管理)

ユーザーは usmUserTable に格納されます。各エントリには以下が含まれます:

  • usmUserEngineID: SNMP エンジンの snmpEngineID
  • usmUserName: ユーザー名
  • usmUserSecurityName: セキュリティ名
  • usmUserCloneFrom: クローン元のテンプレートユーザー
  • usmUserAuthProtocol: 認証プロトコル
  • usmUserAuthKeyChange: 認証鍵を変更するためのオブジェクト
  • usmUserOwnAuthKeyChange: 自分の認証鍵を変更するためのオブジェクト
  • usmUserPrivProtocol: プライバシープロトコル
  • usmUserPrivKeyChange: プライバシー鍵を変更するためのオブジェクト
  • usmUserOwnPrivKeyChange: 自分のプライバシー鍵を変更するためのオブジェクト
  • usmUserPublic: 公開読み取りおよび書き込み可能なオブジェクト
  • usmUserStorageType: ストレージタイプ
  • usmUserStatus: 行ステータス

Security Considerations for User Definition (ユーザー定義のセキュリティ考慮事項)

  1. Initial User (初期ユーザー): SNMP エンジンを認証済み通信に使用できるようにする前に, 適切なセキュリティ資格情報を持つ少なくとも 1 人のユーザーを定義しなければなりません (MUST)。

  2. Key Strength (鍵の強度): 鍵 (パスワードから派生されたものか, ランダムに生成されたもの) がブルートフォース攻撃に耐えるのに十分なエントロピーを持つことを確認します。

  3. User Rights (ユーザー権限): 必要最小限の権限でユーザーを定義します。ビューベースアクセス制御モデル (VACM) を使用して, 各ユーザーがアクセスできる内容を制限します。

  4. User Lifecycle (ユーザーライフサイクル): 以下の手順を確立します:

    • 安全にユーザーを作成する
    • ユーザー資格情報を定期的に更新する
    • 不要になったときにユーザーを無効化または削除する
    • ユーザーアクティビティを監査する