-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enrich network traffic metadata via NetBox lookups #132
Comments
existing behaviorUp until now network traffic metadata has been enriched using the Automatic host and subnet name assignment feature, in which network hosts are identified by IP address or MAC address, and subnets are identified by CIDR subnet. This is done via config files (originally a delimited file, later JSON) and can be managed with a web interface. The way this is handled today is that the net-map.json file is read on logstash startup and a Logstash filter file is created so that it becomes part of the pipeline. As logs are processed by logstash, the fields proposed new behaviorThis feature can be replaced with NetBox, although for now we will leave both in place, if someone wants to do the enrichment without the full complexity netbox provides. (in fact, even now (as of v6.4.3) if netbox is enabled and net-map.json exists, it will be automatically recreated in netbox). I'll be using some examples on the netbox demo as I investigate the mappings we'll want to use for these lookups. field changes and mappingThis describes which fields from the NetBox model will be enriched into which fields in the Malcolm opensearch indices. For storage considerations, currently I've chosen to do NetBox enrichment for all Suricata logs and only Zeek
For Malcolm's purposes, both physical devices and virtualized hosts will be stored as described above: the IP address to device mappingIP addresses are under the IPAM model (demo). Each device (demo) must be assigned a site, device role, and operational status, and may optionally be assigned to a specific location and/or rack within a site. A platform, serial number, and asset tag may optionally be assigned to each device. Device names must be unique within a site, unless the device has been assigned to a tenant. Devices may also be unnamed. When a device has one or more interfaces with IP addresses assigned, a primary IP for the device can be designated, for both IPv4 and IPv6. Devices can be assigned IP addresses, even multiple IP addresses: When a device has one or more interfaces with IP addresses assigned, a primary IP for the device can be designated, for both IPv4 and IPv6. In order to look up a device by IP address, you do it like ip -> interface -> device. IP address to network segment mappingIP subnets are described in "prefixes" (demo). The documentation states that: ... each prefix can be assigned to a particular site and virtual routing and forwarding instance (VRF). Each VRF represents a separate IP space or routing table. All prefixes not assigned to a VRF are considered to be in the "global" table. In other words, for our purposes an IP address prefix will get its "name" from the VRF to which it belongs.
|
… NetBox lookups Squashed commit of the following: commit c05ca3b Author: Seth Grover <[email protected]> Date: Mon Dec 12 10:27:52 2022 -0700 testing with netbox API commit a8d849a Author: Seth Grover <[email protected]> Date: Mon Dec 12 10:22:36 2022 -0700 testing with netbox API commit caa7eaf Author: Seth Grover <[email protected]> Date: Mon Dec 12 09:21:15 2022 -0700 testing with netbox API commit d6e3278 Author: Seth Grover <[email protected]> Date: Mon Dec 12 07:59:27 2022 -0700 testing with netbox API commit e884d27 Author: Seth Grover <[email protected]> Date: Fri Dec 9 15:29:19 2022 -0700 testing with netbox API commit 6436c9f Author: Seth Grover <[email protected]> Date: Fri Dec 9 15:20:40 2022 -0700 testing with netbox API commit 720c8c3 Author: Seth Grover <[email protected]> Date: Fri Dec 9 15:10:59 2022 -0700 testing with netbox API commit 5e3f6a5 Author: Seth Grover <[email protected]> Date: Fri Dec 9 15:04:15 2022 -0700 testing with netbox API commit 5db3442 Author: Seth Grover <[email protected]> Date: Fri Dec 9 14:54:54 2022 -0700 testing with netbox API commit c4d28f1 Author: Seth Grover <[email protected]> Date: Fri Dec 9 14:51:17 2022 -0700 testing with netbox API commit df42a3c Author: Seth Grover <[email protected]> Date: Fri Dec 9 14:48:10 2022 -0700 testing with netbox API commit 2d5948d Author: Seth Grover <[email protected]> Date: Fri Dec 9 14:38:16 2022 -0700 ruby netbox API work in progess commit 6a2e7af Author: Seth Grover <[email protected]> Date: Fri Dec 9 11:49:38 2022 -0700 testing with netbox API commit ad520b6 Author: Seth Grover <[email protected]> Date: Fri Dec 9 11:40:20 2022 -0700 logstash -> ruby -> netbox work in progress commit 2315505 Merge: 0af0907 d6dd77e Author: Seth Grover <[email protected]> Date: Thu Dec 8 12:28:56 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 0af0907 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit d6dd77e Merge: 73a0536 4a2c336 Author: Seth Grover <[email protected]> Date: Thu Dec 8 09:06:34 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 73a0536 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit 4a2c336 Merge: 3b0e402 6b6fd47 Author: Seth Grover <[email protected]> Date: Wed Dec 7 09:47:09 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 3b0e402 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit 6b6fd47 Merge: 71693e7 c237a9d Author: Seth Grover <[email protected]> Date: Wed Dec 7 07:51:57 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 71693e7 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit c237a9d Author: Seth Grover <[email protected]> Date: Wed Nov 30 13:50:52 2022 -0700 added flexibility in demo reset/populate data commit b323d49 Merge: 762dc93 9954373 Author: Seth Grover <[email protected]> Date: Wed Nov 30 12:27:56 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 762dc93 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit 9954373 Merge: 0540a27 f8024bc Author: Seth Grover <[email protected]> Date: Mon Nov 21 14:06:05 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 0540a27 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit f8024bc Merge: 88cf2ba 66ebec1 Author: Seth Grover <[email protected]> Date: Mon Nov 21 09:03:31 2022 -0700 Merge branch 'netboxenrich' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 88cf2ba Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment commit 66ebec1 Merge: 32e559c 4cf2b81 Author: Seth Grover <[email protected]> Date: Mon Nov 21 07:14:05 2022 -0700 Merge branch 'development' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 32e559c Merge: 7d43b0d 2fc15d4 Author: Seth Grover <[email protected]> Date: Mon Nov 21 06:43:55 2022 -0700 Merge branch 'development' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 7d43b0d Merge: 31e4ba9 f0ab2d8 Author: Seth Grover <[email protected]> Date: Thu Nov 17 14:15:33 2022 -0700 Merge branch 'development' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit 31e4ba9 Merge: fa87bf4 a046e77 Author: Seth Grover <[email protected]> Date: Thu Nov 17 10:19:02 2022 -0700 Merge branch 'development' of https://github.com/mmguero-dev/Malcolm into netboxenrich commit fa87bf4 Author: Seth Grover <[email protected]> Date: Wed Nov 16 07:21:43 2022 -0700 testing for netbox enrichment
… in verbose vs. non-verbose
Currently I'm implementing these However, I might have to rethink this, due to opensearch-project/OpenSearch-Dashboards#657. Nested fields are not supported currently in visualizations, which makes them basically unusable in a Dashboards context. While they can be used in DQL queries, they can't be used in charts/tables/etc. |
|
…atata from netbox
…atata from netbox
…atata from netbox
Here's a video illustrating navigating from Arkime directly to a device (or subnet) in the NetBox interface: output.mp4 |
Feature-tracking issue dependent on #131
The text was updated successfully, but these errors were encountered: