From 428f8bf54f0e81c9a02d3e34cd4e220534945d66 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 13 Mar 2019 13:47:38 +0100 Subject: [PATCH] ET Pro Telemetry, make sure suricata HOME_NETs are considered local for anonymization --- security/etpro-telemetry/Makefile | 2 +- .../scripts/etpro_telemetry/telemetry/__init__.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/security/etpro-telemetry/Makefile b/security/etpro-telemetry/Makefile index b7fde64e8..fb8114693 100644 --- a/security/etpro-telemetry/Makefile +++ b/security/etpro-telemetry/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= etpro-telemetry -PLUGIN_VERSION= 1.2 +PLUGIN_VERSION= 1.3 #PLUGIN_REVISION= 1 PLUGIN_COMMENT= ET Pro Telemetry Edition PLUGIN_MAINTAINER= ad@opnsense.org diff --git a/security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry/telemetry/__init__.py b/security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry/telemetry/__init__.py index 8b3b39646..049131999 100755 --- a/security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry/telemetry/__init__.py +++ b/security/etpro-telemetry/src/opnsense/scripts/etpro_telemetry/telemetry/__init__.py @@ -100,6 +100,17 @@ class EventCollector(object): """ collect local attached networks for anonymization purposes :return: None """ + if os.path.isfile('/usr/local/etc/suricata/suricata.yaml'): + # home nets are considered local + with open('/usr/local/etc/suricata/suricata.yaml') as f_in: + parts = f_in.read().split('HOME_NET:') + if len(parts) > 1: + for net in parts[1].split("\n")[0].strip('" [ ]').split(','): + try: + self._local_networks.append(netaddr.IPNetwork(net)) + except netaddr.core.AddrFormatError: + pass + with tempfile.NamedTemporaryFile() as output_stream: subprocess.call(['ifconfig', '-a'], stdout=output_stream, stderr=open(os.devnull, 'wb')) output_stream.seek(0)