RFC3415- SNMP VACM 中文版(1) SNMPv3 中文版

今天被问到是否写过博客, 恍然想到两年前在Yahoo空间写过一些技术文档, 没想到Yahoo空间悄然离去,连个招呼都没打,自己的一些精彩文章和技术日志也就从此与世隔绝, 很是郁闷.

回到家中, 突发奇想地决定上网搜搜, 没想到竟有几位勇士已将我的博文转载,而且保留了作者姓名, 高兴之余在此表示万分感激.

下面是RFC3415- SNMP VACM 中文版(1) 的译文, 只可惜(2)的部分没有搜到, 恳请下载过的朋友回赠与我, 我将不胜感激.

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.crosslayer.cn


基于视图的访问控制安全模型 (VACM) 适用于简单网络管理协议(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.

抽象描述

此文档描述了基于视图的访问控制安全模型 (VACM) 适用于简单网络管理协议 (SNMP)
的架构. 它定义了条件控制管理的基本执行过程. 此文档同时包括了远程管理基于视图
的条件控制模块配置参数的的管理信息库. 此文档废弃了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. 子树的视图 ......................................... 5
2.4.2. 视图树的集合 ....................................... 6
2.5. 条件控制机制 ......................................... 6
3. 基本过程元素 ........................................... 7
3.1. isAccessAllowed 过程的概述 ........................... 8
3.2. 执行isAccessAllowed 的服务请求 ....................... 9
4. 定义 ................................................... 11
5. 智慧财产 ............................................... 28
6. 致谢.................................................... 28
7. 安全问题的考虑 ......................................... 30
7.1. 实践相关 ............................................. 30
7.2. 定义组 ............................................... 30
7.3. 一致性 ............................................... 31
7.4. 访问 SNMP-VIEW-BASED-ACM-MIB .......................... 31
8. 参考 ................................................... 31
A. 安装 ................................................... 33
B. 修改记录 ............................................... 36
作者地址 ................................................... 38
版权声明 ................................................... 39


1. 概述

SNMP 引擎架构及Internet管理架构[RFC3411] 的描述由以下模块组成:
1) 报文调度
2) 报文处理子系统,
3) 安全子系统, 和
4) 条件访问子系统.

应用程序系统应调研上述子系统的服务借口.

理解SNMP的架构和他的专业术语是非常重要的, 可以有助于将条件访问控制安全模块
设计融入SNMP的架构中, 同时与其他子系统可以顺利链接. 此文档的读者需要理解
RFC3411中描述的SNMP架构和专业术语。


