簡易ネットワーク管理プロトコル

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

SNMPv3 STD0062
通信プロトコル
OSI層応用
ポート161、162(トラップ)
RFC(s)3411〜3418
安全なSNMP
通信プロトコル
OSI層応用
ポート10161、10162(トラップ)
RFC(s)6353

Simple Network Management ProtocolSNMP)は、IPネットワーク上の管理対象デバイスに関する情報を収集および整理し、その情報を変更してデバイスの動作を変更するためのインターネット標準プロトコルです。通常SNMPをサポートするデバイスには、ケーブルモデム、ルーター、スイッチ、サーバー、ワークステーション、プリンターなどがあります。[1]

SNMPはネットワーク監視のネットワーク管理広く使用されていますSNMPは、システムのステータスと構成を説明する管理情報ベース(MIB)で編成された管理対象システム上の変数の形式で管理データを公開します。これらの変数は、アプリケーションを管理することにより、リモートで照会(および場合によっては操作)できます。

SNMPの3つの重要なバージョンが開発され、展開されています。SNMPv1は、プロトコルの元のバージョンです。最近のバージョンであるSNMPv2cおよびSNMPv3は、パフォーマンス、柔軟性、およびセキュリティが改善されています。

SNMPはインターネット技術特別調査委員会(IETF)によって定義されたインターネットプロトコルスイートのコンポーネントですこれはアプリケーション層プロトコル、データベーススキーマデータオブジェクトのセットなど、ネットワーク管理の一連の標準構成されています[2]

概要と基本概念

SNMP通信の原理

SNMPの一般的な使用法では、マネージャーと呼ばれる1つ以上の管理コンピューターが、コンピューターネットワーク上のホストまたはデバイスのグループを監視または管理するタスクを実行します各管理対象システムは、SNMPを介してマネージャーに情報を報告するエージェント呼ばれるソフトウェアコンポーネントを実行します。

SNMP管理ネットワークは、次の3つの主要コンポーネントで構成されています。

管理対象デバイスは、ノード固有情報(読み取りおよび書き込み)一方向(読み取り専用)または双方向アクセスを可能にする実装SNMPインターフェース、ネットワーク・ノードです。管理対象デバイスは、ノード固有の情報をNMSと交換します。ネットワーク要素と呼ばれることもある管理対象デバイスは、ルーターアクセスサーバースイッチケーブルモデムブリッジハブIP電話IPビデオカメラ、コンピューターホストプリンターなど、あらゆるタイプのデバイスです。

エージェントは、管理対象デバイスに存在するネットワーク管理ソフトウェアモジュールです。エージェントは、管理情報に関するローカルの知識を持っており、その情報をSNMP固有のフォームとの間で変換します。

ネットワーク管理ステーションは、管理対象デバイスを監視および制御することのアプリケーションを実行します。NMSは、ネットワーク管理に必要な処理およびメモリリソースの大部分を提供します。1つ以上のNMSが任意の管理対象ネットワークに存在する可能性があります。

管理情報ベース

SNMPエージェントは、管理対象システム上の管理データを変数として公開します。このプロトコルでは、これらの変数をリモートで変更することにより、構成の変更などのアクティブな管理タスクも許可されます。 SNMPを介してアクセスできる変数は、階層に編成されています。 SNMP自体は、管理対象システムが提供する変数を定義していません。むしろ、SNMPは、アプリケーションが独自の階層を定義できるようにする拡張可能な設計を使用しています。これらの階層は、管理情報ベース(MIB)として記述されます。 MIBは、デバイスサブシステムの管理データの構造を記述します。それらは、オブジェクト識別子(OID)を含む階層的な名前空間使用します。各OIDは、SNMPを介して読み取りまたは設定できる変数を識別します。 MIBは、によって定義された表記法を使用しますASN.1のサブセットである管理情報バージョン2.0(SMIv2、RFC  2578)の構造

プロトコルの詳細

