『壹』 snmpv3定義了哪些安全特性
1、SNMP早期版本的安全機制及其缺陷
SNMPv1存在一些明顯的缺陷,其中之一就是忽視了安全問題。SNMPv1隻提出了基於團體(community)的安全機制。一個SNMP團體是一個SNMP代理和任意一組SNMP管理站之間的一種關系,它定義了認證和訪問控制的特性。
團體是定義在代理上的一個本地概念。代理為每一個必要的認證和訪問控制的聯合建立一個團體,每個團體擁有唯一一個名字。團體之中的管理站必須使用該團體的團體名進行Get和Set操作。
(1)認證服務
認證服務用於保證通信是可信的。在SNMP消息中,認證服務將向消息接收者保證該消息的確是從它所聲明的來源出發的。SNMP僅提供了一種很簡單的認證方式:從管理站發往代理的每個消息都包括一個團體名,起口令的作用。如果該團體名存在於代理已知的團體名列表中,則該消息被認為是可信的,接收該消息;否則,消息不可信,丟棄該消息。
(2)訪問控制策略
通過定義團體,代理可以限制它的MIB只能被選定的一組管理站訪問。而通過定義多於一個的團體,代理能夠為不同的管理站提供不同的MIB訪問許可權。
但是,團體名通常以明文形式隨SNMP報文傳輸。對於熟悉SNMP的人來說,可以很容易地從網路上捕獲的SNMP報文中分析得到團體名,從而盜用某些許可權、進行非法的操作。
2、SNMP面臨的安全威脅
在實際中廣泛使用的SNMPv1/v2c採用以明文傳輸的團體名作為認證手段。這種脆弱的保護機制使得SNMP面臨著一系列安全威脅。這些威脅包括:
(1)偽裝(masquerade [ˌmæskəˈreɪd])
一些未授權的實體可以偽裝為已授權實體的身份,去執行只有授權實體才可以執行的管理操作,從而獲得額外的特權。
(2)信息更改(Modification of Information)
一個實體可以更改由另一授權實體產生的正在傳輸的報文,從而導致越權的管理操作。這種威脅的本質就是未授權的實體可以修改任何管理參數,包括配置、操作和計費方面的參數。
(3)信息泄露(Disclosure [dɪs'kləʊʒə(r)] of Information)
實體可以觀測管理者與代理之間的信息交換,從而獲得管理對象的值,並獲知所報告的事件。例如,通過觀測更改口令的Set命令,可以使攻擊者獲知新口令的內容。
(4)消息流更改(Message Stream Modification)
SNMP被設計成在無連接的協議上運行。因此,SNMP消息有可能被重排、延遲或者重放(復制),從而導致越權的管理操作。例如,一個重新啟動設備的消息可能被復制,並在將來的某一時刻重放,導致非授權的操作。
(5)拒絕服務(Denial [dɪ'naɪəl] of Service)
阻止管理者與代理之間的信息交換,或阻止通信設備的正常使用和管理。這種攻擊或者是阻止所有發往特定目的站點的消息、或者是對網路進行破壞使其不能運行、或者是發送大量消息使網路過載從而降低其性能。
(6)流量分析(Traffic Analysis)
分析管理者和代理之間信息交換的一般模式。
『貳』 有關snmp的get,getnext,getbulk操作的問題
關於snmp編程的資料其實很多。我建議你下載net-snmp開發包,看看裡面的代碼!他是用C語言編寫的,編譯後可以linux系統上測試。現成api是沒有,不過你可以在這個開發包找到很多有用的函數。你可以重點看一下asn.c(有關ber編碼文件)snmp_api.c(解析封裝snmp包的)。你把這些文件好好整理一下,就可以得到自己的api,這就是最好的列子。
我自己動手寫過snmp協議,實現get、getnext、set、snmptrap命令。代碼不會很長,只有幾千行。
如果有問題發郵件到[email protected]進行交流
『叄』 windows 2008 怎麼執行 snmp 命令
註:snmputil.exe是snmp協議進行探測windows命令行工具,網上可以下到。
@echo off
setlocal enableDelayedExpansion
for /f %%i in (%1%) do (
for /f "delims=" %%t in ('snmputil get %%i public .1.3.6.1.2.1.1.5.0') do set var=%%t
if "!var!" == "error on SnmpMgrRequest 40" (
echo "%%i : 失敗[var=!var!]" >>"失敗%1%"
) else (
echo "%%i : 正確[var=!var!]" >>"正確%1%"
)
)
echo THE END
pause>nul
『肆』 windows server2008r2 系統設置本地策略安全選項中有哪些
相信很多用戶在安裝配置的時候都遇到過各種各樣的問題。如:安裝Windows Server 2008 R2系統,並且建了域環境,在添加新用戶的時候,發現用簡單的密碼時域安全策略提示密碼復雜度不夠,於是就想在域安全策略裡面把密碼復雜度降低一點,但發現,在Windows Server 2008域的默認「管理工具」中,根本沒有域安全策略這個選項(註:「域安全策略」在Windows Server 2003以前的系統默認在「管理工具」裡面),只有一個本地安全策略, 當用戶打開本地安全策略時,會發現無論是賬戶策略還是本地策略,裡面的項目都是灰色不可修改。 解決方法是,用戶需將Windows Server 2008 R2系統升級為域控制器,那麼域會自動把本地安全策略的某些功能鎖定。現在,Windows Server 2008 R2的域安全策略應如何啟動和打開呢? 一、方法步驟如下: 1、點擊「開始」-「程序」-「管理工具」-點擊「組策略管理」。 2、在打開的組策略管理,一次「林」-「域」-「sayms-組策略對象(Domain.com是指您的域名)」。 3、右鍵點擊Default Domain Policy然後選擇「編輯」。 4、到「計算機配置-策略-Windows 設置- 安全設置-賬戶策略- 密碼策略」。 5、您可以在右邊的窗口中定義密碼相關的策略,此策略會應用於整個域中的所有賬戶。
『伍』 如何關閉華為,H3C,CISCO交換機的SNMP功能
有人有詳細的各類交換機的SNMPv3配置的文檔嗎(包含但不限於思科、華為、H3CC.設置OID值的方法。採用snmpset命令 注意配置的用戶是可讀寫的v3代理用戶。
『陸』 請問SNMP有什麼作用
snmp是TCP/IP協議族裡的一個協議,完整名稱是簡單網路管理協議,用來網路設備管理協議的,像網卡netcard之類的東東
『柒』 在snmpv1中 get get nex set 報文分別由哪些部分組成
SNMPV1 是一種簡單的請求 / 響應協議。網路管理系統發出一個請求,管理器則返回一個響應。這一行為的實現是通過使用四種協議操作中的其中任一種完成的。這四種操作分別是 GET 、 GETNEXT 、 SET 和 TRAP 。 NMS 通過 GET 操作,從 SNMP 代理處得到一個或更多的對象(實例)值。如果代理處不能提供請求列表中所有的對象(實例)值,它也就不提供任何值。 NMS 使用 GETNEXT 操作請求代理從請求列表或對象列表中取出下一個對象實例值。 NMS 通過 SET 操作向 SNMP 代理發送命令,要求對對象值重新配置。 SNMP 代理通過 TRAP 操作不定時的通知 NMS 所發生的特定事件。
『捌』 SNMP的通信過程
一 SNMP協議介紹 簡單網路管理協議(SNMP:Simple Network Management Protocol)是由互聯網工程任務組(IETF:Internet Engineering Task Force )定義的一套網路管理協議。該協議基於簡單網關監視協議(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一個管理工作站可以遠程管理所有支持這種協議的網路設備,包括監視網路狀態、修改網路設備配置、接收網路事件警告等。雖然SNMP開始是面向基於IP的網路管理,但作為一個工業標准也被成功用於電話網路管理。 1. SNMP基本原理 SNMP採用了Client/Server模型的特殊形式:代理/管理站模型。對網路的管理與維護是通過管理工作站與SNMP代理間的交互工作完成的。每個SNMP從代理負責回答SNMP管理工作站(主代理)關於MIB定義信息的各種查詢。下圖10是NMS公司網路產品中SNMP協議的實現模型。 圖10 SNMP代理和管理站通過SNMP協議中的標准消息進行通信,每個消息都是一個單獨的數據報。SNMP使用UDP(用戶數據報協議)作為第四層協議(傳輸協議),進行無連接操作。SNMP消息報文包含兩個部分:SNMP報頭和協議數據單元PDU。數據報結構如下圖11。 圖11 版本識別符(version identifier):確保SNMP代理使用相同的協議,每個SNMP代理都直接拋棄與自己協議版本不同的數據報。 團體名(Community Name):用於SNMP從代理對SNMP管理站進行認證;如果網路配置成要求驗證時,SNMP從代理將對團體名和管理站的IP地址進行認證,如果失敗,SNMP從代理將向管理站發送一個認證失敗的Trap消息(見後); 協議數據單元(PDU):其中PDU指明了SNMP的消息類型及其相關參數。 2. 管理信息庫MIB IETF規定的管理信息庫MIB(由中定義了可訪問的網路設備及其屬性,由對象識別符(OID:Object Identifier)唯一指定。MIB是一個樹形結構,SNMP協議消息通過遍歷MIB樹形目錄中的節點來訪問網路中的設備。 下圖給出了NMS系統中SNMP可訪問網路設備的對象識別樹(OID:Object Identifier)結構。 圖12 下圖13給出了對一個DS1線路狀態進行查詢的OID設置例子。 圖13 圖14中左圖給出了RFC2495對DS1/E1中繼線的MIB信息樹圖,右圖是NMS系統中對機架Chassis管理MIB約定。 點擊查看 圖14 3. SNMP的五種消息類型 SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap。 Get-Request 、Get-Next-Request與Get-Response SNMP管理站用Get-Request消息從擁有SNMP代理的網路設備中檢索信息,而SNMP代理則用Get-Response消息響應。Get-Next-Request用於和Get-Request組合起來查詢特定的表對象中的列元素。如: 首先通過下面的原語獲得所要查詢的設備的介面數: {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)} 然後再通過下面的原語,進行查詢(其中第一次用Get-Request,其後用Get-Next-Request): {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)} Set-Request SNMP管理站用Set-Request 可以對網路設備進行遠程配置(包括設備名、設備屬性、刪除設備或使某一個設備屬性有效/無效等)。 Trap SNMP代理使用Trap向SNMP管理站發送非請求消息,一般用於描述某一事件的發生。 可查看鏈接: http://ke..com/view/2899.html?wtp=tt
『玖』 FREEBSD的防火牆配置問題。高手進!!!
1、常識問題,FREEBSD是UNIX,不是LINUX
2、打開主機的161.162埠,這是SNMP協議使用的傳輸埠;或是在防火牆規則中寫入。
scokstat可以查看已打開埠
3、SNMPSET 是主機自己執行的,加allow udp from me to me 試
『拾』 如何通過get,getnext,set,trap幾種操作訪問mib對象的值
Snmputil是一個命令行下的軟體,使用語法如下: usage: snmputil get|getnext|walk] agent community oid [oid ...] snmputil trap
其中agent表示代理進程的IP地址,community表示團體名,oid表示MIB對象ID。
舉例說明:
1)查看本地計算機(IP地址為192.168.0.176)的系統信息
通過對系統組的MIB對象的查閱,我們知道系統信息所對應的MIB對象為.1.3.6.1.2.1.1.1(參看系統組對象),我們使用get參數來查詢:
C:>snmputil get 192.168.0.176 public .1.3.6.1.2.1.1.1.0 Variable = system.sysDescr.0
Value = String Hardware: x86 Family 15 Model 2 Stepping 7 AT/AT COMPATIBLE -
Software: Windows 2000 Version 5.1 (Build 2600 Uniprocessor Free)
其中public是192.168.0.3計算機上的團體名,.1.3.6.1.2.1.1.1.0是對象實例,注意對象ID前面要加一個點".",後面還要加一個"0"。如果不在對象ID末尾加上一個0,那麼用get參數查詢就會出錯。從查詢結果中我們能夠看出操作系統版本和CPU類型。
2)查詢計算機連續開機多長時間
C:>snmputil get 192.168.0.176 public .1.3.6.1.2.1.1.3.0
Variable = system.sysUpTime.0
Value = TimeTicks 447614
如果我們在對象ID後面不加0,使用getnext參數能得到同樣的效果:
C:>snmputil getnext 192.168.0.176 public .1.3.6.1.2.1.1.3
Variable = system.sysUpTime.0
Value = TimeTicks 476123
3)查詢計算機的聯系人
C:>snmputil get 192.168.0.176 public .1.3.6.1.2.1.1.4.0
Variable = system.sysContact.0
Value = String administrator
以上簡單介紹了用snmputil查詢代理進程的方法,由於在命令行下使用,可能大家感到頗為不方便,但命令行的一個好處就是可以促進大家主動查閱MIB對象,加深對SNMP網路管理的認識。
4)使用walk查詢設備上所有正在運行的進程:
C:>snmputil walk 192.168.0.176 public .1.3.6.1.2.1.25.4.2.1.2 Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.1 Value = String System Idle Process
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.4 Value = String System
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.292
- 1 -
snmputil使用方法
SWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.308 Value = String RavTimer.exe
Variable = host.hrSWRun.hrSWRunTable.hrSWRunEntry. hrSWRunName.336 Value = String RavMon.exe
限於篇幅筆者就不把所有進程列出來,大家可以在自己的計算機上面實驗,以加強感性認識。
5)查詢計算機上面的用戶列表
C:>snmputil walk 192.168.0.176 public .1.3.6.1.4.1.77.1.2.25.1.1
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server. svUserTable.svUserEntry.svUserName.4.117.115.101.114
Value = String user
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server. svUserTable.svUserEntry.svUserName.5.71.117.101.115.116
Value = String Guest
Variable = .iso.org.dod.internet.private.enterprises. lanmanager.lanmgr-2.server.svUserTable.svUserEntry. svUserName.13.65.100.109.105.110. 105.115.116.114.97.116.111.114
Value = String Administrator
從中我們可以得知該計算機共有三個用戶,它們分別為user、guest和administrator。
Snmputil還有一個trap的參數,主要用來陷阱捕捉,它可以接受代理進程上主動發來的信息。如果我們在命令行下面輸入snmputil trap後回車,然後用錯誤的團體名來訪問代理進程,這時候就能收到代理進程主動發回的報告。
在MIBII中總共有175個對象,每個對象均有其不同的含義,我們只有通過查閱MIB才能知道它們各自的作用。MIB對象是SNMP網路管理中的核心內容,只有深入了解MIB對象的含義我們才有可能知道如何去駕馭SNMP網路管理。