Wijnen, et al. Standards Track [Page 2[

RFC 3415 VACM for the SNMP December 2002


SNMP引擎的条件访问控制子系统有责任检验是否授予特定对象的读,写,通知的访问
权限。

此文档的目的是定义一个特定的访问控制子系统模型,即基于视图的访问控制子系统模型。
当然需要指明的是这并不是唯一的访问控制子系统模型。

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. 访问控制

当执行从SNMP实体中读取或修改的请求操作时,访问控制将在SNMP实体中
(粗略或精确地)运行。举个例子,当命令接收程序接收到指令时将执行
访问控制子模块。RFC3411定义了指令请求包含了读和写的报文格式(PDU)。

当SNMP的通报报文产生时,SNMP实体也将执行访问控制(在产生通报报文的程序中).
RFC3411定义了通报报文的格式.

基于视图的访问控制模型定义了一组服务借口, 应用程序(指令产生器和通报报文发生器)
将调用这些接口检测访问权限. 应用程序应调用正确的服务接口达到实现访问控制的实施.


1.3. 本地配置存储 Local Configuration Datastore

为了实现此文档中描述的安全模型, 一个SNMP实体应保存一定的信息,包括访问权限和
机制。这些信息包含在本地配置存储(LCD)中。 RFC中可以找到相关定义。

为了能够实现远程配置SNMP实体的LCD, LCD需包含能够访问的管理对象。这些对象定义了
管理对象的类型,此文档给出了 View-based Access Control Model Configuration MIB。


Wijnen, et al. Standards Track [Page 3[

RFC 3415 VACM for the SNMP December 2002


2. 模型的元素

这一章节给出了基于视图的访问控制模型中实现的访问控制接口的各项定义.

2.1. 组

组定义了SNMP管理对象的访问方式, 它由(<安全模型, 安全名字>)
组成, 或是空值. 组里包含了基于securityName的相关权限. securityModel 和securityName
的组合构成了组的概念, 组有唯一的标识groupName.


访问控制模型中, securityName 可以作为认证过的元素使用, 不需要额外的认证.

基于视图的访问控制模型将securityModel和securityName作为输入, 进行验证.
访问控制模型决定了groupName是securityModel和securityName的参量.

2.2. 安全级别 securityLevel

组中的成员将被赋予不同的访问权限,也就是设定安全等级,包括noAuthNoPriv, authNoPriv和
authPriv。 安全级别将被应用在检测访问控制权限过程中。参见RFC3411中的有关securityLevel
的定义。

基于视图的访问控制在检测访问权限时,需要将securityLevel作为访问控制模块的输入。

2.3. 上下文 Contexts

SNMP的上下文是指在一个SNMP实体中存储的管理信息。一条管理信息可以存储在多个
SNMP上下文中。 一个SNMP实体可以拥有多个上下文。详细描述可以参见RFC3411。

基于视图的访问控制定义了vacmContextTable,其中列出了与contextName相关的
本地的上下文。


Wijnen, et al. Standards Track [Page 4[

RFC 3415 VACM for the SNMP December 2002


2.4. MIB 视图和视图组

基于安区因素的考虑,在管理层的实施中,只授予部分组的非全部的访问权限。
为了实现这一功能,可以通过"MIB view"察看一个SNMP上下文, "MIB view"制定了
管理对象(有可能是实例化后对象)的类型。例如,在一个上下文中,通常有一
个MIB view, 它提供了访问控制的管理信息.此外,还有其他的"MIB view",它们
只包含这些管理信息的一部分.因此,授予组的访问权限可以通过设定其组的
"MIB view"实现其需要的上下文.

由于管理对象(及其实例)的类型是通过ISO's OBJECT IDENTIFIERs [ISO-
ASN.1, RFC2578]的树型命名结构描述的,所以能够非常方便地用子视图组成
视图.因此,一个简单的MIB视图(例如所有的Internet Network Management Framework
管理对象)可以定义成为一个视图子树.而多个视图子树可以组成复杂的视图.

当管理对象通过视图子树的形式描述时,具备复杂格式的视图便由此产生.
同一概念的行中的列值可以出现在不同的视图子树中,他们的格式也十分相似.
当格式相同时,他们能够很容易的组合成表示同一概念的结构中.这种结构可以看成
视图子树的概念组合.一个视图子树的概念组合可以包含于或不包含于一个
视图中.


2.4.1. 视图子树

视图子树由MIB对象构成, 这些MIB是由ASN.1的描述语言表现的。视图子树
的识别符为OBJECT IDENTIFIER,它是视图子树的前缀描述符。


Wijnen, et al. Standards Track [Page 5[

RFC 3415 VACM for the SNMP December 2002


2.4.2. 视图树组合

视图树组合是由一对对对象描述符(叫视图树组合名)组合而成。视图树组合掩码指定
了子视图树组合名与视图树组合的关联关系。

每一个管理对象的实例,当满足下列条件时,它才能成为视图树组合(ViewTreeFamily):

- 管理对象的标识符(OBJECT IDENTIFIER name)包含子视图树组合名或视图树组合名

- 管理对象的标识符(OBJECT IDENTIFIER name)的子标识符与视图树组合名相匹配,如果
相关的视图树组合名的掩码不为空时。

当设定的视图树组合名掩码都为1时,视图子树组合名与视图树组合名的子树相吻合。

在上面的检验过程中,当设定的视图树组合名掩码的长度小于所需长度是,将全部补1。
同样的,视图子树组合的掩码为0时,它就指向单一的视图子树。

2.5. 访问机制

基于视图的访问控制模型决定了组的访问权限,组中即可能是空值或多个安全名
(securityNames). 在一个上下文(用contextName命名)中,通过设定读视图,写视图和
通报视图, securityModel和securityLevel, 组(groupName表示组名)被授予访问权限. ew.

读视图给出了允许组进行读的对象实例. 读的对象的运行发生在读的过程中
(当读的报文被处理时)

写视图给出了允许组进行写的对象实例. 写的对象的运行发生在写的过程中
(当写的报文被处理时)

通报视图给出了允许组进行通报的对象实例. 通报视图发生在通报的过程中.
(当通报报文被处理时)


Wijnen, et al. Standards Track [Page 6[

RFC 3415 VACM for the SNMP December 2002

3. 过程的基本元素

此章节描述了应用程序(命令产生器和通报产生器)中, 基于视图的访问控制模块
中, 访问权限检测的过程.
基本的服务元素为:


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视图, 访问权限已经授予.
notInView - 查找到MIB视图, 访问权限未授予.
与viewType相关的variableName 不在MIB视图中
(即, 不在vacmAccessTable中)
noSuchView - 未查找到MIB视图, 没有与viewType相关的设定
(不在vacmAccessTable中).
noSuchContext - 未查找到MIB视图, 没有与contextName相关的设定.
noGroupName - 未查找到MIB视图, 在vacmSecurityToGroupTable没有
securityModel和securityName相关的组合.
noAccessEntry - 未查找到MIB视图, 在vacmSecurityToGroupTable没有
securityModel,securityName,securityModel和securityLevel
相关的组合.

otherError - 其它错误.
securityModel - 需要安全模型.
securityName - 需要用户的访问机制.
securityLevel - 需要安全级别.
viewType - 需要检验试图 (读,写,和通报).
contextName - 需要访问控制上下文.
variableName - 需要访问控制的对象实体.


Wijnen, et al. Standards Track [Page 7[

RFC 3415 VACM for the SNMP December 2002


3.1. isAccessAllowed 过程描述

下图显示了访问控制模型中访问控制检测的过程。

+--------------------------------------------------------------------+
| |
| +-> 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


访问控制检测过程如下.

1) isAccessAllowed 服务接口的输入为:

(a) securityModel -- 安区模型
(b) securityName -- 访问主体
(c) securityLevel -- 安全级别
(d) viewType -- 读,写,和通报视图
(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找出对应的三个视图.

4) "why" (4), 由viewType(d)表示, 用于选择正确的MIB视图(标识为viewName (y)),
在上一步中从vacmAccessEntry找出. viewName (y)是vacmViewTreeFamilyTable的
索引值, 然后选择MIB视图中包含或不包含的variableNames (由viewName (y)表示).

5) "what" (5) 表示管理的对象 和 "which" (6) 对象实例, 由variableName (f)表示,
最后由MIB试图表中的检验结果决定最终得yes/no决定 (z).

3.2. isAccessAllowed 服务请求的处理

此章节描述了访问控制模型接受到检测请求的处理过程.

1) 通过关键字contextName查阅vacmContextTable,可以得到SNMP上下文的信息.
当SNMP上下文的信息不在此表中时,将返回错误指示(noSuchContext).


Wijnen, et al. Standards Track [Page 9[

RFC 3415 VACM for the SNMP December 2002


2) vacmSecurityToGroupTable的查询发生在将securityModel和securityName
映射成groupName的时候. 如果没有找到,将返回错误指示(noGroupName).

3) vacmAccessTable的查询发生在查找groupName, contextName, securityModel
和securityLevel信息时. 如果没有找到,将返回错误指示(noAccessEntry).

4) a) 如果viewType为"read", 读视图被用于访问权限的检测。

b) 如果viewType为"write", 写视图被用于访问权限的检测。

c) 如果viewType为"notify", 通报视图被用于访问权限的检测.

当空视图(viewName长度为0)时,将返回错误指示(noSuchView).

5) a) 当viewType的视图设定值为空时, 将返回错误指示(noSuchView) .

b) 当 variableName (对象实例)不在MIB视图中(见第四章中有关vacmViewTreeFamilyTable
的描述), 将返回错误指示(notInView).

此外,

c) 当variableName存在于MIB视图中时, 将返回访问许可(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
VACM 详解:SNMPv3 的访问控制核心 VACM(View-Based Access Control Model)是 SNMPv3 的基于视图的访问控制模型,用于精细化管理 SNMP 访问权限。它的核心作用是在 SNMP 代理端实现: 阅读详情

相关推荐

SNMPv3基于视图的访问控制模型VACM

SNMPv3使用了基于视图的访问控制模型VACM, 它提供对MIB的访问控制。 - RFC 3411 Architecture for SNMP Frameworks http://www.ietf.org/rfc/rfc3411.txt - RFC 3415 View Access Control Model (VACM)  http://www.ietf.org/rfc/rfc34

NowOrNever 9048

VACM-开源

VA-Cluster Manager是大型服务器监视和管理工具。 VACM提供了用于添加新协议和监视技术的模块化体系结构,具有极强的可扩展性。

SNMPv3原理-SNMPv3协议框架

1、SNMPv3的体系结构 SNMPv3定义了新的体系结构,并在其中包含了对SNMPv1和SNMPv2c的兼容,即这个新的体系结构也适用于SNMPv1及SNMPv2c,弥补了SNMP没有完整体系结构的缺点。 在SNMPv3中,管理进程与代理统称为SNMP实体(entity)。SNMP实体由SNMP协议引擎(engine)和应用程序(application)组成。SNMP实体包含一系列模块,

北极传说的专栏 1万+

VACM基础

View Access Control Model 是 Net-SNMP 提供的更复杂的配置选项之一。

HHFQ的博客 996

SNMPv3代理完整VC工程包:基于Agent++实现启动计数与GUI管理

提供一套开箱即用的SNMPv3代理源码工程,基于成熟开源库Agent++构建,完整支持SNMPv3的认证、加密与用户管理机制。核心功能包括设备启动次数统计(snmpv3_boot_counter),可通过SNMP GET/SET操作读取和重置计数器值。工程原生兼容Visual C++ 6.0和2005双版本,含完整项目文件(.dsw/.vcproj/.sln)、调试配置(.ncb/.suo)及跨平台适配脚本(Makefile.hpux11、Makefile.aix5、Makefile.bcc)。功能模块覆盖

h6i7j8的博客 207

rfc3411-3419

rfc3411-3419,简单网管协议,英文很不错的。

SNMP学习 SNMPv3中的USM和VACM

USM负责鉴别、加密、解密SNMP报文,VACM负责管理MIB数据访问权限。RFC 2574定义了USM。以前所有版本的SNMP协议都缺乏一个可靠的、一致支持的安全机制。设计USM时,下述这些典型的安全问题必须得到解决:1) 信息修改(数据完整性)   确认数据在传输过程中没有被未授权的实体篡改。2) 伪装(数据源验证)   确认数据来自谁,来自哪里,防止未授权的实体伪装后要求对合法用户进行身份 

