Lec10

advertisement
Based on Behzad Akbari Fall 2011 Network Management lectures
and
These slides are based in parts upon slides of Prof. Dssouli (Concordia university)
1

Modularization of documentation and architecture


Enables the use of SNMPv1 and SNMPv2 with the newly
developed SNMPv3.
SNMP engine defined
 – A model for the processing of SNMP messages.

New Security features
 – Secure information to prevent tampering of data
 – Access control to determine proper access to MIB.
2


Distributed, interacting collection of SNMP entities
SNMP entity implements a portion of the SNMP capability:


It acts either as an agent or manager or both
A collection of modules interacting with each other to provide services
SNMP ENTITY
SNMP APPLICATIONS
COMMAND
GENERATOR
COMMAND
RESPONDER
NOTIFICATION
ORIGINATOR
NOTIFICATION
RECEIVER
PROXY
FORWARDER
OTHER
OTHER
SNMP ENGINE
DISPATCHER
MESSAGE PROCESSING
SUBSYSTEM
SECURITY
SUBSYSTEM
ACCESS CONTROL
SUBSYSTEM
3
Advantages:

The role of SNMP entity is determined by the modules
implemented in that entity
o Certain set of modules are required for agent, while a different
set is required for a manager

Security subsystem provides services such as
authentication and privacy of messages
o Multiple security models can coexist

Set of authorization services an application can use for
checking access rights
o Access Control
4
COMMAND
GENERATOR
PDU
DISPATCHER
NOTIFICATION
RECEIVER
MESSAGE PROCESSING
SUBSYSTEM
SNMPv1
MESSAGE
DISPATCHER
SNMPv2C
NOTIFICATION
ORIGINATOR
SECURITY SUBSYSTEM
COMMUNITY BASED
SECURITY MODEL
USER BASED
SECURITY MODEL
SNMPv3
TRANSPORT
MAPPINGS
OTHER
OTHER
SECURITY MODEL
5




Command Generator Application
o Monitor and manipulate management data at remote agents
o Make use of SNMPv1,v2 PDUs: Get, GetNext, GetBulk, etc.
Notification Originator Application
 Initiates messages, such as InformRequest PDU
Notification Receiver Application
o Receive messages from other managers or agents
o InformRequest, SNMPv1- and SNMPv2-Traps, etc…
These applications make use of the services provided by the SNMP
engine:
o Get Outgoing PDUs, process them and generates SNMP
messages for transmission over the transport layer
o Accept incoming SNMP messages, process them, and extracts
PDUs and passes them to appropriate SNMP application
6
SNMP Engine (identified by snmpEngineID)
Dispatcher

Message
Processing
Subsystem
Security
Subsystem
Dispatcher functions:
o Accepts PDUs from applications
o Handles multiple version messages (SNMPv1, v2, v3)
o Interfaces with application modules, network, and message processing
models
 PDU dispatcher handles messages between application and
MPS
7
SNMP Engine (identified by snmpEngineID)
Dispatcher
Message
Processing
Subsystem
Security
Subsystem
Message Processing Subsystem functions:

Accepts outgoing PDUs from Dispatcher, attach appropriate
header, and return message to Dispatcher

Accepts incoming messages, process each message header,
and return the enclosed PDU to the Dispatcher

Contains one or more Message Processing Models, each for
each SNMP version
 SNMP version identified in the header
8
SNMP Engine (identified by snmpEngineID)
Dispatcher



Message
Processing
Subsystem
Security
Subsystem
Security subsystems perform authentication and encryption functions
for each outgoing/incoming message
Outgoing PDUs may be encrypted and authentication codes
generated and appended to the message header
o The message is then returned to the MPS
Incoming messages are passed to the security subsystem
o Message decryption
o Messages authenticated
9
MANAGEMENT INFORMATION BASE
ACCESS CONTROL SUBSYSTEM
COMMAND
RESPONDER
PDU
DISPATCHER
VIEW BASED
ACCESS CONTROL
MESSAGE PROCESSING
SUBSYSTEM
SNMPv1
MESSAGE
DISPATCHER
SNMPv2C
NOTIFICATION
ORIGINATOR
Proxy Forwarder
Applications
SECURITY SUBSYSTEM
COMMUNITY BASED
SECURITY MODEL
USER BASED
SECURITY MODEL
SNMPv3
TRANSPORT
MAPPINGS
OTHER
OTHER
SECURITY MODEL
10

