SNMP服務(wù)的概念解析
想要學好網(wǎng)絡(luò)管理,那么你肯定要學好SNMP服務(wù)協(xié)議了。那么這是一個什么協(xié)議呢?簡單說,就是一個網(wǎng)絡(luò)管理協(xié)議,那么具體的概念以及安全等問題我們來詳細討論一下。SNMP服務(wù)又稱簡單網(wǎng)絡(luò)管理協(xié)議,是為了解決Internet上的路由器管理問題而提出的。在Windows操作系統(tǒng)中起著代理的作用,它會收集可以向 SNMP管理站或控制臺報告的信息。依靠使用SNMP服務(wù)來讓系統(tǒng)收集數(shù)據(jù),并且在整個網(wǎng)絡(luò)范圍內(nèi)管理基于Windows 2000/XP/ 2003操作系統(tǒng)的計算機。
一般來說,SNMP消息是以明文形式發(fā)送的,而這些消息很容易被“Microsoft網(wǎng)絡(luò)監(jiān)視器”這樣的網(wǎng)絡(luò)分析程序截取并解碼。未經(jīng)授權(quán)的人可以捕獲社區(qū)名稱,以獲取有關(guān)網(wǎng)絡(luò)資源的重要信息。因此關(guān)于SNMP這樣的服務(wù)必須要注意其安全才能有效的廣泛使用。
要保護我們的SNMP不被非法行為所破壞,我們需要在系統(tǒng)上進行一系列的安全措施,例如“IP安全協(xié)議”用來保護SNMP通信。在系統(tǒng)上創(chuàng)建保護TCP和UDP端口161和162上的通信的IP Sec策略保護SNMP服務(wù)的安全。
步驟1:選擇“開始→控制面板→管理工具→本地安全策略”,右鍵點擊左欄“IP安全策略,在本地計算機”,選“管理IP篩選器列表和篩選器操作”。
步驟2:選“管理IP篩選器列表”然后單擊“添加”按鈕。在“IP篩選器列表”中的名稱欄輸入“161/162端口”,在“描述”框中輸入 “161/162端口篩選器”。點擊去除“添加向?qū)?rdquo;復(fù)選框,然后點“添加”按鈕。在“源地址”框(位于顯示的IP篩選器屬性對話框的“尋址”選項卡上)中,選擇“任何IP地址”。在“目標地址”區(qū)域中,選擇“我的IP地址”,選擇“鏡像。需要選擇匹配具有正好相反的源和目標地址的數(shù)據(jù)包”復(fù)選框。
步驟3:點“協(xié)議”選項卡,在“選擇協(xié)議類型”選擇“UDP”。在“設(shè)置IP協(xié)議端口”區(qū)域中,選擇“從此端口”,輸入161。單擊“到此端口”,然后輸入161,點擊“確定”按鈕,在“IP篩選器列表”對話框中,選擇“添加”按鈕。用同樣的方法再次添加162的端口。
SNMP協(xié)議開發(fā)于九十年代早期,其目的是簡化大型網(wǎng)絡(luò)中設(shè)備的管理和數(shù)據(jù)的獲取。許多與網(wǎng)絡(luò)有關(guān)的軟件包,如HP的OpenView和Nortel Networks的Optivity Network Management System,還有Multi Router Traffic Grapher(MRTG)之類的免費軟件,都用SNMP服務(wù)來簡化網(wǎng)絡(luò)的管理和維護。
由于SNMP協(xié)議的效果實在太好了,所以網(wǎng)絡(luò)硬件廠商開始把SNMP協(xié)議加入到它們制造的每一臺設(shè)備。今天,各種網(wǎng)絡(luò)設(shè)備上都可以看到默認啟用的SNMP服務(wù),從交換機到路由器,從防火墻到網(wǎng)絡(luò)打印機,無一例外。
僅僅是分布廣泛還不足以造成威脅,問題是許多廠商安裝的SNMP協(xié)議都采用了默認的通信字符串(例如密碼),這些通信字符串是程序獲取設(shè)備信息和修改配置必不可少的。采用默認通信字符串的好處是網(wǎng)絡(luò)上的軟件可以直接訪問設(shè)備,無需經(jīng)過復(fù)雜的配置。
通信字符串主要包含兩類命令:GET命令,SET命令。GET命令從設(shè)備讀取數(shù)據(jù),這些數(shù)據(jù)通常是操作參數(shù),例如連接狀態(tài)、接口名稱等。SET命令允許設(shè)置設(shè)備的某些參數(shù),這類功能一般有限制,例如關(guān)閉某個?緗涌凇⑿薷穆酚善韃問?裙δ堋5?芟勻唬珿ET、SET命令都可能被用于拒絕服務(wù)攻擊(DoS)和惡意修改網(wǎng)絡(luò)參數(shù)。
最常見的默認通信字符串是public(只讀)和private(讀/寫),除此之外還有許多廠商私有的默認通信字符串。幾乎所有運行SNMP協(xié)議的網(wǎng)絡(luò)設(shè)備上,都可以找到某種形式的默認通信字符串。
SNMP 2.0和SNMP 1.0的安全機制比較脆弱,通信不加密,所有通信字符串和數(shù)據(jù)都以明文形式發(fā)送。攻擊者一旦捕獲了網(wǎng)絡(luò)通信,就可以利用各種嗅探工具直接獲取通信字符串,即使用戶改變了通信字符串的默認值也無濟于事。
近幾年才出現(xiàn)的SNMP協(xié)議 3.0解決了一部分問題。為保護通信字符串,SNMP 3.0使用DES(Data Encryption Standard)算法加密數(shù)據(jù)通信;另外,SNMP協(xié)議 3.0還能夠用MD5和SHA(Secure Hash Algorithm)技術(shù)驗證節(jié)點的標識符,從而防止攻擊者冒充管理節(jié)點的身份操作網(wǎng)絡(luò)。有關(guān)SNMP 3.0的詳細說明,請參見http://www.ietf.org/rfc/rfc2570.txt。
雖然SNMP服務(wù) 3.0出現(xiàn)已經(jīng)有一段時間了,但目前還沒有廣泛應(yīng)用。如果設(shè)備是2、3年前的產(chǎn)品,很可能根本不支持SNMP 3.0;甚至有些較新的設(shè)備也只有SNMP 2.0或SNMP 1.0。
即使設(shè)備已經(jīng)支持SNMP協(xié)議 3.0,許多廠商使用的還是標準的通信字符串,這些字符串對黑客組織來說根本不是秘密。因此,雖然SNMP協(xié)議 3.0比以前的版本提供了更多的安全特性,如果配置不當,其實際效果仍舊有限。