RE: [Isms] Why SNMPv3? [WG Review: Integrated Security Model for SNMP (isms)]

"David B Harrington" <[email protected]> Wed, 22 Sep 2004 11:49:36 -0400
Newsgroups gmane.ietf.snmpv3
Message-ID <[email protected]>
Hi,

As Wes point sout, SNMPv3 provides security enhancements, but I think
we need to be more specific. 

1) SNMPv3 provides an application-level authentication of the security
principal. 

I could just run SNMPv1 over IPSec and have "security". But as Jeff
Schiller's Sunday Security presentation points out, "just use IPSec"
isn't good enough as an answer. One needs to understand how SNMP has
bindings to any underlying security mechanisms. That fact is, there
are no bindings to an SNMP application (agent/manager) because, at
this point, an underlying IPSec, SSH, TLS, VPN, or whatever does not
identify an authenticated application-layer security principal that
SNMP can use to apply access control. 

2) SNMPv3 USM provides robust authentication of a security principal.

Do operators want user-level access control? They have user-level
authentication in SSH to control access to the CLI. Most web-based
device configuration tools require some sort of user-based
authentication to control who has access. So it appears that
user-level authentication is desired to control who is granted access
to the management interface. But the CLI, web-based mgmt, and
SNMP-based mgmt all control the same underlying instrumentation. If
SNMP (or CLI or web-based or Netconf or ....) doesn't provide a
comparable level of authentication for access, then an attacker can
simply select the management interface with the weakest security to
gain access to the underlying instrumentation. The security of the
different interfaces need to be balanced. Ideally, they might share a
common authentication mechanism.

SNMPv1 and SNMPv2 do not provide this beyond the trivial
authentication provided by community strings, and since these ar
epassed in cleartext, they really provide no security. SNMPv3 USM
provides robust authentication of a security principal.

I deliberately say security principal rather than user because many
organizations configure their devices to permit a trusted application
to have access. For example, Spectrum has a user login to the
application, and Spectrum is a USM security princiapl in many devices.
The manager application aggregates the requests of many users. For
another example, many applications actually don't support SNMPv3; they
use local SNMPv1 or IPC to talk to a daemon that converts the request
into the secure SNMPv3 format, and the daemon is a security principal
at the managed device. I raise this only because in these cases,
operators apparently do NOT care if the operator is authenticated. If
the CLI,web,Netconf interfaces provided manager-level authentication,
and the manager interface aggregated services for authenticated users,
then all the interfaces could be balanced. I don't know whether this
is adeqaute for all operators, but it apparently is adequate for some.

3) SNMPv3 provides access control over the principal's data-level
authorization

SNMPv3 provides per-principal control over what operations can be
performed, to which datasets (contexts or communities), to which mib
modules within the data set, and to which subtrees of the dataset (all
the way down to the object level if desired). SNMPv1 and SNMPv2 cannot
provide this because they cannot provide authentication of the
principal, and without an authenticated principal, the additional
controls make no sense.

Do operators want user-level access control to different portions of
the management data? We were told by the operators, especially Mike
O'Dell, that it was critically important functionality. Mike O'Dell
told us UUNET would refuse to buy products that did not have this
functionality.

CLIs and web-based mgmt tools often provide per-user task-based
authorization functionality for those management interfaces. For
applications that are confiured as an SNMPv3 security principal, the
manager typically provides thi slevel of access control within the
application, because customers demand this type of per-user access
control to datasets/modules/objects, etc.

Do operators want this functionality or not? I suspect different
operators have different levels of authroization (and user
aggregation) they find useful, which depends on the companies they
work for and the environment in which they operate.

SNMPv3 can provide this functionaity; SNMPv1 and SNMPv3 do not. If
SNMP doesn't provide this, while the CLI and web-based interfaces do,
then the security of the management infrastructure is weakened across
the board.

--
Those are the major features provided by SNMPv3 that are not provided
by SNMPv1 and SNMPv2. 

It is important that these features be present in SNMP to provide
balanced security with the other common management interfaces.

David Harrington
[email protected]
co-chair SNMPv3 WG, concluded


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Wes Hardaker
Sent: Wednesday, September 22, 2004 9:57 AM
To: Pekka Savola
Cc: [email protected]; [email protected]
Subject: Re: [Isms] Why SNMPv3? [WG Review: Integrated Security Model
for SNMP (isms)]

>>>>> On Tue, 21 Sep 2004 16:16:25 +0300 (EEST), Pekka Savola
<[email protected]> said:

Pekka> What benefits does SNMPv3 offer to us, compared to our use of
Pekka> SNMPv1 and SNMPv2?

Security?  That's the primary achievement of SNMPv3 over anything
previous.  SNMPv1 and SNMPv2c aren't even close to secure.  SNMPv3 is,
albeit with some of the deployment problems that ISMS is hoping to
fix.  SNMPv3 contains other miscellaneous improvements as well (max
msg size specification, ...)

--
Wes Hardaker
Sparta