[c-nsp] Blocking SNMPv3 engine-id discovery [was: Re: How to disable ILMI/SNMP CSCvs33325]

Simon Leinen via cisco-nsp <[email protected]>
Newsgroups gmane.network.nsp.cisco
Message-ID <[email protected]>
Gert Doering writes:
> On Wed, Sep 21, 2022 at 08:14:30AM +0300, Hank Nussbacher wrote:
>> Indeed the SNMP leaks appear to be exactly CSCtw74132 which we did
>> not know about nor did Cisco TAC :-(

> The more I dive into this, the more I want to return to my bed and
> pull the blanket over my head...

> So, the Cisco bug ID claims "this has been fixed in some versions",
> but none of those are "ASR920 IOS trains" (except 03.9(00)E, which is
> sort of weird).

> The bug also claims "CVE ID CVE-2012-5719 has been assigned", but
> MITRE says "** RESERVED ** This candidate has been reserved by an
> organization or individual that will use it when announcing a new
> security problem", so it got never published...

> That said, I then went to test our Junipers and Aristas, and they all
> do the same silly shit - no SNMPv3 configured, strict ACLs for all
> configured SNMP communities, and *still* SNMP engine discovery works
> from arbitrary sources out there.  On the switches it's not that
> annoying (management interface is in a well-isolated network segment)
> but on the routers, customer-facing IPs are reachable "from the
> world".

> Sounds like a nice reflection attack in the coming...

I wonder what is a reasonable way to address this.  Personally I'm not
too worried about this risk (our routers even respond indiscriminately
to ICMP Echo Request!), but obviously some are.  So it's probably
reasonable for Cisco to disable the SNMPv3 engine-id discovery mechanism
when no USM users are configured.  On the other hand, I would like to be
able to use SNMPv3, and configure users, without having to worry about
the exposure of the engine-id discovery mechanism.

One way to address this would be to extend the SNMP application (agent)
-level protections from the community-based model to SNMPv3/USM, and in
particular engine-ID discovery.  For the community-based "security"
model used in SNMPv1 and SNMPv2(c), we have:

  snmp-server community <community-name> (RO|RW) <acl>

IOS(-XE) and IOS-XR have similar mechanisms for USM users:

  snmp-server user <user-name> <group-name> (v1|v2|v3) access (ipv6)? <acl>

and

  snmp-server user <user-name> <group-name> (v1|v2|v3) (IPv4|IPv6)? <acl>

respectively.  One could argue that there should also be something like

  snmp-server discovery engine-id restrict (IPv4|IPv6)? <acl>

But this doesn't seem to exist(?).

Personally, I'd prefer if this could be handled by generic control-plane
protection mechanisms; maybe that can even be done today?

I.e. in your CoPP policy, couldn't you just drop (rate-limit to zero)
all packets to UDP port 161 (SNMP) that don't come from trusted sources?

That would solve all the perceived problems (e.g. your routers showing
up in Shodan) and provide even better protection for your control plane,
because the packets won't even reach the SNMP agent logic...

If CoPP allowed you to block SNMP like this, then I'd think it is not
super urgent to also address this on SNMP level.  But I'm starting to
have doubts that CoPP is practical for doing this.  It would require
users to be able to specify specific ACLs to define/refine CoPP
"classes".  Is that possible at all?
-- 
Simon.

_______________________________________________
cisco-nsp mailing list  [email protected]
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/
signature.asc (application/pgp-signature, 905 B)
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQJLBAEBCgA1FiEEZaXzER9FErVnpgm0pQjx2zJe4cAFAmMq7KoXHHNpbW9uLmxl
aW5lbkBzd2l0Y2guY2gACgkQpQjx2zJe4cBuzw//ZizqyMitU085CeirffOPaGa8
hebRZJBITKW+YhsZlVtT+iW5+Q6az5mv9bequHE0frO5pdMlnS/hJyTmq+B+CCaU
E5dGG7pMA/ErQhF2F/RTSDXipaR+xLwrtAYEgABLbUMnD2CfvSAiZQ8Wl74sb6Wj
OIpS9rIDMbsPp5/hJMWJTT2823A0m7RUsRCKaGpVS434iK6Yj6F+iKeVC9UkiBNN
lK0RDorgIAiJWasGdfVqM421RgF8IMymY3HaB77nuLIGB7NkBgI+6ZRW9p5Aizms
JZQ8mgho5Eh9dMMPrEfHr83mCB/m1soO8PaMFsa3DJSUfuEn33poKwlYnjmAXiSc
db1w6hsT5v6OibVovlhRQenhXFn4NFIT3dWTEcHUyzvtsi5d0tYGsf1e8y2Yd/Z/
pFSE78WtcRrnSr6Gvz56qmFTmpB51aPaNaAYdTyPcMwFnvNyofpe+yXJFtXL63uE
Dax2jplSkWEwrrVr4d6x2FrIn/VQfe5ihPihuuKVF1gFcP5HwFzgVtWEFAScbJSB
+13y63kebYadJXKMWAWbXiKQWRl3hOf8xO1WzGM8JO4IdR6S1xb4Ts55sa3fktCt
bGW127po/WZiR0jTpBahjuwWddsZoK+KbfRGZ04KDI0x1YTewmACDiD2t8t1KiV9
gID61yd0QsnX4NfDn3I=
=ej7a
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.