SNMPv3中USM/VACM的简介

USM负责鉴别、加密、解密SNMP报文,VACM负责管理MIB数据访问权限。

RFC 2574定义了USM。以前所有版本的SNMP协议都缺乏一个可靠的、一致支持的安全机
制。设计USM时,下述这些典型的安全问题必须得到解决:

1) 信息修改(数据完整性)

   确认数据在传输过程中没有被未授权的实体篡改。

2) 伪装(数据源验证)

   确认数据来自谁,来自哪里,防止未授权的实体伪装后要求对合法用户进行身份
   验证以窃取身份验证信息。

3) 信息泄漏(数据机密性)

   确保未授权的实体无法"有效"监听数据交换过程,交换的数据是经过加密的。

4) 消息流改变(消息时间序列化)

   确保数据按时按序到达,防止未授权的实体改变消息流的顺序

USM利用多用户的概念,要求每个用户均提供密钥进行身份验证、信息加密,最终使
得SNMPv3可以解决如上四种典型安全问题。它指定使用HMAC-MD5和HMAC-SHA进行身份
验证,指定使用CBC-DES进行信息加密。在提交RFC 2574(USM)时,这三种安全协议被
认为是(可接受的)安全的。同时,这个模型允许将来需要时使用新的验证、加密协议。

RFC 2575定义了VACM。VACM引入的概念相当复杂、混乱。SNMPv1和SNMPv2c采用community
string来划分MIB范围、确定访问权限等等。而VACM允许更加严谨的动态的访问控制
模型,易于管理员配置。

配置每个VACM表时应该特别小心。一点微小的错误配置可能导致一个巨大的安全漏洞,
比如潜在允许对敏感数据进行非法访问。应该先在一个测试用网络环境中测试你的配
置,确认无误后再应用到实际网络环境中去。

SNMPv3框架确保了安全子系统和访问控制子系统的模块化,虽然目前USM与VACM分别
被用做安全模块以及访问控制模块,但你可以实现自己的安全模块以及访问控制模块。
将来IETF可能会更新这些模块。无论如何,SNMPv3框架确保新旧模块之间可以平滑过
渡。

你可能感兴趣的:(snmp,USM,VACM)