Simple Network Management Protocol(SNMP)是一個用於管理網路設備的協定,可以取得網路設備的設定與資訊,又或者去設定網路設備。由SNMP的觀念衍生出許多高階的Application,基本上大廠牌都有一套自己的軟體,如Aruba Airwave等。SNMP的使用上可是相當頻繁,成為一位「P級」的一定得去學學。
本文根據「維基百科」為主,把資料做整理,並做一些解釋。
Protocol Name | Version | Port | Function | RFC |
SNMP | 1 | 161 162 | 簡單的網路管理 | RFC 1155 RFC 1156 RFC 1157 |
SNMP | 2c | 161 162 | 可以一次詢問多種資訊,初階加密 | RFC 1901–RFC 1908 |
SNMP | 3 | 161 162 | SNMP第三版提供三項重要的服務:認證、隱私和存取控制 | RFC3411-RFC3418 |
一個SNMP管理的網路由下列三個關鍵元件組成:
- 網路管理系統(NMSs,Network-management systems)
- 被管理的裝置(managed device)
- 代理者(agent)
以戰場為例:agent是指揮官,被管理裝置(MD)是它的手下,網路管理系統(NMS)則是將軍。
今天要詢問狀況,會由agent去向MD問,問說哪個介面目前流量如何?問你叫甚麼名字?但這是人的問法,換成機器,流量、Hostname這些資訊放在管理資訊庫(MIB,Management Information Base)的特定位置,如:1.3.6.1.2.1.25.3.3.1.2 表示要監視所有 CPU Core 使用狀況。但是,不同家的資訊位置會略有不同,正確位置可以去其官網查表。
再簡單敘述一遍,如果想要知道甚麼資訊,就去MIB查該參數存放至哪裡,得到一串類似「1.2.3.4.5.6.7.8.9」的字串,agent去向MD問這字串,MD就會回覆對應的參數。
使用概念:
SNMP在1版跟2c版都是以 community 作為通關口號,只要agent跟MD兩邊的community string對得上,就可以順利管理。但這樣的安全性是低的,它太簡單了。
SNMP在3版同時強化了驗證與加密功能,可以使用帳號密碼去做驗證,並且使用加密讓關鍵訊息增加破解的難度。
為了安全,所以多半使用v3的authPriv。要是自家SNMP的方式被破解,相當於控制權會被拿走,想一想其實相當可怕。
實戰練習:
- SNMP – GNS3串接PRTG:NMS的建立,一切SNMP實戰的起點。
- SNMP – Security入門實戰:研究SNMPv3的驗證加密,不同的差異。