Katana VentraIP

Simple Network Management Protocol

Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more.[1]

OSI layer

161, 162 (Trap)

3411–3418

10161, 10162 (Trap)

6353

SNMP is widely used in network management for network monitoring. SNMP exposes management data in the form of variables on the managed systems organized in a management information base (MIB), which describes the system status and configuration. These variables can then be remotely queried (and, in some circumstances, manipulated) by managing applications.


Three significant versions of SNMP have been developed and deployed. SNMPv1 is the original version of the protocol. More recent versions, SNMPv2c and SNMPv3, feature improvements in performance, flexibility and security.


SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). It consists of a set of standards for network management, including an application layer protocol, a database schema, and a set of data objects.[2]

Managed devices

 – software which runs on managed devices

Agent

(NMS) – software which runs on the manager

Network management station

In typical uses of SNMP, one or more administrative computers called managers have the task of monitoring or managing a group of hosts or devices on a computer network. Each managed system executes a software component called an agent which reports information via SNMP to the manager.


An SNMP-managed network consists of three key components:


A managed device is a network node that implements an SNMP interface that allows unidirectional (read-only) or bidirectional (read and write) access to node-specific information. Managed devices exchange node-specific information with the NMSs. Sometimes called network elements, the managed devices can be any type of device, including, but not limited to, routers, access servers, switches, cable modems, bridges, hubs, IP telephones, IP video cameras, computer hosts, and printers.


An agent is a network-management software module that resides on a managed device. An agent has local knowledge of management information and translates that information to or from an SNMP-specific form.


A network management station executes applications that monitor and control managed devices. NMSs provide the bulk of the processing and memory resources required for network management. One or more NMSs may exist on any managed network.

 1065 — Structure and identification of management information for TCP/IP-based internets

RFC

 1066 — Management information base for network management of TCP/IP-based internets

RFC

 1067 — A simple network management protocol

RFC

Implementation issues[edit]

SNMP's powerful write capabilities, which would allow the configuration of network devices, are not being fully utilized by many vendors, partly because of a lack of security in SNMP versions before SNMPv3, and partly because many devices simply are not capable of being configured via individual MIB object changes.


Some SNMP values (especially tabular values) require specific knowledge of table indexing schemes, and these index values are not necessarily consistent across platforms. This can cause correlation issues when fetching information from multiple devices that may not employ the same table indexing scheme (for example fetching disk utilization metrics, where a specific disk identifier is different across platforms.)[24]


Some major equipment vendors tend to over-extend their proprietary command line interface (CLI) centric configuration and control systems.[25]


In February 2002 the Carnegie Mellon Software Engineering Institute (CM-SEI) Computer Emergency Response Team Coordination Center (CERT-CC) issued an Advisory on SNMPv1,[26] after the Oulu University Secure Programming Group conducted a thorough analysis of SNMP message handling. Most SNMP implementations, regardless of which version of the protocol they support, use the same program code for decoding protocol data units (PDU) and problems were identified in this code. Other problems were found with decoding SNMP trap messages received by the SNMP management station or requests received by the SNMP agent on the network device. Many vendors had to issue patches for their SNMP implementations.[8]: 1875 

Security implications[edit]

Using SNMP to attack a network[edit]

Because SNMP is designed to allow administrators to monitor and configure network devices remotely it can also be used to penetrate a network. A significant number of software tools can scan the entire network using SNMP, therefore mistakes in the configuration of the read-write mode can make a network susceptible to attacks.[27]: 52 


In 2001, Cisco released information that indicated that, even in read-only mode, the SNMP implementation of Cisco IOS is vulnerable to certain denial of service attacks. These security issues can be fixed through an IOS upgrade.[28]


If SNMP is not used in a network it should be disabled in network devices. When configuring SNMP read-only mode, close attention should be paid to the configuration of the access control and from which IP addresses SNMP messages are accepted. If the SNMP servers are identified by their IP, SNMP is only allowed to respond to these IPs and SNMP messages from other IP addresses would be denied. However, IP address spoofing remains a security concern.[27]: 54 

Authentication[edit]

SNMP is available in different versions, and each version has its own security issues. SNMP v1 sends passwords in plaintext over the network. Therefore, passwords can be read with packet sniffing. SNMP v2 allows password hashing with MD5, but this has to be configured. Virtually all network management software support SNMP v1, but not necessarily SNMP v2 or v3. SNMP v2 was specifically developed to provide data security, that is authentication, privacy and authorization, but only SNMP version 2c gained the endorsement of the Internet Engineering Task Force (IETF), while versions 2u and 2* failed to gain IETF approval due to security issues. SNMP v3 uses MD5, Secure Hash Algorithm (SHA) and keyed algorithms to offer protection against unauthorized data modification and spoofing attacks. If a higher level of security is needed the Data Encryption Standard (DES) can be optionally used in the cipher block chaining mode. SNMP v3 is implemented on Cisco IOS since release 12.0(3)T.[27]: 52 


SNMPv3 may be subject to brute force and dictionary attacks for guessing the authentication keys, or encryption keys, if these keys are generated from short (weak) passwords or passwords that can be found in a dictionary. SNMPv3 allows both providing random uniformly distributed cryptographic keys and generating cryptographic keys from a password supplied by the user. The risk of guessing authentication strings from hash values transmitted over the network depends on the cryptographic hash function used and the length of the hash value. SNMPv3 uses the HMAC-SHA-2 authentication protocol for the User-based Security Model (USM).[29] SNMP does not use a more secure challenge-handshake authentication protocol. SNMPv3 (like other SNMP protocol versions) is a stateless protocol, and it has been designed with a minimal amount of interactions between the agent and the manager. Thus introducing a challenge-response handshake for each command would impose a burden on the agent (and possibly on the network itself) that the protocol designers deemed excessive and unacceptable.