Command Responder Application
o Provides access to management data
o Responds to incoming requests by retrieving and/or setting
managed objects and issuing Response PDU

Notification Originator Application
o Trap PDUs of SNMPv1, v2

Proxy Forwarder Application
o Forwards messages between entities

Access Control Subsystem
o Provides authorization services to “control access” to the MIB
for reading and setting management objects
o Who can access
o What can be accessed
11
SNMP Engine ID
snmpEngineID -- associated with each SNMP entity
Principal
principal
-- person or group or application requesting services
Security Name
securityName -- human readable name
Context Engine ID
contextEngineID -- each entity has a unique
context ID (identical to snmpEngineID)
Context Name
contextName --a context associated with a
managed object (for access control)
An SNMP agent can monitor more than one network element (context)
Example:


SNMP Engine ID
Principal
Security Name
IP address
John Smith
Administrator
12
SNMP ENTITY
OT HE R
SNMP ENGINE
snmpEngineID=1
SNMP ENTITY
O TH ER
SNMP ENGINE
snmpEngineID=2
SNMP ENTITY
O TH ER
SNMP ENTITY
O TH ER
SNMP ENGINE
snmpEngineID=3
SNMP ENGINE
snmpEngineID=4
13

Abstract service interface is a conceptual interface between
modules, independent of implementation

Defines a set of primitives
o A primitive specifies the function to be performed (e.g.,
procedural call)

Primitives associated with receiving entities
o An interface defined using primitive and parameters is referred
to as “abstract service interface”

e.g., Dispatcher primitives:
o Handle messages to and from applications
o registering and un-registering of application modules
o transmitting to and receiving messages from network

IN and OUT parameters

Status information / result
14
Command
Generator
sendPdu



sendPduHandle/
Error Indication
Abstract
Service
Interface
Dispatcher
prepareOutgoingMessage
sendPdu
Message
Processing
Model
Abstract
Service
Interface
Used by a command generator to send SNMP request or
notification PDU to another SNMP entity
When successfully preparing the message by the Dispatcher:
 a sendPduHandle (unique identifier) is returned (to track any response,
if any is expected)
The application also provides transport domain/address for the PDU
as well as message processing model, security model, principal,
level of security, the context for this PDU, and the PDU itself
15
Command
Generator
sendPduHandle/
errorIndication
processResponsePdu
Dispatcher
prepareOutgoingMessage
sendPdu
Message
Processing
Model
Abstract
Service
Interface
processResponsePdu


Used by Dispatcher to pass an incoming response PDU to
an application
The application checks whether it is matched with a
preceding request or notification PDU by checking the
sendPduHandle:
 Success or failure
16
Command
Responder
Dispatcher
processPdu
processPdu


prepareResponseMessage
returnResponsePdu
Message
Processing
Model
Abstract
Service
Interface
Used by Dispatcher to pass an incoming request or
notification PDU to an application (command responder)
Security related information is required to generate a matching
response message
 The security subsystem (access control) will check whether access
is allowed and a response will be generated accordingly
returnResponsePdu

Used by command responder to return an SNMP response in
response to an incoming request or notification
17
Command
Generator
sendPduHandle/
errorIndication
Dispatcher
prepareOutgoingMessage
sendPdu
Message
Processing
Model
Abstract
Service
Interface
prepareOutgoingMessage



Prepare a message for an outgoing SNMP request or notification
PDU
The IN parameter is a PDU and OUT parameter is the message
Success or failure is returned
18
Command
Responder
Dispatcher
processPdu
prepareResponseMessage
returnResponsePdu
Message
Processing
Model
Abstract
Service
Interface
prepareResponseMessage

Request the preparation of a message containing an
outgoing SNMP response PDU, in response to an
incoming request or notification PDU
19
generateRequestMessage
 Generate a “message” containing an outgoing SNMP request or
