TMAegisBeta
More rules for juniper-junos

Juniper Junos

TMA-JUNIPER-JUNOS-4.2.2

Ensure IS-IS neighbor authentication is set to SHA1

HighLevel 2Automatedjuniper-junos

Description

IS-IS Neighbors should be authenticated with stronger SHA1 HMAC mechanism, where supported. Where it is deployed, IS-IS routing is vital for normal operation of an organization's network infrastructure. Correct route information is required for routers to correctly direct traffic through the network. Passes when IS-IS is not configured. 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]| (?:$|[^p\n]|p(?:$|[^r\n]|r(?:$|[^o\n]|o(?:$|[^t\n]|t(?:$|[^o\n]|o(?:$|[^c\n]|c(?:$|[^o\n]|o(?:$|[^l\n]|l(?:$|[^s\n]|s(?:$|[^ \n]| (?:$|[^i\n]|i(?:$|[^s\n]|s(?:$|[^i\n]|i(?:$|[^s\n]|s(?:$|[^ \n])))))))))))))))))))[^\n]*|[ \t]*set protocols isis (?:(?:[^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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))))))?)\n)*[ \t]*set protocols isis (?:(?:[^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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))))))?(?:\n(?:(?:[ \t]*(?:$|[^s \t\n]|s(?:$|[^e\n]|e(?:$|[^t\n]|t(?:$|[^ \n]| (?:$|[^p\n]|p(?:$|[^r\n]|r(?:$|[^o\n]|o(?:$|[^t\n]|t(?:$|[^o\n]|o(?:$|[^c\n]|c(?:$|[^o\n]|o(?:$|[^l\n]|l(?:$|[^s\n]|s(?:$|[^ \n]| (?:$|[^i\n]|i(?:$|[^s\n]|s(?:$|[^i\n]|i(?:$|[^s\n]|s(?:$|[^ \n])))))))))))))))))))[^\n]*|[ \t]*set protocols isis (?:(?:[^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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \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]*|-(?:|[^k \t\n][^ \t\n]*|k(?:|[^e \t\n][^ \t\n]*|e(?:|[^y \t\n][^ \t\n]*|y(?:|[^\- \t\n][^ \t\n]*|-(?:|[^c \t\n][^ \t\n]*|c(?:|[^h \t\n][^ \t\n]*|h(?:|[^a \t\n][^ \t\n]*|a(?:|[^i \t\n][^ \t\n]*|i(?:|[^n \t\n][^ \t\n]*|n(?:[^ \t\n][^ \t\n]*))))))))))))))))))))))))))?)))*\n?\z

How it is fixed

Fix method: Guidance or infrastructure patch

! If you have deployed IS-IS in your network you should consider configuring Hitless Key Rollover with SHA1 authentication for all neighbors at each IS-IS Level configured. First a key-chain must be configured. The same key-chain may be used for multiple levels or separate key-chains used for each level (or even for individual interfaces where required). From the hierarchy issue the following commands: set security authentication-key-chains key-chain <name> key <key number> secret "<secret key>" set security authentication-key-chains key-chain <name> key <key number> start-time "<yyyy-mm-dd.hh:mm:ss>" set security authentication-key-chains key-chain <name> key <key number> algorithm hmac-sha-1 set security authentication-key-chains key-chain <name> key <key number> options isis-enhanced The start-time must be provided for all keys and provides the mechanism for controlled key rollover. Keys with a start time in the future can be configured across all of the devices in advance, when the time is reached all of the devices will hitlessly rollover to the new keys without disruption to IS-IS Adjacencies. Next the key should be set for all Levels at which SHA1 HMAC authentication will be used. From the hierarchy, issue the following command: set protocols isis level <level> authentication-key-chain <name> Where a different key is required for a specific area or interface, the key-chain used at the Level can be overridden on a per interface per level basis using the following command from the `' hierarchy: ! ... see the benchmark for the full procedure

Properties

Operating systems
Any
Tags
juniper-junosnetworkaaa
Reference
CIS Juniper OS Benchmark v2.1.0 - 4.2.2 Ensure IS-IS neighbor authentication is set to SHA1

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target juniper-junos --level 2