ネットワークにいる機器を監視するSNMPプロトコル

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

ネットワーク管理プロトコルであるSNMPv3で使われるPDUのうち、事象の発生をエージェントが自発的にマネージャに知らせるために使用するものはどれか。ここで、エージェントとはエージェント相当のエンティティ、マネージャとはマネージャ相当のエンティティを指す。

  1. SetRequest-PDU
  2. Response-PDU
  3. SNMPv2-Trap-PDU
  4. GetRequest-PDU

情報処理安全確保支援士平成31年春期 午前Ⅱ 問20

SNMPは、TCP/IPネットワークに接続されている機器の情報を収集して監視や制御を行うためのプロトコルです。

  • 英語 : Simple Network Management Protocol

構成機器や障害時の情報収集を行うために使用されるネットワーク管理プロトコルです。

TCP/IPの環境で使用されるプロトコルのうち,構成機器や障害時の情報収集を行うために使用されるネットワーク管理プロトコルはどれか。

答. SNMP
応用情報技術者平成26年春期 午前問34

SNMPはアプリケーション層のプロトコルです。

TCP/IPネットワークでは、プロトコル階層はアプリケーション層・トランスポート層・インターネット層・ネットワークインタフェース層に分けられている。SNMPと同じ階層に属するものはどれか。

答. FTP
https://www.ap-siken.com/kakomon/18_aki/img/52_1.gif
ソフトウェア開発技術者平成18年秋期 午前問52

https://www.infraexpert.com/studygif/tcpip2.gif
TCP/IPをはじめから

SNMPは、SNMPマネージャとSNMPエージェントの間で使用されます。

https://www.infraexpert.com/studygif/tcpip69.gif
TCP/IP - SNMPとは

https://milestone-of-se.nesuke.com/wp-content/uploads/2017/12/snmp-summary-2.png
【図解】SNMPの仕組み~利用ポート,監視方法(マネージャのMIBポーリング/trap受信),tcp/udp,writeの実装例〜│SEの道標

監視を行うのがSNMPマネージャです。

WindowsサーバーやUNIXサーバーにインストールされます。

いろんな製品があります。

https://www.hinemos.info/sites/default/files/2019-09/MonicolleAbout2.PNG
特長・メリット(Hinemos Monicolle) | Hinemos

https://www.nagios.com/wp-content/uploads/2017/10/XI_Home_Dashboard.png
Nagios XI - Easy Network, Server Monitoring and Alerting

https://www.manageengine.jp/products/OpManager/images/mib-browser-snmp-oid.png
ManageEngineが提供するOpManager

SNMPマネージャは、UDPのポート番号162を使用します。

https://www.infraexpert.com/studygif/tcpip70.gif
TCP/IP - SNMPとは

監視されるのがSNMPエージェントです。

http://itdoc.hitachi.co.jp/manuals/3020/30203T0401/FIGURE/ZU010210.GIF
SNMPエージェントを構成するプロセス

http://otndnld.oracle.co.jp/document/products/E13161_01/tuxedo/docs10gr3/snmpadmin/wwimages/snmpadmin-01-1-3.gif
Oracle SNMP エージェントの概要

SNMPエージェントは、UDPのポート番号161を使用します。

f:id:ponsuke_tarou:20200318231214j:plain

SNMPv1、SNMPv2、SNMPv3の3つのバージョンがあります。

https://i2.wp.com/murci.net/wp-content/uploads/2018/12/snmp.png?resize=300%2C103&ssl=1
SNMPバージョンごとの違い – murci.net

SNMPv1とSNMPv2は、セキュリティが弱いのであまり使われていません。

以下の記事で取り上げているSNMPリフレクター攻撃では、SNMPv2に対応し、コミュニティ名(SNMPでのパスワード的なもの)が初期値の「public」に設定されている機器をターゲットにしていたそうです。
www.itmedia.co.jp

SNMPv3は、セキュリティが強化されてPDUの暗号化ができるのが特徴です。

SNMPv1とSNMPv2では、コミュニティ名による認証をしていました。

PDUは、制御情報をくっつけたデータの送受信単位のことです。

  • 英語 : Protocol Data Unit
  • 読み方 : ピーディーユー