notification PDU
 Returns to the MPS a message (with possibly authentication and
encryption) and associated security parameters
processIncomingMessage
 Provide security function for incoming messages
 Return success or failure indicating the result of the security check
 If successful, a PDU is returned to the MPS
generateResponseMessage
 Generate a message containing outgoing SNMP response PDU in
response to incoming request or notification
 Returns to the MPS a message (with some authentication and encryption
applied) and associated security parameters
20
Application(s)
Command
Generator
Notification
Receiver
Proxy
Forwarder
Subsystem
Command
Responder
Notification
Originator
Other
Application
• Command generator
• Command responder
• Notification originator
• Notification receiver
• Proxy Forwarder
(SNMP versions only)
• Other
Example
get-request
get-response
trap generation
trap processing
get-bulk to get-next
Special application
21
Command
Generator
Command Generator:
1)-Examine parameters from
the received PDU and
match/compare them with a
cached copy (security
model/level/name,
contextName, etc.). If no
match, message is
discarded
2)-Check the received PDU
(check request-id,
etc.)
Message
Processing
Model
Dispatcher
Security
Model
sendPdu
prepareOutgoingMessage
generateRequestMsg
PduHandle
send get-request message
Network
receive get-response message
prepareDataElemets
processIncomingMsg
3)- if all OK, then take action
processResponsePdu
Command
Generator
Dispatcher
Message
Processing
Model
Security
Model
22
Command
Responder
Command Responder:
1)-examines content of request
PDU. Check whether object
has already registered with
the responder
2)- isAccessAllowed
primitive is invoked (to
determine whether object
can be accessed by the
principal making the
request)
 check the security level
3)- if access permitted, prepare
a response.
Message
Processing
Model
Dispatcher
Security
Model
processPdu
processIncomingMsg
prepareDataElements
registerContextEngineID
receive get-request message
Network
send get-response message
generateResponseMsg
prepareResponseMsg
returnResponsePdu
Dispatcher
Message
Processing
Model
Figure 7.6 Command Responder Application
Security
Model
23
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
24
Parameters
APPLICATIONS
APPLICATIONS
sendPdu
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
25
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
prepareOutgoingMessage
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
26
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
generateRequestMsg
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
27
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
send and receive
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
28
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
prepareDataElements
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
29
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
processIncomingMsg
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
30
Parameters
APPLICATIONS
APPLICATIONS
processPdu
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
31
Parameters
APPLICATIONS
APPLICATIONS
isAccessAllowed
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
32
Parameters
APPLICATIONS
APPLICATIONS
returnResponsePdu
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
33
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
prepareResponseMessage
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
34
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
generateResponseMsg
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
35
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
send and receive
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
36
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
prepareDataElements
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
37
Parameters
APPLICATIONS
APPLICATIONS
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
processIncomingMsg
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
38
Parameters
APPLICATIONS
APPLICATIONS
processResponsePdu
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
ACCESS
CONTROL
SUBSYSTEM
DISPATCHER
SECURITY
SUBSYSTEM
MESSAGE
PROCESSING
SUBSYSTEM
contextEngineID
contextName
destTransportAddress
destTransportDomain
expectResponse
globalData
maxMessageSize
maxSizeResponseScopedPDU
messageProcessingModel
outgoingMessage
outgoingMessageLength
PDU
pduType
pduVersion
scopedPDU
stateReference
statusInformation
securityEngineID
securityLevel
securityModel
securityName
securityParameters
securityStateReference
sendPduHandle
transportAddress
transportDomain
variableName
viewType
wholeMsg
wholeMsgLength
39
reportableFlag
privFlag
authFlag
Header Data
Message
ID
Message
Max. Size
Message
Flag
Version
scopedPDU
Message
Security
Model
Global/
Header
Data
1 SNMPv1
2 SNMPv2
3 SNMPv3
Security
Parameters
Context
Engine ID
Plaintext / Encrypted
scopedPDU Data
Context
Name
Data
Whole Message
Security Parameters
Authoritative
Engine ID
Authoritative
Engine Boots
Authoritative
Engine Time
User
Name
Authentication
Parameters
Privacy
Parameters
Time synch. between entities to avoid
message replay and achieve timeliness
40
Field
Version
Message ID
Message Max. Size
Message flags
Message Security
Model
Object name
Description
msgVersion
SNMP version number of the
message format
msgID
Administrative ID associated with the
message
msgMaxSize
Maximum size supported by the
sender
msgFlags
Bit fields identifying report,
authentication, and privacy of the
message
msgSecurityModel
Security model used for the message;
concurrent multiple models allowed
Security Parameters msgSecurityParameters
Security parameters used for
(See Table 7.8)
communication between sending and
receiving security modules
Plaintext/Encrypted
scopedPDU Data
scopedPduData
Choice of plaintext or encrypted
scopedPDU; scopedPDU uniquely
identifies context and PDU
Context Engine ID
contextEngineID
Unique ID of a context (managed
entity) with a context name realized by
an SNMP entity
contextName
Name of the context (managed entity)
data
Contains unencrypted PDU
Context Name
PDU
41
See p. 304
42
Modification of Information
 an entity may alter in-transit SNMP