SNMPは、インターネットプロトコルスイートのアプリケーション層動作しますすべてのSNMPメッセージは、ユーザーデータグラムプロトコル(UDP)を介して転送されますSNMPエージェントはUDPポート161で要求を受信します。マネージャは、使用可能な任意の送信元ポートからエージェントのポート161に要求を送信できます。エージェントの応答は、マネージャの送信元ポートに返送されます。マネージャーは、ポート162で通知(TrapsおよびInformRequestsを受信します。エージェントは、使用可能な任意のポートから通知を生成できます。トランスポート層セキュリティまたはデータグラムトランスポート層セキュリティとともに使用すると、要求はポート10161で受信され、通知はポート10162に送信されます。[3]

SNMPv1は、5つのコアプロトコルデータユニット(PDU)を指定します他の2つのPDU、GetBulkRequestInformRequestがSNMPv2に追加され、レポートPDUがSNMPv3に追加されました。すべてのSNMPPDUは、次のように構成されています。

IPヘッダー UDPヘッダー バージョン コミュニティ PDUタイプ request-id エラーステータス エラーインデックス 可変バインディング

識別される7つのSNMP PDUのタイプPDU型以下のようにフィールドには、次のとおりです。

GetRequest
変数または変数のリストの値を取得するためのマネージャーからエージェントへの要求。必要な変数は変数バインディングで指定されます(値フィールドは使用されません)。指定された変数値の取得は、エージェントによる不可分操作として実行されます。レスポンス現在の値を持つが返されます。
SetRequest
変数または変数のリストの値を変更するためのマネージャーからエージェントへの要求。変数バインディングは、リクエストの本文で指定されます。指定されたすべての変数への変更は、エージェントによる不可分操作として行われます。変数の(現在の)新しい値を持つ応答が返されます。
GetNextRequest
使用可能な変数とその値を検出するためのマネージャーからエージェントへの要求。MIB内の辞書式順序で次の変数の変数バインディングを含む応答返しますエージェントのMIB全体は、OID 0から始まるGetNextRequestの反復アプリケーションによってウォークできます。テーブルの行は、要求の変数バインディングで列OIDを指定することによって読み取ることができます。
GetBulkRequest
GetNextRequestの複数の反復に対するマネージャーからエージェントへの要求GetNextRequestの最適化されたバージョンリクエスト内の1つまたは複数の変数バインディングから取得した複数の変数バインディングを含む応答返しますPDU固有の非リピーターおよび最大繰り返しフィールドは、応答動作を制御するために使用されます。GetBulkRequestはSNMPv2で導入されました。
応答
GetRequestSetRequestGetNextRequestGetBulkRequest、およびInformRequestについてエージェントからマネージャーへの変数バインディングと確認応答を返しますエラーレポートは、error-statusフィールドerror-indexフィールドによって提供されますgetとsetの両方への応答として使用されましたが、このPDUはSNMPv1ではGetResponseと呼ばれていました。
トラップ
エージェントからマネージャーへの非同期通知。他のSNMP通信では、マネージャーはエージェントからの情報をアクティブに要求しますが、これらは明示的に要求されることなくエージェントからマネージャーに送信されるPDUです。SNMPトラップを使用すると、エージェントは、一方的なSNMPメッセージを介して重要なイベントを管理ステーションに通知できます。トラップPDUには、現在のsysUpTime値、トラップのタイプを識別するOID、およびオプションの変数バインディングが含まれます。トラップの宛先アドレス指定は、通常、MIBのトラップ構成変数を介してアプリケーション固有の方法で決定されます。SNMPv2でトラップメッセージの形式が変更され、PDUの名前がSNMPv2-Trapに変更されました
InformRequest
非同期通知を確認しました。このPDUはSNMPv2で導入され、当初はマネージャー間の通信として定義されていました[4]その後の実装では、元の定義が緩められ、エージェントからマネージャーへの通信が可能になりました。[5] [6] [7]トラップを使用したSNMPv1では、マネージャー間の通知はすでに可能でしたが、SNMPは通常UDP上で実行され、配信が保証されず、ドロップされたパケットが報告されないためトラップの配信は保証されませんでした。 。InformRequestは、受信時に確認応答が返されるため、これを修正します。[6]

RFC  1157は、SNMP実装が少なくとも484バイトの長さのメッセージを受け入れる必要があることを指定しています。実際には、SNMP実装はより長いメッセージを受け入れます。[8] :1870 正しく実装されている場合、メッセージのデコードに失敗するとSNMPメッセージが破棄されるため、不正な形式のSNMP要求は無視されます。正常にデコードされたSNMP要求は、コミュニティストリングを使用して認証されます。認証が失敗した場合、認証の失敗を示すトラップが生成され、メッセージはドロップされます。[8] :1871 

SNMPv1およびSNMPv2は、コミュニティ使用して、マネージャーとエージェント間の信頼を確立します。ほとんどのエージェントは、読み取り専用、読み取り/書き込み、およびトラップ用にそれぞれ1つずつ、合計3つのコミュニティ名をサポートしています。これらの3つのコミュニティ文字列は、さまざまなタイプのアクティビティを制御します。読み取り専用コミュニティは、リクエストの取得に適用されます。読み取り/書き込みコミュニティ文字列は、セットリクエストに適用さます。トラップコミュニティ文字列は、トラップの受信に適用されます。SNMPv3もコミュニティストリングを使用しますが、SNMPマネージャーとエージェント間の安全な認証と通信を可能にします。[9]

プロトコルバージョン

実際には、SNMP実装は多くの場合、複数のバージョン(通常、SNMPv1、SNMPv2c、およびSNMPv3)をサポートします。[10] [11]

バージョン1

SNMPバージョン1(SNMPv1)は、SNMPプロトコルの最初の実装です。SNMPv1の設計は、1980年代に、公式に後援されたOSI / IETF / NSF(National Science Foundation)の取り組み(HEMS / CMIS / CMIP)を、当時のコンピューティングプラットフォームでは実装不可能であると同時に、潜在的に実行不可能。SNMPは、インターネットの大規模な展開とその商業化に向けた措置を講じるために必要な暫定プロトコルであるという信念に基づいて承認されました。

現在SNMPv1として知られているSNMPの最初のRequestfor Comments(RFC)は、1988年に登場しました。

  • RFC  1065  — TCP / IPベースのインターネットの管理情報の構造と識別
  • RFC  1066  — TCP / IPベースのインターネットのネットワーク管理のための管理情報ベース
  • RFC  1067  —シンプルなネットワーク管理プロトコル

1990年に、これらのドキュメントは次のものに取って代わられました。

  • RFC  1155  — TCP / IPベースのインターネットの管理情報の構造と識別
  • RFC  1156  — TCP / IPベースのインターネットのネットワーク管理のための管理情報ベース
  • RFC  1157  —シンプルなネットワーク管理プロトコル

1991年に、RFC 1156(MIB-1)は、より頻繁に使用されるものに置き換えられました。  

  • RFC  1213  — TCP / IPベースのインターネットのネットワーク管理用の管理情報ベース(MIB-2)のバージョン2

SNMPv1は広く使用されており、インターネットコミュニティの事実上のネットワーク管理プロトコルです。[12]

SNMPv1は、User Datagram Protocol(UDP)、Internet Protocol(IP)、OSI Connectionless-mode Network Service(CLNS)、AppleTalk Datagram Delivery Protocol(DDP)、Novell Internetwork Packet Exchange(IPX)などのトランスポート層プロトコルによって伝送される場合があります

バージョン1は、セキュリティが低いと批判されています。[13]この仕様では、実際、カスタム認証を使用する余地がありますが、広く使用されている実装は、「すべてのSNMPメッセージを本物のSNMPメッセージとして識別する簡単な認証サービスのみをサポートします」。[14]したがって、メッセージのセキュリティは、メッセージが送信されるチャネルのセキュリティに依存するようになります。たとえば、組織は、内部ネットワークが十分に安全であると見なして、SNMPメッセージに暗号化を必要としない場合があります。このような場合、平文送信される「コミュニティ名」は、元の仕様にもかかわらず、事実上のパスワードと見なされる傾向があります。

バージョン2

定義されたSNMPv2の、RFC 1441及びRFC 1452には、バージョン1を改訂し、性能、セキュリティ、およびマネージャ・ツー・マネージャ通信の分野における改善を含みます。単一のリクエストで大量の管理データを取得するための反復GetNextRequestsの代替であるGetBulkRequestが導入されましたSNMPv2で導入された新しいパーティベースのセキュリティシステムは、多くの人に過度に複雑であると見なされていましたが、広く採用されていませんでした。[13] このバージョンのSNMPは、提案された標準レベルの成熟度に達しましたが、それ以降のバージョンでは廃止されたと見なされていました。[15]  

コミュニティベースの簡易ネットワーク管理プロトコルバージョン2、またはSNMPv2cには、で定義されているRFC 1901 - RFC 1908。 SNMPv2cは、物議を醸している新しいSNMP v2セキュリティモデルを含まないSNMPv2で構成され、代わりにSNMPv1の単純なコミュニティベースのセキュリティスキームを使用します。このバージョンは、IETFのドラフト標準の成熟度レベルを満たす比較的少数の標準の1つであり、事実上のSNMPv2標準と広く見なされていました[15] 後でSNMPv3の一部として修正されました。[16]  

ユーザーベースの簡易ネットワーク管理プロトコルバージョン2、またはSNMPv2uは、で定義されているRFC 1909 - RFC 1910これは、SNMPv2の高度な複雑さを招くことなく、SNMPv1よりも優れたセキュリティを提供しようとする妥協案です。この変種はSNMPv2 *として商品化され、このメカニズムは最終的にSNMPv3の2つのセキュリティフレームワークの1つとして採用されました。[17]  

64ビットカウンター

SNMPバージョン2では、64ビットデータカウンターのオプションが導入されています。バージョン1は、0から42.9億(正確には4,294,967,295)までの整数値を格納できる32ビットカウンターのみを使用して設計されました。 32ビットバージョン1カウンターは、ビット/秒で表される10ギガビット以上のインターフェイスの最大速度を格納できません。同様に、10ギガビット以上のインターフェイスの32ビットカウンタートラッキング統計は、1分未満で再びゼロにロールオーバーできます。これは、カウンターがポーリングされて現在の状態を読み取るよりも短い時間間隔である可能性があります。これにより、値のロールオーバーが検出されないためにデータが失われたり無効になったり、傾向追跡データが破損したりする可能性があります。

64ビットバージョン2カウンターは、0から18.4兆(正確には18,446,744,073,709,551,615)の値を格納できるため、現在、ポーリングイベント間でカウンターロールオーバーが発生する可能性はほとんどありません。たとえば、1.6テラビットイーサネットは2025年までに利用可能になると予測されています。1.6兆ビット/秒の速度で増分する64ビットカウンタは、133日間ロールオーバーすることなくそのようなインターフェイスの情報を保持できます。

SNMPv1とSNMPv2cの相互運用性

SNMPv2cは、メッセージ形式とプロトコル操作という2つの重要な領域でSNMPv1と互換性がありません。SNMPv2cメッセージは、SNMPv1メッセージとは異なるヘッダーおよびプロトコルデータユニット(PDU)形式を使用します。SNMPv2cは、SNMPv1で指定されていない2つのプロトコル操作も使用します。非互換性を克服するために、RFC 3584プロキシエージェントとバイリンガルネットワーク管理システムの2つのSNMPv1 / v2c共存戦略を定義しています。  

プロキシエージェント

SNMPv2エージェントは、SNMPv1管理対象デバイスに代わってプロキシエージェントとして機能できます。SNMPv2 NMSがSNMPv1エージェント向けのコマンドを発行すると、代わりにSNMPv2プロキシエージェントに送信されます。プロキシエージェントの転送GetGetNextおよびSetSNMPv1エージェントにメッセージ変わりません。GetBulkメッセージは、プロキシエージェントによってメッセージに変換されてGetNextから、SNMPv1エージェントに転送されます。さらに、プロキシエージェントはSNMPv1トラップメッセージを受信して​​SNMPv2トラップメッセージにマッピングし、それらをNMSに転送します。

バイリンガルネットワーク管理システム

バイリンガルSNMPv2ネットワーク管理システムは、SNMPv1とSNMPv2の両方をサポートします。この二重管理環境をサポートするために、管理アプリケーションはローカルデータベースに格納されている情報を調べて、エージェントがSNMPv1またはSNMPv2のどちらをサポートしているかを判別します。NMSは、データベース内の情報に基づいて、適切なバージョンのSNMPを使用してエージェントと通信します。

バージョン3

SNMPv3は、暗号化セキュリティの追加を除いてプロトコルに変更を加えませんが、新しいテキストの規則、概念、および用語のために非常に異なって見えます。[1]最も目に見える変更は、SNMPにセキュリティとリモート構成の拡張機能を追加することにより、SNMPの安全なバージョンを定義することでした。[18]セキュリティの側面は、プライバシーのために強力な認証とデータ暗号化の両方を提供することによって対処されます。管理の側面では、SNMPv3は2つの部分、つまり通知の発信者とプロキシの転送者に焦点を当てています。この変更により、SNMPエンティティのリモート構成と管理が容易になるだけでなく、大規模な展開、アカウンティング、および障害管理に関連する問題にも対処できます。

含まれる機能と拡張機能:

  • 既知のSNMPエンティティ間の通信のみを容易にするSNMPエンティティの識別–各SNMPエンティティにはSNMPEngineIDと呼ばれる識別子があり、SNMPエンティティがピアのIDを知っている場合にのみSNMP通信が可能です。トラップと通知は、このルールの例外です。
  • セキュリティモデルのサポート–セキュリティモデルは、管理ドメインまたはイントラネット内のセキュリティポリシーを定義する場合があります。SNMPv3には、ユーザーベースのセキュリティモデル(USM)の仕様が含まれています。
  • メッセージ認証サービスの目標に以下に対する保護が含まれるセキュリティ目標の定義:
    • 情報の変更–許可されたプリンシパルによって生成された転送中メッセージを変更する許可されていないSNMPエンティティに対する保護
    • マスカレード–適切な許可を持つ別のプリンシパルのIDを想定することにより、一部のプリンシパルに対して許可されていない管理操作の試行に対する保護。
    • メッセージストリームの変更–不正な管理操作に影響を与えるために、メッセージが悪意を持って並べ替えられたり、遅延したり、再生されたりすることに対する保護。
    • 開示–SNMPエンジン間の交換での盗聴に対する保護。
  • USMの仕様– USMは、利用可能な次の通信メカニズムの一般的な定義で構成されています。
    • 認証とプライバシーのない通信(NoAuthNoPriv)。
    • 認証ありでプライバシーなしの通信(AuthNoPriv)。
    • 認証とプライバシー(AuthPriv)との通信。
  • さまざまな認証およびプライバシープロトコルの定義– MD5、SHA、およびHMAC-SHA-2 [19]認証プロトコルと、CBC_DESおよびCFB_AES_128プライバシープロトコルがUSMでサポートされています。
  • 検出手順の定義–特定のトランスポートアドレスおよびトランスポートエンドポイントアドレスのSNMPエンティティのSNMPEngineIDを検索します。
  • 時間同期手順の定義–SNMPエンティティ間の認証された通信を容易にするため。
  • SNMPフレームワークMIBの定義–SNMPエンティティのリモート構成と管理を容易にします。
  • USM MIBの定義–セキュリティモジュールのリモート構成と管理を容易にします。
  • ビューベースのアクセス制御モデル(VACM)MIBの定義–アクセス制御モジュールのリモート構成と管理を容易にします。

セキュリティは、v3までのSNMPの最大の弱点の1つでした。SNMPバージョン1および2での認証は、マネージャーとエージェントの間でクリアテキストで送信されるパスワード(コミュニティ文字列)にすぎません。[1]各SNMPv3メッセージには、オクテット文字列としてエンコードされたセキュリティパラメータが含まれています。これらのセキュリティパラメータの意味は、使用されているセキュリティモデルによって異なります。[20] v3ターゲットのセキュリティアプローチ:[21]

  • 機密性–許可されていない送信元によるスヌーピングを防ぐためのパケットの暗号化
  • 整合性–オプションのパケット再生保護メカニズムを含む、転送中にパケットが改ざんされていないことを保証するメッセージの整合性
  • 認証–メッセージが有効な送信元からのものであることを確認します。

v3はUSMとVACMも定義し、その後、SSH経由のSNMPv3とTLSおよびDTLS経由のSNMPv3のサポートを提供するトランスポートセキュリティモデル(TSM)が続きました。

  • USM(ユーザーベースのセキュリティモデル)は、認証およびプライバシー(暗号化)機能を提供し、メッセージレベルで動作します。
  • VACM(ビューベースのアクセス制御モデル)は、特定のプリンシパルが特定の機能を実行するために特定のMIBオブジェクトへのアクセスを許可され、PDUレベルで動作するかどうかを決定します。
  • TSM(Transport Security Model)は、外部セキュリティチャネルを介してメッセージを認証および暗号化する方法を提供します。TSM仕様を利用するSSHとTLS / DTLSの2つのトランスポートが定義されています。

2004年時点でIETFRFC 3411RFC 3418 [22](STD0062とも呼ばれます)で定義されているSNMPの現在の標準バージョンとしてSimple Network ManagementProtocolバージョン3認識しています。IETFは、 SNMPv3のに完全な指定したインターネット標準[23]最高の成熟度レベルRFCのために。以前のバージョンは廃止されたと見なされます(「履歴」または「廃止」とさまざまに指定されます)。[15]  

実装の問題

ネットワークデバイスの構成を可能にするSNMPの強力な書き込み機能は、SNMPv3より前のSNMPバージョンのセキュリティが不足していることや、多くのデバイスが個別に構成できないため、多くのベンダーで十分に活用されていません。 MIBオブジェクトが変更されます。

一部のSNMP値(特に表形式の値)には、テーブルのインデックス作成スキームに関する特定の知識が必要であり、これらのインデックス値は必ずしもプラットフォーム間で一貫しているとは限りません。同じテーブルのインデックス付け方式を使用しないことがあり、複数のデバイスから情報フェッチするとき、これは相関の問題を引き起こす可能性がある(特定のディスク識別子はプラットフォーム間で異なるディスクの使用率メトリックをフェッチたとえば、。)[24]

一部の主要な機器ベンダーは、独自のコマンドラインインターフェイス(CLI)中心の構成および制御システムを過剰に拡張する傾向があります。[25] [検証に失敗しました]

2002年2月、カーネギーメロンソフトウェアエンジニアリングインスティテュート(CM-SEI)のコンピュータ緊急対応チーム調整センター(CERT-CC)はOulu University Secure Programming GroupがSNMPメッセージ処理の徹底的な分析を行った後、SNMPv1に関するアドバイザリを発行しました[26]。ほとんどのSNMP実装は、サポートするプロトコルのバージョンに関係なく、プロトコルデータユニット(PDU)のデコードに同じプログラムコードを使用し、このコードで問題が特定されました。 SNMP管理ステーションが受信したSNMPトラップメッセージまたはネットワークデバイス上のSNMPエージェントが受信した要求のデコードで他の問題が見つかりました。多くのベンダーは、SNMP実装のパッチを発行する必要がありました。[8] :1875 

セキュリティへの影響

SNMPを使用してネットワークを攻撃する

SNMPは、管理者がネットワークデバイスをリモートで監視および構成できるように設計されているため、ネットワークへの侵入にも使用できます。かなりの数のソフトウェアツールがSNMPを使用してネットワーク全体をスキャンできるため、読み取り/書き込みモードの構成に誤りがあると、ネットワークが攻撃を受けやすくなる可能性があります。[27] :52 

2001年にシスコは、SNMPの実装も、読み取り専用モードでは、そのことを示した情報をリリースのCisco IOSは、特定の脆弱性があり、サービス拒否攻撃。これらのセキュリティの問題は、IOSのアップグレードによって修正できます。[28]

SNMPがネットワークで使用されていない場合は、ネットワークデバイスで無効にする必要があります。SNMP読み取り専用モードを構成するときは、アクセス制御の構成と、SNMPメッセージが受け入れられるIPアドレスに細心の注意を払う必要があります。SNMPサーバーがIPによって識別される場合、SNMPはこれらのIPにのみ応答することが許可され、他のIPアドレスからのSNMPメッセージは拒否されます。ただし、IPアドレススプーフィングは依然としてセキュリティ上の懸念事項です。[27] :54 

認証

SNMPにはさまざまなバージョンがあり、それぞれに独自のセキュリティ問題があります。 SNMP v1は、パスワードをクリアテキストでネットワーク経由で送信します。したがって、パスワードはパケットスニッフィングで読み取ることができます。 SNMP v2ではMD5を使用したパスワードハッシュ許可されていますが、これを構成する必要があります。事実上すべてのネットワーク管理ソフトウェアはSNMPv1をサポートしていますが、必ずしもSNMPv2またはv3をサポートしているとは限りません。 SNMP v2は認証プライバシー、および承認というデータセキュリティを提供するために特別に開発されましたが、インターネット技術特別調査委員会の承認を得たのはSNMPバージョン2cのみでした。(IETF)、バージョン2uおよび2 *は、セキュリティの問題のためにIETFの承認を得ることができませんでした。 SNMP v3は、MD5、Secure Hash Algorithm(SHA)、およびキー付きアルゴリズムを使用して、不正なデータ変更やなりすまし攻撃に対する保護を提供します。より高いレベルのセキュリティが必要な場合は、オプションでデータ暗号化規格(DES)を暗号ブロック連鎖モードで使用できます。 SNMP v3は、リリース12.0(3)T以降のCiscoIOSに実装されています。[27] :52 

SNMPv3は、認証キーまたは暗号化キーが短い(弱い)パスワードまたは辞書にあるパスワードから生成されている場合、これらのキーを推測するためのブルートフォース攻撃および辞書攻撃の対象となる可能性があります。 SNMPv3では、ランダムに均一に分散された暗号化キーを提供することと、ユーザーが指定したパスワードから暗号化キーを生成することの両方が可能です。ネットワークを介して送信されるハッシュ値から認証文字列を推測するリスクは、使用される暗号化ハッシュ関数とハッシュ値の長さによって異なります。 SNMPv3は、ユーザーベースのセキュリティモデル(USM)にHMAC - SHA-2 認証プロトコルを使用します。[29] SNMPはより安全なものを使用しませんチャレンジハンドシェイク認証プロトコルSNMPv3(他のSNMPプロトコルバージョンと同様)はステートレスプロトコルであり、エージェントとマネージャー間の相互作用を最小限に抑えて設計されています。したがって、各コマンドにチャレンジ/レスポンスハンドシェイクを導入すると、プロトコル設計者が過度で許容できないと見なしたエージェント(および場合によってはネットワーク自体)に負担がかかります。[要出典]

すべてのSNMPバージョンのセキュリティの欠陥は、IPsec認証および機密性メカニズムによって軽減できます[要出典] SNMPは、Datagram Transport Layer Security(DTLS)を介して安全に伝送することもできます[10]

多くのSNMP実装には、スイッチやルーターなどの新しいネットワークコンポーネントが自動的に検出され、ポーリングされるタイプの自動検出が含まれています。 SNMPv1およびSNMPv2cでは、これはクリアテキストで他のデバイスに送信されるコミュニティストリング介して行われます。[10]クリアテキストのパスワードは重大なセキュリティリスクです。コミュニティストリングが組織外で知られると、攻撃の標的になる可能性があります。コミュニティストリングを収集する他の試みを管理者に警告するために、SNMPを設定してコミュニティ名認証失敗トラップを渡すことができます。[27] :54  SNMPv2が使用されている場合、ネットワークデバイスのSNMPエージェントでパスワード暗号化を有効にすることで問題を回避できます。

コミュニティストリングの一般的なデフォルト設定は、読み取り専用アクセスの場合は「public」、読み取り/書き込みの場合は「private」です。[8] :1874 よく知られているデフォルトのため、SNMPはSANS Instituteの一般的なデフォルト構成の問題のリストのトップにあり、2000年のSANSの最も重大なインターネットセキュリティ脅威のトップ10で10位でした。[30]システムまた、ネットワーク管理者はこれらの構成を頻繁に変更しません。[8] :1874 

TCPまたはUDPのどちらで実行する場合でも、SNMPv1およびv2はIPスプーフィング攻撃に対して脆弱です。スプーフィングを使用すると、攻撃者はSNMPアクセスを制限するために実装されたエージェントのデバイスアクセスリストをバイパスする可能性があります。USMやTSMなどのSNMPv3セキュリティメカニズムは、スプーフィング攻撃の成功を防ぎます。

RFCリファレンス

  • RFC  1155(STD 16)— TCP / IPベースのインターネットの管理情報の構造と識別
  • RFC  1156(履歴)— TCP / IPベースのインターネットのネットワーク管理のための管理情報ベース
  • RFC  1157(履歴)—簡易ネットワーク管理プロトコル(SNMP)
  • RFC  1213(STD 17)— TCP / IPベースのインターネットのネットワーク管理のための管理情報ベース:MIB-II
  • RFC  1452(情報)—インターネット標準ネットワーク管理フレームワークのバージョン1とバージョン2の共存RFC 1908で廃止 
  • RFC  1901(実験的)—コミュニティベースのSNMPv2の概要
  • RFC  1902(ドラフト標準)— SNMPv2の管理情報の構造RFC 2578で廃止 
  • RFC  1908(標準化過程)—インターネット標準ネットワーク管理フレームワークのバージョン1とバージョン2の間の共存
  • RFC  2570(情報)—インターネット標準ネットワーク管理フレームワークのバージョン3の概要RFC 3410で廃止 
  • RFC  2578(STD 58)—管理情報バージョン2(SMIv2)の構造
  • RFC  3410(情報)—インターネット標準管理フレームワークの概要と適用性に関する声明
  • STD 62には、次のRFCが含まれています。
    • RFC  3411  —簡易ネットワーク管理プロトコル(SNMP)管理フレームワークを記述するためのアーキテクチャ
    • RFC  3412  —簡易ネットワーク管理プロトコル(SNMP)のメッセージ処理とディスパッチ
    • RFC  3413  —簡易ネットワーク管理プロトコル(SNMP)アプリケーション
    • RFC  3414  —簡易ネットワーク管理プロトコル(SNMPv3)のバージョン3のユーザーベースのセキュリティモデル(USM)
    • RFC  3415  —簡易ネットワーク管理プロトコル(SNMP)のビューベースのアクセス制御モデル(VACM)
    • RFC  3416  —簡易ネットワーク管理プロトコル(SNMP)のプロトコル操作のバージョン2
    • RFC  3417  —簡易ネットワーク管理プロトコル(SNMP)のトランスポートマッピング
    • RFC  3418  —簡易ネットワーク管理プロトコル(SNMP)の管理情報ベース(MIB)
  • RFC  3430(実験的)—伝送制御プロトコル(TCP)トランスポートマッピングを介した簡易ネットワーク管理プロトコル(SNMP)
  • RFC  3584(BCP 74)—インターネット標準のネットワーク管理フレームワークのバージョン1、バージョン2、およびバージョン3の共存
  • RFC  3826(提案)— SNMPユーザーベースのセキュリティモデルにおけるAdvancedEncryption Standard(AES)暗号化アルゴリズム
  • RFC  4789(提案)— IEEE 802ネットワークを介した簡易ネットワーク管理プロトコル(SNMP)
  • RFC  5343(STD 78)—簡易ネットワーク管理プロトコル(SNMP)コンテキストEngineIDディスカバリー
  • RFC  5590(STD 78)—簡易ネットワーク管理プロトコル(SNMP)のトランスポートサブシステム
  • RFC  5591(STD 78)—簡易ネットワーク管理プロトコル(SNMP)のトランスポートセキュリティモデル
  • RFC  5592(提案)—簡易ネットワーク管理プロトコル(SNMP)のセキュアシェルトランスポートモデル
  • RFC  5608(提案)—簡易ネットワーク管理プロトコル(SNMP)トランスポートモデルのリモート認証ダイヤルインユーザーサービス(RADIUS)の使用法。
  • RFC  6353(STD 78)—簡易ネットワーク管理プロトコル(SNMP)のトランスポート層セキュリティ(TLS)トランスポートモデル
  • RFC  7630(提案)— SNMPv3のユーザーベースのセキュリティモデル(USM)におけるHMAC-SHA-2認証プロトコル

も参照してください

参考文献

  1. ^ a b c ダグラス・R・マウロ&ケビン・J・シュミット。(2001)。エッセンシャルSNMP(第1版)。セバストポル、カリフォルニア州:オライリー&アソシエイツ。
  2. ^ 簡易ネットワーク管理プロトコル(SNMP)管理フレームワークを記述するためのアーキテクチャ土井10.17487 / RFC3411RFC 3411
  3. ^ RFC 6353第10節 
  4. ^ J。ケース; K. McCloghrie; M.ローズ; S. Waldbusser(1993年4月)。「RFC1448–簡易ネットワーク管理プロトコル(SNMPv2)のバージョン2のプロトコル操作」インターネットエンジニアリングタスクフォース。InformRequest-PDUは、要求に応じて生成され、マネージャーの役​​割を果たしているSNMPv2エンティティ内のアプリケーションで、パーティのMIBビュー内の情報を別のアプリケーション(マネージャーの役​​割も果たしているSNMPv2エンティティ内)に通知したい場合に送信されます。送信アプリケーションに対してローカル。 引用ジャーナルには|journal=ヘルプが必要です
  5. ^ D。レヴィ; P.マイヤー; B.スチュワート(1999年4月)。「RFC2573–SNMPアプリケーション」インターネットエンジニアリングタスクフォース。 引用ジャーナルには|journal=ヘルプが必要です
  6. ^ a b "SNMP InformRequests"シスコ2011年12月9日取得 引用ジャーナルには|journal=ヘルプが必要です
  7. ^ 「JUNOSソフトウェアでのSNMP実装について」ジュニパーネットワークス取得した2013年2月11日を 引用ジャーナルには|journal=ヘルプが必要です
  8. ^ a b c d e ハロルド・F・ティプトン&ミッキー・クラウゼ(2007)。情報セキュリティ管理ハンドブック、第6版CRCプレス。ISBN 9780849374951CS1 maint:作成者パラメーターを使用します(リンク
  9. ^ ダグラスマウロ&ケビンシュミット(2005)。情報セキュリティ管理ハンドブック、第6版EditioEssential SNMP:システムおよびネットワーク管理者向けのヘルプO'Reilly Media、Inc。pp。21–22。ISBN 9780596552770CS1 maint:作成者パラメーターを使用します(リンク
  10. ^ a b c スチュアートジェイコブス(2015)。工学情報セキュリティ:情報保証を達成するためのシステム工学概念の適用ジョンワイリー&サンズ。NS。367. ISBN 9781119104797
  11. ^ RFC 3584「インターネット標準ネットワーク管理フレームワークのバージョン1、バージョン2、およびバージョン3の共存」 
  12. ^ ワイリー、ジョン(2015-12-01)。工学情報セキュリティ:情報保証を達成するためのシステム工学概念の適用NS。366. ISBN 97811191047112017914日取得
  13. ^ a b 「SNMPv3とSNMPv1またはv2cのセキュリティ」(PDF)2013年4月29日にオリジナル(PDF)からアーカイブされまし
  14. ^ RFC 1157 
  15. ^ a b c 「RFC検索の詳細:標準化過程のsnmpv2RFC」RFCエディター2014年2月24日取得
  16. ^ RFC 3416 
  17. ^ SNMPv3-ユーザーセキュリティモデルDr。Dobbs2019-03-09を取得
  18. ^ この号の内容:SNMPバージョン3 The Simple Times ISSN 1060-6084 
  19. ^ RFC 7860
  20. ^ David Zeltserman(1999)。SNMPv3とネットワーク管理の実用ガイドニュージャージー州アッパーサドルリバー:プレンティスホールPTR。
  21. ^ 「SNMPv3」シスコシステムズ。2011年7月19日にオリジナルからアーカイブされまし
  22. ^ 「SNMPバージョン3」オペレーティングシステムとコンピュータネットワークの研究所2010年5月7取得
  23. ^ 現在のインターネット標準(STD)のウェイバックマシンリストで2007-10-29にアーカイブされたRFCエディタ
  24. ^ 「SNMPのテーブルインデックス値を理解する」
  25. ^ 「独自のCLIよりも標準ベースの管理を支持するSNMP研究プレゼンテーション」SNMPリサーチ2010年1012日取得
  26. ^ CERTアドバイザリCA-2002-03多くの実装における複数の脆弱性
  27. ^ a b c d Andrew G. Mason&Mark J. Newcomb(2001)。Ciscoセキュアインターネットセキュリティソリューションシスコプレス。ISBN 9781587050169CS1 maint:作成者パラメーターを使用します(リンク
  28. ^ Andrew G. Mason&Mark J. Newcomb(2001)。Ciscoセキュアインターネットセキュリティソリューションシスコプレス。頁。  52ISBN 9781587050169CS1 maint:作成者パラメーターを使用します(リンク
  29. ^ SNMPv3のユーザーベースのセキュリティモデル(USM)のHMAC-SHA-2認証プロトコルRFC 7630 
  30. ^ 「SANSInstitute-CISクリティカルセキュリティコントロール」

さらに読む

外部リンク