net51hot的专栏 2595

SNMP++中文文档

snmp++开源库的中文开发文档,给需要使用snmp协议进行网络管理程序开发的同胞们。

SNMPv3-原理浅谈+报文示例+简易配置

SNMPv3-原理浅谈+报文示例+简易配置-RFC3411/RFC3412/RFC3413/RFC3414/RFC3415

fengxingzhe008的博客 9441

SNMP相关RFC文档

整理的和SNMP相关的RFC文档,包括SNMP框架、SMI、USM、VACM、MIB等的说明。

RFC3413(SNMP应用)的中文版

个人翻译的RFC3413,请多指教! RFC3413内容为SNMP应用程序,是RFC2273,RFC2573的修正版,方便网管软件的开发使用。

VacmMIB

VACM 基于视图的访问控制模型 是SNMPV3对MIB中被管对象的访问进行控制的模型 特点: 1.VACM 确定是否允许用户访问本地MIB的被管理对象。当用户请求消息到达代理的命令响应器时,命令响应器首先调用VACM,判断是否可以执行用户请求的访问操作;同理,当MIB对象异常,想通过Trip发出警告时,也先调用VACM 判断是否允许发出 2.管理员可以通过设置VACM MIB中对象的值...

weixin_30706691的博客 221

网络编程SNMPV3读取工具

网络编程SNMPV3读取工具

snmp

SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNM...

weixin_30750335的博客 200

Qwen3.5在昇腾NPU上部署:vLLM-Ascend全链路实战

大语言模型推理框架(如vLLM)通过PagedAttention等内存调度机制,显著提升显存利用率与吞吐性能;国产AI芯片(如昇腾NPU)需配套专用算子优化与硬件感知调度才能释放真实算力。本文聚焦Qwen3.5大语言模型在昇腾平台的端到端部署,深入解析vLLM-Ascend如何协同CANN工具链、适配RoPE位置编码与Tokenizer映射、调优block_size与kv_cache_dtype等关键参数,实现单卡42 tokens/s高吞吐与112ms低延迟。内容覆盖环境验证、源码编译、模型权重转换、服务

weixin_34335458的博客 280

【unity】Google 登录和Google支付接入unity

google 支付 google 登录

云渊寒烬 8497
下一篇: ViewExpiredException发生时,如何恢复View视图
WebNMS
博客等级 码龄18年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值