簡單網絡管理協議(SNMP)是基於TCP/IP的網絡管理,實際上就是一群標准的集合。80年代末期由IETF開發后,開始被廣泛應用在各類網絡設備中,成為一種網管的工業標准。SNMP又稱之為管理者和代理之間的通信協議,包括理解SNMP的操作、SNMP信息的格式及如何在應用程序和設備之間交換信息。 更多有關SNMP協議的內容可參見http://files.cnblogs.com/sunada2005/SNMP.pdf。
就概念而言,SNMP為網管界定了管理者(Manager)和代理者(Agent,被管理設備)之間的關系。兩者之間的共同點是都運行TCP/IP協議。管理者可對管理設備提出效能、配置、和狀態等信息的詢問,透過要求與回復(request/replay)的簡單機制來擷取代理者身上的信息,而兩者之間的信息主要是通過PDU協議數據單元來載送。SNMP使用UDP作為IP的傳輸層協議。
在實現過程中,管理者會發送一個PDU給一個代理者(可以是路由器、交換機、防火牆……等可支持網管的設備),代理者收到管理者所發出內含詢問信息的PDU報文后,再透過PDU回傳給相關的管理者。在該過程中,代理者基本上只能處於被動的狀態,反復進行一問一答的模式,而唯一可由代理者自動發出的只有Trap的不定期回報特殊狀況信息。
SNMP協議有兩個基本命令模式:read和read/write。read是可以通過SNMP協議觀察設備配置細節,而使用read/write模式可以讓管理者有權限修改設備配置。以當前市場流行的大多數被網管的設備為例,如果設備的默認口令沒有改變,那么攻擊者就可以利用默認的口令得到其配置文件,文件一旦被破解,攻擊者就能夠對設備進行遠程非法的配置,實行攻擊。
目前,絕大多數的網絡設備和操作系統都可以支持SNMP,如D-Link、Cisco、3Com等等。
SNMPv3實現更優管理
目前SNMP的發展主要包括三個版本:SNMPv1、SNMPv2以及最新的SNMPv3。從市場應用來看,目前大多數廠商普遍支持的版本是SNMPv1和v2,但從安全鑒別機制來看,二者表現較差。而SNMPv3采用了新的SNMP擴展框架,在此架構下,安全性和管理上有很大的提高。在當前的網絡設備市場中,D-Link已經率先推出了支持SNMPv3的網絡產品,如DES-3226S、DES-3250TG交換機等,在安全功能和管理功能上都有良好的表現。
總體來看,SNMPv1和v2版本對用戶權力的惟一限制是訪問口令,而沒有用戶和權限分級的概念,只要提供相應的口令,就可以對設備進行read或read/write操作,安全性相對來的薄弱。雖然SNMPv2使用了復雜的加密技術,但並沒有實現提高安全性能的預期目標,尤其是在身份驗證(如用戶初始接入時的身份驗證、信息完整性的分析、重復操作的預防)、加密、授權和訪問控制、適當的遠程安全配置和管理能力等方面。
SNMPv3是在SNMPv2基礎之上增加、完善了安全和管理機制。RFC 2271定義的SNMPv3體系結構體現了模塊化的設計思想,使管理者可以簡單地實現功能的增加和修改。其主要特點在於適應性強,可適用於多種操作環境,不僅可以管理最簡單的網絡,實現基本的管理功能,還能夠提供強大的網絡管理功能,滿足復雜網絡的管理需求。
目前,市場上的網絡設備尚停留在SNMPv1/v2的范疇,並未廣泛支持SNMPv3,如何配置設備的SNMP服務以確保網絡安全、完善管理機制呢?以下幾個方面建議或許值得網管人員一試:由於基於SNMPv1/v2協議本身具有不安全性,所以在管理過程中,如果沒有必要,可以不要開啟SNMP代理程序;可以限制未授權IP對SNMP的訪問,或者改變SNMP代理的默認口令,並使用復雜的口令;在后續采購設備中,盡可能選用支持SNMPv3的設備產品。
綜合SNMP的不同版本,顯然SNMPv3的應用推廣勢在必行,必然會以突出的優勢成為新的應用趨勢。一些市場反應敏捷的網絡設備制造商已經推出了相關產品。據了解,D-Link在新一代產品推出時,已將此技術列入基本的協議支持,包括DES-3226S、DES-3250TG在內的多款交換機已經率先支持SNMPv3。