SNMP_USM(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… SNMP_USM(3) β€” the user-based security module for bsnmpd(1), bestie

okay so this is a library functions manual page, and it's all about snmp_usm β€” the vibe is security module, the energy is immaculate, the library is literally (begemotSnmpdModulePath."usm" = /usr/lib/snmp_usm.so). πŸŽ€


✨ NAME ✨

snmp_usm β€” the user-based security module for bsnmpd(1). that's it, that's the name, no cap.


🌸 LIBRARY 🌸

(begemotSnmpdModulePath."usm" = /usr/lib/snmp_usm.so)

like, that's where it lives. she has an address, she's that girl. πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so the snmp_usm module implements the SNMPv3 User-Based Security Model MIB exactly as defined in RFC 3414. periodt.

the module is the one that manages the internal list of SNMPv3 USM active users inside bsnmpd. and here's the thing, bestie β€” this module must be loaded for bsnmpd to receive and process SNMPv3 USM PDUs correctly. no module, no PDUs. it's giving essential. πŸ”₯


πŸ‘‘ IMPLEMENTATION NOTES πŸ‘‘

a short little description of the objects in the MIB follows β€” buckle up, we're going through them one by one. 🫢

  • usmStats β€” this subtree contains the statistics for the User-based Security Model PDU processing. and heads up: the statistics are reset each time the module is loaded. so yeah, reload = clean slate, no notes. πŸ’€
  • usmUserSpinLock β€” an advisory lock used to coordinate several Command Generator Applications when they're altering the SNMP USM users. it's the group-chat moderator of locks, honestly.
  • usmUserTable β€” the table that contains all the SNMP USM users configured in bsnmpd. and she contains the following objects:
    • usmUserEngineID β€” an SNMP engine's administratively-unique identifier. it must be set to the same Engine ID as bsnmpd so that the user will actually be allowed to communicate with the daemon. this column is used as the entry key and is not accessible for GET or SET operations. look but don't touch? no babe, you can't even look. πŸ™ˆ
    • usmUserName β€” the USM user name. it's the second entry key, and again, not accessible for GET or SET operations.
    • usmUserSecurityName β€” this column has the exact same value as the usmUserName column, however it is accessible for GET operations. iconic of her honestly.
    • usmUserCloneFrom β€” a GET on this column will return an empty OID. SET operations are currently not supported. it's giving read-only energy. πŸ’…
    • usmUserAuthProtocol β€” the value of this column contains the OID corresponding to the authentication protocol used by the USM user. the following protocols and their OIDs are known to the snmp_usm module:
      • NoAuthProtocol β€” 1.3.6.1.6.3.10.1.1.1
      • HMACMD5AuthProtocol β€” 1.3.6.1.6.3.10.1.1.2
      • HMACSHAAuthProtocol β€” 1.3.6.1.6.3.10.1.1.3
    • usmUserAuthKeyChange, usmUserOwnAuthKeyChange β€” these columns may be used to change the user's authentication key. key glow-up, basically. πŸ”‘
    • usmUserPrivProtocol β€” the value of this column contains the OID corresponding to the privacy protocol used by the USM user. the following protocols and their OIDs are known to the snmp_usm module:
      • NoPrivProtocol β€” 1.3.6.1.6.3.10.1.2.1
      • DESPrivProtoco β€” 1.3.6.1.6.3.10.1.2.2
      • AesCfb128Protocol β€” 1.3.6.1.6.3.10.1.2.4
yep, it really is spelled DESPrivProtoco in here. not me fixing it β€” that's literally the name. copy it exactly, bestie. πŸ™ˆ
  • usmUserPrivKeyChange, usmUserOwnPrivKeyChange β€” these columns may be used to change the user's privacy key. privacy is self-care. 🌸
  • usmUserPublic β€” an arbitrary octet string that may be modified to confirm a SET operation on any of the columns was successful. she's the little "ok it worked βœ…" receipt.
  • usmUserStorageType β€” this column always has either of two values:
    • entries created via bsnmpd's configuration file always have this column set to readOnly (5), and it is not possible to modify those entries.
    • entries created by Command Generator Applications always have this column set to volatile(2), and such entries are lost when the module is restarted.
    • a SET operation on this column is not allowed. periodt.
  • usmUserStatus β€” this column is used to create new USM user entries or delete existing ones from the table. creation and destruction, the full circle of life. πŸ¦‹

πŸŽ€ FILES πŸŽ€

  • /usr/share/snmp/defs/usm_tree.def β€” the description of the MIB tree implemented by snmp_usm. like a little map of everything above. πŸ—ΊοΈ

⭐ SEE ALSO ⭐

bsnmpd(1), gensnmptree(1), snmpmod(3)

go read those too, they're the supporting cast and they ate. πŸ‘‘


🌈 STANDARDS 🌈

IETF RFC 3414


πŸ’œ AUTHORS πŸ’œ

Shteryana Shopova <syrinx@FreeBSD.org>


okay that's the whole page, bestie β€” go forth and secure those users πŸ’…βœ¨

Debian Β· September 9, 2010 Β· that's the source/version and date, mwah, love u, bye πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from