転送フレームでのSNMPメッセージ
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu5.gif
GetRequest/GetNextRequest/SetRequest/GetResponseのPDU構造
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu6.gif
TrapのPDU構造
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu7.gif
どのようにしてネットワークを管理するのか?:監視を自動化するSNMP(2) - @IT

https://download.huawei.com/mdl/imgDownload?uuid=46e0b068cf634b4ea4154ec87161214f.png
What Is SNMP - Huawei

プロトコルによって呼び名は変わります。
プロトコル 呼び名
HTTP・TCP パケット
UDP・IP データグラム
イーサネット無線LAN フレーム
銀行とかのATM セル

出典 : PDU(プロトコルデータユニット)とは - IT用語辞典 e-Words

SNMPのPDUには種類があります。

名前 細かい名前 UDPタイプ 説明
ポーリング - - SNMPマネージャがSNMPエージェントにリクエストを送って情報を収集する
ポーリング GET REQUEST 0 一部の管理情報を取得する
ポーリング GETNEXT REQUEST 1 次に連続する管理情報を取得する
ポーリング GET RESPONSE 2 SNMPマネージャからの要求に対するSNMPエージェントの返答
ポーリング SET REQUEST 3 管理するサブシステムに対して変更を加える
トラップ - 4 SNMPエージェントがSNMPマネージャに障害の情報を送る

https://image.itmedia.co.jp/ait/articles/0303/21/r13zu1.gif
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu2.gif
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu3.gif
https://image.itmedia.co.jp/ait/articles/0303/21/r13zu4.gif
どのようにしてネットワークを管理するのか?:監視を自動化するSNMP(2) - @IT

https://blogs.manageengine.jp/wp-content/uploads/2019/02/snmp_architecture.jpg
ネットワーク監視の超基本「SNMP」とは? « ManageEngine ブログ

https://download.huawei.com/mdl/imgDownload?uuid=085cf691cc3d49cd9150b8195dd9fec3.png
What Is SNMP - Huawei

事象の発生をエージェントが自発的にマネージャに知らせるために使用するのがトラップです。

図で示したネットワーク構成において,アプリケーションサーバA上のDBMSのデーモンが異常終了したという事象とその理由を,監視用サーバXで検知するのに有効な手段はどれか。
https://www.ap-siken.com/kakomon/24_haru/img/35.gif
答. アプリケーションサーバAから監視用サーバXへのSNMPトラップ
応用情報技術者平成24年春期 午前問35

SNMPマネージャとSNMPエージェントは、MIBをやり取りします。

http://atnetwork.info/tcpip2/tcpip25501.jpg
SNMPの仕組み(マネージャ/エージェント) TCP/IP入門

MIBは、機器の設定や状態などの情報集合体のことです。

  • 英語 : Management Information Base
  • 読み方 : みぶ
一つの要素が複数の子要素を持ち、階層が深くなるほど枝分かれしていく木構造です。

https://www.alaxala.com/jp/techinfo/archive/manual/AX2400S/HTML/11_7/CFGUIDE2/FIGURE/ZU209041.GIF
SNMP概説

https://download.huawei.com/mdl/imgDownload?uuid=51473c1c11b9497e9e163a64e6c03292.png
What Is SNMP - Huawei

MIBは、ASN.1という記法に従って定義されています。
  • 英語 : Abstract Syntax Notation One
  • 日本語 : 抽象構文記法1

ASN.1(Abstract Syntax Notation One = 抽象構文記法1)は、情報の構造定義の言語です。 通信プロトコルのフォーマットを規定するための言語で、 SNMPのMIBの記述、証明書:デジタル署名、LDAP,、Kerberos、TCなど多くのプロトコルで使用されています。
http://www5d.biglobe.ne.jp/stssk/asn1/index.html

SNMPエージェントは、MIBの内容で機器の状態を判断します。

サーバやネットワーク機器のMIB(Management Information Base)情報を分析し,中間者攻撃を遮断する。
応用情報技術者平成29年秋期 午前問38

f:id:ponsuke_tarou:20200313202707j:plain
北区の宝泉湯

次回の勉強内容

勉強中・・・