Juniper Junos
TMA-JUNIPER-JUNOS-5.7
Ensure SHA1 is set for SNMPv3 authentication
Description
Do not allow unauthenticated SNMPv3 access. SNMPv3 provides much improved security over previous versions by offering options for Authentication and Encryption of messages. Authentication in SNMPv3 is performed using Keyed-Hash Message Authentication Code or HMAC. Passes when no SNMPv3 user exists; fails on MD5/none authentication. Audited against the output of 'show configuration | display set | no-more' (set format, not the curly-brace hierarchy).
How it is checked
Audit method: Configuration pattern
- Pattern
(?m)(?:\A(?:(?:[ \t]*(?:$|[^s \t\n]|s(?:$|[^e\n]|e(?:$|[^t\n]|t(?:$|[^ \n]| (?:$|[^s\n]|s(?:$|[^n\n]|n(?:$|[^m\n]|m(?:$|[^p\n]|p(?:$|[^ \n]| (?:$|[^v\n]|v(?:$|[^3\n]|3(?:$|[^ \n]| (?:$|[^u\n]|u(?:$|[^s\n]|s(?:$|[^m\n]|m(?:$|[^ \n]| (?:$|[^l\n]|l(?:$|[^o\n]|o(?:$|[^c\n]|c(?:$|[^a\n]|a(?:$|[^l\n]|l(?:$|[^\-\n]|-(?:$|[^e\n]|e(?:$|[^n\n]|n(?:$|[^g\n]|g(?:$|[^i\n]|i(?:$|[^n\n]|n(?:$|[^e\n]|e(?:$|[^ \n]| (?:$|[^u\n]|u(?:$|[^s\n]|s(?:$|[^e\n]|e(?:$|[^r\n]|r(?:$|[^ \n]))))))))))))))))))))))))))))))))))[^\n]*|[ \t]*set snmp v3 usm local-engine user (?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))[ \t]+)*(?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*)))))))))))))))))))))))?)\n)*[ \t]*set snmp v3 usm local-engine user (?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))[ \t]+)*(?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*)))))))))))))))))))))))?(?:\n(?:(?:[ \t]*(?:$|[^s \t\n]|s(?:$|[^e\n]|e(?:$|[^t\n]|t(?:$|[^ \n]| (?:$|[^s\n]|s(?:$|[^n\n]|n(?:$|[^m\n]|m(?:$|[^p\n]|p(?:$|[^ \n]| (?:$|[^v\n]|v(?:$|[^3\n]|3(?:$|[^ \n]| (?:$|[^u\n]|u(?:$|[^s\n]|s(?:$|[^m\n]|m(?:$|[^ \n]| (?:$|[^l\n]|l(?:$|[^o\n]|o(?:$|[^c\n]|c(?:$|[^a\n]|a(?:$|[^l\n]|l(?:$|[^\-\n]|-(?:$|[^e\n]|e(?:$|[^n\n]|n(?:$|[^g\n]|g(?:$|[^i\n]|i(?:$|[^n\n]|n(?:$|[^e\n]|e(?:$|[^ \n]| (?:$|[^u\n]|u(?:$|[^s\n]|s(?:$|[^e\n]|e(?:$|[^r\n]|r(?:$|[^ \n]))))))))))))))))))))))))))))))))))[^\n]*|[ \t]*set snmp v3 usm local-engine user (?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))[ \t]+)*(?:(?:[^a \t\n][^ \t\n]*|a(?:|[^u \t\n][^ \t\n]*|u(?:|[^t \t\n][^ \t\n]*|t(?:|[^h \t\n][^ \t\n]*|h(?:|[^e \t\n][^ \t\n]*|e(?:|[^n \t\n][^ \t\n]*|n(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^c \t\n][^ \t\n]*|c(?:|[^a \t\n][^ \t\n]*|a(?:|[^t \t\n][^ \t\n]*|t(?:|[^i \t\n][^ \t\n]*|i(?:|[^o \t\n][^ \t\n]*|o(?:|[^n \t\n][^ \t\n]*|n(?:|[^\- \t\n][^ \t\n]*|-(?:|[^s \t\n][^ \t\n]*|s(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:[^235 \t\n][^ \t\n]*|2(?:|[^25 \t\n][^ \t\n]*|2(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*))|5(?:|[^6 \t\n][^ \t\n]*|6(?:[^ \t\n][^ \t\n]*)))|3(?:|[^8 \t\n][^ \t\n]*|8(?:|[^4 \t\n][^ \t\n]*|4(?:[^ \t\n][^ \t\n]*)))|5(?:|[^1 \t\n][^ \t\n]*|1(?:|[^2 \t\n][^ \t\n]*|2(?:[^ \t\n][^ \t\n]*)))))))))))))))))))))))?)))*\n?\z)|(?:^set snmp v3 usm local-engine user \S+ authentication-(?:md5|none)\b)
How it is fixed
Fix method: Guidance or infrastructure patch
! For each SNMPv3 user created on your router add privacy options by issuing the following command from the hierarchy; set snmp v3 usm local-engine user <username> authentication-sha authentication-password <password>
Properties
- Operating systems
- Any
- Tags
- juniper-junosnetworksnmp
- Reference
- CIS Juniper OS Benchmark v2.1.0 - 5.7 Ensure SHA1 is set for SNMPv3 authentication
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target juniper-junos --level 2