The security deficiencies of all SNMP versions can be mitigated by IPsec authentication and confidentiality mechanisms. SNMP also may be carried securely over Datagram Transport Layer Security (DTLS).[10]


Many SNMP implementations include a type of automatic discovery where a new network component, such as a switch or router, is discovered and polled automatically. In SNMPv1 and SNMPv2c this is done through a community string that is transmitted in clear-text to other devices.[10] Clear-text passwords are a significant security risk. Once the community string is known outside the organization it could become the target for an attack. To alert administrators of other attempts to glean community strings, SNMP can be configured to pass community-name authentication failure traps.[27]: 54  If SNMPv2 is used, the issue can be avoided by enabling password encryption on the SNMP agents of network devices.


The common default configuration for community strings are "public" for read-only access and "private" for read-write.[8]: 1874  Because of the well-known defaults, SNMP topped the list of the SANS Institute's Common Default Configuration Issues and was number ten on the SANS Top 10 Most Critical Internet Security Threats for the year 2000.[30] System and network administrators frequently do not change these configurations.[8]: 1874 


Whether it runs over TCP or UDP, SNMPv1 and v2 are vulnerable to IP spoofing attacks. With spoofing, attackers may bypass device access lists in agents that are implemented to restrict SNMP access. SNMPv3 security mechanisms such as USM or TSM can prevent spoofing attacks.

 1155 (STD 16) — Structure and Identification of Management Information for the TCP/IP-based Internets

RFC

 1156 (Historic) — Management Information Base for Network Management of TCP/IP-based internets

RFC

 1157 (Historic) — A Simple Network Management Protocol (SNMP)

RFC

 1213 (STD 17) — Management Information Base for Network Management of TCP/IP-based internets: MIB-II

RFC

 1452 (Informational) — Coexistence between version 1 and version 2 of the Internet-standard Network Management Framework (Obsoleted by RFC 1908)

RFC

 1901 (Experimental) — Introduction to Community-based SNMPv2

RFC

 1902 (Draft Standard) — Structure of Management Information for SNMPv2 (Obsoleted by RFC 2578)

RFC

 1908 (Standards Track) — Coexistence between Version 1 and Version 2 of the Internet-standard Network Management Framework

RFC

 2570 (Informational) — Introduction to Version 3 of the Internet-standard Network Management Framework (Obsoleted by RFC 3410)

RFC

 2578 (STD 58) — Structure of Management Information Version 2 (SMIv2)

RFC

 3410 (Informational) — Introduction and Applicability Statements for Internet Standard Management Framework

RFC

STD 62

RFC

 3430 (Experimental) — Simple Network Management Protocol (SNMP) over Transmission Control Protocol (TCP) Transport Mapping

RFC

 3584 (BCP 74) — Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework

RFC

 3826 (Proposed) — The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model

RFC

 4789 (Proposed) — Simple Network Management Protocol (SNMP) over IEEE 802 Networks

RFC

 5343 (STD 78) — Simple Network Management Protocol (SNMP) Context EngineID Discovery

RFC

 5590 (STD 78) — Transport Subsystem for the Simple Network Management Protocol (SNMP)

RFC

 5591 (STD 78) — Transport Security Model for the Simple Network Management Protocol (SNMP)

RFC

 5592 (Proposed) — Secure Shell Transport Model for the Simple Network Management Protocol (SNMP)

RFC

 5608 (Proposed) — Remote Authentication Dial-In User Service (RADIUS) Usage for Simple Network Management Protocol (SNMP) Transport Models.

RFC

 6353 (STD 78) — Transport Layer Security (TLS) Transport Model for the Simple Network Management Protocol (SNMP)

RFC

 7630 (Proposed|Historic) — HMAC-SHA-2 Authentication Protocols in the User-based Security Model (USM) for SNMPv3

RFC

 7860 (Proposed) — HMAC-SHA-2 Authentication Protocols in User-Based Security Model (USM) for SNMPv3

RFC

(AgentX) – Subagent protocol for SNMP

Agent Extensibility Protocol

(CMIP) – Management protocol by ISO/OSI used by telecommunications devices

Common Management Information Protocol

(CMIS)

Common Management Information Service

Comparison of network monitoring systems

 – Control protocol based on Simple Network Management Protocol

IEC 62379

– Open source reference implementation of SNMP

Net-SNMP

– Protocol which is an XML-based configuration protocol for network equipment

NETCONF

(RMON)

Remote Network Monitoring

(SGMP) – Obsolete protocol replaced by SNMP

Simple Gateway Monitoring Protocol

 – Software that simulates devices supporting SNMP

SNMP simulator

Douglas Mauro; Kevin Schmidt (2005). Essential SNMP (Second ed.). O'Reilly Media.  978-0596008406.

ISBN

William Stallings (1999). . Addison Wesley Longman, Inc. ISBN 978-0201485349.

SNMP, SNMPv2, SNMPv3, and RMON 1 and 2

Marshall T. Rose (1996). The Simple Book. Prentice Hall.  0-13-451659-1.

ISBN

at Curlie

Simple Network Management Protocol