11.1. Recommended Practices (推奨プラクティス)
11.1. Recommended Practices (推奨プラクティス)
このセクションでは, セキュリティを最大化するためのユーザーベースセキュリティモデルの使用に関する推奨プラクティスについて説明します。
Password Selection (パスワード選択)
セキュリティを最大化するためにパスワードを選択する必要があります:
-
Length (長さ): パスワードは少なくとも 8 文字の長さであるべきです (SHOULD)。より長いパスワードはより良いセキュリティを提供します。
-
Complexity (複雑性): パスワードは以下の混合を含むべきです (SHOULD):
- 大文字
- 小文字
- 数字
- 特殊文字
-
Avoid Patterns (パターンの回避): パスワードは以下であってはなりません (SHOULD NOT):
- 辞書の単語
- 単純なパターン (例: "12345678", "password")
- 個人情報 (名前, 誕生日など)
- 繰り返し文字列 (例: "aaaaaaaa")
Key Management (鍵管理)
-
Key Storage (鍵の保存): 認証鍵とプライバシー鍵は安全に保存し, 不正アクセスから保護しなければなりません (MUST)。
-
Key Distribution (鍵の配布): 初期鍵配布は安全な帯域外メカニズムを通じて実行されるべきです (SHOULD)。
-
Key Updates (鍵の更新): 鍵は定期的に変更されるべきです (SHOULD)。頻度は展開のセキュリティ要件によって異なります。
-
Key Localization (鍵のローカライゼーション): グローバル鍵ではなく, 常にローカライズされた鍵 (各 SNMP エンジンに固有の鍵) を使用します。
Time Synchronization (時刻同期)
-
Initial Synchronization (初期同期): 非権威ある SNMP エンジンは, 認証済みメッセージを送信する前に権威あるエンジンと時刻同期を実行しなければなりません (MUST)。
-
Clock Accuracy (クロック精度): SNMP エンジンは合理的に正確なクロックを維持すべきです (SHOULD)。大きなクロックスキューにより, 正当なメッセージが拒否される可能性があります。
-
Boots Counter (ブーツカウンター): SNMP エンジンが再初期化されるたびに, msgAuthoritativeEngineBoots カウンターを増分しなければなりません (MUST)。このカウンターは再起動後も永続しなければなりません (MUST)。
User Management (ユーザー管理)
-
User Creation (ユーザー作成): ユーザーを作成するときは, プライバシーをすぐに使用しない場合でも, 常に認証プロトコルとプライバシープロトコルの両方を指定します。
-
User Deletion (ユーザー削除): ユーザーを削除するときは, 関連するすべての鍵と設定データが安全に消去されることを確認します。
-
Template Users (テンプレートユーザー): 権威あるエンジンで設定されたテンプレートユーザーを使用してクローニングし, 非権威あるエンジンで新しいユーザーを作成します。
Message Security Levels (メッセージセキュリティレベル)
各メッセージに適切なセキュリティレベルを選択します:
-
noAuthNoPriv: ディスカバリーメッセージまたは非機密情報のみ。運用使用には推奨されません。
-
authNoPriv: 認証を提供しますがプライバシーは提供しません。機密性は不要だがメッセージの整合性と発信元認証が必要な場合に適しています。
-
authPriv: 認証とプライバシーの両方を提供します。すべての機密操作に推奨されます。
Implementation Considerations (実装上の考慮事項)
-
Random Number Generation (乱数生成): 実装は, 鍵と初期化ベクトルの生成に暗号学的に強力な乱数生成器を使用しなければなりません (MUST)。
-
Clock Synchronization (クロック同期): 実装は, 正確な時刻を維持するために外部時刻源 (例: NTP) と同期するメカニズムを提供すべきです (SHOULD)。
-
Audit Logging (監査ログ): 実装は, 認証の失敗や時刻同期の失敗を含むセキュリティ関連のイベントを記録すべきです (SHOULD)。
-
Error Handling (エラー処理): 実装は, 攻撃者を助ける可能性のある情報漏洩を避けて, エラー条件を安全に処理しなければなりません (MUST)。