11.2. Defining Users (ユーザーの定義)
11.2. Defining Users (ユーザーの定義)
このセクションでは, ユーザーベースセキュリティモデルでユーザーを定義する方法に関するガイダンスを提供します。
Clone-From Template Users (テンプレートユーザーからのクローン)
ユーザーを定義する推奨アプローチは, クローン用のテンプレートユーザーを使用することです。テンプレートユーザーは, 権威ある SNMP エンジンで定義されたユーザーであり, クローンのソースとして新しいユーザーを作成するために使用されます。
プロセス:
-
権威あるエンジンで以下を含むテンプレートユーザーを定義します:
- 認証プロトコル
- プライバシープロトコル
- ローカライズされた認証鍵
- ローカライズされたプライバシー鍵
-
usmUserCloneFromオブジェクトを使用してテンプレートユーザーをクローンし, 以下のいずれかで新しいユーザーを作成します:- 同じ権威あるエンジン, または
- 非権威あるエンジン
-
クローン後,
usmUserAuthKeyChangeとusmUserPrivKeyChangeを使用して新しいユーザーに固有の鍵を設定します。
Password-Based Key Derivation (パスワードベースの鍵導出)
ユーザーを作成する際, 付録 A.2 で定義されているパスワードから鍵へのアルゴリズムを使用してパスワードを鍵に変換できます。このアルゴリズムは:
- パスワード (任意の長さの OCTET STRING) を受け取ります
- ハッシュ関数 (MD5 または SHA) を繰り返し適用します
- 適切な長さの鍵を生成します
重要: 異なるパスワードが繰り返しパターンで構成されている場合, 同じ鍵を生成する可能性があります。たとえば, パスワード "maplesyrupmaples" と "maplesyrup" は類似した中間ハッシュ値を生成する可能性があります。したがって:
- 繰り返しのパスワードパターンを避けます
- 少なくとも 8 文字の長さのパスワードを使用します
- パスワードの複雑さを確保します
User Table Management (ユーザーテーブル管理)
ユーザーは usmUserTable に格納されます。各エントリには以下が含まれます:
usmUserEngineID: SNMP エンジンの snmpEngineIDusmUserName: ユーザー名usmUserSecurityName: セキュリティ名usmUserCloneFrom: クローン元のテンプレートユーザーusmUserAuthProtocol: 認証プロトコルusmUserAuthKeyChange: 認証鍵を変更するためのオブジェクトusmUserOwnAuthKeyChange: 自分の認証鍵を変更するためのオブジェクトusmUserPrivProtocol: プライバシープロトコルusmUserPrivKeyChange: プライバシー鍵を変更するためのオブジェクトusmUserOwnPrivKeyChange: 自分のプライバシー鍵を変更するためのオブジェクトusmUserPublic: 公開読み取りおよび書き込み可能なオブジェクトusmUserStorageType: ストレージタイプusmUserStatus: 行ステータス
Security Considerations for User Definition (ユーザー定義のセキュリティ考慮事項)
-
Initial User (初期ユーザー): SNMP エンジンを認証済み通信に使用できるようにする前に, 適切なセキュリティ資格情報を持つ少なくとも 1 人のユーザーを定義しなければなりません (MUST)。
-
Key Strength (鍵の強度): 鍵 (パスワードから派生されたものか, ランダムに生成されたもの) がブルートフォース攻撃に耐えるのに十分なエントロピーを持つことを確認します。
-
User Rights (ユーザー権限): 必要最小限の権限でユーザーを定義します。ビューベースアクセス制御モデル (VACM) を使用して, 各ユーザーがアクセスできる内容を制限します。
-
User Lifecycle (ユーザーライフサイクル): 以下の手順を確立します:
- 安全にユーザーを作成する
- ユーザー資格情報を定期的に更新する
- 不要になったときにユーザーを無効化または削除する
- ユーザーアクティビティを監査する