messages generated on behalf of
an authorized principal in such a
way as to effect unauthorized
management operations, including
falsifying the value of an object
Masquerade
 management operations not
authorized for some entity may be
attempted by assuming the identity
of another entity that has the
appropriate authorizations
Modification of information
Masquerade
Message stream modification
Management
Entity A
Management
Entity B
Disclosure
43
Message Stream Modification
 SNMP is typically based upon a
connectionless transport service.
Messages may be maliciously reordered, delayed or replayed, in
order to effect unauthorized
management operations.
o For example, a message to
reboot a system could be copied
and replayed later
Disclosure
 Eavesdropping or intercepting on
the exchanges between SNMP
engines
Modification of information
Masquerade
Message stream modification
Management
Entity A
Management
Entity B
Disclosure
44
SNMPv3 is not intended to secure
against these two threats:
Denial of Service:
 An attacker may prevent
exchanges between manager
and agent
Modification of information
Masquerade
Message stream modification
 DOS are indistinguishable from
network element failures
 DOS may disrupt all services (not
just those pertaining to NM)
Management
Entity A
Management
Entity B
Disclosure
Traffic Analysis:
 An attacker may observe the
general pattern of traffic between
managers and agents
45
o
Data Integrity (Authentication)
o
Authentication
o
Message redirection/re-ordering/delay/replay
o
Data encryption/decryption
46
Security Subsystem
Data Integrity
Data Origin Authentication
Message
Processing
Model
Authentication
Module
Data Confidentiality
Privacy
Module
Message Timeliness &
Limited Replay Protection
Timeliness
Module

The Security model authenticates and forwards incoming and outgoing
messages to the MPM

3 different modules
o Authentication module
o Privacy module
o Timeliness module
47
Security Subsystem
Data Integrity
Data Origin Authentication
Message
Processing
Model

Authentication
Module
Data Confidentiality
Privacy
Module
Message Timeliness &
Limited Replay Protection
Timeliness
Module
Data integrity
o message authentication at sender and validation at receiver
o Ensure that a message is not modified by an unauthorized intruder
o Authentication protocols: HMAC-MD5-96 / HMAC-SHA-96

Data origin authentication
o Check the identity of a user on whose behalf a message is sent
o Append to the message a unique Identifier associated with
authoritative SNMP engine
48
Security Subsystem
Data Integrity
Data Origin Authentication
Message
Processing
Model
Data Confidentiality
Message Timeliness &
Limited Replay Protection
Authentication
Module
Privacy
Module
Timeliness
Module

Data confidentiality ensures that data is not made available
to unauthorized users or entities

Encryption is applied at the sender and decryption at
receiver (CBC-DES)
49
Security Subsystem
Data Integrity
Data Origin Authentication
Message
Processing
Model
Data Confidentiality
Message Timeliness &
Limited Replay Protection
Authentication
Module
Privacy
Module
Timeliness
Module

Prevent message redirection, delay and replay

Configure a receiver window for accepting message (e.g.,
150 s for SNMPv3)

Three objects: snmpEngineIP, snmpEngineBoots,
snmpEngineTime
50
Download