發(fā)布時(shí)間:2015-10-7
RFC3415- SNMP VACM 中文版(1) 2007-09-29 10:20:31 Network Working Group B. Wijnen Request for Comments: 3415 Lucent Technologies STD: 62 R. Presuhn Obsoletes: 2575 BMC Software, Inc. Category: Standards Track K. McCloghrie Cisco Systems, Inc. December 2002
譯者:施磊 shilei_back06@yahoo.com.cn WEB: http://www.imfooder.com
基于視圖的訪(fǎng)問(wèn)控制安全模型 (VACM) 適用于簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議(SNMP)
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
抽象描述
此文檔描述了基于視圖的訪(fǎng)問(wèn)控制安全模型 (VACM) 適用于簡(jiǎn)單網(wǎng)絡(luò )管理協(xié)議 (SNMP) 的架構. 它定義了條件控制管理的基本執行過(guò)程. 此文檔同時(shí)包括了遠程管理基于視圖 的條件控制模塊配置參數的的管理信息庫. 此文檔廢棄了RFC 2575.
Wijnen, et al. Standards Track [Page 1[
RFC 3415 VACM for the SNMP December 2002
目錄
1. 概述 ................................................... 2 1.2. 條件控制 ............................................. 3 1.3. 本地配置存儲 ......................................... 3 2. 模型的元素 ............................................. 4 2.1. 多組 ................................................. 4 2.2. 安全級別 ............................................. 4 2.3. 上下文 ............................................... 4 2.4. MIB 的視圖和視圖管理 ................................. 5 2.4.1. 子樹(shù)的視圖 ......................................... 5 2.4.2. 視圖樹(shù)的集合 ....................................... 6 2.5. 條件控制機制 ......................................... 6 3. 基本過(guò)程元素 ........................................... 7 3.1. isAccessAllowed 過(guò)程的概述 ........................... 8 3.2. 執行isAccessAllowed 的服務(wù)請求 ....................... 9 4. 定義 ................................................... 11 5. 智慧財產(chǎn) ............................................... 28 6. 致謝.................................................... 28 7. 安全問(wèn)題的考慮 ......................................... 30 7.1. 實(shí)踐相關(guān) ............................................. 30 7.2. 定義組 ............................................... 30 7.3. 一致性 ............................................... 31 7.4. 訪(fǎng)問(wèn) SNMP-VIEW-BASED-ACM-MIB .......................... 31 8. 參考 ................................................... 31 A. 安裝 ................................................... 33 B. 修改記錄 ............................................... 36 作者地址 ................................................... 38 版權聲明 ................................................... 39
1. 概述
SNMP 引擎架構及Internet管理架構[RFC3411] 的描述由以下模塊組成: 1) 報文調度 2) 報文處理子系統, 3) 安全子系統, 和 4) 條件訪(fǎng)問(wèn)子系統.
應用程序系統應調研上述子系統的服務(wù)接口.
理解SNMP的架構和他的專(zhuān)業(yè)術(shù)語(yǔ)是非常重要的, 可以有助于將條件訪(fǎng)問(wèn)控制安全模塊 設計融入SNMP的架構中, 同時(shí)與其他子系統可以順利鏈接. 此文檔的讀者需要理解 RFC3411中描述的SNMP架構和專(zhuān)業(yè)術(shù)語(yǔ)。
Wijnen, et al. Standards Track [Page 2[
RFC 3415 VACM for the SNMP December 2002
SNMP引擎的條件訪(fǎng)問(wèn)控制子系統有責任檢驗是否授予特定對象的讀,寫(xiě),通知的訪(fǎng)問(wèn) 權限。
此文檔的目的是定義一個(gè)特定的訪(fǎng)問(wèn)控制子系統模型,即基于視圖的訪(fǎng)問(wèn)控制子系統模型。 當然需要指明的是這并不是唯一的訪(fǎng)問(wèn)控制子系統模型。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119.
1.2. 訪(fǎng)問(wèn)控制
當執行從SNMP實(shí)體中讀取或修改的請求操作時(shí),訪(fǎng)問(wèn)控制將在SNMP實(shí)體中 (粗略或精確地)運行。舉個(gè)例子,當命令接收程序接收到指令時(shí)將執行 訪(fǎng)問(wèn)控制子模塊。RFC3411定義了指令請求包含了讀和寫(xiě)的報文格式(PDU)。
當SNMP的通報報文產(chǎn)生時(shí),SNMP實(shí)體也將執行訪(fǎng)問(wèn)控制(在產(chǎn)生通報報文的程序中). RFC3411定義了通報報文的格式.
基于視圖的訪(fǎng)問(wèn)控制模型定義了一組服務(wù)接口, 應用程序(指令產(chǎn)生器和通報報文發(fā)生器) 將調用這些接口檢測訪(fǎng)問(wèn)權限. 應用程序應調用正確的服務(wù)接口達到實(shí)現訪(fǎng)問(wèn)控制的實(shí)施.
1.3. 本地配置存儲 Local Configuration Datastore
為了實(shí)現此文檔中描述的安全模型, 一個(gè)SNMP實(shí)體應保存一定的信息,包括訪(fǎng)問(wèn)權限和 機制。這些信息包含在本地配置存儲(LCD)中。 RFC中可以找到相關(guān)定義。
為了能夠實(shí)現遠程配置SNMP實(shí)體的LCD, LCD需包含能夠訪(fǎng)問(wèn)的管理對象。這些對象定義了 管理對象的類(lèi)型,此文檔給出了 View-based Access Control Model Configuration MIB。
Wijnen, et al. Standards Track [Page 3[
RFC 3415 VACM for the SNMP December 2002
2. 模型的元素
這一章節給出了基于視圖的訪(fǎng)問(wèn)控制模型中實(shí)現的訪(fǎng)問(wèn)控制接口的各項定義.
2.1. 組
組定義了SNMP管理對象的訪(fǎng)問(wèn)方式, 它由(<安全模型, 安全名字>) 組成, 或是空值. 組里包含了基于securityName的相關(guān)權限. securityModel 和securityName 的組合構成了組的概念, 組有唯一的標識groupName.
訪(fǎng)問(wèn)控制模型中, securityName 可以作為認證過(guò)的元素使用, 不需要額外的認證.
基于視圖的訪(fǎng)問(wèn)控制模型將securityModel和securityName作為輸入, 進(jìn)行驗證. 訪(fǎng)問(wèn)控制模型決定了groupName是securityModel和securityName的參量.
2.2. 安全級別 securityLevel
組中的成員將被賦予不同的訪(fǎng)問(wèn)權限,也就是設定安全等級,包括noAuthNoPriv, authNoPriv和 authPriv。 安全級別將被應用在檢測訪(fǎng)問(wèn)控制權限過(guò)程中。參見(jiàn)RFC3411中的有關(guān)securityLevel 的定義。
基于視圖的訪(fǎng)問(wèn)控制在檢測訪(fǎng)問(wèn)權限時(shí),需要將securityLevel作為訪(fǎng)問(wèn)控制模塊的輸入。
2.3. 上下文 Contexts
SNMP的上下文是指在一個(gè)SNMP實(shí)體中存儲的管理信息。一條管理信息可以存儲在多個(gè) SNMP上下文中。 一個(gè)SNMP實(shí)體可以擁有多個(gè)上下文。詳細描述可以參見(jiàn)RFC3411。
基于視圖的訪(fǎng)問(wèn)控制定義了vacmContextTable,其中列出了與contextName相關(guān)的 本地的上下文。
Wijnen, et al. Standards Track [Page 4[
RFC 3415 VACM for the SNMP December 2002
2.4. MIB 視圖和視圖組
基于安區因素的考慮,在管理層的實(shí)施中,只授予部分組的非全部的訪(fǎng)問(wèn)權限。 為了實(shí)現這一功能,可以通過(guò)"MIB view"察看一個(gè)SNMP上下文, "MIB view"制定了 管理對象(有可能是實(shí)例化后對象)的類(lèi)型。例如,在一個(gè)上下文中,通常有一 個(gè)MIB view, 它提供了訪(fǎng)問(wèn)控制的管理信息.此外,還有其他的"MIB view",它們 只包含這些管理信息的一部分.因此,授予組的訪(fǎng)問(wèn)權限可以通過(guò)設定其組的 "MIB view"實(shí)現其需要的上下文.
由于管理對象(及其實(shí)例)的類(lèi)型是通過(guò)ISO's OBJECT IDENTIFIERs [ISO- ASN.1, RFC2578]的樹(shù)型命名結構描述的,所以能夠非常方便地用子視圖組成 視圖.因此,一個(gè)簡(jiǎn)單的MIB視圖(例如所有的Internet Network Management Framework 管理對象)可以定義成為一個(gè)視圖子樹(shù).而多個(gè)視圖子樹(shù)可以組成復雜的視圖.
當管理對象通過(guò)視圖子樹(shù)的形式描述時(shí),具備復雜格式的視圖便由此產(chǎn)生. 同一概念的行中的列值可以出現在不同的視圖子樹(shù)中,他們的格式也十分相似. 當格式相同時(shí),他們能夠很容易的組合成表示同一概念的結構中.這種結構可以看成 視圖子樹(shù)的概念組合.一個(gè)視圖子樹(shù)的概念組合可以包含于或不包含于一個(gè) 視圖中.
2.4.1. 視圖子樹(shù)
視圖子樹(shù)由MIB對象構成, 這些MIB是由ASN.1的描述語(yǔ)言表現的。視圖子樹(shù) 的識別符為OBJECT IDENTIFIER,它是視圖子樹(shù)的前綴描述符。
Wijnen, et al. Standards Track [Page 5[
RFC 3415 VACM for the SNMP December 2002
2.4.2. 視圖樹(shù)組合
視圖樹(shù)組合是由一對對對象描述符(叫視圖樹(shù)組合名)組合而成。視圖樹(shù)組合掩碼指定 了子視圖樹(shù)組合名與視圖樹(shù)組合的關(guān)聯(lián)關(guān)系。
每一個(gè)管理對象的實(shí)例,當滿(mǎn)足下列條件時(shí),它才能成為視圖樹(shù)組合(ViewTreeFamily):
- 管理對象的標識符(OBJECT IDENTIFIER name)包含子視圖樹(shù)組合名或視圖樹(shù)組合名
- 管理對象的標識符(OBJECT IDENTIFIER name)的子標識符與視圖樹(shù)組合名相匹配,如果 相關(guān)的視圖樹(shù)組合名的掩碼不為空時(shí)。
當設定的視圖樹(shù)組合名掩碼都為1時(shí),視圖子樹(shù)組合名與視圖樹(shù)組合名的子樹(shù)相吻合。
在上面的檢驗過(guò)程中,當設定的視圖樹(shù)組合名掩碼的長(cháng)度小于所需長(cháng)度是,將全部補1。 同樣的,視圖子樹(shù)組合的掩碼為0時(shí),它就指向單一的視圖子樹(shù)。
2.5. 訪(fǎng)問(wèn)機制
基于視圖的訪(fǎng)問(wèn)控制模型決定了組的訪(fǎng)問(wèn)權限,組中即可能是空值或多個(gè)安全名 (securityNames). 在一個(gè)上下文(用contextName命名)中,通過(guò)設定讀視圖,寫(xiě)視圖和 通報視圖, securityModel和securityLevel, 組(groupName表示組名)被授予訪(fǎng)問(wèn)權限. ew.
讀視圖給出了允許組進(jìn)行讀的對象實(shí)例. 讀的對象的運行發(fā)生在讀的過(guò)程中 (當讀的報文被處理時(shí))
寫(xiě)視圖給出了允許組進(jìn)行寫(xiě)的對象實(shí)例. 寫(xiě)的對象的運行發(fā)生在寫(xiě)的過(guò)程中 (當寫(xiě)的報文被處理時(shí))
通報視圖給出了允許組進(jìn)行通報的對象實(shí)例. 通報視圖發(fā)生在通報的過(guò)程中. (當通報報文被處理時(shí))
Wijnen, et al. Standards Track [Page 6[
RFC 3415 VACM for the SNMP December 2002
3. 過(guò)程的基本元素
此章節描述了應用程序(命令產(chǎn)生器和通報產(chǎn)生器)中, 基于視圖的訪(fǎng)問(wèn)控制模塊 中, 訪(fǎng)問(wèn)權限檢測的過(guò)程. 基本的服務(wù)元素為:
statusInformation = -- success or error Indication isAccessAllowed( securityModel -- Security Model in use securityName -- principal who wants access securityLevel -- Level of Security viewType -- read, write, or notify view contextName -- context containing variableName variableName -- OID for the managed object )
基本信息元素為:
statusInformation - 值為下面中的一種: accessAllowed - 查找到MIB視圖, 訪(fǎng)問(wèn)權限已經(jīng)授予. notInView - 查找到MIB視圖, 訪(fǎng)問(wèn)權限未授予. 與viewType相關(guān)的variableName 不在MIB視圖中 (即, 不在vacmAccessTable中) noSuchView - 未查找到MIB視圖, 沒(méi)有與viewType相關(guān)的設定 (不在vacmAccessTable中). noSuchContext - 未查找到MIB視圖, 沒(méi)有與contextName相關(guān)的設定. noGroupName - 未查找到MIB視圖, 在vacmSecurityToGroupTable沒(méi)有 securityModel和securityName相關(guān)的組合. noAccessEntry - 未查找到MIB視圖, 在vacmSecurityToGroupTable沒(méi)有 securityModel,securityName,securityModel和securityLevel 相關(guān)的組合.
otherError - 其它錯誤. securityModel - 需要安全模型. securityName - 需要用戶(hù)的訪(fǎng)問(wèn)機制. securityLevel - 需要安全級別. viewType - 需要檢驗試圖 (讀,寫(xiě),和通報). contextName - 需要訪(fǎng)問(wèn)控制上下文. variableName - 需要訪(fǎng)問(wèn)控制的對象實(shí)體.
Wijnen, et al. Standards Track [Page 7[
RFC 3415 VACM for the SNMP December 2002
3.1. isAccessAllowed 過(guò)程描述
下圖顯示了訪(fǎng)問(wèn)控制模型中訪(fǎng)問(wèn)控制檢測的過(guò)程。
+--------------------------------------------------------------------+ | | | +-> securityModel -+ | | | (a) | | | who -+ +-> groupName ----+ | | (1) | | (x) | | | +-> securityName --+ | | | (b) | | | | | | where -> contextName ---------------------+ | | (2) (e) | | | | | | | | | +-> securityModel -------------------+ | | | (a) | | | how -+ +-> viewName -+ | | (3) | | (y) | | | +-> securityLevel -------------------+ | | | (c) | +-> yes/no | | | | decision | | why ---> viewType (read/write/notify) ----+ | (z) | | (4) (d) | | | | | | what --> object-type ------+ | | | (5) (m) | | | | +-> variableName (OID) ------+ | | | (f) | | which -> object-instance --+ | | (6) (n) | | | +--------------------------------------------------------------------+
Wijnen, et al. Standards Track [Page 8[
RFC 3415 VACM for the SNMP December 2002
訪(fǎng)問(wèn)控制檢測過(guò)程如下.
1) isAccessAllowed 服務(wù)接口的輸入為:
(a) securityModel -- 安區模型 (b) securityName -- 訪(fǎng)問(wèn)主體 (c) securityLevel -- 安全級別 (d) viewType -- 讀,寫(xiě),和通報視圖 (e) contextName -- variableName變量名的上下文 (f) variableName -- 管理對象的OID -- this is made up of: - object-type (m) - object-instance (n)
2) "who" (1), 其識別符由securityModel (a) and the securityName (b)構成, 作為它的索引值(a,b),從 vacmSecurityToGroupTable 找出他的對應值group, 由groupName (x)表示.
3) "where" (2), 由contextName (e)表示, 結合"who"(上一步的groupName(x)), 連同"how" (3)(由securityModel (a) and securityLevel (c)表示),組成 (e,x,a,c), 從vacmAccessTable找出對應的三個(gè)視圖.
4) "why" (4), 由viewType(d)表示, 用于選擇正確的MIB視圖(標識為viewName (y)), 在上一步中從vacmAccessEntry找出. viewName (y)是vacmViewTreeFamilyTable的 索引值, 然后選擇MIB視圖中包含或不包含的variableNames (由viewName (y)表示).
5) "what" (5) 表示管理的對象 和 "which" (6) 對象實(shí)例, 由variableName (f)表示, 最后由MIB試圖表中的檢驗結果決定最終得yes/no決定 (z).
3.2. isAccessAllowed 服務(wù)請求的處理
此章節描述了訪(fǎng)問(wèn)控制模型接受到檢測請求的處理過(guò)程.
1) 通過(guò)關(guān)鍵字contextName查閱vacmContextTable,可以得到SNMP上下文的信息. 當SNMP上下文的信息不在此表中時(shí),將返回錯誤指示(noSuchContext).
Wijnen, et al. Standards Track [Page 9[
RFC 3415 VACM for the SNMP December 2002
2) vacmSecurityToGroupTable的查詢(xún)發(fā)生在將securityModel和securityName 映射成groupName的時(shí)候. 如果沒(méi)有找到,將返回錯誤指示(noGroupName).
3) vacmAccessTable的查詢(xún)發(fā)生在查找groupName, contextName, securityModel 和securityLevel信息時(shí). 如果沒(méi)有找到,將返回錯誤指示(noAccessEntry).
4) a) 如果viewType為"read", 讀視圖被用于訪(fǎng)問(wèn)權限的檢測。
b) 如果viewType為"write", 寫(xiě)視圖被用于訪(fǎng)問(wèn)權限的檢測。
c) 如果viewType為"notify", 通報視圖被用于訪(fǎng)問(wèn)權限的檢測.
當空視圖(viewName長(cháng)度為0)時(shí),將返回錯誤指示(noSuchView).
5) a) 當viewType的視圖設定值為空時(shí), 將返回錯誤指示(noSuchView) .
b) 當 variableName (對象實(shí)例)不在MIB視圖中(見(jiàn)第四章中有關(guān)vacmViewTreeFamilyTable 的描述), 將返回錯誤指示(notInView).
此外,
c) 當variableName存在于MIB視圖中時(shí), 將返回訪(fǎng)問(wèn)許可(accessAllowed).
Wijnen, et al. Standards Track [Page 10[
RFC 3415 VACM for the SNMP December 2002
4. 定義
SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
IMPORTS MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF MODULE-IDENTITY, OBJECT-TYPE, snmpModules FROM SNMPv2-SMI TestAndIncr, RowStatus, StorageType FROM SNMPv2-TC SnmpAdminString, SnmpSecurityLevel, SnmpSecurityModel FROM SNMP-FRAMEWORK-MIB;
snmpVacmMIB MODULE-IDENTITY LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight ORGANIZATION "SNMPv3 Working Group" CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com Subscribe: majordomo@lists.tislabs.com In message body: subscribe snmpv3
Co-Chair: Russ Mundy Network Associates Laboratories postal: 15204 Omega Drive, Suite 300 Rockville, MD 20850-4601 USA email: mundy@tislabs.com |