From 8d012238dd8c3863cde411bccf3fa11e8d98dfed Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 28 Mar 2024 11:20:11 -0600 Subject: [PATCH 01/98] bump for v24.04.0 development --- docker-compose-dev.yml | 46 +++++----- docker-compose.yml | 46 +++++----- docs/api-version.md | 2 +- docs/contributing-pcap.md | 2 +- docs/hedgehog-iso-build.md | 2 +- docs/kubernetes.md | 88 +++++++++---------- docs/malcolm-iso.md | 2 +- docs/quickstart.md | 38 ++++---- docs/ubuntu-install-example.md | 38 ++++---- kubernetes/03-opensearch.yml | 4 +- kubernetes/04-dashboards.yml | 2 +- kubernetes/05-upload.yml | 4 +- kubernetes/06-pcap-monitor.yml | 4 +- kubernetes/07-arkime.yml | 4 +- kubernetes/08-api.yml | 2 +- kubernetes/09-dashboards-helper.yml | 2 +- kubernetes/10-zeek.yml | 4 +- kubernetes/11-suricata.yml | 4 +- kubernetes/12-file-monitor.yml | 4 +- kubernetes/13-filebeat.yml | 4 +- kubernetes/14-logstash.yml | 4 +- kubernetes/15-netbox-redis.yml | 4 +- kubernetes/16-netbox-redis-cache.yml | 2 +- kubernetes/17-netbox-postgres.yml | 4 +- kubernetes/18-netbox.yml | 4 +- kubernetes/19-htadmin.yml | 4 +- kubernetes/20-pcap-capture.yml | 4 +- kubernetes/21-zeek-live.yml | 4 +- kubernetes/22-suricata-live.yml | 4 +- kubernetes/23-arkime-live.yml | 4 +- kubernetes/24-freq.yml | 2 +- kubernetes/98-nginx-proxy.yml | 4 +- .../aws/ami/packer_vars.json.example | 2 +- 33 files changed, 174 insertions(+), 174 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 4640b8a3e..ed913b4e8 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -15,7 +15,7 @@ services: build: context: . dockerfile: Dockerfiles/opensearch.Dockerfile - image: ghcr.io/idaholab/malcolm/opensearch:24.03.1 + image: ghcr.io/idaholab/malcolm/opensearch:24.04.0 # Technically the "hedgehog" profile doesn't have OpenSearch, but in that case # OPENSEARCH_PRIMARY will be set to remote, which means the container will # start but not actually run OpenSearch. It's included in both profiles to @@ -60,7 +60,7 @@ services: build: context: . dockerfile: Dockerfiles/dashboards-helper.Dockerfile - image: ghcr.io/idaholab/malcolm/dashboards-helper:24.03.1 + image: ghcr.io/idaholab/malcolm/dashboards-helper:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -93,7 +93,7 @@ services: build: context: . dockerfile: Dockerfiles/dashboards.Dockerfile - image: ghcr.io/idaholab/malcolm/dashboards:24.03.1 + image: ghcr.io/idaholab/malcolm/dashboards:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -124,7 +124,7 @@ services: build: context: . dockerfile: Dockerfiles/logstash.Dockerfile - image: ghcr.io/idaholab/malcolm/logstash-oss:24.03.1 + image: ghcr.io/idaholab/malcolm/logstash-oss:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -178,7 +178,7 @@ services: build: context: . dockerfile: Dockerfiles/filebeat.Dockerfile - image: ghcr.io/idaholab/malcolm/filebeat-oss:24.03.1 + image: ghcr.io/idaholab/malcolm/filebeat-oss:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -216,7 +216,7 @@ services: build: context: . dockerfile: Dockerfiles/arkime.Dockerfile - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -255,7 +255,7 @@ services: build: context: . dockerfile: Dockerfiles/arkime.Dockerfile - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -294,7 +294,7 @@ services: build: context: . dockerfile: Dockerfiles/zeek.Dockerfile - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -330,7 +330,7 @@ services: build: context: . dockerfile: Dockerfiles/zeek.Dockerfile - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -362,7 +362,7 @@ services: build: context: . dockerfile: Dockerfiles/suricata.Dockerfile - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -393,7 +393,7 @@ services: build: context: . dockerfile: Dockerfiles/suricata.Dockerfile - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -426,7 +426,7 @@ services: build: context: . dockerfile: Dockerfiles/file-monitor.Dockerfile - image: ghcr.io/idaholab/malcolm/file-monitor:24.03.1 + image: ghcr.io/idaholab/malcolm/file-monitor:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -458,7 +458,7 @@ services: build: context: . dockerfile: Dockerfiles/pcap-capture.Dockerfile - image: ghcr.io/idaholab/malcolm/pcap-capture:24.03.1 + image: ghcr.io/idaholab/malcolm/pcap-capture:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -490,7 +490,7 @@ services: build: context: . dockerfile: Dockerfiles/pcap-monitor.Dockerfile - image: ghcr.io/idaholab/malcolm/pcap-monitor:24.03.1 + image: ghcr.io/idaholab/malcolm/pcap-monitor:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -521,7 +521,7 @@ services: build: context: . dockerfile: Dockerfiles/file-upload.Dockerfile - image: ghcr.io/idaholab/malcolm/file-upload:24.03.1 + image: ghcr.io/idaholab/malcolm/file-upload:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -548,7 +548,7 @@ services: retries: 3 start_period: 60s htadmin: - image: ghcr.io/idaholab/malcolm/htadmin:24.03.1 + image: ghcr.io/idaholab/malcolm/htadmin:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -578,7 +578,7 @@ services: retries: 3 start_period: 60s freq: - image: ghcr.io/idaholab/malcolm/freq:24.03.1 + image: ghcr.io/idaholab/malcolm/freq:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -605,7 +605,7 @@ services: retries: 3 start_period: 60s netbox: - image: ghcr.io/idaholab/malcolm/netbox:24.03.1 + image: ghcr.io/idaholab/malcolm/netbox:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -642,7 +642,7 @@ services: retries: 3 start_period: 120s netbox-postgres: - image: ghcr.io/idaholab/malcolm/postgresql:24.03.1 + image: ghcr.io/idaholab/malcolm/postgresql:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -671,7 +671,7 @@ services: retries: 3 start_period: 45s netbox-redis: - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/idaholab/malcolm/redis:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -704,7 +704,7 @@ services: retries: 3 start_period: 45s netbox-redis-cache: - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/idaholab/malcolm/redis:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -736,7 +736,7 @@ services: retries: 3 start_period: 45s api: - image: ghcr.io/idaholab/malcolm/api:24.03.1 + image: ghcr.io/idaholab/malcolm/api:24.04.0 profiles: ["malcolm"] logging: *default-logging build: @@ -769,7 +769,7 @@ services: build: context: . dockerfile: Dockerfiles/nginx.Dockerfile - image: ghcr.io/idaholab/malcolm/nginx-proxy:24.03.1 + image: ghcr.io/idaholab/malcolm/nginx-proxy:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" diff --git a/docker-compose.yml b/docker-compose.yml index c90d9eff9..1e18b6dfb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ x-logging: services: opensearch: - image: ghcr.io/idaholab/malcolm/opensearch:24.03.1 + image: ghcr.io/idaholab/malcolm/opensearch:24.04.0 # Technically the "hedgehog" profile doesn't have OpenSearch, but in that case # OPENSEARCH_PRIMARY will be set to remote, which means the container will # start but not actually run OpenSearch. It's included in both profiles to @@ -54,7 +54,7 @@ services: retries: 3 start_period: 180s dashboards-helper: - image: ghcr.io/idaholab/malcolm/dashboards-helper:24.03.1 + image: ghcr.io/idaholab/malcolm/dashboards-helper:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -84,7 +84,7 @@ services: retries: 3 start_period: 30s dashboards: - image: ghcr.io/idaholab/malcolm/dashboards:24.03.1 + image: ghcr.io/idaholab/malcolm/dashboards:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -112,7 +112,7 @@ services: retries: 3 start_period: 210s logstash: - image: ghcr.io/idaholab/malcolm/logstash-oss:24.03.1 + image: ghcr.io/idaholab/malcolm/logstash-oss:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -159,7 +159,7 @@ services: retries: 3 start_period: 600s filebeat: - image: ghcr.io/idaholab/malcolm/filebeat-oss:24.03.1 + image: ghcr.io/idaholab/malcolm/filebeat-oss:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -194,7 +194,7 @@ services: retries: 3 start_period: 60s arkime: - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -228,7 +228,7 @@ services: retries: 3 start_period: 210s arkime-live: - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -261,7 +261,7 @@ services: - ./arkime/rules:/opt/arkime/rules:ro - ./pcap:/data/pcap zeek: - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -293,7 +293,7 @@ services: retries: 3 start_period: 60s zeek-live: - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -321,7 +321,7 @@ services: - ./zeek/intel:/opt/zeek/share/zeek/site/intel - ./zeek/custom:/opt/zeek/share/zeek/site/custom:ro suricata: - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -349,7 +349,7 @@ services: retries: 3 start_period: 120s suricata-live: - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -379,7 +379,7 @@ services: - ./suricata/rules:/opt/suricata/rules:ro - ./suricata/include-configs:/opt/suricata/include-configs:ro file-monitor: - image: ghcr.io/idaholab/malcolm/file-monitor:24.03.1 + image: ghcr.io/idaholab/malcolm/file-monitor:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -408,7 +408,7 @@ services: retries: 3 start_period: 60s pcap-capture: - image: ghcr.io/idaholab/malcolm/pcap-capture:24.03.1 + image: ghcr.io/idaholab/malcolm/pcap-capture:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -437,7 +437,7 @@ services: - ./nginx/ca-trust:/var/local/ca-trust:ro - ./pcap/upload:/pcap pcap-monitor: - image: ghcr.io/idaholab/malcolm/pcap-monitor:24.03.1 + image: ghcr.io/idaholab/malcolm/pcap-monitor:24.04.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -465,7 +465,7 @@ services: retries: 3 start_period: 90s upload: - image: ghcr.io/idaholab/malcolm/file-upload:24.03.1 + image: ghcr.io/idaholab/malcolm/file-upload:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -492,7 +492,7 @@ services: retries: 3 start_period: 60s htadmin: - image: ghcr.io/idaholab/malcolm/htadmin:24.03.1 + image: ghcr.io/idaholab/malcolm/htadmin:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -519,7 +519,7 @@ services: retries: 3 start_period: 60s freq: - image: ghcr.io/idaholab/malcolm/freq:24.03.1 + image: ghcr.io/idaholab/malcolm/freq:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -543,7 +543,7 @@ services: retries: 3 start_period: 60s netbox: - image: ghcr.io/idaholab/malcolm/netbox:24.03.1 + image: ghcr.io/idaholab/malcolm/netbox:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -577,7 +577,7 @@ services: retries: 3 start_period: 120s netbox-postgres: - image: ghcr.io/idaholab/malcolm/postgresql:24.03.1 + image: ghcr.io/idaholab/malcolm/postgresql:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -603,7 +603,7 @@ services: retries: 3 start_period: 45s netbox-redis: - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/idaholab/malcolm/redis:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -633,7 +633,7 @@ services: retries: 3 start_period: 45s netbox-redis-cache: - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/idaholab/malcolm/redis:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -662,7 +662,7 @@ services: retries: 3 start_period: 45s api: - image: ghcr.io/idaholab/malcolm/api:24.03.1 + image: ghcr.io/idaholab/malcolm/api:24.04.0 profiles: ["malcolm"] logging: *default-logging command: gunicorn --bind 0:5000 manage:app @@ -689,7 +689,7 @@ services: retries: 3 start_period: 60s nginx-proxy: - image: ghcr.io/idaholab/malcolm/nginx-proxy:24.03.1 + image: ghcr.io/idaholab/malcolm/nginx-proxy:24.04.0 profiles: ["malcolm"] logging: *default-logging restart: "no" diff --git a/docs/api-version.md b/docs/api-version.md index ea8ed3153..c52793da0 100644 --- a/docs/api-version.md +++ b/docs/api-version.md @@ -47,6 +47,6 @@ Returns version information about Malcolm and version/[health](https://opensearc } }, "sha": "77574975", - "version": "24.03.1" + "version": "24.04.0" } ``` diff --git a/docs/contributing-pcap.md b/docs/contributing-pcap.md index abb804904..9f32ffd0b 100644 --- a/docs/contributing-pcap.md +++ b/docs/contributing-pcap.md @@ -1,6 +1,6 @@ # PCAP processors -When a PCAP is uploaded (either through Malcolm's [upload web interface](upload.md#Upload) or just copied manually into the `./pcap/upload` directory), the `pcap-monitor` container has a script that picks up those PCAP files and publishes to a [ZeroMQ](https://zeromq.org/) topic that can be subscribed to by any other process that wants to analyze that PCAP. In Malcolm (at the time of the [v24.03.1 release]({{ site.github.repository_url }}/releases/tag/v24.03.1)), there are three such ZeroMQ topics: the `zeek`, `suricata` and `arkime` containers. These actually share the [same script]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/pcap_processor.py) to run the PCAP through Zeek, Suricata, and Arkime, respectively. For an example to follow, the `zeek` container is the less complicated of the two. To integrate a new PCAP processing tool into Malcolm (named `cooltool` for this example) the process would entail: +When a PCAP is uploaded (either through Malcolm's [upload web interface](upload.md#Upload) or just copied manually into the `./pcap/upload` directory), the `pcap-monitor` container has a script that picks up those PCAP files and publishes to a [ZeroMQ](https://zeromq.org/) topic that can be subscribed to by any other process that wants to analyze that PCAP. In Malcolm (at the time of the [v24.04.0 release]({{ site.github.repository_url }}/releases/tag/v24.04.0)), there are three such ZeroMQ topics: the `zeek`, `suricata` and `arkime` containers. These actually share the [same script]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/pcap_processor.py) to run the PCAP through Zeek, Suricata, and Arkime, respectively. For an example to follow, the `zeek` container is the less complicated of the two. To integrate a new PCAP processing tool into Malcolm (named `cooltool` for this example) the process would entail: 1. Define the service as instructed in the [Adding a new service](contributing-new-image.md#NewImage) section * Note how the existing `zeek` and `arkime` services use [bind mounts](contributing-local-modifications.md#Bind) to access the local `./pcap` directory diff --git a/docs/hedgehog-iso-build.md b/docs/hedgehog-iso-build.md index 321bfa257..c0fb157fe 100644 --- a/docs/hedgehog-iso-build.md +++ b/docs/hedgehog-iso-build.md @@ -29,7 +29,7 @@ Building the ISO may take 90 minutes or more depending on your system. As the bu ``` … -Finished, created "/sensor-build/hedgehog-24.03.1.iso" +Finished, created "/sensor-build/hedgehog-24.04.0.iso" … ``` diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 3856f5966..67a2c136c 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -272,28 +272,28 @@ agent2 | agent2 | 192.168.56.12 | agent2 | k3s | 6000m | agent1 | agent1 | 192.168.56.11 | agent1 | k3s | 6000m | 861.34m | 14.36% | 19.55Gi | 9.29Gi | 61.28Gi | 11 | Pod Name | State | Pod IP | Pod Kind | Worker Node | CPU Usage | Memory Usage | Container Name:Restarts | Container Image | -api-deployment-6f4686cf59-bn286 | Running | 10.42.2.14 | ReplicaSet | agent1 | 0.11m | 59.62Mi | api-container:0 | api:24.03.1 | -file-monitor-deployment-855646bd75-vk7st | Running | 10.42.2.16 | ReplicaSet | agent1 | 8.47m | 1.46Gi | file-monitor-container:0 | file-monitor:24.03.1 | -zeek-live-deployment-64b69d4b6f-947vr | Running | 10.42.2.17 | ReplicaSet | agent1 | 0.02m | 12.44Mi | zeek-live-container:0 | zeek:24.03.1 | -dashboards-helper-deployment-69dc54f6b6-ln4sq | Running | 10.42.2.15 | ReplicaSet | agent1 | 10.77m | 38.43Mi | dashboards-helper-container:0 | dashboards-helper:24.03.1 | -upload-deployment-586568844b-4jnk9 | Running | 10.42.2.18 | ReplicaSet | agent1 | 0.15m | 29.78Mi | upload-container:0 | file-upload:24.03.1 | -filebeat-deployment-6ff8bc444f-t7h49 | Running | 10.42.2.20 | ReplicaSet | agent1 | 2.84m | 70.71Mi | filebeat-container:0 | filebeat-oss:24.03.1 | -zeek-offline-deployment-844f4865bd-g2sdm | Running | 10.42.2.21 | ReplicaSet | agent1 | 0.17m | 41.92Mi | zeek-offline-container:0 | zeek:24.03.1 | -logstash-deployment-6fbc9fdcd5-hwx8s | Running | 10.42.2.22 | ReplicaSet | agent1 | 85.55m | 2.91Gi | logstash-container:0 | logstash-oss:24.03.1 | -netbox-deployment-cdcff4977-hbbw5 | Running | 10.42.2.23 | ReplicaSet | agent1 | 807.64m | 702.86Mi | netbox-container:0 | netbox:24.03.1 | -suricata-offline-deployment-6ccdb89478-z5696 | Running | 10.42.2.19 | ReplicaSet | agent1 | 0.22m | 34.88Mi | suricata-offline-container:0 | suricata:24.03.1 | -dashboards-deployment-69b5465db-vz88g | Running | 10.42.1.14 | ReplicaSet | agent2 | 0.94m | 100.12Mi | dashboards-container:0 | dashboards:24.03.1 | -netbox-redis-cache-deployment-5f77d47b8b-z7t2z | Running | 10.42.1.15 | ReplicaSet | agent2 | 3.57m | 7.36Mi | netbox-redis-cache-container:0 | redis:24.03.1 | -suricata-live-deployment-6494c77759-9rlnt | Running | 10.42.1.16 | ReplicaSet | agent2 | 0.02m | 9.69Mi | suricata-live-container:0 | suricata:24.03.1 | -freq-deployment-cfd84fd97-dnngf | Running | 10.42.1.17 | ReplicaSet | agent2 | 0.2m | 26.36Mi | freq-container:0 | freq:24.03.1 | -arkime-deployment-56999cdd66-s98pp | Running | 10.42.1.18 | ReplicaSet | agent2 | 4.15m | 113.07Mi | arkime-container:0 | arkime:24.03.1 | -pcap-monitor-deployment-594ff674c4-fsm7m | Running | 10.42.1.19 | ReplicaSet | agent2 | 1.24m | 48.44Mi | pcap-monitor-container:0 | pcap-monitor:24.03.1 | -pcap-capture-deployment-7c8bf6957-jzpzn | Running | 10.42.1.20 | ReplicaSet | agent2 | 0.02m | 9.64Mi | pcap-capture-container:0 | pcap-capture:24.03.1 | -netbox-postgres-deployment-5879b8dffc-kkt56 | Running | 10.42.1.21 | ReplicaSet | agent2 | 70.91m | 33.02Mi | netbox-postgres-container:0 | postgresql:24.03.1 | -htadmin-deployment-6fc46888b9-sq6ln | Running | 10.42.1.23 | ReplicaSet | agent2 | 0.14m | 30.53Mi | htadmin-container:0 | htadmin:24.03.1 | -netbox-redis-deployment-5bcd8f6c96-j5xpf | Running | 10.42.1.24 | ReplicaSet | agent2 | 1.46m | 7.34Mi | netbox-redis-container:0 | redis:24.03.1 | -nginx-proxy-deployment-69fcc4968d-f68tq | Running | 10.42.1.22 | ReplicaSet | agent2 | 0.31m | 22.63Mi | nginx-proxy-container:0 | nginx-proxy:24.03.1 | -opensearch-deployment-75498799f6-4zmwd | Running | 10.42.1.25 | ReplicaSet | agent2 | 89.8m | 11.03Gi | opensearch-container:0 | opensearch:24.03.1 | +api-deployment-6f4686cf59-bn286 | Running | 10.42.2.14 | ReplicaSet | agent1 | 0.11m | 59.62Mi | api-container:0 | api:24.04.0 | +file-monitor-deployment-855646bd75-vk7st | Running | 10.42.2.16 | ReplicaSet | agent1 | 8.47m | 1.46Gi | file-monitor-container:0 | file-monitor:24.04.0 | +zeek-live-deployment-64b69d4b6f-947vr | Running | 10.42.2.17 | ReplicaSet | agent1 | 0.02m | 12.44Mi | zeek-live-container:0 | zeek:24.04.0 | +dashboards-helper-deployment-69dc54f6b6-ln4sq | Running | 10.42.2.15 | ReplicaSet | agent1 | 10.77m | 38.43Mi | dashboards-helper-container:0 | dashboards-helper:24.04.0 | +upload-deployment-586568844b-4jnk9 | Running | 10.42.2.18 | ReplicaSet | agent1 | 0.15m | 29.78Mi | upload-container:0 | file-upload:24.04.0 | +filebeat-deployment-6ff8bc444f-t7h49 | Running | 10.42.2.20 | ReplicaSet | agent1 | 2.84m | 70.71Mi | filebeat-container:0 | filebeat-oss:24.04.0 | +zeek-offline-deployment-844f4865bd-g2sdm | Running | 10.42.2.21 | ReplicaSet | agent1 | 0.17m | 41.92Mi | zeek-offline-container:0 | zeek:24.04.0 | +logstash-deployment-6fbc9fdcd5-hwx8s | Running | 10.42.2.22 | ReplicaSet | agent1 | 85.55m | 2.91Gi | logstash-container:0 | logstash-oss:24.04.0 | +netbox-deployment-cdcff4977-hbbw5 | Running | 10.42.2.23 | ReplicaSet | agent1 | 807.64m | 702.86Mi | netbox-container:0 | netbox:24.04.0 | +suricata-offline-deployment-6ccdb89478-z5696 | Running | 10.42.2.19 | ReplicaSet | agent1 | 0.22m | 34.88Mi | suricata-offline-container:0 | suricata:24.04.0 | +dashboards-deployment-69b5465db-vz88g | Running | 10.42.1.14 | ReplicaSet | agent2 | 0.94m | 100.12Mi | dashboards-container:0 | dashboards:24.04.0 | +netbox-redis-cache-deployment-5f77d47b8b-z7t2z | Running | 10.42.1.15 | ReplicaSet | agent2 | 3.57m | 7.36Mi | netbox-redis-cache-container:0 | redis:24.04.0 | +suricata-live-deployment-6494c77759-9rlnt | Running | 10.42.1.16 | ReplicaSet | agent2 | 0.02m | 9.69Mi | suricata-live-container:0 | suricata:24.04.0 | +freq-deployment-cfd84fd97-dnngf | Running | 10.42.1.17 | ReplicaSet | agent2 | 0.2m | 26.36Mi | freq-container:0 | freq:24.04.0 | +arkime-deployment-56999cdd66-s98pp | Running | 10.42.1.18 | ReplicaSet | agent2 | 4.15m | 113.07Mi | arkime-container:0 | arkime:24.04.0 | +pcap-monitor-deployment-594ff674c4-fsm7m | Running | 10.42.1.19 | ReplicaSet | agent2 | 1.24m | 48.44Mi | pcap-monitor-container:0 | pcap-monitor:24.04.0 | +pcap-capture-deployment-7c8bf6957-jzpzn | Running | 10.42.1.20 | ReplicaSet | agent2 | 0.02m | 9.64Mi | pcap-capture-container:0 | pcap-capture:24.04.0 | +netbox-postgres-deployment-5879b8dffc-kkt56 | Running | 10.42.1.21 | ReplicaSet | agent2 | 70.91m | 33.02Mi | netbox-postgres-container:0 | postgresql:24.04.0 | +htadmin-deployment-6fc46888b9-sq6ln | Running | 10.42.1.23 | ReplicaSet | agent2 | 0.14m | 30.53Mi | htadmin-container:0 | htadmin:24.04.0 | +netbox-redis-deployment-5bcd8f6c96-j5xpf | Running | 10.42.1.24 | ReplicaSet | agent2 | 1.46m | 7.34Mi | netbox-redis-container:0 | redis:24.04.0 | +nginx-proxy-deployment-69fcc4968d-f68tq | Running | 10.42.1.22 | ReplicaSet | agent2 | 0.31m | 22.63Mi | nginx-proxy-container:0 | nginx-proxy:24.04.0 | +opensearch-deployment-75498799f6-4zmwd | Running | 10.42.1.25 | ReplicaSet | agent2 | 89.8m | 11.03Gi | opensearch-container:0 | opensearch:24.04.0 | ``` The other control scripts (`stop`, `restart`, `logs`, etc.) work in a similar manner as in a Docker-based deployment. One notable difference is the `wipe` script: data on PersistentVolume storage cannot be deleted by `wipe`. It must be deleted manually on the storage media underlying the PersistentVolumes. @@ -553,28 +553,28 @@ agent1 | agent1 | 192.168.56.11 | agent1 | k3s | 6000m | agent2 | agent2 | 192.168.56.12 | agent2 | k3s | 6000m | 552.71m | 9.21% | 19.55Gi | 13.27Gi | 61.28Gi | 12 | Pod Name | State | Pod IP | Pod Kind | Worker Node | CPU Usage | Memory Usage | Container Name:Restarts | Container Image | -netbox-redis-cache-deployment-5f77d47b8b-jr9nt | Running | 10.42.2.6 | ReplicaSet | agent2 | 1.89m | 7.24Mi | netbox-redis-cache-container:0 | redis:24.03.1 | -netbox-redis-deployment-5bcd8f6c96-bkzmh | Running | 10.42.2.5 | ReplicaSet | agent2 | 1.62m | 7.52Mi | netbox-redis-container:0 | redis:24.03.1 | -dashboards-helper-deployment-69dc54f6b6-ks7ps | Running | 10.42.2.4 | ReplicaSet | agent2 | 12.95m | 40.75Mi | dashboards-helper-container:0 | dashboards-helper:24.03.1 | -freq-deployment-cfd84fd97-5bwp6 | Running | 10.42.2.8 | ReplicaSet | agent2 | 0.11m | 26.33Mi | freq-container:0 | freq:24.03.1 | -pcap-capture-deployment-7c8bf6957-hkvkn | Running | 10.42.2.12 | ReplicaSet | agent2 | 0.02m | 9.21Mi | pcap-capture-container:0 | pcap-capture:24.03.1 | -nginx-proxy-deployment-69fcc4968d-m57rz | Running | 10.42.2.10 | ReplicaSet | agent2 | 0.91m | 22.72Mi | nginx-proxy-container:0 | nginx-proxy:24.03.1 | -htadmin-deployment-6fc46888b9-vpt7l | Running | 10.42.2.7 | ReplicaSet | agent2 | 0.16m | 30.21Mi | htadmin-container:0 | htadmin:24.03.1 | -opensearch-deployment-75498799f6-5v92w | Running | 10.42.2.13 | ReplicaSet | agent2 | 139.2m | 10.86Gi | opensearch-container:0 | opensearch:24.03.1 | -zeek-live-deployment-64b69d4b6f-fcb6n | Running | 10.42.2.9 | ReplicaSet | agent2 | 0.02m | 109.55Mi | zeek-live-container:0 | zeek:24.03.1 | -dashboards-deployment-69b5465db-kgsqk | Running | 10.42.2.3 | ReplicaSet | agent2 | 14.98m | 108.85Mi | dashboards-container:0 | dashboards:24.03.1 | -arkime-deployment-56999cdd66-xxpw9 | Running | 10.42.2.11 | ReplicaSet | agent2 | 208.95m | 78.42Mi | arkime-container:0 | arkime:24.03.1 | -api-deployment-6f4686cf59-xt9md | Running | 10.42.1.3 | ReplicaSet | agent1 | 0.14m | 56.88Mi | api-container:0 | api:24.03.1 | -netbox-postgres-deployment-5879b8dffc-lb4qm | Running | 10.42.1.6 | ReplicaSet | agent1 | 141.2m | 48.02Mi | netbox-postgres-container:0 | postgresql:24.03.1 | -pcap-monitor-deployment-594ff674c4-fwq7g | Running | 10.42.1.12 | ReplicaSet | agent1 | 3.93m | 46.44Mi | pcap-monitor-container:0 | pcap-monitor:24.03.1 | -suricata-offline-deployment-6ccdb89478-j5fgj | Running | 10.42.1.10 | ReplicaSet | agent1 | 10.42m | 35.12Mi | suricata-offline-container:0 | suricata:24.03.1 | -suricata-live-deployment-6494c77759-rpt48 | Running | 10.42.1.8 | ReplicaSet | agent1 | 0.01m | 9.62Mi | suricata-live-container:0 | suricata:24.03.1 | -netbox-deployment-cdcff4977-7ns2q | Running | 10.42.1.7 | ReplicaSet | agent1 | 830.47m | 530.7Mi | netbox-container:0 | netbox:24.03.1 | -zeek-offline-deployment-844f4865bd-7x68b | Running | 10.42.1.9 | ReplicaSet | agent1 | 1.44m | 43.66Mi | zeek-offline-container:0 | zeek:24.03.1 | -filebeat-deployment-6ff8bc444f-pdgzj | Running | 10.42.1.11 | ReplicaSet | agent1 | 0.78m | 75.25Mi | filebeat-container:0 | filebeat-oss:24.03.1 | -file-monitor-deployment-855646bd75-nbngq | Running | 10.42.1.4 | ReplicaSet | agent1 | 1.69m | 1.46Gi | file-monitor-container:0 | file-monitor:24.03.1 | -upload-deployment-586568844b-9s7f5 | Running | 10.42.1.13 | ReplicaSet | agent1 | 0.14m | 29.62Mi | upload-container:0 | file-upload:24.03.1 | -logstash-deployment-6fbc9fdcd5-2hhx8 | Running | 10.42.1.5 | ReplicaSet | agent1 | 3236.29m | 357.36Mi | logstash-container:0 | logstash-oss:24.03.1 | +netbox-redis-cache-deployment-5f77d47b8b-jr9nt | Running | 10.42.2.6 | ReplicaSet | agent2 | 1.89m | 7.24Mi | netbox-redis-cache-container:0 | redis:24.04.0 | +netbox-redis-deployment-5bcd8f6c96-bkzmh | Running | 10.42.2.5 | ReplicaSet | agent2 | 1.62m | 7.52Mi | netbox-redis-container:0 | redis:24.04.0 | +dashboards-helper-deployment-69dc54f6b6-ks7ps | Running | 10.42.2.4 | ReplicaSet | agent2 | 12.95m | 40.75Mi | dashboards-helper-container:0 | dashboards-helper:24.04.0 | +freq-deployment-cfd84fd97-5bwp6 | Running | 10.42.2.8 | ReplicaSet | agent2 | 0.11m | 26.33Mi | freq-container:0 | freq:24.04.0 | +pcap-capture-deployment-7c8bf6957-hkvkn | Running | 10.42.2.12 | ReplicaSet | agent2 | 0.02m | 9.21Mi | pcap-capture-container:0 | pcap-capture:24.04.0 | +nginx-proxy-deployment-69fcc4968d-m57rz | Running | 10.42.2.10 | ReplicaSet | agent2 | 0.91m | 22.72Mi | nginx-proxy-container:0 | nginx-proxy:24.04.0 | +htadmin-deployment-6fc46888b9-vpt7l | Running | 10.42.2.7 | ReplicaSet | agent2 | 0.16m | 30.21Mi | htadmin-container:0 | htadmin:24.04.0 | +opensearch-deployment-75498799f6-5v92w | Running | 10.42.2.13 | ReplicaSet | agent2 | 139.2m | 10.86Gi | opensearch-container:0 | opensearch:24.04.0 | +zeek-live-deployment-64b69d4b6f-fcb6n | Running | 10.42.2.9 | ReplicaSet | agent2 | 0.02m | 109.55Mi | zeek-live-container:0 | zeek:24.04.0 | +dashboards-deployment-69b5465db-kgsqk | Running | 10.42.2.3 | ReplicaSet | agent2 | 14.98m | 108.85Mi | dashboards-container:0 | dashboards:24.04.0 | +arkime-deployment-56999cdd66-xxpw9 | Running | 10.42.2.11 | ReplicaSet | agent2 | 208.95m | 78.42Mi | arkime-container:0 | arkime:24.04.0 | +api-deployment-6f4686cf59-xt9md | Running | 10.42.1.3 | ReplicaSet | agent1 | 0.14m | 56.88Mi | api-container:0 | api:24.04.0 | +netbox-postgres-deployment-5879b8dffc-lb4qm | Running | 10.42.1.6 | ReplicaSet | agent1 | 141.2m | 48.02Mi | netbox-postgres-container:0 | postgresql:24.04.0 | +pcap-monitor-deployment-594ff674c4-fwq7g | Running | 10.42.1.12 | ReplicaSet | agent1 | 3.93m | 46.44Mi | pcap-monitor-container:0 | pcap-monitor:24.04.0 | +suricata-offline-deployment-6ccdb89478-j5fgj | Running | 10.42.1.10 | ReplicaSet | agent1 | 10.42m | 35.12Mi | suricata-offline-container:0 | suricata:24.04.0 | +suricata-live-deployment-6494c77759-rpt48 | Running | 10.42.1.8 | ReplicaSet | agent1 | 0.01m | 9.62Mi | suricata-live-container:0 | suricata:24.04.0 | +netbox-deployment-cdcff4977-7ns2q | Running | 10.42.1.7 | ReplicaSet | agent1 | 830.47m | 530.7Mi | netbox-container:0 | netbox:24.04.0 | +zeek-offline-deployment-844f4865bd-7x68b | Running | 10.42.1.9 | ReplicaSet | agent1 | 1.44m | 43.66Mi | zeek-offline-container:0 | zeek:24.04.0 | +filebeat-deployment-6ff8bc444f-pdgzj | Running | 10.42.1.11 | ReplicaSet | agent1 | 0.78m | 75.25Mi | filebeat-container:0 | filebeat-oss:24.04.0 | +file-monitor-deployment-855646bd75-nbngq | Running | 10.42.1.4 | ReplicaSet | agent1 | 1.69m | 1.46Gi | file-monitor-container:0 | file-monitor:24.04.0 | +upload-deployment-586568844b-9s7f5 | Running | 10.42.1.13 | ReplicaSet | agent1 | 0.14m | 29.62Mi | upload-container:0 | file-upload:24.04.0 | +logstash-deployment-6fbc9fdcd5-2hhx8 | Running | 10.42.1.5 | ReplicaSet | agent1 | 3236.29m | 357.36Mi | logstash-container:0 | logstash-oss:24.04.0 | ``` View container logs for the Malcolm deployment with `./scripts/logs` (if **[stern](https://github.com/stern/stern)** present in `$PATH`): diff --git a/docs/malcolm-iso.md b/docs/malcolm-iso.md index 0d0d167a4..73f13f416 100644 --- a/docs/malcolm-iso.md +++ b/docs/malcolm-iso.md @@ -41,7 +41,7 @@ Building the ISO may take 30 minutes or more depending on the system. As the bui ``` … -Finished, created "/malcolm-build/malcolm-iso/malcolm-24.03.1.iso" +Finished, created "/malcolm-build/malcolm-iso/malcolm-24.04.0.iso" … ``` diff --git a/docs/quickstart.md b/docs/quickstart.md index 61990e4e2..1626b2df1 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -54,25 +54,25 @@ You can then observe the images have been retrieved by running `docker images`: ``` $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE -ghcr.io/idaholab/malcolm/api 24.03.1 xxxxxxxxxxxx 3 days ago 158MB -ghcr.io/idaholab/malcolm/arkime 24.03.1 xxxxxxxxxxxx 3 days ago 816MB -ghcr.io/idaholab/malcolm/dashboards 24.03.1 xxxxxxxxxxxx 3 days ago 1.02GB -ghcr.io/idaholab/malcolm/dashboards-helper 24.03.1 xxxxxxxxxxxx 3 days ago 184MB -ghcr.io/idaholab/malcolm/file-monitor 24.03.1 xxxxxxxxxxxx 3 days ago 588MB -ghcr.io/idaholab/malcolm/file-upload 24.03.1 xxxxxxxxxxxx 3 days ago 259MB -ghcr.io/idaholab/malcolm/filebeat-oss 24.03.1 xxxxxxxxxxxx 3 days ago 624MB -ghcr.io/idaholab/malcolm/freq 24.03.1 xxxxxxxxxxxx 3 days ago 132MB -ghcr.io/idaholab/malcolm/htadmin 24.03.1 xxxxxxxxxxxx 3 days ago 242MB -ghcr.io/idaholab/malcolm/logstash-oss 24.03.1 xxxxxxxxxxxx 3 days ago 1.35GB -ghcr.io/idaholab/malcolm/netbox 24.03.1 xxxxxxxxxxxx 3 days ago 1.01GB -ghcr.io/idaholab/malcolm/nginx-proxy 24.03.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/opensearch 24.03.1 xxxxxxxxxxxx 3 days ago 1.17GB -ghcr.io/idaholab/malcolm/pcap-capture 24.03.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/pcap-monitor 24.03.1 xxxxxxxxxxxx 3 days ago 213MB -ghcr.io/idaholab/malcolm/postgresql 24.03.1 xxxxxxxxxxxx 3 days ago 268MB -ghcr.io/idaholab/malcolm/redis 24.03.1 xxxxxxxxxxxx 3 days ago 34.2MB -ghcr.io/idaholab/malcolm/suricata 24.03.1 xxxxxxxxxxxx 3 days ago 278MB -ghcr.io/idaholab/malcolm/zeek 24.03.1 xxxxxxxxxxxx 3 days ago 1GB +ghcr.io/idaholab/malcolm/api 24.04.0 xxxxxxxxxxxx 3 days ago 158MB +ghcr.io/idaholab/malcolm/arkime 24.04.0 xxxxxxxxxxxx 3 days ago 816MB +ghcr.io/idaholab/malcolm/dashboards 24.04.0 xxxxxxxxxxxx 3 days ago 1.02GB +ghcr.io/idaholab/malcolm/dashboards-helper 24.04.0 xxxxxxxxxxxx 3 days ago 184MB +ghcr.io/idaholab/malcolm/file-monitor 24.04.0 xxxxxxxxxxxx 3 days ago 588MB +ghcr.io/idaholab/malcolm/file-upload 24.04.0 xxxxxxxxxxxx 3 days ago 259MB +ghcr.io/idaholab/malcolm/filebeat-oss 24.04.0 xxxxxxxxxxxx 3 days ago 624MB +ghcr.io/idaholab/malcolm/freq 24.04.0 xxxxxxxxxxxx 3 days ago 132MB +ghcr.io/idaholab/malcolm/htadmin 24.04.0 xxxxxxxxxxxx 3 days ago 242MB +ghcr.io/idaholab/malcolm/logstash-oss 24.04.0 xxxxxxxxxxxx 3 days ago 1.35GB +ghcr.io/idaholab/malcolm/netbox 24.04.0 xxxxxxxxxxxx 3 days ago 1.01GB +ghcr.io/idaholab/malcolm/nginx-proxy 24.04.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/opensearch 24.04.0 xxxxxxxxxxxx 3 days ago 1.17GB +ghcr.io/idaholab/malcolm/pcap-capture 24.04.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/pcap-monitor 24.04.0 xxxxxxxxxxxx 3 days ago 213MB +ghcr.io/idaholab/malcolm/postgresql 24.04.0 xxxxxxxxxxxx 3 days ago 268MB +ghcr.io/idaholab/malcolm/redis 24.04.0 xxxxxxxxxxxx 3 days ago 34.2MB +ghcr.io/idaholab/malcolm/suricata 24.04.0 xxxxxxxxxxxx 3 days ago 278MB +ghcr.io/idaholab/malcolm/zeek 24.04.0 xxxxxxxxxxxx 3 days ago 1GB ``` ### Import from pre-packaged tarballs diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 6c0b3893c..f2488f950 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -257,25 +257,25 @@ Pulling zeek ... done user@host:~/Malcolm$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE -ghcr.io/idaholab/malcolm/api 24.03.1 xxxxxxxxxxxx 3 days ago 158MB -ghcr.io/idaholab/malcolm/arkime 24.03.1 xxxxxxxxxxxx 3 days ago 816MB -ghcr.io/idaholab/malcolm/dashboards 24.03.1 xxxxxxxxxxxx 3 days ago 1.02GB -ghcr.io/idaholab/malcolm/dashboards-helper 24.03.1 xxxxxxxxxxxx 3 days ago 184MB -ghcr.io/idaholab/malcolm/file-monitor 24.03.1 xxxxxxxxxxxx 3 days ago 588MB -ghcr.io/idaholab/malcolm/file-upload 24.03.1 xxxxxxxxxxxx 3 days ago 259MB -ghcr.io/idaholab/malcolm/filebeat-oss 24.03.1 xxxxxxxxxxxx 3 days ago 624MB -ghcr.io/idaholab/malcolm/freq 24.03.1 xxxxxxxxxxxx 3 days ago 132MB -ghcr.io/idaholab/malcolm/htadmin 24.03.1 xxxxxxxxxxxx 3 days ago 242MB -ghcr.io/idaholab/malcolm/logstash-oss 24.03.1 xxxxxxxxxxxx 3 days ago 1.35GB -ghcr.io/idaholab/malcolm/netbox 24.03.1 xxxxxxxxxxxx 3 days ago 1.01GB -ghcr.io/idaholab/malcolm/nginx-proxy 24.03.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/opensearch 24.03.1 xxxxxxxxxxxx 3 days ago 1.17GB -ghcr.io/idaholab/malcolm/pcap-capture 24.03.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/pcap-monitor 24.03.1 xxxxxxxxxxxx 3 days ago 213MB -ghcr.io/idaholab/malcolm/postgresql 24.03.1 xxxxxxxxxxxx 3 days ago 268MB -ghcr.io/idaholab/malcolm/redis 24.03.1 xxxxxxxxxxxx 3 days ago 34.2MB -ghcr.io/idaholab/malcolm/suricata 24.03.1 xxxxxxxxxxxx 3 days ago 278MB -ghcr.io/idaholab/malcolm/zeek 24.03.1 xxxxxxxxxxxx 3 days ago 1GB +ghcr.io/idaholab/malcolm/api 24.04.0 xxxxxxxxxxxx 3 days ago 158MB +ghcr.io/idaholab/malcolm/arkime 24.04.0 xxxxxxxxxxxx 3 days ago 816MB +ghcr.io/idaholab/malcolm/dashboards 24.04.0 xxxxxxxxxxxx 3 days ago 1.02GB +ghcr.io/idaholab/malcolm/dashboards-helper 24.04.0 xxxxxxxxxxxx 3 days ago 184MB +ghcr.io/idaholab/malcolm/file-monitor 24.04.0 xxxxxxxxxxxx 3 days ago 588MB +ghcr.io/idaholab/malcolm/file-upload 24.04.0 xxxxxxxxxxxx 3 days ago 259MB +ghcr.io/idaholab/malcolm/filebeat-oss 24.04.0 xxxxxxxxxxxx 3 days ago 624MB +ghcr.io/idaholab/malcolm/freq 24.04.0 xxxxxxxxxxxx 3 days ago 132MB +ghcr.io/idaholab/malcolm/htadmin 24.04.0 xxxxxxxxxxxx 3 days ago 242MB +ghcr.io/idaholab/malcolm/logstash-oss 24.04.0 xxxxxxxxxxxx 3 days ago 1.35GB +ghcr.io/idaholab/malcolm/netbox 24.04.0 xxxxxxxxxxxx 3 days ago 1.01GB +ghcr.io/idaholab/malcolm/nginx-proxy 24.04.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/opensearch 24.04.0 xxxxxxxxxxxx 3 days ago 1.17GB +ghcr.io/idaholab/malcolm/pcap-capture 24.04.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/pcap-monitor 24.04.0 xxxxxxxxxxxx 3 days ago 213MB +ghcr.io/idaholab/malcolm/postgresql 24.04.0 xxxxxxxxxxxx 3 days ago 268MB +ghcr.io/idaholab/malcolm/redis 24.04.0 xxxxxxxxxxxx 3 days ago 34.2MB +ghcr.io/idaholab/malcolm/suricata 24.04.0 xxxxxxxxxxxx 3 days ago 278MB +ghcr.io/idaholab/malcolm/zeek 24.04.0 xxxxxxxxxxxx 3 days ago 1GB ``` Finally, start Malcolm. When Malcolm starts it will stream informational and debug messages to the console until it has completed initializing. diff --git a/kubernetes/03-opensearch.yml b/kubernetes/03-opensearch.yml index d33197848..4a14aaeed 100644 --- a/kubernetes/03-opensearch.yml +++ b/kubernetes/03-opensearch.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: opensearch-container - image: ghcr.io/idaholab/malcolm/opensearch:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/opensearch:development imagePullPolicy: Always stdin: false tty: true @@ -71,7 +71,7 @@ spec: subPath: "opensearch" initContainers: - name: opensearch-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/04-dashboards.yml b/kubernetes/04-dashboards.yml index 47f759213..cfbb8b422 100644 --- a/kubernetes/04-dashboards.yml +++ b/kubernetes/04-dashboards.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: dashboards-container - image: ghcr.io/idaholab/malcolm/dashboards:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dashboards:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/05-upload.yml b/kubernetes/05-upload.yml index ae65af467..7631d405f 100644 --- a/kubernetes/05-upload.yml +++ b/kubernetes/05-upload.yml @@ -34,7 +34,7 @@ spec: spec: containers: - name: upload-container - image: ghcr.io/idaholab/malcolm/file-upload:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/file-upload:development imagePullPolicy: Always stdin: false tty: true @@ -73,7 +73,7 @@ spec: subPath: "upload" initContainers: - name: upload-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/06-pcap-monitor.yml b/kubernetes/06-pcap-monitor.yml index c14afabbd..70da6fc02 100644 --- a/kubernetes/06-pcap-monitor.yml +++ b/kubernetes/06-pcap-monitor.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: pcap-monitor-container - image: ghcr.io/idaholab/malcolm/pcap-monitor:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/pcap-monitor:development imagePullPolicy: Always stdin: false tty: true @@ -70,7 +70,7 @@ spec: name: pcap-monitor-zeek-volume initContainers: - name: pcap-monitor-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/07-arkime.yml b/kubernetes/07-arkime.yml index 2e8b35855..e050e6036 100644 --- a/kubernetes/07-arkime.yml +++ b/kubernetes/07-arkime.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: arkime-container - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/arkime:development imagePullPolicy: Always stdin: false tty: true @@ -79,7 +79,7 @@ spec: name: arkime-pcap-volume initContainers: - name: arkime-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/08-api.yml b/kubernetes/08-api.yml index 457a81a37..dff8c4274 100644 --- a/kubernetes/08-api.yml +++ b/kubernetes/08-api.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: api-container - image: ghcr.io/idaholab/malcolm/api:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/api:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/09-dashboards-helper.yml b/kubernetes/09-dashboards-helper.yml index aa03d1cab..3c1292517 100644 --- a/kubernetes/09-dashboards-helper.yml +++ b/kubernetes/09-dashboards-helper.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: dashboards-helper-container - image: ghcr.io/idaholab/malcolm/dashboards-helper:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dashboards-helper:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/10-zeek.yml b/kubernetes/10-zeek.yml index 92f5e0b80..daa925943 100644 --- a/kubernetes/10-zeek.yml +++ b/kubernetes/10-zeek.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: zeek-offline-container - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/zeek:development imagePullPolicy: Always stdin: false tty: true @@ -64,7 +64,7 @@ spec: subPath: "zeek/intel" initContainers: - name: zeek-offline-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/11-suricata.yml b/kubernetes/11-suricata.yml index df5e97054..5bdf9472f 100644 --- a/kubernetes/11-suricata.yml +++ b/kubernetes/11-suricata.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: suricata-offline-container - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/suricata:development imagePullPolicy: Always stdin: false tty: true @@ -55,7 +55,7 @@ spec: name: suricata-offline-custom-configs-volume initContainers: - name: suricata-offline-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/12-file-monitor.yml b/kubernetes/12-file-monitor.yml index bc55fb0e0..4925d67ba 100644 --- a/kubernetes/12-file-monitor.yml +++ b/kubernetes/12-file-monitor.yml @@ -33,7 +33,7 @@ spec: spec: containers: - name: file-monitor-container - image: ghcr.io/idaholab/malcolm/file-monitor:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/file-monitor:development imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: name: file-monitor-yara-rules-custom-volume initContainers: - name: file-monitor-live-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/13-filebeat.yml b/kubernetes/13-filebeat.yml index c9eb11c99..da45a94d1 100644 --- a/kubernetes/13-filebeat.yml +++ b/kubernetes/13-filebeat.yml @@ -33,7 +33,7 @@ spec: spec: containers: - name: filebeat-container - image: ghcr.io/idaholab/malcolm/filebeat-oss:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/filebeat-oss:development imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: subPath: "nginx" initContainers: - name: filebeat-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/14-logstash.yml b/kubernetes/14-logstash.yml index ac26d7f2f..0cb84994b 100644 --- a/kubernetes/14-logstash.yml +++ b/kubernetes/14-logstash.yml @@ -49,7 +49,7 @@ spec: # topologyKey: "kubernetes.io/hostname" containers: - name: logstash-container - image: ghcr.io/idaholab/malcolm/logstash-oss:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/logstash-oss:development imagePullPolicy: Always stdin: false tty: true @@ -115,7 +115,7 @@ spec: subPath: "logstash" initContainers: - name: logstash-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/15-netbox-redis.yml b/kubernetes/15-netbox-redis.yml index e0056f3c8..922f54f1d 100644 --- a/kubernetes/15-netbox-redis.yml +++ b/kubernetes/15-netbox-redis.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-redis-container - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/redis:development imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: subPath: netbox/redis initContainers: - name: netbox-redis-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/16-netbox-redis-cache.yml b/kubernetes/16-netbox-redis-cache.yml index 84dcffb87..0fef1bbf0 100644 --- a/kubernetes/16-netbox-redis-cache.yml +++ b/kubernetes/16-netbox-redis-cache.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-redis-cache-container - image: ghcr.io/idaholab/malcolm/redis:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/redis:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/17-netbox-postgres.yml b/kubernetes/17-netbox-postgres.yml index 587c4aa72..55a066358 100644 --- a/kubernetes/17-netbox-postgres.yml +++ b/kubernetes/17-netbox-postgres.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-postgres-container - image: ghcr.io/idaholab/malcolm/postgresql:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/postgresql:development imagePullPolicy: Always stdin: false tty: true @@ -74,7 +74,7 @@ spec: subPath: netbox/postgres initContainers: - name: netbox-postgres-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/18-netbox.yml b/kubernetes/18-netbox.yml index 6a3f4c8f6..f81438018 100644 --- a/kubernetes/18-netbox.yml +++ b/kubernetes/18-netbox.yml @@ -36,7 +36,7 @@ spec: spec: containers: - name: netbox-container - image: ghcr.io/idaholab/malcolm/netbox:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/netbox:development imagePullPolicy: Always stdin: false tty: true @@ -88,7 +88,7 @@ spec: subPath: netbox/media initContainers: - name: netbox-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/19-htadmin.yml b/kubernetes/19-htadmin.yml index 2a2015ce0..de5293761 100644 --- a/kubernetes/19-htadmin.yml +++ b/kubernetes/19-htadmin.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: htadmin-container - image: ghcr.io/idaholab/malcolm/htadmin:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/htadmin:development imagePullPolicy: Always stdin: false tty: true @@ -63,7 +63,7 @@ spec: subPath: "htadmin" initContainers: - name: htadmin-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/20-pcap-capture.yml b/kubernetes/20-pcap-capture.yml index 35a46368c..2e0f46fca 100644 --- a/kubernetes/20-pcap-capture.yml +++ b/kubernetes/20-pcap-capture.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: pcap-capture-container - image: ghcr.io/idaholab/malcolm/pcap-capture:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/pcap-capture:development imagePullPolicy: Always stdin: false tty: true @@ -50,7 +50,7 @@ spec: subPath: "upload" initContainers: - name: pcap-capture-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/21-zeek-live.yml b/kubernetes/21-zeek-live.yml index 92984ceb0..2575cfdc3 100644 --- a/kubernetes/21-zeek-live.yml +++ b/kubernetes/21-zeek-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: zeek-live-container - image: ghcr.io/idaholab/malcolm/zeek:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/zeek:development imagePullPolicy: Always stdin: false tty: true @@ -61,7 +61,7 @@ spec: subPath: "zeek/intel" initContainers: - name: zeek-live-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/22-suricata-live.yml b/kubernetes/22-suricata-live.yml index 2f1b95d57..3fbca4d03 100644 --- a/kubernetes/22-suricata-live.yml +++ b/kubernetes/22-suricata-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: suricata-live-container - image: ghcr.io/idaholab/malcolm/suricata:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/suricata:development imagePullPolicy: Always stdin: false tty: true @@ -56,7 +56,7 @@ spec: name: suricata-live-custom-configs-volume initContainers: - name: suricata-live-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/23-arkime-live.yml b/kubernetes/23-arkime-live.yml index c3f30ec4c..79b4bc4d3 100644 --- a/kubernetes/23-arkime-live.yml +++ b/kubernetes/23-arkime-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: arkime-live-container - image: ghcr.io/idaholab/malcolm/arkime:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/arkime:development imagePullPolicy: Always stdin: false tty: true @@ -62,7 +62,7 @@ spec: name: arkime-live-pcap-volume initContainers: - name: arkime-live-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/24-freq.yml b/kubernetes/24-freq.yml index 465744da9..b9dc580df 100644 --- a/kubernetes/24-freq.yml +++ b/kubernetes/24-freq.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: freq-container - image: ghcr.io/idaholab/malcolm/freq:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/freq:development imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/98-nginx-proxy.yml b/kubernetes/98-nginx-proxy.yml index 44ecd11fb..212c3eca9 100644 --- a/kubernetes/98-nginx-proxy.yml +++ b/kubernetes/98-nginx-proxy.yml @@ -39,7 +39,7 @@ spec: spec: containers: - name: nginx-proxy-container - image: ghcr.io/idaholab/malcolm/nginx-proxy:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/nginx-proxy:development imagePullPolicy: Always stdin: false tty: true @@ -99,7 +99,7 @@ spec: subPath: "nginx" initContainers: - name: nginx-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:24.03.1 + image: ghcr.io/mmguero-dev/malcolm/dirinit:development imagePullPolicy: Always stdin: false tty: true diff --git a/scripts/third-party-environments/aws/ami/packer_vars.json.example b/scripts/third-party-environments/aws/ami/packer_vars.json.example index 0d3d6ce84..51d355c9c 100644 --- a/scripts/third-party-environments/aws/ami/packer_vars.json.example +++ b/scripts/third-party-environments/aws/ami/packer_vars.json.example @@ -2,7 +2,7 @@ "aws_access_key": "XXXXXXXXXXXXXXXXXXXX", "aws_secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "instance_type": "t2.micro", - "malcolm_tag": "v24.03.1", + "malcolm_tag": "v24.04.0", "malcolm_repo": "idaholab/Malcolm", "malcolm_uid": "1000", "ssh_username": "ec2-user", From 625504455926f53310149dc772b997da83138e25 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 28 Mar 2024 11:49:13 -0600 Subject: [PATCH 02/98] bump beats to v8.13.0 (https://www.elastic.co/guide/en/beats/libbeat/current/release-notes-8.13.0.html) and logstash to v8.13.0 (https://www.elastic.co/guide/en/logstash/current/logstash-8-13-0.html) --- Dockerfiles/filebeat.Dockerfile | 2 +- Dockerfiles/logstash.Dockerfile | 2 +- hedgehog-iso/build.sh | 2 +- hedgehog-raspi/sensor_install.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index fb73e015b..32813958d 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/beats/filebeat-oss:8.12.1 +FROM docker.elastic.co/beats/filebeat-oss:8.13.0 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile index 62c972366..5706d4101 100644 --- a/Dockerfiles/logstash.Dockerfile +++ b/Dockerfiles/logstash.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/logstash/logstash-oss:8.12.1 +FROM docker.elastic.co/logstash/logstash-oss:8.13.0 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index 67c0dfe5e..10de19435 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -5,7 +5,7 @@ IMAGE_PUBLISHER=idaholab IMAGE_VERSION=1.0.0 IMAGE_DISTRIBUTION=bookworm -BEATS_VER="8.12.1" +BEATS_VER="8.13.0" BEATS_OSS="-oss" BUILD_ERROR_CODE=1 diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index 9b0e269eb..c377b8433 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -32,7 +32,7 @@ SHARED_DIR='/opt/buildshared' WORK_DIR="$(mktemp -d -t hedgehog-XXXXXX)" SENSOR_DIR='/opt/sensor' -BEATS_VER="8.12.1" +BEATS_VER="8.13.0" BEATS_OSS="-oss" # Option to build from sources if desired From de3330c427fb7242d8de0deaadf557e845e314f1 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 28 Mar 2024 11:55:39 -0600 Subject: [PATCH 03/98] Compose v2 ignores the top-level version element in docker-compose files. Removing it to supress the warning that is given from 2.25 and up. (https://docs.docker.com/compose/compose-file/04-version-and-name/ , https://docs.docker.com/compose/intro/history/#compose-file-format-versioning ) --- arkime/arkime_regression_test_harness/docker-compose.yml | 2 -- docker-compose-dev.yml | 2 -- docker-compose.yml | 2 -- 3 files changed, 6 deletions(-) diff --git a/arkime/arkime_regression_test_harness/docker-compose.yml b/arkime/arkime_regression_test_harness/docker-compose.yml index 8bd2d5f5b..bd623f32e 100644 --- a/arkime/arkime_regression_test_harness/docker-compose.yml +++ b/arkime/arkime_regression_test_harness/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.7' - services: opensearch: image: opensearchproject/opensearch:1.0.0 diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index ed913b4e8..c1c5c66ba 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -1,7 +1,5 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. -version: '3.7' - x-logging: &default-logging driver: local diff --git a/docker-compose.yml b/docker-compose.yml index 1e18b6dfb..0835fc6c7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,5 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. -version: '3.7' - x-logging: &default-logging driver: local From 0fd6ab89b7578f289060392c64aa8cc8875e0a42 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 13:53:45 -0600 Subject: [PATCH 04/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- Dockerfiles/file-monitor.Dockerfile | 30 ++++---- file-monitor/scripts/.gitignore | 1 - hedgehog-iso/build.sh | 10 +++ hedgehog-iso/build_via_vagrant.sh | 5 +- .../normal/0169-pip-installs.hook.chroot | 2 + ...{ufw_arkime_viewer => ufw_sensor_services} | 2 +- .../interface/sensor_ctl/control_vars.conf | 14 +++- .../sensor_ctl/supervisor.d/zeek.conf | 20 ++++++ .../supervisor.init/arkime_config_populate.sh | 2 +- hedgehog-raspi/generate-recipe.py | 6 +- hedgehog-raspi/sensor_install.sh | 4 ++ shared/bin/configure-capture.py | 14 ++-- .../bin}/extracted_files_http_server.py | 71 ++++++++++++++----- shared/bin/ufw_allow_requests.sh | 67 +++++++++++++++++ shared/bin/ufw_allow_viewer.sh | 62 ---------------- shared/bin/web-ui-asset-download.sh | 34 +++++++++ 16 files changed, 236 insertions(+), 108 deletions(-) delete mode 100644 file-monitor/scripts/.gitignore rename hedgehog-iso/config/includes.chroot/etc/sudoers.d/{ufw_arkime_viewer => ufw_sensor_services} (53%) rename {file-monitor/scripts => shared/bin}/extracted_files_http_server.py (94%) create mode 100755 shared/bin/ufw_allow_requests.sh delete mode 100755 shared/bin/ufw_allow_viewer.sh create mode 100755 shared/bin/web-ui-asset-download.sh diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 45f7f29ff..ac500cda7 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -103,6 +103,11 @@ ENV SUPERCRONIC_SHA1SUM "cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b" ENV SUPERCRONIC_CRONTAB "/etc/crontab" COPY --chmod=755 shared/bin/yara_rules_setup.sh /usr/local/bin/ +ADD nginx/landingpage/css "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css" +ADD nginx/landingpage/js "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/js" +ADD --chmod=644 docs/images/logo/Malcolm_background.png "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/assets/img/bg-masthead.png" +COPY --chmod=644 docs/images/icon/favicon.ico "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/favicon.ico" +COPY --chmod=755 shared/bin/web-ui-asset-download.sh /usr/local/bin/ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sources && \ apt-get -q update && \ @@ -170,6 +175,8 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour rm -rf "${SRC_BASE_DIR}"/yara* && \ cd "${YARA_RULES_SRC_DIR}" && \ /usr/local/bin/yara_rules_setup.sh -r "${YARA_RULES_SRC_DIR}" -y "${YARA_RULES_DIR}" && \ + cd /tmp && \ + /usr/local/bin/web-ui-asset-download.sh -o "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css" && \ cd /tmp && \ curl -fsSL -o ./capa.zip "${CAPA_URL}" && \ unzip ./capa.zip && \ @@ -190,9 +197,6 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour libtool \ make \ python3-dev && \ - apt-get -y -q --allow-downgrades --allow-remove-essential --allow-change-held-packages autoremove && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* && \ mkdir -p /var/log/clamav "${CLAMAV_RULES_DIR}" && \ groupadd --gid ${DEFAULT_GID} ${PGROUP} && \ useradd -m --uid ${DEFAULT_UID} --gid ${DEFAULT_GID} ${PUSER} && \ @@ -214,7 +218,10 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour ln -r -s /usr/local/bin/zeek_carve_scanner.py /usr/local/bin/clam_scan.py && \ ln -r -s /usr/local/bin/zeek_carve_scanner.py /usr/local/bin/yara_scan.py && \ ln -r -s /usr/local/bin/zeek_carve_scanner.py /usr/local/bin/capa_scan.py && \ - echo "0 */6 * * * /bin/bash /usr/local/bin/capa-update.sh\n0 */6 * * * /usr/local/bin/yara_rules_setup.sh -r \"${YARA_RULES_SRC_DIR}\" -y \"${YARA_RULES_DIR}\"" > ${SUPERCRONIC_CRONTAB} + echo "0 */6 * * * /bin/bash /usr/local/bin/capa-update.sh\n0 */6 * * * /usr/local/bin/yara_rules_setup.sh -r \"${YARA_RULES_SRC_DIR}\" -y \"${YARA_RULES_DIR}\"" > ${SUPERCRONIC_CRONTAB} && \ + apt-get -y -q --allow-downgrades --allow-remove-essential --allow-change-held-packages autoremove && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /tmp/* && \ USER ${PUSER} @@ -222,23 +229,10 @@ RUN /usr/bin/freshclam freshclam --config-file=/etc/clamav/freshclam.conf USER root -ADD nginx/landingpage/css "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css" -ADD nginx/landingpage/js "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/js" -ADD --chmod=644 docs/images/logo/Malcolm_background.png "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/assets/img/bg-masthead.png" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/" -ADD --chmod=644 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d' "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/bootstrap-icons.woff2" -ADD --chmod=644 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d' "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/css/bootstrap-icons.woff" - -COPY --chmod=644 docs/images/icon/favicon.ico "${EXTRACTED_FILE_HTTP_SERVER_ASSETS_DIR}/favicon.ico" COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ COPY --chmod=755 shared/bin/service_check_passthrough.sh /usr/local/bin/ COPY --chmod=755 shared/bin/zeek_carve*.py /usr/local/bin/ -COPY --chmod=755 file-monitor/scripts/*.py /usr/local/bin/ +COPY --chmod=644 shared/bin/extracted_files_http_server.py /usr/local/bin/ COPY --chmod=644 shared/bin/watch_common.py /usr/local/bin/ COPY --chmod=644 scripts/malcolm_utils.py /usr/local/bin/ COPY --chmod=644 file-monitor/supervisord.conf /etc/supervisord.conf diff --git a/file-monitor/scripts/.gitignore b/file-monitor/scripts/.gitignore deleted file mode 100644 index a2d7c8915..000000000 --- a/file-monitor/scripts/.gitignore +++ /dev/null @@ -1 +0,0 @@ -malcolm_utils.py diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index 10de19435..2a6e16fe8 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -114,6 +114,16 @@ if [ -d "$WORKDIR" ]; then chown -R root:root ./config/includes.chroot/usr/local/bin/ ./config/includes.chroot/opt/zeek/bin/ rsync -a "$SCRIPT_PATH/suricata/" ./config/includes.chroot/opt/sensor/sensor_ctl/suricata/ + # assets for extracted file server + mkdir -p ./config/includes.chroot/opt/sensor/assets/img/ + rsync -a "$SCRIPT_PATH/nginx/" ./config/includes.chroot/opt/sensor/assets/ + cp "$SCRIPT_PATH"/docs/images/icon/favicon.ico ./config/includes.chroot/opt/sensor/assets/ + cp "$SCRIPT_PATH"/docs/images/logo/Malcolm_background.png ./config/includes.chroot/opt/sensor/assets/img/bg-masthead.png + bash "$SCRIPT_PATH/shared/bin/web-ui-asset-download.sh" -o ./config/includes.chroot/opt/sensor/assets/css/ + chown -R root:root ./config/includes.chroot/opt/sensor/assets/css/ + find ./config/includes.chroot/opt/sensor/assets/ -type d -exec chmod 755 "{}" \; + find ./config/includes.chroot/opt/sensor/assets/ -type f -exec chmod 644 "{}" \; + # write out some version stuff specific to this installation version echo "BUILD_ID=\"$(date +'%Y-%m-%d')-${IMAGE_VERSION}\"" > ./config/includes.chroot/opt/sensor/.os-info echo "VARIANT=\"Hedgehog Linux (Sensor) v${IMAGE_VERSION}\"" >> ./config/includes.chroot/opt/sensor/.os-info diff --git a/hedgehog-iso/build_via_vagrant.sh b/hedgehog-iso/build_via_vagrant.sh index 73c557598..e9ba553b5 100755 --- a/hedgehog-iso/build_via_vagrant.sh +++ b/hedgehog-iso/build_via_vagrant.sh @@ -30,6 +30,7 @@ function cleanup_shared_and_docs { "$SCRIPT_PATH"/Gemfile \ "$SCRIPT_PATH"/README.md \ "$SCRIPT_PATH"/suricata \ + "$SCRIPT_PATH"/nginx \ "$SCRIPT_PATH"/htpdate } @@ -90,8 +91,10 @@ cp -r "$SCRIPT_PATH"/../shared \ "$SCRIPT_PATH"/../README.md "$SCRIPT_PATH"/ cp "$SCRIPT_PATH"/../scripts/documentation_build.sh "$SCRIPT_PATH"/docs/ cp "$SCRIPT_PATH"/../scripts/malcolm_utils.py "$SCRIPT_PATH"/shared/bin/ -mkdir "$SCRIPT_PATH"/suricata +mkdir "$SCRIPT_PATH"/nginx "$SCRIPT_PATH"/suricata cp -r "$SCRIPT_PATH"/../suricata/rules-default "$SCRIPT_PATH"/suricata/ +cp -r "$SCRIPT_PATH"/../nginx/css "$SCRIPT_PATH"/nginx/ +cp -r "$SCRIPT_PATH"/../nginx/js "$SCRIPT_PATH"/nginx/ YML_IMAGE_VERSION="$(grep -P "^\s+image:.*/malcolm/" "$SCRIPT_PATH"/../docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" [[ -n $YML_IMAGE_VERSION ]] && echo "$YML_IMAGE_VERSION" > "$SCRIPT_PATH"/shared/version.txt diff --git a/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot b/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot index 3a217625c..37bbf8d5c 100755 --- a/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot +++ b/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot @@ -12,9 +12,11 @@ pip3 install --break-system-packages --no-compile --no-cache-dir --force-reinsta clamd \ dateparser \ debinterface \ + dominate \ pymisp \ python-dotenv \ ruamel.yaml \ stix2 \ + stream-zip \ taxii2-client \ watchdog diff --git a/hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_arkime_viewer b/hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_sensor_services similarity index 53% rename from hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_arkime_viewer rename to hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_sensor_services index 55f79d5e2..f89d43f29 100644 --- a/hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_arkime_viewer +++ b/hedgehog-iso/config/includes.chroot/etc/sudoers.d/ufw_sensor_services @@ -1,2 +1,2 @@ # allow unprivileged mgmt of UFW access for the local Arkime viewer instance -%netdev ALL=(root) NOPASSWD: /usr/local/bin/ufw_allow_viewer.sh +%netdev ALL=(root) NOPASSWD: /usr/local/bin/ufw_allow_requests.sh diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index 66a9ec266..04d324989 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -12,7 +12,6 @@ export PCAP_PRUNE_CHECK_SECONDS=60 export ARKIME_VIEWER_PORT=8005 export ARKIME_PACKET_THREADS=5 -export ARKIME_PACKET_ACL= export ARKIME_ECS_PROVIDER=arkime export ARKIME_ECS_DATASET=session export ARKIME_COMPRESSION_TYPE=zstd @@ -26,6 +25,19 @@ export ARKIME_FREESPACEG=7% export ARKIME_ROTATE_INDEX=daily export ARKIME_DEBUG_LEVEL=0 +# Whether or not to serve the directory containing Zeek-extracted over HTTP at ./extracted-files/ +export EXTRACTED_FILE_HTTP_SERVER_ENABLE=false +export EXTRACTED_FILE_HTTP_SERVER_PORT=8006 +export EXTRACTED_FILE_HTTP_ASSETS_DIR=/opt/assets +# Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file +export EXTRACTED_FILE_HTTP_SERVER_ZIP=false +# Whether or not to use libmagic to show MIME types for Zeek-extracted files served +export EXTRACTED_FILE_HTTP_SERVER_MAGIC=false +# HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved") +export EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true + +export MALCOLM_REQUEST_ACL= +export MALCOLM_REQUEST_PORTS=$ARKIME_VIEWER_PORT,$EXTRACTED_FILE_HTTP_SERVER_PORT export DOCUMENTATION_PORT=8420 export MISCBEAT_PORT=9516 export FLUENTBIT_METRICS_INTERVAL=30 diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf index 6148fa342..e3787b232 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf @@ -101,3 +101,23 @@ autostart=%(ENV_ZEEK_FILE_WATCH)s autorestart=%(ENV_ZEEK_FILE_WATCH)s directory=%(ENV_ZEEK_LOG_PATH)s user=sensor + +[program:fileserve] +command=/usr/local/bin/extracted_files_http_server.py + --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s + --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s + --recursive %(ENV_EXTRACTED_FILE_HTTP_SERVER_RECURSIVE)s + --directory "%(ENV_ZEEK_LOG_PATH)s/extract_files" + --assets-directory "%(ENV_EXTRACTED_FILE_HTTP_ASSETS_DIR)s" +startsecs=30 +startretries=3 +stopasgroup=true +killasgroup=true +autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s +autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s +directory=%(ENV_ZEEK_LOG_PATH)s/extract_files +user=sensor + +; #TODO: assets? +; --assets-directory-req-replacer /assets +; --assets-directory-resp-replacer /extracted-files/assets diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh index 41273b6b9..6643040df 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh @@ -112,7 +112,7 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -r "$SUPERVISOR_PATH"/arkime/config.ini ]]; t fi # update the firewall ACL (via ufw) to allow retrieval of packets - sudo --non-interactive /usr/local/bin/ufw_allow_viewer.sh + sudo --non-interactive /usr/local/bin/ufw_allow_requests.sh # make sure interface flags are set appropriately for capture if [[ -n $CAPTURE_INTERFACE ]]; then diff --git a/hedgehog-raspi/generate-recipe.py b/hedgehog-raspi/generate-recipe.py index 4ad1535c7..7dfbc98a3 100755 --- a/hedgehog-raspi/generate-recipe.py +++ b/hedgehog-raspi/generate-recipe.py @@ -92,7 +92,7 @@ # Nothing yet! extra_root_shell_cmds = [ 'cp sensor_install.sh "${ROOT?}/root/"', - '/bin/bash -c \'mkdir -p "${ROOT?}/opt/"{buildshared,deps,hooks,patches,sensor/sensor_ctl/suricata/rules-default,arkime/etc,zeek/bin}\'', + '/bin/bash -c \'mkdir -p "${ROOT?}/opt/"{sensor/assets/img,buildshared,deps,hooks,patches,sensor/sensor_ctl/suricata/rules-default,arkime/etc,zeek/bin}\'', 'cp "%s/arkime/patch/"* "${ROOT?}/opt/patches/" || true' % MALCOLM_DIR, 'cp "%s/arkime/etc/"* "${ROOT?}/opt/arkime/etc" || true' % SENSOR_DIR, 'cp -r "%s/suricata/rules-default/"* "${ROOT?}/opt/sensor/sensor_ctl/suricata/rules-default/" || true' @@ -110,6 +110,10 @@ 'cp -r "%s/config/hooks/normal/"* "${ROOT?}/opt/hooks/"' % SENSOR_DIR, 'cp -r "%s/config/package-lists/"* "${ROOT?}/opt/deps/"' % SENSOR_DIR, 'cp -r "%s/docs/images/hedgehog/logo/hedgehog-ascii-text.txt"* "${ROOT?}/root/"' % MALCOLM_DIR, + 'cp -r "%s/nginx/css/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/nginx/js/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/docs/images/icon/favicon.ico" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/docs/images/logo/Malcolm_background.png" "${ROOT?}/opt/sensor/assets/img/bg-masthead.png"' % MALCOLM_DIR, ] # Extend list just in case version is 4 diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index c377b8433..d1f95924f 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -397,6 +397,10 @@ install_files() { curl -s -S -L -o ./oui.txt "https://www.wireshark.org/download/automated/data/manuf" popd >/dev/null 2>&1 + # download assets for extracted file server + /usr/local/bin/web-ui-asset-download.sh -o /opt/sensor/assets/css + find /opt/sensor/assets -type f + # Prepare Fluentbit and Beats repo GPG keys local apt_lists='/etc/apt/sources.list.d' local apt_keys='/etc/apt/keyrings' diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index 44cc1b01c..7f06908d4 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -105,7 +105,7 @@ class Constants: # specific to arkime ARKIME_PASSWORD_SECRET = "ARKIME_PASSWORD_SECRET" - ARKIME_PACKET_ACL = "ARKIME_PACKET_ACL" + MALCOLM_REQUEST_ACL = "MALCOLM_REQUEST_ACL" ARKIME_COMPRESSION_TYPE = "ARKIME_COMPRESSION_TYPE" ARKIME_COMPRESSION_LEVEL = "ARKIME_COMPRESSION_LEVEL" ARKIME_COMPRESSION_TYPES = ( @@ -376,10 +376,12 @@ def main(): "OS_USERNAME" in capture_config_dict.keys() ): previous_config_values[Constants.BEAT_HTTP_USERNAME] = capture_config_dict["OS_USERNAME"] - if (Constants.ARKIME_PACKET_ACL not in previous_config_values.keys()) and ( - "ARKIME_PACKET_ACL" in capture_config_dict.keys() + if (Constants.MALCOLM_REQUEST_ACL not in previous_config_values.keys()) and ( + "MALCOLM_REQUEST_ACL" in capture_config_dict.keys() ): - previous_config_values[Constants.ARKIME_PACKET_ACL] = capture_config_dict[Constants.ARKIME_PACKET_ACL] + previous_config_values[Constants.MALCOLM_REQUEST_ACL] = capture_config_dict[ + Constants.MALCOLM_REQUEST_ACL + ] if (Constants.ARKIME_PASSWORD_SECRET not in previous_config_values.keys()) and ( "ARKIME_PASSWORD_SECRET" in capture_config_dict.keys() ): @@ -894,14 +896,14 @@ def main(): arkime_config_dict[Constants.ARKIME_PASSWORD_SECRET] = arkime_password # get list of IP addresses allowed for packet payload retrieval - lines = previous_config_values[Constants.ARKIME_PACKET_ACL].split(",") + lines = previous_config_values[Constants.MALCOLM_REQUEST_ACL].split(",") lines.append(opensearch_config_dict[Constants.BEAT_OS_HOST]) code, lines = d.editbox_str( "\n".join(list(filter(None, list(set(lines))))), title=Constants.MSG_CONFIG_ARKIME_PCAP_ACL ) if code != Dialog.OK: raise CancelledError - arkime_config_dict[Constants.ARKIME_PACKET_ACL] = ','.join( + arkime_config_dict[Constants.MALCOLM_REQUEST_ACL] = ','.join( [ ip for ip in list(set(filter(None, [x.strip() for x in lines.split('\n')]))) diff --git a/file-monitor/scripts/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py similarity index 94% rename from file-monitor/scripts/extracted_files_http_server.py rename to shared/bin/extracted_files_http_server.py index e1f2e0743..26af3b4c5 100755 --- a/file-monitor/scripts/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -7,21 +7,23 @@ # be aes-256-cbc encrypted in a way that's compatible with: # openssl enc -aes-256-cbc -d -in encrypted.data -out decrypted.data +import atexit import argparse import dominate +import functools import hashlib import magic import os import re +import ssl import sys +import time from Crypto.Cipher import AES from datetime import datetime, timedelta, UTC from dominate.tags import * -from http.server import HTTPServer, SimpleHTTPRequestHandler -from socketserver import ThreadingMixIn +from http.server import ThreadingHTTPServer, SimpleHTTPRequestHandler from stat import S_IFREG from stream_zip import ZIP_32, stream_zip -from threading import Thread from malcolm_utils import ( eprint, @@ -70,7 +72,7 @@ class HTTPHandler(SimpleHTTPRequestHandler): def translate_path(self, path): path = SimpleHTTPRequestHandler.translate_path(self, path) relpath = os.path.relpath(path, os.getcwd()) - fullpath = os.path.join(self.server.base_path, relpath) + fullpath = os.path.join(self.directory, relpath) return fullpath, relpath # override do_GET for fancy directory listing and so that files are encrypted/zipped, if requested @@ -417,17 +419,21 @@ def do_GET(self): ################################################################################################### # -class ThreadingHTTPServer(ThreadingMixIn, HTTPServer): - def __init__(self, base_path, server_address, RequestHandlerClass=HTTPHandler): - self.base_path = base_path - HTTPServer.__init__(self, server_address, RequestHandlerClass) - - -################################################################################################### -# -def serve_on_port(path: str, port: int): - server = ThreadingHTTPServer(path, ("", port)) - print(f"serving {path} at port {port}") +def serve_on_port( + path, + port, + tls=False, + tls_key_file=None, + tls_cert_file=None, + server_class=ThreadingHTTPServer, + handler_class=HTTPHandler, +): + server = server_class(("", port), functools.partial(handler_class, directory=path)) + if tlsOk := (tls and os.path.isfile(str(tls_key_file)) and os.path.isfile(str(tls_cert_file))): + ctx = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER) + ctx.load_cert_chain(certfile=tls_cert_file, keyfile=tls_key_file) + server.socket = ctx.wrap_socket(server.socket, server_side=True) + print(f"serving {path} at port {port}{' over TLS' if tlsOk else ''}") server.serve_forever() @@ -474,6 +480,33 @@ def main(): type=int, default=defaultPort, ) + parser.add_argument( + '-t', + '--tls', + dest='tls', + type=str2bool, + nargs='?', + const=True, + default=defaultMagic, + metavar='true|false', + help=f"Serve with TLS (must specify --tls-keyfile and --tls-certfile)", + ) + parser.add_argument( + '--tls-keyfile', + dest='tlsKeyFile', + help=f'TLS Key File', + metavar='', + type=str, + default=None, + ) + parser.add_argument( + '--tls-certfile', + dest='tlsCertFile', + help=f'TLS Certificate File', + metavar='', + type=str, + default=None, + ) parser.add_argument( '-d', '--directory', @@ -591,7 +624,13 @@ def main(): if args.assetsDirRespReplacer: args.assetsDirRespReplacer = os.path.join(args.assetsDirRespReplacer, '') - Thread(target=serve_on_port, args=[args.serveDir, args.port]).start() + serve_on_port( + path=args.serveDir, + port=args.port, + tls=args.tls, + tls_key_file=args.tlsKeyFile, + tls_cert_file=args.tlsCertFile, + ) ################################################################################################### diff --git a/shared/bin/ufw_allow_requests.sh b/shared/bin/ufw_allow_requests.sh new file mode 100755 index 000000000..bec7776a0 --- /dev/null +++ b/shared/bin/ufw_allow_requests.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. + +# manage a UFW rule for allowing a remote Malcolm instance to connect to +# services hosted on the sensor + +# works with a comma-separated list of IP addresses in $MALCOLM_REQUEST_ACL, or +# if that variable is not set, a single IP address in $OS_HOST + +[[ "$(uname -s)" = 'Darwin' ]] && REALPATH=grealpath || REALPATH=realpath +[[ "$(uname -s)" = 'Darwin' ]] && DIRNAME=gdirname || DIRNAME=dirname +if ! (type "$REALPATH" && type "$DIRNAME") > /dev/null; then + echo "$(basename "${BASH_SOURCE[0]}") requires $REALPATH and $DIRNAME" + exit 1 +fi +export SCRIPT_PATH="$($DIRNAME $($REALPATH -e "${BASH_SOURCE[0]}"))" + +# control_vars.conf file must be specified as argument to script or be found in an expected place +# source configuration variables file if found (precedence: pwd, script directory, /opt/sensor/sensor_ctl) +if [[ -n "$1" ]]; then + source "$1" +else + CONTROL_VARS_FILE="control_vars.conf" + if [[ -r ./"$CONTROL_VARS_FILE" ]]; then + source ./"$CONTROL_VARS_FILE" + elif [[ -r "$SCRIPT_PATH"/"$CONTROL_VARS_FILE" ]]; then + source "$SCRIPT_PATH"/"$CONTROL_VARS_FILE" + elif [[ -r /opt/sensor/sensor_ctl/"$CONTROL_VARS_FILE" ]]; then + source /opt/sensor/sensor_ctl/"$CONTROL_VARS_FILE" + fi +fi + +if [[ -z $MALCOLM_REQUEST_PORTS ]] || ( [[ -z $MALCOLM_REQUEST_ACL ]] && [[ -z $OS_HOST ]] ); then + echo "Either the remote host (\$MALCOLM_REQUEST_ACL or \$OS_HOST) or the request ports (\$MALCOLM_REQUEST_PORTS) is undefined" + exit 1 +elif [[ ! -x /usr/sbin/ufw ]]; then + echo "/usr/sbin/ufw does not exist or is not executable" + exit 1 +fi + +while read SERVICE_PORT; do + + # delete previous UFW rule(s) + while read LINE; do + if [[ -n $LINE ]] && [[ "$LINE" =~ ^[0-9]+$ ]]; then + /usr/sbin/ufw --force delete $LINE + fi + done <<< "$(/usr/sbin/ufw status numbered | tac | grep "${SERVICE_PORT}/tcp" | sed "s/].*//" | sed "s/[^0-9]*//g")" + + # add new UFW rule(s) + if [[ -n $MALCOLM_REQUEST_ACL ]]; then + # loop over ACL IP addresses + IFS="," + for IP in $MALCOLM_REQUEST_ACL; do + /usr/sbin/ufw allow proto tcp from $IP to any port $SERVICE_PORT + done + unset IFS + elif [[ -n $OS_HOST ]]; then + # ACL not defined, create a rule for $OS_HOST + /usr/sbin/ufw allow proto tcp from $OS_HOST to any port $SERVICE_PORT + fi + + # output status of rule + /usr/sbin/ufw status | grep "${SERVICE_PORT}/tcp" + +done < <(echo "${MALCOLM_REQUEST_PORTS}" | tr ',' '\n') # loop over ',' separated MALCOLM_REQUEST_PORTS values \ No newline at end of file diff --git a/shared/bin/ufw_allow_viewer.sh b/shared/bin/ufw_allow_viewer.sh deleted file mode 100755 index 90c06fbaf..000000000 --- a/shared/bin/ufw_allow_viewer.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. - -# manage a UFW rule for allowing a remote Arkime viewer instance (on the same host -# to which arkime's capture is forwarding session logs) to connect to and -# retrieve PCAP segments from the local Arkime viewer instance - -# works with a comma-separated list of IP addresses in $ARKIME_PACKET_ACL, or -# if that variable is not set, a single IP address in $OS_HOST - -[[ "$(uname -s)" = 'Darwin' ]] && REALPATH=grealpath || REALPATH=realpath -[[ "$(uname -s)" = 'Darwin' ]] && DIRNAME=gdirname || DIRNAME=dirname -if ! (type "$REALPATH" && type "$DIRNAME") > /dev/null; then - echo "$(basename "${BASH_SOURCE[0]}") requires $REALPATH and $DIRNAME" - exit 1 -fi -export SCRIPT_PATH="$($DIRNAME $($REALPATH -e "${BASH_SOURCE[0]}"))" - -# control_vars.conf file must be specified as argument to script or be found in an expected place -# source configuration variables file if found (precedence: pwd, script directory, /opt/sensor/sensor_ctl) -if [[ -n "$1" ]]; then - source "$1" -else - CONTROL_VARS_FILE="control_vars.conf" - if [[ -r ./"$CONTROL_VARS_FILE" ]]; then - source ./"$CONTROL_VARS_FILE" - elif [[ -r "$SCRIPT_PATH"/"$CONTROL_VARS_FILE" ]]; then - source "$SCRIPT_PATH"/"$CONTROL_VARS_FILE" - elif [[ -r /opt/sensor/sensor_ctl/"$CONTROL_VARS_FILE" ]]; then - source /opt/sensor/sensor_ctl/"$CONTROL_VARS_FILE" - fi -fi - -if [[ -z $ARKIME_VIEWER_PORT ]] || ( [[ -z $ARKIME_PACKET_ACL ]] && [[ -z $OS_HOST ]] ); then - echo "Either the remote Arkime viewer host (\$ARKIME_PACKET_ACL or \$OS_HOST) or the local Arkime viewer port (\$ARKIME_VIEWER_PORT) is undefined" - exit 1 -elif [[ ! -x /usr/sbin/ufw ]]; then - echo "/usr/sbin/ufw does not exist or is not executable" - exit 1 -fi - -# delete previous UFW rule(s) -while read LINE; do - if [[ -n $LINE ]] && [[ "$LINE" =~ ^[0-9]+$ ]]; then - /usr/sbin/ufw --force delete $LINE - fi -done <<< "$(/usr/sbin/ufw status numbered | tac | grep "${ARKIME_VIEWER_PORT}/tcp" | sed "s/].*//" | sed "s/[^0-9]*//g")" - -# add new UFW rule(s) -if [[ -n $ARKIME_PACKET_ACL ]]; then - IFS="," - for IP in $ARKIME_PACKET_ACL; do - /usr/sbin/ufw allow proto tcp from $IP to any port $ARKIME_VIEWER_PORT - done - unset IFS -elif [[ -n $OS_HOST ]]; then - /usr/sbin/ufw allow proto tcp from $OS_HOST to any port $ARKIME_VIEWER_PORT -fi - -# output status of rule -/usr/sbin/ufw status | grep "${ARKIME_VIEWER_PORT}/tcp" diff --git a/shared/bin/web-ui-asset-download.sh b/shared/bin/web-ui-asset-download.sh new file mode 100755 index 000000000..5200b40e1 --- /dev/null +++ b/shared/bin/web-ui-asset-download.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +unset VERBOSE +OUTPUT_DIR=/tmp + +while getopts o:v opts; do + case ${opts} in + o) OUTPUT_DIR=${OPTARG} ;; + v) VERBOSE=1 ;; + esac +done + +set -e +if [[ -n $VERBOSE ]]; then + set -x +fi + +mkdir -p "$OUTPUT_DIR" +pushd "$OUTPUT_DIR" >/dev/null 2>&1 +curl --fail-early -fsSL --remote-name-all \ + https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf \ + https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf \ + https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf \ + https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf \ + https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf \ + https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf \ + 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d' \ + 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d' +popd >/dev/null 2>&1 + +if [[ -n $VERBOSE ]]; then + set +x +fi +set +e From af919bd70dc573a5366916746981987a9127d119 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 14:04:18 -0600 Subject: [PATCH 05/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- Dockerfiles/file-monitor.Dockerfile | 2 +- hedgehog-raspi/generate-recipe.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index ac500cda7..26904461c 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -221,7 +221,7 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour echo "0 */6 * * * /bin/bash /usr/local/bin/capa-update.sh\n0 */6 * * * /usr/local/bin/yara_rules_setup.sh -r \"${YARA_RULES_SRC_DIR}\" -y \"${YARA_RULES_DIR}\"" > ${SUPERCRONIC_CRONTAB} && \ apt-get -y -q --allow-downgrades --allow-remove-essential --allow-change-held-packages autoremove && \ apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* && \ + rm -rf /var/lib/apt/lists/* /tmp/* USER ${PUSER} diff --git a/hedgehog-raspi/generate-recipe.py b/hedgehog-raspi/generate-recipe.py index 7dfbc98a3..475140bae 100755 --- a/hedgehog-raspi/generate-recipe.py +++ b/hedgehog-raspi/generate-recipe.py @@ -110,8 +110,8 @@ 'cp -r "%s/config/hooks/normal/"* "${ROOT?}/opt/hooks/"' % SENSOR_DIR, 'cp -r "%s/config/package-lists/"* "${ROOT?}/opt/deps/"' % SENSOR_DIR, 'cp -r "%s/docs/images/hedgehog/logo/hedgehog-ascii-text.txt"* "${ROOT?}/root/"' % MALCOLM_DIR, - 'cp -r "%s/nginx/css/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, - 'cp -r "%s/nginx/js/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/nginx/landingpage/css/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/nginx/landingpage/js/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, 'cp -r "%s/docs/images/icon/favicon.ico" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, 'cp -r "%s/docs/images/logo/Malcolm_background.png" "${ROOT?}/opt/sensor/assets/img/bg-masthead.png"' % MALCOLM_DIR, ] From 0bce99d92d8e959d324eb93409cde10ac9f78740 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 14:06:35 -0600 Subject: [PATCH 06/98] fix hedgehog build --- .github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml index 76361ae13..6a4ac28c0 100644 --- a/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml +++ b/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml @@ -99,6 +99,9 @@ jobs: cp -r ./arkime/patch ./hedgehog-iso/shared/arkime_patch mkdir -p ./hedgehog-iso/suricata cp -r ./suricata/rules-default ./hedgehog-iso/suricata/ + mkdir -p ./hedgehog-iso/nginx + cp -r ./nginx/css ./hedgehog-iso/nginx/ + cp -r ./nginx/js ./hedgehog-iso/nginx/ pushd ./hedgehog-iso echo "${{ steps.extract_malcolm_version.outputs.mversion }}" > ./shared/version.txt echo "${{ secrets.MAXMIND_GEOIP_DB_LICENSE_KEY }}" > ./shared/maxmind_license.txt From d0202b3f1bc708febffadba0b9bee700b4b0589a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 14:58:41 -0600 Subject: [PATCH 07/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- .../interface/sensor_ctl/control_vars.conf | 6 + .../sensor_ctl/supervisor.d/zeek.conf | 11 +- shared/bin/configure-capture.py | 117 ++++++++++-------- 3 files changed, 74 insertions(+), 60 deletions(-) diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index 04d324989..cf7535f82 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -36,6 +36,11 @@ export EXTRACTED_FILE_HTTP_SERVER_MAGIC=false # HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved") export EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true +# files used for FileBeat -> Logstash TLS and extracted file HTTP server +export BEAT_LS_SSL_CLIENT_CRT=/opt/sensor/sensor_ctl/logstash-client-certificates/client.crt +export BEAT_LS_SSL_CLIENT_KEY=/opt/sensor/sensor_ctl/logstash-client-certificates/client.key +export BEAT_LS_SSL_CA_CRT=/opt/sensor/sensor_ctl/logstash-client-certificates/ca.crt + export MALCOLM_REQUEST_ACL= export MALCOLM_REQUEST_PORTS=$ARKIME_VIEWER_PORT,$EXTRACTED_FILE_HTTP_SERVER_PORT export DOCUMENTATION_PORT=8420 @@ -158,6 +163,7 @@ export ZEEK_FILE_SCAN_CAPA=false export AUTOSTART_ARKIME=false export AUTOSTART_CLAMAV_UPDATES=false +export AUTOSTART_EXTRACTED_FILE_HTTP_SERVER=false export AUTOSTART_FILEBEAT=false export AUTOSTART_FLUENTBIT_AIDE=false export AUTOSTART_FLUENTBIT_AUDITLOG=false diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf index e3787b232..ac1f7e0c5 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf @@ -109,15 +109,14 @@ command=/usr/local/bin/extracted_files_http_server.py --recursive %(ENV_EXTRACTED_FILE_HTTP_SERVER_RECURSIVE)s --directory "%(ENV_ZEEK_LOG_PATH)s/extract_files" --assets-directory "%(ENV_EXTRACTED_FILE_HTTP_ASSETS_DIR)s" + --tls + --tls-certfile "%(ENV_BEAT_LS_SSL_CLIENT_CRT)s" + --tls-keyfile "%(ENV_BEAT_LS_SSL_CLIENT_KEY)s" startsecs=30 startretries=3 stopasgroup=true killasgroup=true -autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s -autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s +autostart=%(ENV_AUTOSTART_EXTRACTED_FILE_HTTP_SERVER)s +autorestart=%(ENV_AUTOSTART_EXTRACTED_FILE_HTTP_SERVER)s directory=%(ENV_ZEEK_LOG_PATH)s/extract_files user=sensor - -; #TODO: assets? -; --assets-directory-req-replacer /assets -; --assets-directory-resp-replacer /extracted-files/assets diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index 7f06908d4..616f8e2da 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -77,9 +77,10 @@ class Constants: BEAT_LS_HOST = 'BEAT_LS_HOST' BEAT_LS_PORT = 'BEAT_LS_PORT' BEAT_LS_SSL = 'BEAT_LS_SSL' - BEAT_LS_SSL_CA_CRT = 'BEAT_LS_SSL_CA_CRT' - BEAT_LS_SSL_CLIENT_CRT = 'BEAT_LS_SSL_CLIENT_CRT' - BEAT_LS_SSL_CLIENT_KEY = 'BEAT_LS_SSL_CLIENT_KEY' + BEAT_LS_SSL_PREFIX = 'BEAT_LS_SSL_' + BEAT_LS_SSL_CA_CRT = f'{BEAT_LS_SSL_PREFIX}CA_CRT' + BEAT_LS_SSL_CLIENT_CRT = f'{BEAT_LS_SSL_PREFIX}CLIENT_CRT' + BEAT_LS_SSL_CLIENT_KEY = f'{BEAT_LS_SSL_PREFIX}CLIENT_KEY' BEAT_LS_SSL_VERIFY = 'BEAT_LS_SSL_VERIFY' BEAT_LS_CERT_DIR_DEFAULT = "/opt/sensor/sensor_ctl/logstash-client-certificates" @@ -184,6 +185,20 @@ class Constants: d.set_background_title(Constants.MSG_BACKGROUND_TITLE) +################################################################################################### +def rewrite_dict_to_file(vals_dict, config_file_name, backup='.bak'): + if vals_dict and os.path.isfile(config_file_name): + values_re = re.compile(r"\b(" + '|'.join(list(vals_dict.keys())) + r")\s*=\s*.*?$") + with fileinput.FileInput(config_file_name, inplace=True, backup=backup) as file: + for line in file: + line = line.rstrip("\n") + key_match = values_re.search(line) + if key_match is not None: + print(values_re.sub(r"\1=%s" % vals_dict[key_match.group(1)], line)) + else: + print(line) + + ################################################################################################### def mime_to_extension_mappings(mapfile): # get all mime-to-extension mappings from our mapping zeek file into a dictionary @@ -364,30 +379,19 @@ def main(): if len(line.strip()) > 0: name, var = remove_prefix(line, "export").partition("=")[::2] capture_config_dict[name.strip()] = var.strip().strip("'").strip('"') - if (Constants.BEAT_OS_HOST not in previous_config_values.keys()) and ( - "OS_HOST" in capture_config_dict.keys() - ): - previous_config_values[Constants.BEAT_OS_HOST] = capture_config_dict["OS_HOST"] - if (Constants.BEAT_OS_PORT not in previous_config_values.keys()) and ( - "OS_PORT" in capture_config_dict.keys() - ): - previous_config_values[Constants.BEAT_OS_PORT] = capture_config_dict["OS_PORT"] - if (Constants.BEAT_HTTP_USERNAME not in previous_config_values.keys()) and ( - "OS_USERNAME" in capture_config_dict.keys() - ): - previous_config_values[Constants.BEAT_HTTP_USERNAME] = capture_config_dict["OS_USERNAME"] - if (Constants.MALCOLM_REQUEST_ACL not in previous_config_values.keys()) and ( - "MALCOLM_REQUEST_ACL" in capture_config_dict.keys() - ): - previous_config_values[Constants.MALCOLM_REQUEST_ACL] = capture_config_dict[ - Constants.MALCOLM_REQUEST_ACL - ] - if (Constants.ARKIME_PASSWORD_SECRET not in previous_config_values.keys()) and ( - "ARKIME_PASSWORD_SECRET" in capture_config_dict.keys() - ): - previous_config_values[Constants.ARKIME_PASSWORD_SECRET] = capture_config_dict[ - Constants.ARKIME_PASSWORD_SECRET - ] + + for key, value in { + Constants.BEAT_OS_HOST: "OS_HOST", + Constants.BEAT_OS_PORT: "OS_PORT", + Constants.BEAT_HTTP_USERNAME: "OS_USERNAME", + Constants.MALCOLM_REQUEST_ACL: Constants.MALCOLM_REQUEST_ACL, + Constants.ARKIME_PASSWORD_SECRET: Constants.ARKIME_PASSWORD_SECRET, + Constants.BEAT_LS_SSL_CA_CRT: Constants.BEAT_LS_SSL_CA_CRT, + Constants.BEAT_LS_SSL_CLIENT_CRT: Constants.BEAT_LS_SSL_CLIENT_CRT, + Constants.BEAT_LS_SSL_CLIENT_KEY: Constants.BEAT_LS_SSL_CLIENT_KEY, + }.items(): + if (key not in previous_config_values.keys()) and (value in capture_config_dict.keys()): + previous_config_values[key] = capture_config_dict[value] code = d.yesno(Constants.MSG_WELCOME_TITLE, yes_label="Continue", no_label="Quit") if code == Dialog.CANCEL or code == Dialog.ESC: @@ -973,21 +977,7 @@ def main(): previous_config_values = opensearch_config_dict.copy() # modify specified values in-place in SENSOR_CAPTURE_CONFIG file - opensearch_values_re = re.compile( - r"\b(" + '|'.join(list(arkime_config_dict.keys())) + r")\s*=\s*.*?$" - ) - with fileinput.FileInput(Constants.SENSOR_CAPTURE_CONFIG, inplace=True, backup='.bak') as file: - for line in file: - line = line.rstrip("\n") - opensearch_key_match = opensearch_values_re.search(line) - if opensearch_key_match is not None: - print( - opensearch_values_re.sub( - r"\1=%s" % arkime_config_dict[opensearch_key_match.group(1)], line - ) - ) - else: - print(line) + rewrite_dict_to_file(arkime_config_dict, Constants.SENSOR_CAPTURE_CONFIG) # hooray code = d.msgbox( @@ -1139,10 +1129,8 @@ def main(): 'SSL Certificate Authorities File', 1, 1, - ( - previous_config_values[Constants.BEAT_LS_SSL_CA_CRT] - if Constants.BEAT_LS_SSL_CA_CRT in previous_config_values - else f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/ca.crt" + previous_config_values.get( + Constants.BEAT_LS_SSL_CA_CRT, f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/ca.crt" ), 1, 35, @@ -1153,10 +1141,9 @@ def main(): 'SSL Certificate File', 2, 1, - ( - previous_config_values[Constants.BEAT_LS_SSL_CLIENT_CRT] - if Constants.BEAT_LS_SSL_CLIENT_CRT in previous_config_values - else f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/client.crt" + previous_config_values.get( + Constants.BEAT_LS_SSL_CLIENT_CRT, + f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/client.crt", ), 2, 35, @@ -1167,10 +1154,9 @@ def main(): 'SSL Key File', 3, 1, - ( - previous_config_values[Constants.BEAT_LS_SSL_CLIENT_KEY] - if Constants.BEAT_LS_SSL_CLIENT_KEY in previous_config_values - else f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/client.key" + previous_config_values.get( + Constants.BEAT_LS_SSL_CLIENT_KEY, + f"{Constants.BEAT_LS_CERT_DIR_DEFAULT}/client.key", ), 3, 35, @@ -1256,6 +1242,16 @@ def main(): # keystore list failed raise Exception(Constants.MSG_ERROR_KEYSTORE.format(fwd_mode, "\n".join(add_results))) + # also write the TLS files back out to the config file + rewrite_dict_to_file( + { + k: v + for (k, v) in forwarder_dict.items() + if k.startswith(Constants.BEAT_LS_SSL_PREFIX) and os.path.isfile(str(v)) + }, + Constants.SENSOR_CAPTURE_CONFIG, + ) + elif (fwd_mode == Constants.TX_RX_SECURE) and txRxScript: # use tx-rx-secure.sh (via croc) to get certs from Malcolm code = d.msgbox(text='Run auth_setup on Malcolm "Transfer self-signed client certificates..."') @@ -1312,6 +1308,19 @@ def main(): p.poll() + keyFiles = { + Constants.BEAT_LS_SSL_CA_CRT: os.path.join(Constants.BEAT_LS_CERT_DIR_DEFAULT, 'ca.crt'), + Constants.BEAT_LS_SSL_CLIENT_CRT: os.path.join( + Constants.BEAT_LS_CERT_DIR_DEFAULT, 'client.crt' + ), + Constants.BEAT_LS_SSL_CLIENT_KEY: os.path.join( + Constants.BEAT_LS_CERT_DIR_DEFAULT, 'client.key' + ), + } + if all([os.path.isfile(v) for (k, v) in keyFiles.items()]): + # also write the TLS files back out to the config file + rewrite_dict_to_file(keyFiles, Constants.SENSOR_CAPTURE_CONFIG) + else: # we're here without a valid forwarding type selection?!? raise Exception(Constants.MSG_MESSAGE_ERROR.format(Constants.MSG_INVALID_FORWARDING_TYPE)) From ec5acf902d7a980ae271964cbe61986aa747051d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 15:04:50 -0600 Subject: [PATCH 08/98] attempt to fix hedgheog iso build --- .../workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml | 4 ++-- hedgehog-iso/build_via_vagrant.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml index 6a4ac28c0..bf818790a 100644 --- a/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml +++ b/.github/workflows/hedgehog-iso-build-docker-wrap-push-ghcr.yml @@ -100,8 +100,8 @@ jobs: mkdir -p ./hedgehog-iso/suricata cp -r ./suricata/rules-default ./hedgehog-iso/suricata/ mkdir -p ./hedgehog-iso/nginx - cp -r ./nginx/css ./hedgehog-iso/nginx/ - cp -r ./nginx/js ./hedgehog-iso/nginx/ + cp -r ./nginx/landingpage/css ./hedgehog-iso/nginx/ + cp -r ./nginx/landingpage/js ./hedgehog-iso/nginx/ pushd ./hedgehog-iso echo "${{ steps.extract_malcolm_version.outputs.mversion }}" > ./shared/version.txt echo "${{ secrets.MAXMIND_GEOIP_DB_LICENSE_KEY }}" > ./shared/maxmind_license.txt diff --git a/hedgehog-iso/build_via_vagrant.sh b/hedgehog-iso/build_via_vagrant.sh index e9ba553b5..26197106f 100755 --- a/hedgehog-iso/build_via_vagrant.sh +++ b/hedgehog-iso/build_via_vagrant.sh @@ -93,8 +93,8 @@ cp "$SCRIPT_PATH"/../scripts/documentation_build.sh "$SCRIPT_PATH"/docs/ cp "$SCRIPT_PATH"/../scripts/malcolm_utils.py "$SCRIPT_PATH"/shared/bin/ mkdir "$SCRIPT_PATH"/nginx "$SCRIPT_PATH"/suricata cp -r "$SCRIPT_PATH"/../suricata/rules-default "$SCRIPT_PATH"/suricata/ -cp -r "$SCRIPT_PATH"/../nginx/css "$SCRIPT_PATH"/nginx/ -cp -r "$SCRIPT_PATH"/../nginx/js "$SCRIPT_PATH"/nginx/ +cp -r "$SCRIPT_PATH"/../nginx/landingpage/css "$SCRIPT_PATH"/nginx/ +cp -r "$SCRIPT_PATH"/../nginx/landingpage/js "$SCRIPT_PATH"/nginx/ YML_IMAGE_VERSION="$(grep -P "^\s+image:.*/malcolm/" "$SCRIPT_PATH"/../docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" [[ -n $YML_IMAGE_VERSION ]] && echo "$YML_IMAGE_VERSION" > "$SCRIPT_PATH"/shared/version.txt From 78830570469c42d09e1d6a4fa6cfa8cfaa52b68f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 29 Mar 2024 15:22:55 -0600 Subject: [PATCH 09/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- .github/workflows/api-build-and-push-ghcr.yml | 1 + .github/workflows/arkime-build-and-push-ghcr.yml | 1 + .github/workflows/dashboards-build-and-push-ghcr.yml | 1 + .../workflows/dashboards-helper-build-and-push-ghcr.yml | 1 + .github/workflows/file-upload-build-and-push-ghcr.yml | 1 + .github/workflows/filebeat-build-and-push-ghcr.yml | 1 + .github/workflows/freq-build-and-push-ghcr.yml | 1 + .github/workflows/htadmin-build-and-push-ghcr.yml | 1 + .github/workflows/logstash-build-and-push-ghcr.yml | 1 + .../workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml | 1 + .github/workflows/netbox-build-and-push-ghcr.yml | 1 + .github/workflows/nginx-build-and-push-ghcr.yml | 1 + .github/workflows/opensearch-build-and-push-ghcr.yml | 1 + .github/workflows/pcap-capture-build-and-push-ghcr.yml | 1 + .github/workflows/pcap-monitor-build-and-push-ghcr.yml | 1 + .github/workflows/postgresql-build-and-push-ghcr.yml | 1 + .github/workflows/redis-build-and-push-ghcr.yml | 1 + .github/workflows/suricata-build-and-push-ghcr.yml | 1 + .github/workflows/zeek-build-and-push-ghcr.yml | 1 + shared/bin/extracted_files_http_server.py | 7 ++++--- 20 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/api-build-and-push-ghcr.yml b/.github/workflows/api-build-and-push-ghcr.yml index ae0aa9276..6f900e355 100644 --- a/.github/workflows/api-build-and-push-ghcr.yml +++ b/.github/workflows/api-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/arkime-build-and-push-ghcr.yml b/.github/workflows/arkime-build-and-push-ghcr.yml index 7d05235db..5da96c6b1 100644 --- a/.github/workflows/arkime-build-and-push-ghcr.yml +++ b/.github/workflows/arkime-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/dashboards-build-and-push-ghcr.yml b/.github/workflows/dashboards-build-and-push-ghcr.yml index c02f705cd..aba6720a2 100644 --- a/.github/workflows/dashboards-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml index 1a4654e1b..0c3b098d6 100644 --- a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/file-upload-build-and-push-ghcr.yml b/.github/workflows/file-upload-build-and-push-ghcr.yml index ae305baf4..eb0b2db9c 100644 --- a/.github/workflows/file-upload-build-and-push-ghcr.yml +++ b/.github/workflows/file-upload-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/filebeat-build-and-push-ghcr.yml b/.github/workflows/filebeat-build-and-push-ghcr.yml index f38fce003..b8ecda2f6 100644 --- a/.github/workflows/filebeat-build-and-push-ghcr.yml +++ b/.github/workflows/filebeat-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/freq-build-and-push-ghcr.yml b/.github/workflows/freq-build-and-push-ghcr.yml index 2b4981465..1200f7101 100644 --- a/.github/workflows/freq-build-and-push-ghcr.yml +++ b/.github/workflows/freq-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/htadmin-build-and-push-ghcr.yml b/.github/workflows/htadmin-build-and-push-ghcr.yml index 797e867d5..a20f5fb40 100644 --- a/.github/workflows/htadmin-build-and-push-ghcr.yml +++ b/.github/workflows/htadmin-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/logstash-build-and-push-ghcr.yml b/.github/workflows/logstash-build-and-push-ghcr.yml index 40416b40b..347186552 100644 --- a/.github/workflows/logstash-build-and-push-ghcr.yml +++ b/.github/workflows/logstash-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml index b648dd8a5..f4470d93c 100644 --- a/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml +++ b/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml @@ -9,6 +9,7 @@ on: - 'malcolm-iso/**' - 'shared/bin/*' - '!shared/bin/configure-capture.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/zeek*' - '!shared/bin/suricata*' - '.trigger_iso_workflow_build' diff --git a/.github/workflows/netbox-build-and-push-ghcr.yml b/.github/workflows/netbox-build-and-push-ghcr.yml index 05e927320..04239eeff 100644 --- a/.github/workflows/netbox-build-and-push-ghcr.yml +++ b/.github/workflows/netbox-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/nginx-build-and-push-ghcr.yml b/.github/workflows/nginx-build-and-push-ghcr.yml index 5eb534666..a5bb5f728 100644 --- a/.github/workflows/nginx-build-and-push-ghcr.yml +++ b/.github/workflows/nginx-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/agg-init.sh' - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/opensearch-build-and-push-ghcr.yml b/.github/workflows/opensearch-build-and-push-ghcr.yml index 290329cb6..57a5832a8 100644 --- a/.github/workflows/opensearch-build-and-push-ghcr.yml +++ b/.github/workflows/opensearch-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/pcap-capture-build-and-push-ghcr.yml b/.github/workflows/pcap-capture-build-and-push-ghcr.yml index b79262978..16360ff21 100644 --- a/.github/workflows/pcap-capture-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-capture-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml index 0384acfcb..97176f2cc 100644 --- a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/postgresql-build-and-push-ghcr.yml b/.github/workflows/postgresql-build-and-push-ghcr.yml index 1b190750d..fad9ed416 100644 --- a/.github/workflows/postgresql-build-and-push-ghcr.yml +++ b/.github/workflows/postgresql-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/redis-build-and-push-ghcr.yml b/.github/workflows/redis-build-and-push-ghcr.yml index 0cbb9d8f7..f8a20455f 100644 --- a/.github/workflows/redis-build-and-push-ghcr.yml +++ b/.github/workflows/redis-build-and-push-ghcr.yml @@ -12,6 +12,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/suricata-build-and-push-ghcr.yml b/.github/workflows/suricata-build-and-push-ghcr.yml index 8cbfa7a39..d7d5b8055 100644 --- a/.github/workflows/suricata-build-and-push-ghcr.yml +++ b/.github/workflows/suricata-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/zeek-build-and-push-ghcr.yml b/.github/workflows/zeek-build-and-push-ghcr.yml index 7969ec3d0..109d335fd 100644 --- a/.github/workflows/zeek-build-and-push-ghcr.yml +++ b/.github/workflows/zeek-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' + - '!shared/bin/extracted_files_http_server.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 26af3b4c5..58c3af9f6 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -448,6 +448,7 @@ def main(): defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false') defaultRecursive = os.getenv('EXTRACTED_FILE_HTTP_SERVER_RECURSIVE', 'false') defaultMagic = os.getenv('EXTRACTED_FILE_HTTP_SERVER_MAGIC', 'false') + defaultTls = os.getenv('EXTRACTED_FILE_HTTP_SERVER_TLS', 'false') defaultLinks = os.getenv('EXTRACTED_FILE_HTTP_SERVER_LINKS', 'false') defaultMalcolm = os.getenv('EXTRACTED_FILE_HTTP_SERVER_MALCOLM', 'false') defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440)) @@ -487,7 +488,7 @@ def main(): type=str2bool, nargs='?', const=True, - default=defaultMagic, + default=defaultTls, metavar='true|false', help=f"Serve with TLS (must specify --tls-keyfile and --tls-certfile)", ) @@ -497,7 +498,7 @@ def main(): help=f'TLS Key File', metavar='', type=str, - default=None, + default=os.getenv('EXTRACTED_FILE_HTTP_SERVER_TLS_KEYFILE', None), ) parser.add_argument( '--tls-certfile', @@ -505,7 +506,7 @@ def main(): help=f'TLS Certificate File', metavar='', type=str, - default=None, + default=os.getenv('EXTRACTED_FILE_HTTP_SERVER_TLS_CERTFILE', None), ) parser.add_argument( '-d', From 742c193a25f7eb867414a54096f5165beaae5179 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 09:16:53 -0600 Subject: [PATCH 10/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- hedgehog-iso/build.sh | 1 + .../config/package-lists/system.list.chroot | 1 + .../sensor_ctl/supervisor.d/zeek.conf | 2 +- hedgehog-raspi/sensor_install.sh | 4 ++- .../config/package-lists/system.list.chroot | 1 + shared/bin/extracted_files_http_server.py | 16 ++++++---- shared/bin/web-ui-asset-download.sh | 32 +++++++++++++------ 7 files changed, 39 insertions(+), 18 deletions(-) diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index 2a6e16fe8..c6c613bc9 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -123,6 +123,7 @@ if [ -d "$WORKDIR" ]; then chown -R root:root ./config/includes.chroot/opt/sensor/assets/css/ find ./config/includes.chroot/opt/sensor/assets/ -type d -exec chmod 755 "{}" \; find ./config/includes.chroot/opt/sensor/assets/ -type f -exec chmod 644 "{}" \; + ln -s -r ./config/includes.chroot/opt/sensor/assets ./config/includes.chroot/opt/sensor/assets/assets # write out some version stuff specific to this installation version echo "BUILD_ID=\"$(date +'%Y-%m-%d')-${IMAGE_VERSION}\"" > ./config/includes.chroot/opt/sensor/.os-info diff --git a/hedgehog-iso/config/package-lists/system.list.chroot b/hedgehog-iso/config/package-lists/system.list.chroot index 49f26efda..ba8ebf56b 100644 --- a/hedgehog-iso/config/package-lists/system.list.chroot +++ b/hedgehog-iso/config/package-lists/system.list.chroot @@ -112,6 +112,7 @@ mcrypt md5deep menu miscfiles +mmv moreutils mtools multitail diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf index ac1f7e0c5..519e4ecf7 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.d/zeek.conf @@ -1,5 +1,5 @@ [group:zeek] -programs=zeekctl,watcher,virustotal,clamav,yara,capa,logger +programs=zeekctl,watcher,virustotal,clamav,yara,capa,logger,fileserve [program:zeekctl] command=/opt/zeek/bin/zeekdeploy.sh diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index d1f95924f..16d9868c5 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -399,7 +399,9 @@ install_files() { # download assets for extracted file server /usr/local/bin/web-ui-asset-download.sh -o /opt/sensor/assets/css - find /opt/sensor/assets -type f + find /opt/sensor/assets -type d -exec chmod 755 "{}" \; + find /opt/sensor/assets -type f -exec chmod 644 "{}" \; + ln -s -r /opt/sensor/assets /opt/sensor/assets/assets # Prepare Fluentbit and Beats repo GPG keys local apt_lists='/etc/apt/sources.list.d' diff --git a/malcolm-iso/config/package-lists/system.list.chroot b/malcolm-iso/config/package-lists/system.list.chroot index 9525899e4..9521d5917 100644 --- a/malcolm-iso/config/package-lists/system.list.chroot +++ b/malcolm-iso/config/package-lists/system.list.chroot @@ -100,6 +100,7 @@ mcrypt md5deep menu miscfiles +mmv moreutils mtools multitail diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 58c3af9f6..412c28413 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -31,6 +31,7 @@ EVP_KEY_SIZE, OPENSSL_ENC_MAGIC, PKCS5_SALT_LEN, + pushd, remove_prefix, sizeof_fmt, str2bool, @@ -428,13 +429,14 @@ def serve_on_port( server_class=ThreadingHTTPServer, handler_class=HTTPHandler, ): - server = server_class(("", port), functools.partial(handler_class, directory=path)) - if tlsOk := (tls and os.path.isfile(str(tls_key_file)) and os.path.isfile(str(tls_cert_file))): - ctx = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER) - ctx.load_cert_chain(certfile=tls_cert_file, keyfile=tls_key_file) - server.socket = ctx.wrap_socket(server.socket, server_side=True) - print(f"serving {path} at port {port}{' over TLS' if tlsOk else ''}") - server.serve_forever() + with pushd(path): + server = server_class(("", port), functools.partial(handler_class, directory=path)) + if tlsOk := (tls and os.path.isfile(str(tls_key_file)) and os.path.isfile(str(tls_cert_file))): + ctx = ssl.SSLContext(protocol=ssl.PROTOCOL_TLS_SERVER) + ctx.load_cert_chain(certfile=tls_cert_file, keyfile=tls_key_file) + server.socket = ctx.wrap_socket(server.socket, server_side=True) + print(f"serving {path} at port {port}{' over TLS' if tlsOk else ''}") + server.serve_forever() ################################################################################################### diff --git a/shared/bin/web-ui-asset-download.sh b/shared/bin/web-ui-asset-download.sh index 5200b40e1..e8263d49b 100755 --- a/shared/bin/web-ui-asset-download.sh +++ b/shared/bin/web-ui-asset-download.sh @@ -15,19 +15,33 @@ if [[ -n $VERBOSE ]]; then set -x fi +ASSETS=( + "https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf|" + "https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf|" + "https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf|" + "https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf|" + "https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf|" + "https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf|" + "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d|bootstrap-icons.woff2" + "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d|bootstrap-icons.woff" +) + mkdir -p "$OUTPUT_DIR" pushd "$OUTPUT_DIR" >/dev/null 2>&1 -curl --fail-early -fsSL --remote-name-all \ - https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf \ - https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf \ - https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf \ - https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf \ - https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf \ - https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf \ - 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d' \ - 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d' +for i in ${ASSETS[@]}; do + URL="$(echo "${i}" | cut -d'|' -f1)" + OUTPUT_FILE="$(echo "${i}" | cut -d'|' -f2)" + if [[ -n "${URL}" ]]; then + if [[ -n "${OUTPUT_FILE}" ]]; then + curl --fail --silent --show-error --output "${OUTPUT_FILE}" "${URL}" + else + curl --fail --silent --show-error --remote-header-name --remote-name "${URL}" + fi + fi +done popd >/dev/null 2>&1 + if [[ -n $VERBOSE ]]; then set +x fi From cedf0d6a2f5fe5354092db0ad0f34c662f229908 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 09:23:22 -0600 Subject: [PATCH 11/98] workflow updates --- .github/workflows/api-build-and-push-ghcr.yml | 1 + .github/workflows/arkime-build-and-push-ghcr.yml | 1 + .github/workflows/dashboards-build-and-push-ghcr.yml | 1 + .github/workflows/dashboards-helper-build-and-push-ghcr.yml | 1 + .github/workflows/file-upload-build-and-push-ghcr.yml | 1 + .github/workflows/filebeat-build-and-push-ghcr.yml | 1 + .github/workflows/freq-build-and-push-ghcr.yml | 1 + .github/workflows/htadmin-build-and-push-ghcr.yml | 1 + .github/workflows/logstash-build-and-push-ghcr.yml | 1 + .github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml | 1 + .github/workflows/netbox-build-and-push-ghcr.yml | 1 + .github/workflows/nginx-build-and-push-ghcr.yml | 1 + .github/workflows/opensearch-build-and-push-ghcr.yml | 1 + .github/workflows/pcap-capture-build-and-push-ghcr.yml | 1 + .github/workflows/pcap-monitor-build-and-push-ghcr.yml | 1 + .github/workflows/postgresql-build-and-push-ghcr.yml | 1 + .github/workflows/redis-build-and-push-ghcr.yml | 1 + .github/workflows/suricata-build-and-push-ghcr.yml | 1 + .github/workflows/zeek-build-and-push-ghcr.yml | 1 + 19 files changed, 19 insertions(+) diff --git a/.github/workflows/api-build-and-push-ghcr.yml b/.github/workflows/api-build-and-push-ghcr.yml index 6f900e355..c3afef062 100644 --- a/.github/workflows/api-build-and-push-ghcr.yml +++ b/.github/workflows/api-build-and-push-ghcr.yml @@ -14,6 +14,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/arkime-build-and-push-ghcr.yml b/.github/workflows/arkime-build-and-push-ghcr.yml index 5da96c6b1..6e29fe344 100644 --- a/.github/workflows/arkime-build-and-push-ghcr.yml +++ b/.github/workflows/arkime-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/dashboards-build-and-push-ghcr.yml b/.github/workflows/dashboards-build-and-push-ghcr.yml index aba6720a2..89a231969 100644 --- a/.github/workflows/dashboards-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml index 0c3b098d6..3b37f288b 100644 --- a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/file-upload-build-and-push-ghcr.yml b/.github/workflows/file-upload-build-and-push-ghcr.yml index eb0b2db9c..d49a4c764 100644 --- a/.github/workflows/file-upload-build-and-push-ghcr.yml +++ b/.github/workflows/file-upload-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/filebeat-build-and-push-ghcr.yml b/.github/workflows/filebeat-build-and-push-ghcr.yml index b8ecda2f6..22eda2753 100644 --- a/.github/workflows/filebeat-build-and-push-ghcr.yml +++ b/.github/workflows/filebeat-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/freq-build-and-push-ghcr.yml b/.github/workflows/freq-build-and-push-ghcr.yml index 1200f7101..460306157 100644 --- a/.github/workflows/freq-build-and-push-ghcr.yml +++ b/.github/workflows/freq-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/htadmin-build-and-push-ghcr.yml b/.github/workflows/htadmin-build-and-push-ghcr.yml index a20f5fb40..b42016a6c 100644 --- a/.github/workflows/htadmin-build-and-push-ghcr.yml +++ b/.github/workflows/htadmin-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/logstash-build-and-push-ghcr.yml b/.github/workflows/logstash-build-and-push-ghcr.yml index 347186552..ab3245d02 100644 --- a/.github/workflows/logstash-build-and-push-ghcr.yml +++ b/.github/workflows/logstash-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml index f4470d93c..11dc59474 100644 --- a/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml +++ b/.github/workflows/malcolm-iso-build-docker-wrap-push-ghcr.yml @@ -10,6 +10,7 @@ on: - 'shared/bin/*' - '!shared/bin/configure-capture.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/zeek*' - '!shared/bin/suricata*' - '.trigger_iso_workflow_build' diff --git a/.github/workflows/netbox-build-and-push-ghcr.yml b/.github/workflows/netbox-build-and-push-ghcr.yml index 04239eeff..133f82735 100644 --- a/.github/workflows/netbox-build-and-push-ghcr.yml +++ b/.github/workflows/netbox-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/nginx-build-and-push-ghcr.yml b/.github/workflows/nginx-build-and-push-ghcr.yml index a5bb5f728..654e6fdf6 100644 --- a/.github/workflows/nginx-build-and-push-ghcr.yml +++ b/.github/workflows/nginx-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/common-init.sh' - '!shared/bin/sensor-init.sh' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' diff --git a/.github/workflows/opensearch-build-and-push-ghcr.yml b/.github/workflows/opensearch-build-and-push-ghcr.yml index 57a5832a8..acfb82187 100644 --- a/.github/workflows/opensearch-build-and-push-ghcr.yml +++ b/.github/workflows/opensearch-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/pcap-capture-build-and-push-ghcr.yml b/.github/workflows/pcap-capture-build-and-push-ghcr.yml index 16360ff21..190f89752 100644 --- a/.github/workflows/pcap-capture-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-capture-build-and-push-ghcr.yml @@ -14,6 +14,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml index 97176f2cc..62fdcce1f 100644 --- a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml @@ -14,6 +14,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/postgresql-build-and-push-ghcr.yml b/.github/workflows/postgresql-build-and-push-ghcr.yml index fad9ed416..467a3396d 100644 --- a/.github/workflows/postgresql-build-and-push-ghcr.yml +++ b/.github/workflows/postgresql-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/redis-build-and-push-ghcr.yml b/.github/workflows/redis-build-and-push-ghcr.yml index f8a20455f..49373adac 100644 --- a/.github/workflows/redis-build-and-push-ghcr.yml +++ b/.github/workflows/redis-build-and-push-ghcr.yml @@ -13,6 +13,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/suricata-build-and-push-ghcr.yml b/.github/workflows/suricata-build-and-push-ghcr.yml index d7d5b8055..eae9b387e 100644 --- a/.github/workflows/suricata-build-and-push-ghcr.yml +++ b/.github/workflows/suricata-build-and-push-ghcr.yml @@ -14,6 +14,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' diff --git a/.github/workflows/zeek-build-and-push-ghcr.yml b/.github/workflows/zeek-build-and-push-ghcr.yml index 109d335fd..1a64b28ab 100644 --- a/.github/workflows/zeek-build-and-push-ghcr.yml +++ b/.github/workflows/zeek-build-and-push-ghcr.yml @@ -14,6 +14,7 @@ on: - '!shared/bin/sensor-init.sh' - '!shared/bin/os-disk-config.py' - '!shared/bin/extracted_files_http_server.py' + - '!shared/bin/web-ui-asset-download.sh' - '!shared/bin/preseed_late_user_config.sh' - '!shared/bin/configure-interfaces.py' - '!shared/bin/configure-capture.py' From 6ddc0511940d86641c8aad6d14344c70092c238a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 09:49:22 -0600 Subject: [PATCH 12/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- hedgehog-iso/build.sh | 4 +- .../interface/sensor_ctl/control_vars.conf | 8 ++- hedgehog-raspi/generate-recipe.py | 5 +- shared/bin/extracted_files_http_server.py | 69 ++++++++++--------- 4 files changed, 47 insertions(+), 39 deletions(-) diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index c6c613bc9..2541e8ac0 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -117,8 +117,8 @@ if [ -d "$WORKDIR" ]; then # assets for extracted file server mkdir -p ./config/includes.chroot/opt/sensor/assets/img/ rsync -a "$SCRIPT_PATH/nginx/" ./config/includes.chroot/opt/sensor/assets/ - cp "$SCRIPT_PATH"/docs/images/icon/favicon.ico ./config/includes.chroot/opt/sensor/assets/ - cp "$SCRIPT_PATH"/docs/images/logo/Malcolm_background.png ./config/includes.chroot/opt/sensor/assets/img/bg-masthead.png + cp "$SCRIPT_PATH"/docs/images/hedgehog/logo/favicon.ico ./config/includes.chroot/opt/sensor/assets/ + cp "$SCRIPT_PATH"/docs/images/hedgehog/logo/hedgehog-wallpaper-plain.png ./config/includes.chroot/opt/sensor/assets/img/bg-masthead.png bash "$SCRIPT_PATH/shared/bin/web-ui-asset-download.sh" -o ./config/includes.chroot/opt/sensor/assets/css/ chown -R root:root ./config/includes.chroot/opt/sensor/assets/css/ find ./config/includes.chroot/opt/sensor/assets/ -type d -exec chmod 755 "{}" \; diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index cf7535f82..d4d1595c4 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -25,12 +25,16 @@ export ARKIME_FREESPACEG=7% export ARKIME_ROTATE_INDEX=daily export ARKIME_DEBUG_LEVEL=0 -# Whether or not to serve the directory containing Zeek-extracted over HTTP at ./extracted-files/ -export EXTRACTED_FILE_HTTP_SERVER_ENABLE=false +# AUTOSTART_EXTRACTED_FILE_HTTP_SERVER below controls whether or not to serve the +# directory containing Zeek-extracted over HTTP at ./extracted-files/ export EXTRACTED_FILE_HTTP_SERVER_PORT=8006 export EXTRACTED_FILE_HTTP_ASSETS_DIR=/opt/assets # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file export EXTRACTED_FILE_HTTP_SERVER_ZIP=false +# Specifies the password for encrypted Zeek-extracted files served over HTTP +# If EXTRACTED_FILE_HTTP_SERVER_ZIP is true this is the password for the Zip file, +# otherwise it is the AES-256-CBC decryption password +EXTRACTED_FILE_HTTP_SERVER_KEY=infected # Whether or not to use libmagic to show MIME types for Zeek-extracted files served export EXTRACTED_FILE_HTTP_SERVER_MAGIC=false # HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved") diff --git a/hedgehog-raspi/generate-recipe.py b/hedgehog-raspi/generate-recipe.py index 475140bae..b4c8db00e 100755 --- a/hedgehog-raspi/generate-recipe.py +++ b/hedgehog-raspi/generate-recipe.py @@ -112,8 +112,9 @@ 'cp -r "%s/docs/images/hedgehog/logo/hedgehog-ascii-text.txt"* "${ROOT?}/root/"' % MALCOLM_DIR, 'cp -r "%s/nginx/landingpage/css/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, 'cp -r "%s/nginx/landingpage/js/" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, - 'cp -r "%s/docs/images/icon/favicon.ico" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, - 'cp -r "%s/docs/images/logo/Malcolm_background.png" "${ROOT?}/opt/sensor/assets/img/bg-masthead.png"' % MALCOLM_DIR, + 'cp -r "%s/docs/images/hedgehog/logo/favicon.ico" "${ROOT?}/opt/sensor/assets/"' % MALCOLM_DIR, + 'cp -r "%s/docs/images/hedgehog/logo/hedgehog-wallpaper-plain.png" "${ROOT?}/opt/sensor/assets/img/bg-masthead.png"' + % MALCOLM_DIR, ] # Extend list just in case version is 4 diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 412c28413..1b0473f50 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -44,7 +44,8 @@ script_name = os.path.basename(__file__) script_path = os.path.dirname(os.path.realpath(__file__)) orig_path = os.getcwd() -filename_truncate_len = 20 +filename_truncate_len_malcolm = 20 +filename_truncate_len = 32 ################################################################################################### @@ -83,6 +84,7 @@ def do_GET(self): fullpath, relpath = self.translate_path(self.path) fileBaseName = os.path.basename(fullpath) + fnameDispLen = filename_truncate_len_malcolm if args.malcolm else filename_truncate_len tomorrowStr = (datetime.now(UTC) + timedelta(days=1)).isoformat().split('.')[0] @@ -232,8 +234,8 @@ def do_GET(self): td( a( ( - (filename[:filename_truncate_len] + '...') - if len(filename) > filename_truncate_len + (filename[:fnameDispLen] + '...') + if len(filename) > fnameDispLen else filename ), href=f'{filename}', @@ -255,37 +257,38 @@ def do_GET(self): ) # show special malcolm columns if requested - if args.malcolm and fmatch is not None: - # list carve source, IDs, and timestamp - t.add( - td( - fsource, - style="text-align: center", - ), - td( - [ - a( - fid, - href=f'/arkime/idark2dash/filter?start={timestampStartFilterStr}&stop={tomorrowStr}&field=event.id&value={fid}', - target="_blank", - ) - for fid in fids - ], - style="text-align: center", - ), - td( - ( - timestamp.strftime("%Y-%m-%d %H:%M:%S") - if timestamp - else timestampStr + if args.malcolm: + if fmatch is not None: + # list carve source, IDs, and timestamp + t.add( + td( + fsource, + style="text-align: center", ), - title=timestampStr, - style="text-align: center", - ), - ) - else: - # file name format was not recognized, so extra columns are empty - t.add(th(), th(), th()) + td( + [ + a( + fid, + href=f'/arkime/idark2dash/filter?start={timestampStartFilterStr}&stop={tomorrowStr}&field=event.id&value={fid}', + target="_blank", + ) + for fid in fids + ], + style="text-align: center", + ), + td( + ( + timestamp.strftime("%Y-%m-%d %H:%M:%S") + if timestamp + else timestampStr + ), + title=timestampStr, + style="text-align: center", + ), + ) + else: + # file name format was not recognized, so extra columns are empty + t.add(th(), th(), th()) except Exception as e: eprint(f'Error with file "{filename}": {e}') From 6c0a9e7968c4646d3752be8fa810859f98257d62 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:11:27 -0600 Subject: [PATCH 13/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- Dockerfiles/file-monitor.Dockerfile | 2 +- nginx/nginx.conf | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 26904461c..757238dc7 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -232,7 +232,7 @@ USER root COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ COPY --chmod=755 shared/bin/service_check_passthrough.sh /usr/local/bin/ COPY --chmod=755 shared/bin/zeek_carve*.py /usr/local/bin/ -COPY --chmod=644 shared/bin/extracted_files_http_server.py /usr/local/bin/ +COPY --chmod=755 shared/bin/extracted_files_http_server.py /usr/local/bin/ COPY --chmod=644 shared/bin/watch_common.py /usr/local/bin/ COPY --chmod=644 scripts/malcolm_utils.py /usr/local/bin/ COPY --chmod=644 file-monitor/supervisord.conf /etc/supervisord.conf diff --git a/nginx/nginx.conf b/nginx/nginx.conf index f05786b5c..012035dbd 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -199,6 +199,16 @@ http { proxy_set_header Host file-monitor.malcolm.local; } + location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { + include /etc/nginx/nginx_auth_rt.conf; + set $upstream $1:8006; + rewrite ^/hh-extracted-files/([a-zA-Z0-9-\.]+)(.*)$ $2 break; + proxy_pass https://$upstream; + proxy_ssl_verify off; + proxy_set_header Host $1; + proxy_set_header X-Malcolm-Forward "/hh-extracted-files/$1"; + } + # netbox location /netbox { include /etc/nginx/nginx_auth_rt.conf; From 5b2359c38ffff767099bd5cf47af1aabc8f86bdf Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:12:20 -0600 Subject: [PATCH 14/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- nginx/nginx.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 012035dbd..16cf274fd 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -199,6 +199,9 @@ http { proxy_set_header Host file-monitor.malcolm.local; } + # extracted file download hedgehog redirect + # TODO: this is not very secure: we need to validate somehow + # that we're not just redirecting to some bad place location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { include /etc/nginx/nginx_auth_rt.conf; set $upstream $1:8006; From 695fe5d294f27801d397d9417f0f874d889bcd67 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:13:29 -0600 Subject: [PATCH 15/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- shared/bin/extracted_files_http_server.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 1b0473f50..2d3370632 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -46,6 +46,7 @@ orig_path = os.getcwd() filename_truncate_len_malcolm = 20 filename_truncate_len = 32 +malcolm_forward_header = 'X-Malcolm-Forward' ################################################################################################### @@ -82,6 +83,8 @@ def do_GET(self): global debug global args + assetsDirRespReplacer = f"{str(dict(self.headers).get(malcolm_forward_header, ''))}{args.assetsDirRespReplacer}" + fullpath, relpath = self.translate_path(self.path) fileBaseName = os.path.basename(fullpath) fnameDispLen = filename_truncate_len_malcolm if args.malcolm else filename_truncate_len @@ -110,10 +113,10 @@ def do_GET(self): with doc.head: meta(charset="utf-8") meta(name="viewport", content="width=device-width, initial-scale=1, shrink-to-fit=no") - link(rel="icon", href=f"{args.assetsDirRespReplacer}favicon.ico", type="image/x-icon") - link(rel="stylesheet", href=f"{args.assetsDirRespReplacer}css/bootstrap-icons.css", type="text/css") - link(rel="stylesheet", href=f"{args.assetsDirRespReplacer}css/google-fonts.css", type="text/css") - link(rel="stylesheet", href=f"{args.assetsDirRespReplacer}css/styles.css", type="text/css") + link(rel="icon", href=f"{assetsDirRespReplacer}favicon.ico", type="image/x-icon") + link(rel="stylesheet", href=f"{assetsDirRespReplacer}css/bootstrap-icons.css", type="text/css") + link(rel="stylesheet", href=f"{assetsDirRespReplacer}css/google-fonts.css", type="text/css") + link(rel="stylesheet", href=f"{assetsDirRespReplacer}css/styles.css", type="text/css") # with doc: @@ -324,8 +327,8 @@ def do_GET(self): a(href=f'https://github.com/idaholab/Malcolm/', target="_blank") ).add(i(cls="bi-github fs-3", title="GitHub")) - script(type="text/javascript", src=f"{args.assetsDirRespReplacer}js/bootstrap.bundle.min.js") - script(type="text/javascript", src=f"{args.assetsDirRespReplacer}js/scripts.js") + script(type="text/javascript", src=f"{assetsDirRespReplacer}js/bootstrap.bundle.min.js") + script(type="text/javascript", src=f"{assetsDirRespReplacer}js/scripts.js") # send directory listing HTML to web client self.wfile.write(str.encode(str(doc))) From 625eab09469dd21e89c87c3ea351808caba2bdc5 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:34:43 -0600 Subject: [PATCH 16/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- shared/bin/extracted_files_http_server.py | 29 ++++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 2d3370632..2158776a0 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -308,21 +308,22 @@ def do_GET(self): ) with div(cls="col-lg-6 h-100 text-center text-lg-end my-auto").add(ul(cls="list-inline mb-0")): - li(cls="list-inline-item").add(a(href=f'/', target="_blank")).add( - i(cls="bi bi-house fs-3", title="Malcolm") - ) - li(cls="list-inline-item").add(a(href=f'/readme/', target="_blank")).add( - i(cls="bi bi-question-circle fs-3", title="Documentation") - ) - li(cls="list-inline-item").add( - a( - href=f'/dashboards/app/dashboards#/view/9ee51f94-3316-4fc5-bd89-93a52af69714', - target="_blank", + if args.malcolm: + li(cls="list-inline-item").add(a(href=f'/', target="_blank")).add( + i(cls="bi bi-house fs-3", title="Malcolm") + ) + li(cls="list-inline-item").add(a(href=f'/readme/', target="_blank")).add( + i(cls="bi bi-question-circle fs-3", title="Documentation") + ) + li(cls="list-inline-item").add( + a( + href=f'/dashboards/app/dashboards#/view/9ee51f94-3316-4fc5-bd89-93a52af69714', + target="_blank", + ) + ).add(i(cls="bi bi-bar-chart-line fs-3", title="Dashboards")) + li(cls="list-inline-item").add(a(href=f'/arkime/sessions/', target="_blank")).add( + i(cls="bi bi-table fs-3", title="Arkime") ) - ).add(i(cls="bi bi-bar-chart-line fs-3", title="Dashboards")) - li(cls="list-inline-item").add(a(href=f'/arkime/sessions/', target="_blank")).add( - i(cls="bi bi-table fs-3", title="Arkime") - ) li(cls="list-inline-item").add( a(href=f'https://github.com/idaholab/Malcolm/', target="_blank") ).add(i(cls="bi-github fs-3", title="GitHub")) From ffd99034f2a347628113bea1a09be0063543c12a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:38:56 -0600 Subject: [PATCH 17/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- nginx/nginx.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 16cf274fd..d9c7ebdcc 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -200,8 +200,6 @@ http { } # extracted file download hedgehog redirect - # TODO: this is not very secure: we need to validate somehow - # that we're not just redirecting to some bad place location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { include /etc/nginx/nginx_auth_rt.conf; set $upstream $1:8006; From d319392ab328c06221c713f5d76644f11e16a750 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 12:57:49 -0600 Subject: [PATCH 18/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- shared/bin/configure-capture.py | 63 +++++++++++++++++++++++---------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index 616f8e2da..d6f124af1 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -62,6 +62,7 @@ class Constants: MISCBEAT = 'miscbeat' ARKIMECAP = 'arkime-capture' TX_RX_SECURE = 'ssl-client-receive' + ACL_CONFIGURE = 'acl-configure' BEAT_DIR = { FILEBEAT: f'/opt/sensor/sensor_ctl/{FILEBEAT}', @@ -106,7 +107,6 @@ class Constants: # specific to arkime ARKIME_PASSWORD_SECRET = "ARKIME_PASSWORD_SECRET" - MALCOLM_REQUEST_ACL = "MALCOLM_REQUEST_ACL" ARKIME_COMPRESSION_TYPE = "ARKIME_COMPRESSION_TYPE" ARKIME_COMPRESSION_LEVEL = "ARKIME_COMPRESSION_LEVEL" ARKIME_COMPRESSION_TYPES = ( @@ -119,6 +119,9 @@ class Constants: 'zstd': (-5, 19, 3), } + # ACL for Arkime PCAP reachback and extracted files server + MALCOLM_REQUEST_ACL = "MALCOLM_REQUEST_ACL" + MSG_CONFIG_MODE = 'Configuration Mode' MSG_CONFIG_MODE_CAPTURE = 'Configure Capture' MSG_CONFIG_MODE_FORWARD = 'Configure Forwarding' @@ -130,6 +133,8 @@ class Constants: MSG_CONFIG_FILEBEAT = (f'{FILEBEAT}', f'Configure Zeek log forwarding via {FILEBEAT}') MSG_CONFIG_MISCBEAT = (f'{MISCBEAT}', f"Configure miscellaneous sensor metrics forwarding via {FILEBEAT}") MSG_CONFIG_TXRX = (f'{TX_RX_SECURE}', f'Receive client SSL files for {FILEBEAT} from Malcolm') + MSG_CONFIG_ACL = (f'{ACL_CONFIGURE}', f'Configure ACL for artifact reachback from Malcolm') + MSG_OVERWRITE_CONFIG = '{} is already configured, overwrite current settings?' MSG_IDENTIFY_NICS = 'Do you need help identifying network interfaces?' MSG_BACKGROUND_TITLE = 'Sensor Configuration' @@ -152,7 +157,7 @@ class Constants: '{} forwarding configured:\n\n{}\n\nRestart forwarding services or reboot to apply changes.' ) MSG_CONFIG_ARKIME_VIEWER_PASSWORD = 'Specify password hash secret for Arkime viewer cluster' - MSG_CONFIG_ARKIME_PCAP_ACL = 'Specify IP addresses for PCAP retrieval ACL (one per line)' + MSG_CONFIG_REQUEST_ACL = 'Specify IP addresses for ACL for artifact reachback from Malcolm (one per line)' MSG_ERR_PLEBE_REQUIRED = 'this utility should be be run as non-privileged user' MSG_ERROR_DIR_NOT_FOUND = 'One or more of the paths specified does not exist' MSG_ERROR_FILE_NOT_FOUND = 'One or more of the files specified does not exist' @@ -841,8 +846,9 @@ def main(): Constants.MSG_CONFIG_ARKIME, Constants.MSG_CONFIG_FILEBEAT, Constants.MSG_CONFIG_MISCBEAT, + Constants.MSG_CONFIG_ACL, Constants.MSG_CONFIG_TXRX, - ][: 4 if txRxScript else -1], + ][: 5 if txRxScript else -1], ) if code != Dialog.OK: raise CancelledError @@ -899,22 +905,6 @@ def main(): if arkime_password: arkime_config_dict[Constants.ARKIME_PASSWORD_SECRET] = arkime_password - # get list of IP addresses allowed for packet payload retrieval - lines = previous_config_values[Constants.MALCOLM_REQUEST_ACL].split(",") - lines.append(opensearch_config_dict[Constants.BEAT_OS_HOST]) - code, lines = d.editbox_str( - "\n".join(list(filter(None, list(set(lines))))), title=Constants.MSG_CONFIG_ARKIME_PCAP_ACL - ) - if code != Dialog.OK: - raise CancelledError - arkime_config_dict[Constants.MALCOLM_REQUEST_ACL] = ','.join( - [ - ip - for ip in list(set(filter(None, [x.strip() for x in lines.split('\n')]))) - if isipaddress(ip) - ] - ) - # arkime PCAP compression settings code, compression_type = d.radiolist( Constants.MSG_CONFIG_ARKIME_COMPRESSION, @@ -1252,6 +1242,41 @@ def main(): Constants.SENSOR_CAPTURE_CONFIG, ) + elif fwd_mode == Constants.ACL_CONFIGURE: + + # get list of IP addresses allowed for packet payload retrieval + acl_config_dict = defaultdict(str) + lines = previous_config_values[Constants.MALCOLM_REQUEST_ACL].split(",") + if Constants.BEAT_OS_HOST in previous_config_values and ( + previous_config_values[Constants.BEAT_OS_HOST] + not in ('', '127.0.0.1', '::1', '0.0.0.0', '::', 'localhost') + ): + lines.append(previous_config_values[Constants.BEAT_OS_HOST]) + code, lines = d.editbox_str( + "\n".join(list(filter(None, list(set(lines))))), title=Constants.MSG_CONFIG_REQUEST_ACL + ) + if code != Dialog.OK: + raise CancelledError + + # modify specified ACL value in-place in SENSOR_CAPTURE_CONFIG file + newAclValsDict = { + Constants.MALCOLM_REQUEST_ACL: ','.join( + [ + ip + for ip in list(set(filter(None, [x.strip() for x in lines.split('\n')]))) + if isipaddress(ip) + ] + ) + } + rewrite_dict_to_file(newAclValsDict, Constants.SENSOR_CAPTURE_CONFIG) + + # hooray + code = d.msgbox( + text=Constants.MSG_CONFIG_FORWARDING_SUCCESS.format( + fwd_mode, "\n".join(newAclValsDict[Constants.MALCOLM_REQUEST_ACL].split(',')) + ) + ) + elif (fwd_mode == Constants.TX_RX_SECURE) and txRxScript: # use tx-rx-secure.sh (via croc) to get certs from Malcolm code = d.msgbox(text='Run auth_setup on Malcolm "Transfer self-signed client certificates..."') From 9a51ee46aec2839f748f95db1670730587383eff Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 13:00:19 -0600 Subject: [PATCH 19/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- nginx/nginx_readonly.conf | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf index 1251cf46f..2f7e770d6 100644 --- a/nginx/nginx_readonly.conf +++ b/nginx/nginx_readonly.conf @@ -129,6 +129,16 @@ http { proxy_set_header Host file-monitor.malcolm.local; } + # extracted file download hedgehog redirect + location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { + set $upstream $1:8006; + rewrite ^/hh-extracted-files/([a-zA-Z0-9-\.]+)(.*)$ $2 break; + proxy_pass https://$upstream; + proxy_ssl_verify off; + proxy_set_header Host $1; + proxy_set_header X-Malcolm-Forward "/hh-extracted-files/$1"; + } + # netbox location /netbox { limit_except GET { deny all; } From 4a21efccdd3cf48423c0661b6127464e41587dfa Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 13:14:02 -0600 Subject: [PATCH 20/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- nginx/nginx.conf | 1 + nginx/nginx_readonly.conf | 1 + nginx/scripts/docker_entrypoint.sh | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index d9c7ebdcc..97acc2cf6 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -202,6 +202,7 @@ http { # extracted file download hedgehog redirect location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { include /etc/nginx/nginx_auth_rt.conf; + include /etc/nginx/nginx_system_resolver.conf; set $upstream $1:8006; rewrite ^/hh-extracted-files/([a-zA-Z0-9-\.]+)(.*)$ $2 break; proxy_pass https://$upstream; diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf index 2f7e770d6..94fd75e16 100644 --- a/nginx/nginx_readonly.conf +++ b/nginx/nginx_readonly.conf @@ -131,6 +131,7 @@ http { # extracted file download hedgehog redirect location ~* ^/hh-extracted-files/([a-zA-Z0-9-\.]+)\b(.*) { + include /etc/nginx/nginx_system_resolver.conf; set $upstream $1:8006; rewrite ^/hh-extracted-files/([a-zA-Z0-9-\.]+)(.*)$ $2 break; proxy_pass https://$upstream; diff --git a/nginx/scripts/docker_entrypoint.sh b/nginx/scripts/docker_entrypoint.sh index 3a43d04bf..ee1a92bb6 100755 --- a/nginx/scripts/docker_entrypoint.sh +++ b/nginx/scripts/docker_entrypoint.sh @@ -18,6 +18,9 @@ NGINX_SSL_CONF=/etc/nginx/nginx_ssl_config.conf # a blank file just to use as an "include" placeholder for the nginx's LDAP config when LDAP is not used NGINX_BLANK_CONF=/etc/nginx/nginx_blank.conf +# "include" file for resolver directive +NGINX_RESOLVER_CONF=/etc/nginx/nginx_system_resolver.conf + # "include" file for auth_basic, prompt, and htpasswd location NGINX_BASIC_AUTH_CONF=/etc/nginx/nginx_auth_basic.conf @@ -287,6 +290,12 @@ for TEMPLATE in "$NGINX_TEMPLATES_DIR"/*.conf.template; do DOLLAR=$ envsubst < "$TEMPLATE" > "$NGINX_CONFD_DIR/$(basename "$TEMPLATE"| sed 's/\.template$//')" done +# put the DNS resolver (nameserver from /etc/resolv.conf) into NGINX_RESOLVER_CONF +DNS_SERVER="$(grep -i '^nameserver' /etc/resolv.conf | head -n1 | cut -d ' ' -f2)" +[[ -z "${DNS_SERVER:-}" ]] && DNS_SERVER="127.0.0.11" +export DNS_SERVER +echo "resolver ${DNS_SERVER};" > "${NGINX_RESOLVER_CONF}" + set -e # insert some build and runtime information into the landing page From c53fea70cb44114eeafaec5d416fea391d6ec7c3 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 1 Apr 2024 15:22:33 -0600 Subject: [PATCH 21/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- arkime/etc/config.ini | 3 ++- arkime/wise/source.zeeklogs.js | 7 ++++-- .../templates/composable/component/zeek.json | 1 + logstash/pipelines/zeek/12_zeek_mutate.conf | 24 +++++++++++++++++++ 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini index bb09362af..96028b00a 100644 --- a/arkime/etc/config.ini +++ b/arkime/etc/config.ini @@ -516,6 +516,7 @@ zeek.files.sha256=db:zeek.files.sha256;group:zeek_files;kind:termfield;viewerOnl zeek.files.extracted=db:zeek.files.extracted;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Extracted Filename;help:Extracted Filename zeek.files.extracted_cutoff=db:zeek.files.extracted_cutoff;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Truncated;help:Truncated zeek.files.extracted_size=db:zeek.files.extracted_size;group:zeek_files;kind:integer;viewerOnly:true;friendly:Extracted Bytes;help:Extracted Bytes +zeek.files.extracted_uri=db:zeek.files.extracted_uri;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Extracted Filename URL;help:Extracted File URL # ftp.log # https://docs.zeek.org/en/stable/scripts/base/protocols/ftp/info.zeek.html#type-FTP::Info @@ -2661,7 +2662,7 @@ o_zeek_ecat_log_address=require:zeek.ecat_log_address;title:Zeek ecat_log_addres o_zeek_ecat_registers=require:zeek.ecat_registers;title:Zeek ecat_registers.log;fields:zeek.ecat_registers.command,zeek.ecat_registers.server_addr,zeek.ecat_registers.register_type,zeek.ecat_registers.register_addr,zeek.ecat_registers.data o_zeek_ecat_soe_info=require:zeek.ecat_soe_info;title:Zeek ecat_soe_info.log;fields:zeek.ecat_soe_info.opcode,zeek.ecat_soe_info.incomplete,zeek.ecat_soe_info.error,zeek.ecat_soe_info.drive_num,zeek.ecat_soe_info.element,zeek.ecat_soe_info.index o_zeek_enip=require:zeek.enip;title:Zeek enip.log;fields:zeek.enip.enip_command,zeek.enip.enip_command_code,zeek.enip.length,zeek.enip.session_handle,zeek.enip.enip_status,zeek.enip.sender_context,zeek.enip.options -o_zeek_files=require:zeek.files;title:Zeek files.log;fields:zeek.files.tx_hosts,zeek.files.rx_hosts,zeek.files.conn_uids,zeek.files.source,zeek.files.depth,zeek.files.analyzers,zeek.files.mime_type,zeek.files.filename,zeek.files.ftime,zeek.files.duration,zeek.files.local_orig,zeek.files.seen_bytes,zeek.files.total_bytes,zeek.files.missing_bytes,zeek.files.overflow_bytes,zeek.files.timedout,zeek.files.parent_fuid,zeek.files.md5,zeek.files.sha1,zeek.files.sha256,zeek.files.extracted,zeek.files.extracted_cutoff,zeek.files.extracted_size +o_zeek_files=require:zeek.files;title:Zeek files.log;fields:zeek.files.tx_hosts,zeek.files.rx_hosts,zeek.files.conn_uids,zeek.files.source,zeek.files.depth,zeek.files.analyzers,zeek.files.mime_type,zeek.files.filename,zeek.files.ftime,zeek.files.duration,zeek.files.local_orig,zeek.files.seen_bytes,zeek.files.total_bytes,zeek.files.missing_bytes,zeek.files.overflow_bytes,zeek.files.timedout,zeek.files.parent_fuid,zeek.files.md5,zeek.files.sha1,zeek.files.sha256,zeek.files.extracted,zeek.files.extracted_cutoff,zeek.files.extracted_size,zeek.files.extracted_uri o_zeek_ftp=require:zeek.ftp;title:Zeek ftp.log;fields:zeek.ftp.command,zeek.ftp.arg,zeek.ftp.mime_type,zeek.ftp.file_size,zeek.ftp.reply_code,zeek.ftp.reply_msg,zeek.ftp.data_channel.passive,zeek.ftp.data_channel.orig_h,zeek.ftp.data_channel.resp_h,zeek.ftp.data_channel.resp_p o_zeek_genisys=require:zeek.genisys;title:Zeek genisys.log;fields:zeek.genisys.header,zeek.genisys.server,zeek.genisys.direction,zeek.genisys.crc_transmitted,zeek.genisys.crc_calculated,zeek.genisys.payload.address,zeek.genisys.payload.data o_zeek_gquic=require:zeek.gquic;title:Zeek gquic.log;fields:zeek.gquic.version,zeek.gquic.server_name,zeek.gquic.user_agent,zeek.gquic.tag_count,zeek.gquic.cyu,zeek.gquic.cyutags diff --git a/arkime/wise/source.zeeklogs.js b/arkime/wise/source.zeeklogs.js index 140ec922f..77d16cb51 100644 --- a/arkime/wise/source.zeeklogs.js +++ b/arkime/wise/source.zeeklogs.js @@ -966,6 +966,7 @@ class MalcolmSource extends WISESource { "zeek.files.extracted", "zeek.files.extracted_cutoff", "zeek.files.extracted_size", + "zeek.files.extracted_uri", "zeek.files.filename", "zeek.files.ftime", "zeek.files.local_orig", @@ -2253,8 +2254,10 @@ class MalcolmSource extends WISESource { this.api.addValueAction("malcolm_websearch_mime", { name: "Media Type Registry", url: 'https://www.iana.org/assignments/media-types/%TEXT%', fields: mimeFieldsStr }); // add right-click for extracted files from zeek - var carvedFieldsStr = allFields.filter(value => /^zeek\.files\.extracted$/i.test(value)).join(','); - this.api.addValueAction("malcolm_carved_file_quarantined", { name: "Download", url: "/extracted-files/%TEXT%", fields: carvedFieldsStr }); + // var carvedFieldsStr = allFields.filter(value => /^zeek\.files\.extracted$/i.test(value)).join(','); + // this.api.addValueAction("malcolm_carved_file", { name: "Download", url: "/extracted-files/%TEXT%", fields: carvedFieldsStr }); + var carvedFieldsUrlStr = allFields.filter(value => /^zeek\.files\.extracted_uri$/i.test(value)).join(','); + this.api.addValueAction("malcolm_carved_file_url", { name: "Download", url: "/%TEXT%", fields: carvedFieldsUrlStr }); // add right-clicks for pivoting into dashboards from Arkime (see nginx.conf) var filterLabel = "OpenSearch Dashboards %DBFIELD%"; diff --git a/dashboards/templates/composable/component/zeek.json b/dashboards/templates/composable/component/zeek.json index 76b20aafd..ea948f921 100644 --- a/dashboards/templates/composable/component/zeek.json +++ b/dashboards/templates/composable/component/zeek.json @@ -67,6 +67,7 @@ "zeek.files.extracted": { "type": "keyword" }, "zeek.files.extracted_cutoff": { "type": "keyword" }, "zeek.files.extracted_size": { "type": "long" }, + "zeek.files.extracted_uri": { "type": "keyword" }, "zeek.files.filename": { "type": "keyword", "ignore_above": 1024, "fields": { "text": { "type": "text" } } }, "zeek.files.ftime": { "type": "date" }, "zeek.files.local_orig": { "type": "keyword" }, diff --git a/logstash/pipelines/zeek/12_zeek_mutate.conf b/logstash/pipelines/zeek/12_zeek_mutate.conf index 32388c8ca..f4b8d0d29 100644 --- a/logstash/pipelines/zeek/12_zeek_mutate.conf +++ b/logstash/pipelines/zeek/12_zeek_mutate.conf @@ -16,6 +16,11 @@ filter { if (![event][provider]) { mutate { id => "mutate_add_field_event_provider_zeek" add_field => { "[event][provider]" => "zeek" } } } + if (![host][name]) and ([agent][hostname]) { + mutate { id => "mutate_zeek_add_field_host_name_agent_hostname" + add_field => { "[host][name]" => "%{[agent][hostname]}" } } + } + # rename the zeek child array to match the log type mutate { id => "mutate_rename_zeek_log_type" rename => { "[zeek_cols]" => "[zeek][%{[log_source]}]" } } @@ -560,6 +565,25 @@ filter { if ([zeek][files][sha256]) { mutate { id => "mutate_add_field_ecs_files_hash_sha256" add_field => { "[file][hash][sha256]" => "%{[zeek][files][sha256]}" } } } + if ([zeek][files][extracted]) { + ruby { + id => "ruby_zeek_files_extracted_uri_build" + code => " + uri = nil + if (fName = event.get('[zeek][files][extracted]')) then + if (tags = event.get('[tags]')) && tags.include?('_filebeat_zeek_hedgehog_live') then + if (hName = event.get('[host][name]')) then + uri = 'hh-extracted-files/' + hName + '/' + fName + end + else + uri = 'extracted-files/' + fName + end + end + event.set('[zeek][files][extracted_uri]', uri) unless uri.nil? or (uri.length == 0) + " + } + } + } else if ([log_source] == "ftp") { ############################################################################################################################# # ftp.log specific logic From d31a04a9e267e49820ddce65c2d981d4a1c5bf3d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 08:01:51 -0600 Subject: [PATCH 22/98] added ARKIME_QUERY_ALL_INDICES env. variable to set queryAllIndices (https://arkime.com/settings#queryAllIndices) --- arkime/etc/config.ini | 1 + arkime/scripts/docker_entrypoint.sh | 2 ++ config/arkime.env.example | 3 +++ docs/malcolm-config.md | 1 + 4 files changed, 7 insertions(+) diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini index 96028b00a..d371a4821 100644 --- a/arkime/etc/config.ini +++ b/arkime/etc/config.ini @@ -46,6 +46,7 @@ passwordSecret=Malcolm pcapDir=/data/pcap/processed plugins=wise.so pluginsDir=/opt/arkime/plugins +queryAllIndices=false queryExtraIndices= readTruncatedPackets=true reqBodyOnlyUtf8=true diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index 636447bb0..d29873b83 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -14,6 +14,7 @@ ARKIME_CONFIG_FILE="${ARKIME_DIR}"/etc/config.ini ARKIME_PASSWORD_SECRET=${ARKIME_PASSWORD_SECRET:-"Malcolm"} ARKIME_FREESPACEG=${ARKIME_FREESPACEG:-"10%"} ARKIME_ROTATE_INDEX=${ARKIME_ROTATE_INDEX:-"daily"} +ARKIME_QUERY_ALL_INDICES=${ARKIME_QUERY_ALL_INDICES:-"false"} MALCOLM_NETWORK_INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-} ARKIME_DEBUG_LEVEL=${ARKIME_DEBUG_LEVEL:-0} CAPTURE_INTERFACE=${PCAP_IFACE:-} @@ -62,6 +63,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s/^\(passwordSecret=\).*/\1"${ARKIME_PASSWORD_SECRET}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(rotateIndex=\).*/\1"${ARKIME_ROTATE_INDEX}"/" "${ARKIME_CONFIG_FILE}" + sed -i "s/^\(queryAllIndices=\).*/\1"${ARKIME_QUERY_ALL_INDICES}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(queryExtraIndices=\).*/\1"${MALCOLM_NETWORK_INDEX_PATTERN}"/" "${MALCOLM_NETWORK_INDEX_PATTERN}" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(debug=\).*/\1"${ARKIME_DEBUG_LEVEL}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}" diff --git a/config/arkime.env.example b/config/arkime.env.example index 04423e865..512842cdd 100644 --- a/config/arkime.env.example +++ b/config/arkime.env.example @@ -6,6 +6,9 @@ ARKIME_FREESPACEG=10% # How often to create a new index in OpenSearch/Elasticsearch # https://arkime.com/settings#rotateIndex ARKIME_ROTATE_INDEX=daily +# Always query all indices instead of trying to calculate which ones +# https://arkime.com/settings#queryAllIndices +ARKIME_QUERY_ALL_INDICES=false # debug flag for config.ini (https://arkime.com/settings#debug) ARKIME_DEBUG_LEVEL=0 diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 22ad45283..483876d86 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -12,6 +12,7 @@ Although the configuration script automates many of the following configuration - `ARKIME_AUTO_ANALYZE_PCAP_THREADS` – the number of threads available to Arkime for analyzing PCAP files (default `1`) - `ARKIME_PASSWORD_SECRET` - the password hash secret for the Arkime viewer cluster (see `passwordSecret` in [Arkime INI Settings](https://arkime.com/settings)) used to secure the connection used when Arkime viewer retrieves a PCAP payload for display in its user interface - `ARKIME_ROTATE_INDEX` - how often (based on network traffic timestamp) to [create a new index](https://arkime.com/settings#rotateIndex) in OpenSearch + - `ARKIME_QUERY_ALL_INDICES` - whether or not Arkime should [query all indices](https://arkime.com/settings#queryAllIndices) instead of trying to calculate which ones pertain to the search time frame (default `false`) - `MANAGE_PCAP_FILES` – if set to `true`, all PCAP files imported into Malcolm will be marked as available for deletion by Arkime if available storage space becomes too low (default `false`) - `MAXMIND_GEOIP_DB_LICENSE_KEY` - Malcolm uses MaxMind's free GeoLite2 databases for GeoIP lookups. As of December 30, 2019, these databases are [no longer available](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/) for download via a public URL. Instead, they must be downloaded using a MaxMind license key (available without charge [from MaxMind](https://www.maxmind.com/en/geolite2/signup)). The license key can be specified here for GeoIP database downloads during build- and run-time. - The following variables configure [Arkime's use](index-management.md#ArkimeIndexPolicies) of OpenSearch [Index State Management (ISM)](https://opensearch.org/docs/latest/im-plugin/ism/index/) or Elasticsearch [Index Lifecycle Management (ILM)](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html): From 6e84f822034f2ff01ac3d5cb96c143f4df28b78a Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 08:03:50 -0600 Subject: [PATCH 23/98] bump beats to v8.13.1 (https://www.elastic.co/guide/en/beats/libbeat/current/release-notes-8.13.1.html) and logstash to v8.13.1 (https://www.elastic.co/guide/en/logstash/current/logstash-8-13-1.html) --- Dockerfiles/filebeat.Dockerfile | 2 +- Dockerfiles/logstash.Dockerfile | 2 +- hedgehog-iso/build.sh | 2 +- hedgehog-raspi/sensor_install.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index 32813958d..b5a7824c4 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/beats/filebeat-oss:8.13.0 +FROM docker.elastic.co/beats/filebeat-oss:8.13.1 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile index 5706d4101..f510c3856 100644 --- a/Dockerfiles/logstash.Dockerfile +++ b/Dockerfiles/logstash.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/logstash/logstash-oss:8.13.0 +FROM docker.elastic.co/logstash/logstash-oss:8.13.1 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index 2541e8ac0..bae938a10 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -5,7 +5,7 @@ IMAGE_PUBLISHER=idaholab IMAGE_VERSION=1.0.0 IMAGE_DISTRIBUTION=bookworm -BEATS_VER="8.13.0" +BEATS_VER="8.13.1" BEATS_OSS="-oss" BUILD_ERROR_CODE=1 diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index 16d9868c5..9e996c9a0 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -32,7 +32,7 @@ SHARED_DIR='/opt/buildshared' WORK_DIR="$(mktemp -d -t hedgehog-XXXXXX)" SENSOR_DIR='/opt/sensor' -BEATS_VER="8.13.0" +BEATS_VER="8.13.1" BEATS_OSS="-oss" # Option to build from sources if desired From fdf0afcb236267657ea6f2349b2357e699362a7e Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 08:42:58 -0600 Subject: [PATCH 24/98] fixed assets directory on sensor --- hedgehog-iso/interface/sensor_ctl/control_vars.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index d4d1595c4..baec75f36 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -28,7 +28,7 @@ export ARKIME_DEBUG_LEVEL=0 # AUTOSTART_EXTRACTED_FILE_HTTP_SERVER below controls whether or not to serve the # directory containing Zeek-extracted over HTTP at ./extracted-files/ export EXTRACTED_FILE_HTTP_SERVER_PORT=8006 -export EXTRACTED_FILE_HTTP_ASSETS_DIR=/opt/assets +export EXTRACTED_FILE_HTTP_ASSETS_DIR=/opt/sensor/assets # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file export EXTRACTED_FILE_HTTP_SERVER_ZIP=false # Specifies the password for encrypted Zeek-extracted files served over HTTP From bebe6770851a1c91c78ea527944c1a0a6570fea7 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 09:21:50 -0600 Subject: [PATCH 25/98] show malcolm columns if malcolm redirect header is in place (idaholab/Malcolm#331) --- shared/bin/extracted_files_http_server.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index 2158776a0..7071f878d 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -83,11 +83,12 @@ def do_GET(self): global debug global args + showMalcolmCols = args.malcolm or (malcolm_forward_header in dict(self.headers)) assetsDirRespReplacer = f"{str(dict(self.headers).get(malcolm_forward_header, ''))}{args.assetsDirRespReplacer}" fullpath, relpath = self.translate_path(self.path) fileBaseName = os.path.basename(fullpath) - fnameDispLen = filename_truncate_len_malcolm if args.malcolm else filename_truncate_len + fnameDispLen = filename_truncate_len_malcolm if showMalcolmCols else filename_truncate_len tomorrowStr = (datetime.now(UTC) + timedelta(days=1)).isoformat().split('.')[0] @@ -138,7 +139,7 @@ def do_GET(self): th("Type" if args.magic else "Extension"), th("Size"), ) - if args.malcolm: + if showMalcolmCols: t.add( th("Source"), th("IDs"), @@ -151,7 +152,7 @@ def do_GET(self): td("Directory"), td(''), ) - if args.malcolm: + if showMalcolmCols: t.add(th(), th(), th()) # content rows (files and directories) @@ -167,7 +168,7 @@ def do_GET(self): td("Directory"), td(''), ) - if args.malcolm: + if showMalcolmCols: t.add(th(), th(), th()) except Exception as e: eprint(f'Error with directory "{dirname}"": {e}') @@ -186,7 +187,7 @@ def do_GET(self): fmatch = None fsource = '' fids = list() - if args.malcolm: + if showMalcolmCols: # determine if filename is in a pattern we recognize fmatch = carvedFileRegex.search(filename) if fmatch is None: @@ -260,7 +261,7 @@ def do_GET(self): ) # show special malcolm columns if requested - if args.malcolm: + if showMalcolmCols: if fmatch is not None: # list carve source, IDs, and timestamp t.add( @@ -308,7 +309,7 @@ def do_GET(self): ) with div(cls="col-lg-6 h-100 text-center text-lg-end my-auto").add(ul(cls="list-inline mb-0")): - if args.malcolm: + if showMalcolmCols: li(cls="list-inline-item").add(a(href=f'/', target="_blank")).add( i(cls="bi bi-house fs-3", title="Malcolm") ) From d07440e6949021629bab7f44471a79a71e8e1a8f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 11:57:45 -0600 Subject: [PATCH 26/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- arkime/etc/config.ini | 4 ++-- arkime/wise/source.zeeklogs.js | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini index d371a4821..9e7bafee6 100644 --- a/arkime/etc/config.ini +++ b/arkime/etc/config.ini @@ -515,9 +515,9 @@ zeek.files.md5=db:zeek.files.md5;group:zeek_files;kind:termfield;viewerOnly:true zeek.files.sha1=db:zeek.files.sha1;group:zeek_files;kind:termfield;viewerOnly:true;friendly:SHA1 Digest;help:SHA1 Digest zeek.files.sha256=db:zeek.files.sha256;group:zeek_files;kind:termfield;viewerOnly:true;friendly:SHA256 Digest;help:SHA256 Digest zeek.files.extracted=db:zeek.files.extracted;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Extracted Filename;help:Extracted Filename +zeek.files.extracted_uri=db:zeek.files.extracted_uri;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Extracted Filename URL;help:Extracted File URL zeek.files.extracted_cutoff=db:zeek.files.extracted_cutoff;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Truncated;help:Truncated zeek.files.extracted_size=db:zeek.files.extracted_size;group:zeek_files;kind:integer;viewerOnly:true;friendly:Extracted Bytes;help:Extracted Bytes -zeek.files.extracted_uri=db:zeek.files.extracted_uri;group:zeek_files;kind:termfield;viewerOnly:true;friendly:Extracted Filename URL;help:Extracted File URL # ftp.log # https://docs.zeek.org/en/stable/scripts/base/protocols/ftp/info.zeek.html#type-FTP::Info @@ -2663,7 +2663,7 @@ o_zeek_ecat_log_address=require:zeek.ecat_log_address;title:Zeek ecat_log_addres o_zeek_ecat_registers=require:zeek.ecat_registers;title:Zeek ecat_registers.log;fields:zeek.ecat_registers.command,zeek.ecat_registers.server_addr,zeek.ecat_registers.register_type,zeek.ecat_registers.register_addr,zeek.ecat_registers.data o_zeek_ecat_soe_info=require:zeek.ecat_soe_info;title:Zeek ecat_soe_info.log;fields:zeek.ecat_soe_info.opcode,zeek.ecat_soe_info.incomplete,zeek.ecat_soe_info.error,zeek.ecat_soe_info.drive_num,zeek.ecat_soe_info.element,zeek.ecat_soe_info.index o_zeek_enip=require:zeek.enip;title:Zeek enip.log;fields:zeek.enip.enip_command,zeek.enip.enip_command_code,zeek.enip.length,zeek.enip.session_handle,zeek.enip.enip_status,zeek.enip.sender_context,zeek.enip.options -o_zeek_files=require:zeek.files;title:Zeek files.log;fields:zeek.files.tx_hosts,zeek.files.rx_hosts,zeek.files.conn_uids,zeek.files.source,zeek.files.depth,zeek.files.analyzers,zeek.files.mime_type,zeek.files.filename,zeek.files.ftime,zeek.files.duration,zeek.files.local_orig,zeek.files.seen_bytes,zeek.files.total_bytes,zeek.files.missing_bytes,zeek.files.overflow_bytes,zeek.files.timedout,zeek.files.parent_fuid,zeek.files.md5,zeek.files.sha1,zeek.files.sha256,zeek.files.extracted,zeek.files.extracted_cutoff,zeek.files.extracted_size,zeek.files.extracted_uri +o_zeek_files=require:zeek.files;title:Zeek files.log;fields:zeek.files.tx_hosts,zeek.files.rx_hosts,zeek.files.conn_uids,zeek.files.source,zeek.files.depth,zeek.files.analyzers,zeek.files.mime_type,zeek.files.filename,zeek.files.ftime,zeek.files.duration,zeek.files.local_orig,zeek.files.seen_bytes,zeek.files.total_bytes,zeek.files.missing_bytes,zeek.files.overflow_bytes,zeek.files.timedout,zeek.files.parent_fuid,zeek.files.md5,zeek.files.sha1,zeek.files.sha256,zeek.files.extracted,zeek.files.extracted_uri,zeek.files.extracted_cutoff,zeek.files.extracted_size o_zeek_ftp=require:zeek.ftp;title:Zeek ftp.log;fields:zeek.ftp.command,zeek.ftp.arg,zeek.ftp.mime_type,zeek.ftp.file_size,zeek.ftp.reply_code,zeek.ftp.reply_msg,zeek.ftp.data_channel.passive,zeek.ftp.data_channel.orig_h,zeek.ftp.data_channel.resp_h,zeek.ftp.data_channel.resp_p o_zeek_genisys=require:zeek.genisys;title:Zeek genisys.log;fields:zeek.genisys.header,zeek.genisys.server,zeek.genisys.direction,zeek.genisys.crc_transmitted,zeek.genisys.crc_calculated,zeek.genisys.payload.address,zeek.genisys.payload.data o_zeek_gquic=require:zeek.gquic;title:Zeek gquic.log;fields:zeek.gquic.version,zeek.gquic.server_name,zeek.gquic.user_agent,zeek.gquic.tag_count,zeek.gquic.cyu,zeek.gquic.cyutags diff --git a/arkime/wise/source.zeeklogs.js b/arkime/wise/source.zeeklogs.js index 77d16cb51..4ee474e7b 100644 --- a/arkime/wise/source.zeeklogs.js +++ b/arkime/wise/source.zeeklogs.js @@ -2269,11 +2269,6 @@ class MalcolmSource extends WISESource { var apiURL = "/mapi/agg/%DBFIELD%?from=%ISOSTART%&to=%ISOSTOP%"; this.api.addFieldAction("malcolm_mapi_fields_zeek", { name: apiLabel, url: apiURL, all: true }); - // add rick-click for extracted-files - var extractedFilesLabel = "Browse Extracted Files"; - var extractedFilesURL = "/extracted-files/"; - this.api.addFieldAction("malcolm_mapi_field_extracted_files", { name: extractedFilesLabel, url: extractedFilesURL, fields: carvedFieldsStr }); - // add right-click for viewing original JSON document this.api.addValueAction("malcolm_json_source", { name: "%DBFIELD% Document(s) JSON", url: "/mapi/document?filter={\"%DBFIELD%\":\"%TEXT%\"}", fields: "communityId,event.id,id,network.community_id,rootId,zeek.fuid,zeek.uid" }); From c58ccefec89b665d7c06c61695a951793f9eb65c Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 15:22:21 -0600 Subject: [PATCH 27/98] work in progress for idaholab/Malcolm#331, add transform vis. to Files dashboard for file downloads --- .../9ee51f94-3316-4fc5-bd89-93a52af69714.json | 116 +++++++++--------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 4ea6d42cf..6015bec27 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -1,5 +1,5 @@ { - "version": "2.11.1", + "version": "2.12.0", "objects": [ { "id": "9ee51f94-3316-4fc5-bd89-93a52af69714", @@ -7,13 +7,13 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:31:54.606Z", - "version": "Wzk1MywxXQ==", + "updated_at": "2024-04-02T21:20:03.561Z", + "version": "WzEyODYsMV0=", "attributes": { "title": "Files", "hits": 0, "description": "", - "panelsJSON": "[{\"embeddableConfig\":{\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":10,\"i\":\"2\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"2\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":27,\"i\":\"3\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"3\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":0,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":0,\"direction\":\"desc\"}}},\"gridData\":{\"h\":28,\"i\":\"6\",\"w\":8,\"x\":0,\"y\":27},\"panelIndex\":\"6\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"7\",\"w\":8,\"x\":40,\"y\":10},\"panelIndex\":\"7\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"8\",\"w\":8,\"x\":32,\"y\":10},\"panelIndex\":\"8\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":6,\"i\":\"11\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"11\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{\"hidePanelTitles\":true},\"gridData\":{\"h\":4,\"i\":\"67954b42-513c-47af-af19-e2382ad27cf9\",\"w\":8,\"x\":8,\"y\":6},\"panelIndex\":\"67954b42-513c-47af-af19-e2382ad27cf9\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":47,\"i\":\"b932bc95-a3b3-411b-a7d2-2fe43e38cf8a\",\"w\":15,\"x\":8,\"y\":10},\"panelIndex\":\"b932bc95-a3b3-411b-a7d2-2fe43e38cf8a\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"gridData\":{\"h\":18,\"i\":\"2d3ee44d-2d7f-4573-8b02-f6e46e550238\",\"w\":9,\"x\":23,\"y\":10},\"panelIndex\":\"2d3ee44d-2d7f-4573-8b02-f6e46e550238\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":3,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":3,\"direction\":\"desc\"}}},\"gridData\":{\"h\":29,\"i\":\"fecc7359-c195-4066-a565-2effd4380b9e\",\"w\":25,\"x\":23,\"y\":28},\"panelIndex\":\"fecc7359-c195-4066-a565-2effd4380b9e\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":35,\"i\":\"8e4863be-7d69-4354-9eb4-4e30a7c983d6\",\"w\":48,\"x\":0,\"y\":57},\"panelIndex\":\"8e4863be-7d69-4354-9eb4-4e30a7c983d6\",\"version\":\"2.11.1\",\"panelRefName\":\"panel_10\"}]", + "panelsJSON": "[{\"embeddableConfig\":{\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":10,\"i\":\"2\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"2\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":30,\"i\":\"3\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"3\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":0,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":0,\"direction\":\"desc\"}}},\"gridData\":{\"h\":27,\"i\":\"6\",\"w\":8,\"x\":0,\"y\":30},\"panelIndex\":\"6\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":25,\"i\":\"7\",\"w\":8,\"x\":40,\"y\":10},\"panelIndex\":\"7\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":25,\"i\":\"8\",\"w\":8,\"x\":32,\"y\":10},\"panelIndex\":\"8\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":10,\"i\":\"11\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"11\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":47,\"i\":\"b932bc95-a3b3-411b-a7d2-2fe43e38cf8a\",\"w\":15,\"x\":8,\"y\":10},\"panelIndex\":\"b932bc95-a3b3-411b-a7d2-2fe43e38cf8a\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"gridData\":{\"h\":25,\"i\":\"2d3ee44d-2d7f-4573-8b02-f6e46e550238\",\"w\":9,\"x\":23,\"y\":10},\"panelIndex\":\"2d3ee44d-2d7f-4573-8b02-f6e46e550238\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":3,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":3,\"direction\":\"desc\"}}},\"gridData\":{\"h\":44,\"i\":\"fecc7359-c195-4066-a565-2effd4380b9e\",\"w\":25,\"x\":23,\"y\":35},\"panelIndex\":\"fecc7359-c195-4066-a565-2effd4380b9e\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"hidePanelTitles\":true},\"gridData\":{\"h\":22,\"i\":\"3c093f74-cb0d-4c4b-9462-0241060ba201\",\"w\":23,\"x\":0,\"y\":57},\"panelIndex\":\"3c093f74-cb0d-4c4b-9462-0241060ba201\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":35,\"i\":\"8e4863be-7d69-4354-9eb4-4e30a7c983d6\",\"w\":48,\"x\":0,\"y\":79},\"panelIndex\":\"8e4863be-7d69-4354-9eb4-4e30a7c983d6\",\"version\":\"2.12.0\",\"panelRefName\":\"panel_10\"}]", "optionsJSON": "{\"useMargins\":true}", "version": 1, "timeRestore": false, @@ -55,22 +55,22 @@ { "name": "panel_6", "type": "visualization", - "id": "1642f6f0-c44c-11ee-876e-5d93490b24bb" + "id": "269ec200-7fa6-11ec-998f-a1f630163497" }, { "name": "panel_7", "type": "visualization", - "id": "269ec200-7fa6-11ec-998f-a1f630163497" + "id": "b49ab0c0-7fa9-11ec-998f-a1f630163497" }, { "name": "panel_8", "type": "visualization", - "id": "b49ab0c0-7fa9-11ec-998f-a1f630163497" + "id": "91157aa0-7fa8-11ec-998f-a1f630163497" }, { "name": "panel_9", "type": "visualization", - "id": "91157aa0-7fa8-11ec-998f-a1f630163497" + "id": "e87df6b0-f124-11ee-b6bb-474cdc003f68" }, { "name": "panel_10", @@ -88,7 +88,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", + "updated_at": "2024-04-02T17:41:12.309Z", "version": "WzU3NSwxXQ==", "attributes": { "visState": "{\"title\":\"Files - Log Count Over Time\",\"type\":\"line\",\"params\":{\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{\"text\":\"firstPacket per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", @@ -118,8 +118,8 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:27.382Z", - "version": "Wzg2MSwxXQ==", + "updated_at": "2024-04-02T17:41:39.124Z", + "version": "Wzg2MCwxXQ==", "attributes": { "title": "Network Logs", "visState": "{\"title\":\"Network Logs\",\"type\":\"markdown\",\"params\":{\"markdown\":\"### General\\n[Overview](#/dashboard/0ad3d7c2-3441-485e-9dfe-dbb22e84e576) \\n[Security Overview](#/dashboard/95479950-41f2-11ea-88fa-7151df485405) \\n[ICS/IoT Security Overview](#/dashboard/4a4bde20-4760-11ea-949c-bbb5a9feecbf) \\n[Severity](#/dashboard/d2dd0180-06b1-11ec-8c6b-353266ade330) \\n[Connections](#/dashboard/abdd7550-2c7c-40dc-947e-f6d186a158c4) \\n[Actions and Results](#/dashboard/a33e0a50-afcd-11ea-993f-b7d8522a8bed) \\n[Files](#/dashboard/9ee51f94-3316-4fc5-bd89-93a52af69714) \\n[Executables](#/dashboard/0a490422-0ce9-44bf-9a2d-19329ddde8c3) \\n[Software](#/dashboard/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85) \\n[Zeek Known Summary](#/dashboard/89d1cc50-974c-11ed-bb6b-3fb06c879b11) \\n[Zeek Intelligence](#/dashboard/36ed695f-edcc-47c1-b0ec-50d20c93ce0f) \\n[Zeek Notices](#/dashboard/f1f09567-fc7f-450b-a341-19d2f2bb468b) \\n[Zeek Weird](#/dashboard/1fff49f6-0199-4a0f-820b-721aff9ff1f1) \\n[Signatures](#/dashboard/665d1610-523d-11e9-a30e-e3576242f3ed) \\n[Suricata Alerts](#/dashboard/5694ca60-cbdf-11ec-a50a-5fedd672f5c5) \\n[Asset Interaction Analysis](#/dashboard/677ee170-809e-11ed-8d5b-07069f823b6f) \\n[↪ NetBox](/netbox/) \\n[↪ Arkime](/arkime/) \\n\\n### Common Protocols\\n[DCE/RPC](#/dashboard/432af556-c5c0-4cc3-8166-b274b4e3a406) ● [DHCP](#/dashboard/2d98bb8e-214c-4374-837b-20e1bcd63a5e) ● [DNS](#/dashboard/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9) ● [FTP](#/dashboard/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b) / [TFTP](#/dashboard/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48) ● [HTTP](#/dashboard/37041ee1-79c0-4684-a436-3173b0e89876) ● [IRC](#/dashboard/76f2f912-80da-44cd-ab66-6a73c8344cc3) ● [Kerberos](#/dashboard/82da3101-2a9c-4ae2-bb61-d447a3fbe673) ● [LDAP](#/dashboard/05e3e000-f118-11e9-acda-83a8e29e1a24) ● [MQTT](#/dashboard/87a32f90-ef58-11e9-974e-9d600036d105) ● [MySQL](#/dashboard/50ced171-1b10-4c3f-8b67-2db9635661a6) ● [NTLM](#/dashboard/543118a9-02d7-43fe-b669-b8652177fc37) ● [NTP](#/dashboard/af5df620-eeb6-11e9-bdef-65a192b7f586) ● [OSPF](#/dashboard/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0) ● [QUIC](#/dashboard/11ddd980-e388-11e9-b568-cf17de8e860c) ● [RADIUS](#/dashboard/ae79b7d1-4281-4095-b2f6-fa7eafda9970) ● [RDP](#/dashboard/7f41913f-cba8-43f5-82a8-241b7ead03e0) ● [RFB](#/dashboard/f77bf097-18a8-465c-b634-eb2acc7a4f26) ● [SIP](#/dashboard/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa) ● [SMB](#/dashboard/42e831b9-41a9-4f35-8b7d-e1566d368773) ● [SMTP](#/dashboard/bb827f8e-639e-468c-93c8-9f5bc132eb8f) ● [SNMP](#/dashboard/4e5f106e-c60a-4226-8f64-d534abb912ab) ● [SSH](#/dashboard/caef3ade-d289-4d05-a511-149f3e97f238) ● [SSL](#/dashboard/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb) / [X.509 Certificates](#/dashboard/024062a6-48d6-498f-a91a-3bf2da3a3cd3) ● [STUN](#/dashboard/fa477130-2b8a-11ec-a9f2-3911c8571bfd) ● [Syslog](#/dashboard/92985909-dc29-4533-9e80-d3182a0ecf1d) ● [TDS](#/dashboard/bed185a0-ef82-11e9-b38a-2db3ee640e88) / [TDS RPC](#/dashboard/32587740-ef88-11e9-b38a-2db3ee640e88) / [TDS SQL](#/dashboard/fa141950-ef89-11e9-b38a-2db3ee640e88) ● [Telnet / rlogin / rsh](#/dashboard/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2) ● [Tunnels](#/dashboard/11be6381-beef-40a7-bdce-88c5398392fc)\\n\\n### ICS/IoT Protocols\\n[BACnet](#/dashboard/2bec1490-eb94-11e9-a384-0fcf32210194) ● [BSAP](#/dashboard/ca5799a0-56b5-11eb-b749-576de068f8ad) ● [DNP3](#/dashboard/870a5862-6c26-4a08-99fd-0c06cda85ba3) ● [EtherCAT](#/dashboard/4a073440-b286-11eb-a4d4-09fa12a6ebd4) ● [EtherNet/IP](#/dashboard/29a1b290-eb98-11e9-a384-0fcf32210194) ● [GENISYS](#/dashboard/03207c00-d07e-11ec-b4a7-d1b4003706b7) ● [Modbus](#/dashboard/152f29dc-51a2-4f53-93e9-6e92765567b8) ● [OPCUA Binary](#/dashboard/dd87edd0-796a-11ec-9ce6-b395c1ff58f4) ● [PROFINET](#/dashboard/a7514350-eba6-11e9-a384-0fcf32210194) ● [S7comm](#/dashboard/e76d05c0-eb9f-11e9-a384-0fcf32210194) ● [Synchrophasor](#/dashboard/2cc56240-e460-11ed-a9d5-9f591c284cb4) ● [Best Guess](#/dashboard/12e3a130-d83b-11eb-a0b0-f328ce09b0b7)\",\"type\":\"markdown\",\"fontSize\":10,\"openLinksInNewTab\":false},\"aggs\":[]}", @@ -141,7 +141,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", + "updated_at": "2024-04-02T17:41:12.309Z", "version": "WzU3NywxXQ==", "attributes": { "title": "Files - Files By Size (Bytes)", @@ -171,23 +171,23 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", - "version": "WzU3OCwxXQ==", + "updated_at": "2024-04-02T21:17:42.303Z", + "version": "WzEyODEsMV0=", "attributes": { - "visState": "{\"title\":\"FIles - Destination IP Address\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"destination.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"IP Address\"}}],\"listeners\":{}}", - "description": "", "title": "FIles - Destination IP Address", + "visState": "{\"title\":\"FIles - Destination IP Address\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"IP Address\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":15,\"showPartialRows\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"showMetricsAtAllLevels\":false,\"percentageCol\":\"\"}}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", + "description": "", "version": 1, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"filter\":[]}" + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" }, "savedSearchRefName": "search_0" }, "references": [ { - "type": "search", "name": "search_0", + "type": "search", "id": "0aca5333-3b1c-4cda-afb4-f7dd86910459" } ], @@ -201,23 +201,23 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", - "version": "WzU3OSwxXQ==", + "updated_at": "2024-04-02T21:18:19.669Z", + "version": "WzEyODIsMV0=", "attributes": { - "visState": "{\"title\":\"FIles - Source IP Address\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"source.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"File IP Address\"}}],\"listeners\":{}}", - "description": "", "title": "FIles - Source IP Address", + "visState": "{\"title\":\"FIles - Source IP Address\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.ip\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"File IP Address\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":15,\"showPartialRows\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"showMetricsAtAllLevels\":false,\"percentageCol\":\"\"}}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", + "description": "", "version": 1, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"filter\":[]}" + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" }, "savedSearchRefName": "search_0" }, "references": [ { - "type": "search", "name": "search_0", + "type": "search", "id": "0aca5333-3b1c-4cda-afb4-f7dd86910459" } ], @@ -231,7 +231,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", + "updated_at": "2024-04-02T17:41:12.309Z", "version": "WzU4MCwxXQ==", "attributes": { "title": "Files - Log Count", @@ -255,37 +255,14 @@ "visualization": "7.10.0" } }, - { - "id": "1642f6f0-c44c-11ee-876e-5d93490b24bb", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2024-02-05T17:31:30.082Z", - "version": "Wzk1MiwxXQ==", - "attributes": { - "title": "Browse Extracted Files Link", - "visState": "{\"title\":\"Browse Extracted Files Link\",\"type\":\"markdown\",\"aggs\":[],\"params\":{\"fontSize\":12,\"openLinksInNewTab\":true,\"markdown\":\"[📁 Browse extracted files](/extracted-files/) (if [file extraction and scanning](/readme/docs/file-scanning.html#ZeekFileExtraction) is enabled)\"}}", - "uiStateJSON": "{}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - } - }, - "references": [], - "migrationVersion": { - "visualization": "7.10.0" - } - }, { "id": "269ec200-7fa6-11ec-998f-a1f630163497", "type": "visualization", "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", - "version": "WzU4MSwxXQ==", + "updated_at": "2024-04-02T17:41:12.309Z", + "version": "WzU4MiwxXQ==", "attributes": { "title": "Files - Source", "visState": "{\"title\":\"Files - Source\",\"type\":\"horizontal_bar\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.source\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source\"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.source\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":200},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":75,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", @@ -314,11 +291,11 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", - "version": "WzU4MiwxXQ==", + "updated_at": "2024-04-02T21:18:36.100Z", + "version": "WzEyODMsMV0=", "attributes": { "title": "Files - MIME Type", - "visState": "{\"title\":\"Files - MIME Type\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.mime_type\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Mime Type\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "visState": "{\"title\":\"Files - MIME Type\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.mime_type\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Mime Type\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":15,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}}", "description": "", "version": 1, @@ -343,11 +320,11 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:00.991Z", - "version": "WzU4MywxXQ==", + "updated_at": "2024-04-02T21:19:33.639Z", + "version": "WzEyODUsMV0=", "attributes": { "title": "Files - Paths", - "visState": "{\"title\":\"Files - Paths\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Protocol\"},\"schema\":\"bucket\"},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.path\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Path\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":20,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "visState": "{\"title\":\"Files - Paths\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Protocol\"},\"schema\":\"bucket\"},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"file.path\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Path\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":30,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":3,\"direction\":\"desc\"}}}}", "description": "", "version": 1, @@ -366,14 +343,37 @@ "visualization": "7.10.0" } }, + { + "id": "e87df6b0-f124-11ee-b6bb-474cdc003f68", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-04-02T21:16:25.446Z", + "version": "WzEyODAsMV0=", + "attributes": { + "title": "Extracted File Downloads", + "visState": "{\"title\":\"Extracted File Downloads\",\"type\":\"transform\",\"aggs\":[],\"params\":{\"meta\":\"({})\",\"multiquerydsl\":\"{\\n \\\"topn\\\": {\\n \\\"index\\\": \\\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\\",\\n \\\"query\\\": {\\n \\\"bool\\\": {\\n \\\"must\\\": [\\n \\\"_DASHBOARD_CONTEXT_\\\",\\n \\\"_TIME_RANGE_[firstPacket]\\\",\\n {\\n \\\"match\\\": {\\n \\\"event.dataset\\\": \\\"files\\\"\\n }\\n },\\n {\\n \\\"match\\\": {\\n \\\"event.provider\\\": \\\"zeek\\\"\\n }\\n }\\n ]\\n }\\n },\\n \\\"aggs\\\": {\\n \\\"uris\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"zeek.files.extracted_uri\\\",\\n \\\"size\\\": 10,\\n \\\"order\\\": { \\\"_key\\\": \\\"asc\\\" }\\n }\\n }\\n }\\n }\\n}\",\"formula\":\"\\n\\n

Extracted File Downloads

\\n

Only the first 10 matching results are displayed, sorted alphabetically. Apply filters ⊕ to narrow scope.

\\n\\n \\n \\n \\n \\n \\n \\n {{#response.topn.aggregations.uris.buckets}} \\n \\n \\n \\n {{/response.topn.aggregations.uris.buckets}} \\n \\n
Download Link (if preserved)
💾 {{key}}
\\n

You can also 📁 Browse extracted files. See Automatic file extraction and scanning for more information.

\"}}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + } + }, + "references": [], + "migrationVersion": { + "visualization": "7.10.0" + } + }, { "id": "0aca5333-3b1c-4cda-afb4-f7dd86910459", "type": "search", "namespaces": [ "default" ], - "updated_at": "2024-02-05T17:21:16.253Z", - "version": "Wzc2NCwxXQ==", + "updated_at": "2024-04-02T17:41:27.817Z", + "version": "Wzc2MywxXQ==", "attributes": { "title": "Files - Logs", "description": "", From e77885fcdd0322d1e5d64618a2e92084d215b6cf Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 2 Apr 2024 15:25:17 -0600 Subject: [PATCH 28/98] work in progress for idaholab/Malcolm#331, add transform vis. to Files dashboard for file downloads --- dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 6015bec27..9d34ced82 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -353,7 +353,7 @@ "version": "WzEyODAsMV0=", "attributes": { "title": "Extracted File Downloads", - "visState": "{\"title\":\"Extracted File Downloads\",\"type\":\"transform\",\"aggs\":[],\"params\":{\"meta\":\"({})\",\"multiquerydsl\":\"{\\n \\\"topn\\\": {\\n \\\"index\\\": \\\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\\",\\n \\\"query\\\": {\\n \\\"bool\\\": {\\n \\\"must\\\": [\\n \\\"_DASHBOARD_CONTEXT_\\\",\\n \\\"_TIME_RANGE_[firstPacket]\\\",\\n {\\n \\\"match\\\": {\\n \\\"event.dataset\\\": \\\"files\\\"\\n }\\n },\\n {\\n \\\"match\\\": {\\n \\\"event.provider\\\": \\\"zeek\\\"\\n }\\n }\\n ]\\n }\\n },\\n \\\"aggs\\\": {\\n \\\"uris\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"zeek.files.extracted_uri\\\",\\n \\\"size\\\": 10,\\n \\\"order\\\": { \\\"_key\\\": \\\"asc\\\" }\\n }\\n }\\n }\\n }\\n}\",\"formula\":\"\\n\\n

Extracted File Downloads

\\n

Only the first 10 matching results are displayed, sorted alphabetically. Apply filters ⊕ to narrow scope.

\\n\\n \\n \\n \\n \\n \\n \\n {{#response.topn.aggregations.uris.buckets}} \\n \\n \\n \\n {{/response.topn.aggregations.uris.buckets}} \\n \\n
Download Link (if preserved)
💾 {{key}}
\\n

You can also 📁 Browse extracted files. See Automatic file extraction and scanning for more information.

\"}}", + "visState": "{\"title\":\"Extracted File Downloads\",\"type\":\"transform\",\"aggs\":[],\"params\":{\"meta\":\"({})\",\"multiquerydsl\":\"{\\n \\\"topn\\\": {\\n \\\"index\\\": \\\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\\",\\n \\\"query\\\": {\\n \\\"bool\\\": {\\n \\\"must\\\": [\\n \\\"_DASHBOARD_CONTEXT_\\\",\\n \\\"_TIME_RANGE_[firstPacket]\\\",\\n {\\n \\\"match\\\": {\\n \\\"event.dataset\\\": \\\"files\\\"\\n }\\n },\\n {\\n \\\"match\\\": {\\n \\\"event.provider\\\": \\\"zeek\\\"\\n }\\n }\\n ]\\n }\\n },\\n \\\"aggs\\\": {\\n \\\"uris\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"zeek.files.extracted_uri\\\",\\n \\\"size\\\": 10,\\n \\\"order\\\": { \\\"_key\\\": \\\"asc\\\" }\\n }\\n }\\n }\\n }\\n}\",\"formula\":\"\\n\\n

Extracted File Downloads

\\n

Only the first 10 matching results are displayed, sorted alphabetically. Apply filters ⊕ to narrow scope.

\\n\\n \\n \\n \\n \\n \\n \\n {{#response.topn.aggregations.uris.buckets}} \\n \\n \\n \\n {{/response.topn.aggregations.uris.buckets}} \\n \\n
Download Link (if preserved)
💾 {{key}}
\\n

You can also 📁Browse extracted files. See Automatic file extraction and scanning for more information.

\"}}", "uiStateJSON": "{}", "description": "", "version": 1, From 03375b40072e34741520591ddb579e6b59a5f0b1 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 3 Apr 2024 10:33:39 -0600 Subject: [PATCH 29/98] documentation and screenshot changes --- .../9ee51f94-3316-4fc5-bd89-93a52af69714.json | 2 +- docs/file-scanning.md | 6 +++--- .../arkime_sessions_files_browse.png | Bin 144688 -> 0 bytes .../arkime_sessions_files_log_dl.png | Bin 165508 -> 292058 bytes .../screenshots/dashboards_files_source.png | Bin 346096 -> 690232 bytes docs/system-requirements.md | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 docs/images/screenshots/arkime_sessions_files_browse.png diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 9d34ced82..96c5f820f 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -353,7 +353,7 @@ "version": "WzEyODAsMV0=", "attributes": { "title": "Extracted File Downloads", - "visState": "{\"title\":\"Extracted File Downloads\",\"type\":\"transform\",\"aggs\":[],\"params\":{\"meta\":\"({})\",\"multiquerydsl\":\"{\\n \\\"topn\\\": {\\n \\\"index\\\": \\\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\\",\\n \\\"query\\\": {\\n \\\"bool\\\": {\\n \\\"must\\\": [\\n \\\"_DASHBOARD_CONTEXT_\\\",\\n \\\"_TIME_RANGE_[firstPacket]\\\",\\n {\\n \\\"match\\\": {\\n \\\"event.dataset\\\": \\\"files\\\"\\n }\\n },\\n {\\n \\\"match\\\": {\\n \\\"event.provider\\\": \\\"zeek\\\"\\n }\\n }\\n ]\\n }\\n },\\n \\\"aggs\\\": {\\n \\\"uris\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"zeek.files.extracted_uri\\\",\\n \\\"size\\\": 10,\\n \\\"order\\\": { \\\"_key\\\": \\\"asc\\\" }\\n }\\n }\\n }\\n }\\n}\",\"formula\":\"\\n\\n

Extracted File Downloads

\\n

Only the first 10 matching results are displayed, sorted alphabetically. Apply filters ⊕ to narrow scope.

\\n\\n \\n \\n \\n \\n \\n \\n {{#response.topn.aggregations.uris.buckets}} \\n \\n \\n \\n {{/response.topn.aggregations.uris.buckets}} \\n \\n
Download Link (if preserved)
💾 {{key}}
\\n

You can also 📁Browse extracted files. See Automatic file extraction and scanning for more information.

\"}}", + "visState": "{\"title\":\"Extracted File Downloads\",\"type\":\"transform\",\"aggs\":[],\"params\":{\"meta\":\"({})\",\"multiquerydsl\":\"{\\n \\\"topn\\\": {\\n \\\"index\\\": \\\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\\",\\n \\\"query\\\": {\\n \\\"bool\\\": {\\n \\\"must\\\": [\\n \\\"_DASHBOARD_CONTEXT_\\\",\\n \\\"_TIME_RANGE_[firstPacket]\\\",\\n {\\n \\\"match\\\": {\\n \\\"event.dataset\\\": \\\"files\\\"\\n }\\n },\\n {\\n \\\"match\\\": {\\n \\\"event.provider\\\": \\\"zeek\\\"\\n }\\n }\\n ]\\n }\\n },\\n \\\"aggs\\\": {\\n \\\"uris\\\": {\\n \\\"terms\\\": {\\n \\\"field\\\": \\\"zeek.files.extracted_uri\\\",\\n \\\"size\\\": 10,\\n \\\"order\\\": { \\\"_key\\\": \\\"asc\\\" }\\n }\\n }\\n }\\n }\\n}\",\"formula\":\"\\n\\n
Extracted File Downloads
\\n

Only the first 10 matching results are displayed, sorted alphabetically. Apply filters ⊕ to narrow scope.

\\n\\n \\n \\n \\n \\n \\n \\n {{#response.topn.aggregations.uris.buckets}} \\n \\n \\n \\n {{/response.topn.aggregations.uris.buckets}} \\n \\n
Download Link (if preserved)
💾 {{key}}
\\n

You can also 📁Browse extracted files. See Automatic file extraction and scanning for more information.

\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/docs/file-scanning.md b/docs/file-scanning.md index 06cc4150c..884c481dd 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -52,14 +52,14 @@ The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `z The files extracted by Zeek and the data about those files can be accessed through several of Malcolm's user interfaces. -* The [Files dashboard](dashboards.md#PrebuiltVisualizations) summarizes the file transfers observed in network traffic: +* The [Files dashboard](dashboards.md#PrebuiltVisualizations) summarizes the file transfers observed in network traffic. The **Extracted File Downloads** table provides download links for the extracted files matching the currently applied filters. Note that the presence of these links don't necessarily imply that the files they represent are available: depending on factors such as file preservation settings (above) and retention policies, files that were extracted and scanned may no longer be available. When this is the case, clicking one of the file download links will result in a "file not found" error. If one of these links refers to a file that was extracted and scanned on a [Hedgehog Linux](hedgehog.md) network sensor, Malcolm must be able to communicate with that sensor in order to retrieve and download the file. ![The files dashboard displays metrics about the files transferred over the network](./images/screenshots/dashboards_files_source.png) -* Viewing logs from Zeek's `files.log` (e.g., `event.provider == zeek && event.dataset == files`), the Arkime [session](arkime.md#ArkimeSessions) detail's **Extracted Filename** field can be clicked for a context menu item to **Download** the extracted file, if it was preserved as described above. +* Viewing logs from Zeek's `files.log` (e.g., `event.provider == zeek && event.dataset == files`), the Arkime [session](arkime.md#ArkimeSessions) detail's **Extracted Filename URL** field can be clicked for a context menu item to download the extracted file, if it was preserved as described above. ![Arkime's session details for files.log entries](./images/screenshots/arkime_sessions_files_log_dl.png) -* Malcolm provides an extracted files directory listing to browse and download Zeek-extracted files. This interface is available at at **https://localhost/extracted-files/** if connecting locally. The Zeek `uid` and `fuid` values associated with these files and the sessions from which they were extracted are listed in the **IDs** column as filter links back into Dashboards. +* Malcolm provides an extracted files directory listing to browse and download Zeek-extracted files. This interface is available at **https://localhost/extracted-files/** if connecting locally. The Zeek `uid` and `fuid` values associated with these files and the sessions from which they were extracted are listed in the **IDs** column as filter links back into Dashboards. Similarly, files extracted and preserved on a [Hedgehog Linux](hedgehog.md) network sensor can be accessed at **https://localhost/hh-extracted-files/X.X.X.X/**, where **X.X.X.X** represents the IP address or hostname of the sensor (e.g., `https://localhost/hh-extracted-files/192.168.122.57/` if the sensor's IP address were 192.168.122.57). ![The extracted files directory interface](./images/screenshots/extracted_files_dl_ui.png) diff --git a/docs/images/screenshots/arkime_sessions_files_browse.png b/docs/images/screenshots/arkime_sessions_files_browse.png deleted file mode 100644 index 3b281d2a53f4553e9d91aded3fe393bb0e0fdb91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144688 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 YV%&*P+X00(Qv9=UzL{Z)!Rmeg15~`lDgXcg diff --git a/docs/images/screenshots/arkime_sessions_files_log_dl.png b/docs/images/screenshots/arkime_sessions_files_log_dl.png index 5262b2188e32f18c0b29ef8aed003e091d25c2b1..31ca82e5df91de3124988a80a31e1989e84f0ed2 100644 GIT binary patch literal 292058 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 hY>8v~z~yqOye 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
$YlDw`Pl3Ti5B<(bK#C@L{JJ>pH3GdJXA% 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

yERIa_d zg%9rApow^Z8SzK7sM)Cqxh`$o{#Jx+mkL|Sr|wIbyFrTG1%+W-3{rkw({l&I{UW}` zyuJ5psvo(|Z>{6fvhG&Sur#GOlj?+if?2|NSJyvfrzd_%12Dms6}ZIAD%oeY;{Co; zbud?|E7R+pKD^1Z466+={Jur>YYdQP@cMXFQfsq!PC@v}!)o52&Rwv;PFux2IW=#{ zYRd)lqYWhqE>6kV{Cz^GXZ}A@+kIR@Bm3tL84)GF{_8hKn%@x^^4I^?)BbJH|Nf+v`H6o&5P!fw zzVNiwlk#b%D{f}J&CyZy*06PJ%v8j0{Ixc5t^e~CUa|u{q(#a_huuX(x`f7?2EN}g zA=kH0{%8JXPyHn=r>(7a0}K6U{x@W9Vptxx?-|h0Z$3UgT3asswNnh%#4e9E3!M?i zWjeG>#Q9Xs)?|_PoGBhEysWF{Y-27g{BJp$J}(nsN*Kn Geg7Xn(~ZUe diff --git a/docs/images/screenshots/dashboards_files_source.png b/docs/images/screenshots/dashboards_files_source.png index 14a25105a870183dbbfe4e402655ae71e1407610..db78a33247c19d0ce013ccd59f76a49aedede9e3 100644 GIT binary patch literal 690232 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

csn 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

=$3WjG(gDJ(k^78EgKr7Tn&qLZsL)Z! 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

7Png9E--Qel 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

g(s{MAPQ!~I%!Cj36# z-T5$pigvVX&inhK8Dg@ZS4;jFs|PeoSbA?85cbuErw$jy{OW&lCo4EwTpw%BB7rY- z+8syovL(#{>-q-&lFjU%aFj5Cp>um<%Xr$qFJ+q#oqlNOB%K4ngtjH$CDMAlLKy{z zOwxFF2%V7A8eZoS6!z4}M&TDR4_`tPi{h;xruAk$c6fVVvjHrBWEAZ|2|(efR0v)G zjLBFMuPENX6zX91xpZcLEvuYUHbRh*Vu1qAd54gHlM)9GYG`PvSZM^ea`ev_B0#KX z(GE}zqS~E7pzQqG{O+0YQ!Ea!$kbD_BY3UDG87GDFVMD?lYm>x6;H=U)~`n)R~c~Z zr>FeHy*?M7JX>YU1MUeOQe3P82V*dQ$d~~wGkH|JU{0pft8jsrF>w%axaV}PRQ^VxF$E+46+3dSCnH|(sHgGC8=C9`Uru> zEDpA!PzQ$7hrTJ{K9FcFUbV*6J-5$f(9lcR_cZ-4;Opy%10kOs{rhbG5r7qmgG;cV zJ4)~E>5j2fw)NrZV3(ROUtb5U#NkyP@xY@|%VufZbDB&7VSwIkR&I8m(b@oX%KFh4cY_2uz~+)2k%^wV0N#2Y0t$Q)8J(#x}oHuOvSm+$4~J_PXx|k z0@tlMFK^m*=2P?PebZ-5>6z$vSwVygIA7lLuK7(u)K!ktfA?A@Uo?7^b>ZT=hK0#7 zz}*^2uP+?sUUI9gOZfl4cM($(B~~(K0b73FHR;I*A3cqjGm%qORTY@i+a@h~c8ExssG5O_}WbQ zNWENYh|~F2e_-qR#tr{Njk&82KK{63jfQLK&H1Y68yAIDPsL|F{k3*Q%u1!*JT=oC zK*9RJ_%`p?CvOt|DJSW-HG1f@Eox!{UaSecMN-+|y*1mqDK5bI5KtL>dlT0hbfJ2Mt=YPWGkNw-b@Sf84A*`2ee0If&Yq5fHFoX$BE0@isgv%8gnfpun;YcQ~SU|g;r!^m&bA!!I4YWW`y z>SyYT-Pu#4AmsV2cGiHZ@ zw(Y!8uXG4>WK41cwfZE?HkcpPzn{46w~9{GE}_5e{m%2{Vu34*61wWW6)J%1(DoF| z14mH5yt~$ERqs79-j4Z3)mg7CMyBoQ$Nk=%-*#^=@AqW)gxfcSfcw^5Yhz=lga;o6 zZhwqeAKN+kn;)xH`_s@{X&*oQRM$L;iWTy+gV|%p{zr_ z{+)b*YoyLhVb=izuf;dW@f%LFuJl_ z+xJ9#%e!dgc!Br{xD!@!>BaRkLcF~lD0KUO_QF+;e}vUfu3!KHPgg&ebxsLQ08uD~ ANdN!< literal 346096 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 z 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

{(PJBNyU)=_n-W~9S{F2yYR!0|N8?S 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�QxAA;jyL(pHG>%00F$PDJzRZhNw{MA-)aa_qP=ZHg;`YoJw#Jqg?L#SN zXg6Uth5egzIlOtll#!J&`J1--pmBtS1a9<`=YbyBvPV}U?d3kNEH))PJkcTlm6YU;<+5Re>dfRQ<~3UmO;f&zX%sw8XsXQ{;E@NMAMp zF5o~L5U1ZXKCP+FMG@$XfaVEuG#5jYNA-VG@0=@&6`r|5yqB&qs~$u+4P?-%+MtH5uxu>r$kza|z9@}YGeVNPZRtf7$3d76HkjMX|gLqE|6o;m) zo>x>% zN3vqTW=2EJm%(ALV$U`W2I^nar2`pR2)Ae%Kf~z%5{kwndXF+4S0!LwN%p)uruBly zBVeMbUx3~IDQNaQUKEUo1QNVYwWxnBjTF0FcVwlVgEABJ+1EdSpI7RWX7IEPgpSp4 zsK?_8gh}PQAKU=$SLPYg4R-m_)uU;-VXuwBRhg&sAdpMRzaFt!>> zt$zDq!?+Shw;K%?QcN3lM```@pdhul0qk<0DrB;sTWyk=U&InzSeY_s2Vf?W$-0Qy z8(84~-!&J{n-DeeKz4~%Jw>HfQV3 zCd_mD1pH+&KmLS$;&y;*fs?OM &iOx%pnD<1A&Xmgs_hC{phE{cm|z)VDztq4U0 z@(}vc)dyV5eKr}YP=Fu*MOfmEYS_61ZY;n%f(?w>dA~w9=|3I=?}Rt|cUy&$P0ruL zwdg;{ruqPUoT_ndk$k6m+6Md$a-3WpGM{_} z;>!p|hih<~rN9{goFyS2Ea*%bbvr%;BAf@0p#Q1b#YC%{8oCM{qxw-Ts*6TQ?=g?}IaOa0X1jz&%G9baJ%JX(z;(aErv zEsg1Ikb4Hi*~Z47*MM9DJSNG|Mszzcq=KSRBjNef1XOgs{CBgcDxEsfTdK-y%W2h! zh=94-ykN{Gr>kIo@GUJZixqP=&wImsvDn}Wm^AAqEH%EoK5?ae2&IKkRssT}Av3Cs zN7`ysgo(6{JR(a14Fdj$+A}vPyJN6-h+|} zuP0r+lq8^5E=?UI3rI1^DE_;?OI0Z_S@Z<%gG`15WUj~LiqazQGv5FvT=0oP(kvfZ z**-~^PPe_!s(RIXp3X7ko7iXYkBX(b3WzUyY^9 z&y@h}EIl+dbBca6!qY#x*&3k0f={}}Qt;aWF*Gtgm&oyU-*<6^&+_jQWcNG)z3_;w?ig?fKpf>P2DJrf3NFIAB88zaoT#Z5mN(f5{wu(~$46SoNIlg8&aJaE zPt<^IGgO`^t_3hU2zcw=V2m{L*1To(roz*+);Dcv&=NMnJql0L15Q*($zkfP(h)gS zrGB(9-x+%eg_1~a&-aEb#Z=mbip1@tFR9|d2WQGZbqff%O-9iLWa%X^6#5DpL@3y{ za706&egc*U*%Q0pb%^W0muiAo*}M^JVn=%i;<% zB`0f+A42NMDS7^>KZ^J<3%a8$xlm{&V>lh9_UIralTqRohw~ZZvtjcE2-igAa{{48 z6jee0Qztg-0TTAnshogs(pRO%w%idx3f>{YR@igXdUHdQsx=O7xEO2i#*uNEboU+= zr>wqfL$8vgx9YgZSz;KVg1imUITq{lN)w*`+Uwt4Wb;%vqt|XZWAASX%fqBe%^Ha+ zn_Gien3Ap{$w9~gB#6`B4DL18&lf06yAl^3a5{WOU7%m;1M2GD>d~lru6?+ht+d<< zd}RE-QZBTcVR`kyAbL`UiH3zKvd@y*ss4QHM?j`ezl<`ZwTNizwPm*^(X+A5oizx7 zI7vW9_OWw?^+C5w8NfU*ia+aKV7J}60idZ4(laGg=_gZoq0XEq+XVX(Zot0C;V`gcF_K?jRd(x3^bFzL@711sS3BQ zW0H;|D`U*MZ$Tm6pMC0qOS5S2*HZU9-ZDJ*mu%6SL}&Rt+1qd+fbe@DOU)np&eKfA z+IvtG!vwt}nl}K}q`}k_jtn;F_Y{&XE5p#B!eDT1z6>bXt2tIR5s;A7sjDT=!WB3+ zHiqh|z`(P=NX?d!a|9LGn%z&{p?&s;sUqf2wE*zsS<}%fhr%2TFM(7-&Pp2quxD?U z7?^OVq2JclGI`xeg(J;VQrnv_m*yR)P+-)+3fWJoCF|=6IpC6y;+aI2zvU>zrEY*` z8>9mNu|!)~^$axNtqZfU*#hH){49#Ka|`0Bn*xoq@-a#oGWXw0a37Q~CFN z_kK(`M<|0>v3Q73Y1pPfBu?KUjv?l$G1e z1KS6@7tzsx*@X(TfO09{upIBp@5{4^IBP)Udt#Y-3j*T(PwXx4;u6<4uBfY)ZwkD9 zcMa;rm8CJ1nNzR+PlJFMcDG2M>!7?$%e9ol%~J%&m}3~W{S`hmQA#+pLJfbEU6;xa z7)1c+M{Ydy`quhrBuLqwjPlken2%IB)8$>dM5$DD4W~WqbqNjE?t_<*Tm*7}XL6%r z=V;C1(GBjir-Q*Z{d#osQw>5LJNRkxUVjr_W$zcCBA*pEK=k|zF-r3sL5UtjatkdIaSNdJyJcaSB2lGpt7M@s6Qr9K1`_57_#2-XMf(_wX(+E z`~s9)Xr;dkYfGT47kblCfnX4%!DLZ^haM2q2u@my7-|uW#upR<5E6_lME_$@N;hTg zdNRNPNh0k{NvpOLHY;3T*OeG&7ssS>oPJo*b!k+z4awcC$@C9KX)^UvQ;SSg*+$Ev ziV-hB>S8cmv2uQX=kPC*K^O7ZXJ{ufxj~*8}cRA&os3}iR&-1y{MkC6}=~I7x z0siIEqY8+v)7B|r)ijv&&>}G7~eI%M1kirTR$LSILged0l>7o5bN4M+^-9oKR~lX>Zd%_(5sXf zY@?K8PaUluQBmE1n#yx`qYLIxnYvIUX~(oYSbR+&4xNl*sXYat8Z$E`gTM}asc3gO zTA@n-bT9T|3QU?u58A?%n|HSwGN7yhhwd5K>^ms*493TH;)Gt}M^<(;$}i$cwH2%1 zUWI_D#Sh5qta&kBK0XY98O+WWM;!LIP;j2X?19;InCSe&^S`1?U?MyaTtt$EQ1yoq zGaPw<5qZNt)6zC=T5nBqX)7lLr#%00D{WvS`ULxn9EQ!oTlnU(vFaDKE;3iq1x&)g z2crdVYW%Pl+8=X!tg0q4!ksEdZh<7>MWqtMbhmffnVW?wG|9T~D)`?855+pjG-u$4 zk%<2~1LY3*P4$JqyY1`-I$^x=r<6hxF}ls}vy`|Yp}NX97Q5S_E=rfr zpa!T(v#Fx<7760TVV?vf{1LVn8AdR_|8gStr$nyx2gg1XtE1tlA~7key?}-AyQscM zT+Ha%s^UNB|H+iJsl)_4N8m>~ZEc;>RPIaVNGk!M;FXw62o+A-7dG45`^4Od%4vpf zoXN$)Zjl+SwoL`cAJ|y3zNWz-5+-zRr=K1goAhGRm(zCB9 z+HR&eucgAY8uk7`6!RYOkp!H!8-XxaH**K&IhoYby*!>H5PV(r1I%2ru;NIlL7NEq zxQ~ZzbJcx7)`m?))G)8KLn)KQaBgKi*Kyd+w=h9KaG%~{{yA8%ca{5U)QHWf1nR@I zxy%~zGZr1wf{-;pdXVrJfct^*yy$f)f;hRVNU6c{wGV8xgV<(Q=~-B2moqG(zzi$G zU9>}}iowDiSmj%G4hH!w*9{Hc zL@7EmF;p@}%P_2?ZQp{gWnbZ6mZ09#f{5G=R3pYUe8zk{9I9~PW5*u8Z%N6%29fXI zy^r^_N~W{SYkk8PPF2A(UwU5pOh9`C5{YKu(bK74d3U%f4sz)%Wnw}?F__rP=Jl(n zoV}q2w0piYRA5gTEN>yZ0qxGc2OUtF{H}J4zqMa7qL?O-@%nwEq52Uz$~HK)L;3eP zKRJrEyRe;tkC+0d9ov~=19GTXdf=djdO=iHQqk_0y$wvwz5V=(GZy6{YpWBO{yI5b*qy!f`(=Z&Hm5! z@j1sTffRoat#@kwQ-(2;TAKLoV--Yu`?W2I%{d}@<(>sxd0XY^x=5{BZ-+?-g*^&j z@!XdoQDK>%934$v3Ux(;nHh?zBJS{Pka4{GF)!a^IX)avn0$6o=Y7p-zQr4P zoWk07JRd{E;o|vOH&*(@^1(eU(XQ-BIYcP4o}QK2_$Sb|+=1H#ihsZzInii%nfwa> zypoKjiH@(7NnXjqYK9%+t_H-}sFV0_SUH|%Fs`vP`WY9n+#tTl;1A3@TFV1?J}84| zFxH0Vch5S3Eez_0b|HZ+7jBac zV&fMM#?J&LqP9jWz}KS+B9xpqQmdTtGHhH_xr#~QK2$i%y8s>mH{ezVNo9yEFyBBT z0rqVu>84pO(P*vimFO_XtzV&h5V>+Rub5+ZwjHWGTDX)4US}v0(ra-)`$MYd#p`l) zYdV3Q3>up+B|i`n+<)_vK?7dYZ6dB$xet_JRCBn>dNdLgqMv@ix4+4m`FRmz<{(_` z*`${3U;jO`v9-mcy86r57HMpI@w5NP=dWKs)K%B=^<*hLzi`*tl{em!eQ9cRavj1&#;>D;!#S5@Vsc;HtKY0k&)9Ru)75j6k_5{8n!v2})}}2&Y>n!lgY(bJ z4SGq5+c-Ehq^DR*Os$-cyX4PhcX&jTH)Xfe9i|4K(D*?;7R>jUGgaJxC~k3@%0(4= zqm&D2FqD92R*Gnj%!|vV{fM|UcT1-!P2E590f&XBiWxB!tALBtospeu=^63A6Mnj= zrw4cN+!D!$koG4ad1c;5f`Eb7-J>_%Ogt>_)C(_fDt*UrGKY^ef#hAKGoF{`9BM{< z_39CfcE0811%7<79+%#91Mltb9dtkGw2N8})m@R?R9ywp_=Hk;L4DLE zA;~w0{x@w9sA6atUf^(wo0yaY#$AxFjLsy}`PKq_a_qLYS-`fLf{N-h2uy!>55*4T z;p}h`4rjHtSx5ig+G#m=eh8(iFR~OEj`{DJ?fOQ?F94?mLM=3P4ddpG=L8h-rw~r| zYa0zoE$YHQ({t{Q68S212r0 z+6r~@`2nr>0W)UH#hIbYp-J!Rs{oXY7b(P>J?-)`QDQ1|nv#WhmI(Iu4=uy9wKhCW zBk&1(i(E`65ECu^YaB{U`rkAs?{_FwVV!?Kf@R%}6loC%C$}fTe+fmJBCk0Wu3qW@ zT(1<}as7ju?DYu=$zsu-9{nvrZ9Vi|jK!d`#r0pk12V!@SKI})-~I7*DVZx`L~ex;M)p4#Xe zP179s#_Jc$il{uK*hPZTRleSeNf>82z4jU7$;FEd45H$Z!LO9^-`*el9D%$AYcvsL z^QzUGqNBmD2FJT&89fbm!li0#EP+^%0TqziSn*73V7vp-Gcn7s?)c^^-7KZ5J_2nr zGG#Vn;b=V!G$<-Afp31QOM5Qtf;W{89Y;DS#>Z} z&3gh+w#isN9z}TPOQBaGl-dr0x7WpiT$OD72YdS0>JWaEgM2}1A#so?o$)3^_GwaR z)y@uuP)Uch%A>F^J(#P+r9OMJ0{9s&cfOyEU2GYIVKRf$^E{nXjNDCPARdSieW_lt z@v2Wsd&l{a?#fB{!O@|%u3^xlHy1pOWqdOQF0V`KFS68EEOmE zchRHdB9!aa-&Dpb>-2d}{D`SUmY-nGr$6PBs0 ztU->-r0zwweN)#-ldFB%Y8%5yn;d@OK2;Ixx~H}1Ia%dk5nM{AQOWV~MZIeWVx>0& zKl!Fhsybug0(ulnx_=o2L{KmT+e+PJDnC%&t)(Z$^d@iwBi5Jtzq{~6 zGU_vc1-@WH$}6aBLQ+Z*n;6ez=J5{>j>zpMA9-x2jT9e{QmfM1{kg&aIrF_A_XJT1 zD?#$~xk4>Ph5+RyU@?;$R1bCD?>Xu}DXv8=46&uxXWhh?jGwh%&Lf8RzW61Y@8 z^Ix?8;OC@r|81TNT8rB&KL4^|3wK=G5P0+EyR5q~ZW!+3!6CZvD{md1G-{g86dv3@ zmm7wNcTR7kDPJ=T^eBqw7j~q8Z+E32kWl*j z>HYI(fjHygzkmK;f3i29_vQaZt$+#f5+f>4p}ByNqlK=4Q5|KoYqvLxHLb1U#J$=Hoo-S?&W1; zHj}w!AEqi7NJC-5rV6JMpEe_c=~_VPt)wU2sWyY3WuK}@$Fjbie=HGOd2i`x--h+U zXn7pG;dfhY7}gaZKk|b4aiV_9kSw)=Xzb>uMLe`i7E7C#5<`1Y;`A=lD49Yd54-jv zn2M^FZ2lT83}0SZlVW!zeo$fi7<6!}*6P(;dMP`CwCd&c$8`_aO>%&^`v?x3#-1Lu z4}iS(+m6_&b`yyX&B>?g!91LQPIc&;gmr2F0oGDM>~X;NwYs~koHQpHr?q?g2^QnT zs=WCS?YCiv+}l08>B(+&Zl>O?QIo0;7I<96n7}K29KKQqILmmE8xd`Q$QW<#4t>56 z%SPRDy|XJ7=D*&^pZB)4)GM+=)D^`X{5k%U1ZbAaCTrTgL4Khh@5$Opm^nONYL5XP z%;~aJpFVwxtTe%aFkHR0v6PoiC&CbK27NKg2@1HxGaGa5(6}rQxjv3opyL;!*q8JT z2v}^+8GrqN;|-ZJit0x^frmyBE^f!;+UjS~aDn-gXD8ucf=~-9d_33;p=6Pl1jQlK zWDDZnZ=54PT9MEP4~efay?;wrWNlUUegiittpi1>yrC=FNY#HRHXOlddtKXWH|fns z?w9UD-%SxOD)tGxYC4U-7cjT19g2-vlRSr;Ad<}*hKEC_G9e{v*mB#qmr?#7F2IQ{ zYqsLI+w*5P99cONq?>m?Z7`WUfK*EmKpvshTGhsTcz9uNZOz#Zb2!g3#*Q_ zH0cK`?G6D!Q;8b-ZcHaLKNJ3_@JS9c+vMYuZ zbuZb~?)Vq-a&PiIa*c~&&Q?*2WwkNj`y{|`f4IsbAGX+`IwK5n%19>rA_pQa6=Tpu zO7`EbR;;ujbgr}(-p&8*O7auMQ{LK3fj~CEEjhdPOtPs53>HA;< z+5?{CFZ?rc2zs)Z02sEi@V=ftY&7-}=ce8l7R#&tRSgYfcE5W*xNg_ zxQf9B*(*xi##-6$b0*7x%?%tS$#xXNDpy5+hsk{hio~rlxU5=d2 zcr5Q~)S{v3i9ZlYxM+X<`f1&QajC)7ce89$5H_W2WZkEb&=9sNKb=PJE3niEW6#lU z&%JaDpTh@6i;p=;!o|5pZ4cN3c2X_05Q2=UrTRU~lonkYjtdpf2C2eymyU2cV%USP z1Q-w0Z%BpcV?*~})0s6=(G_%z$)mJ7|EYw(ek`T%0(*g_b2b`nT~ij@Q>pAbW1q_; zm-?6J3az?yJyMlEH;1JaF!ZM)Xrl6-gO8NP0^|Yf~2s1_llcJ zB%=d;Lc3IJquFj}gH7uZj0yF|H{D*x*ZNJlwX|_J{HvV$Qw_L&yNCHJAconO zktJFhPUO!DW_1uiWH6b1p|j@td(dM?1rOersuI0KHDvlRZJ0^VkML^a<%c=cG+5OL zn3RwopCl~mr9OWxDb1s%#+s}AGA9#UVo$V@Kl!|kL$a7r*e_lwlCojK@3MT9F_QBn$#>P zs2CC1m*NDNYo9|D6E=4|x2{3$CY0PkOpfx(EIA|y-e1S2A{>~61DT(pW?_{Ni-^FtJoT#GbBYHC7$deGIi6gay7X34@AG!QOEg<%!>>qe4o3sR zXLzsY_N%?1qhRaWAR~j3A4`gU8Y??pbVG`ECH_z?h4I;FTk3{mei6M8NXJ1d)l`1U zrNKuXLeFOW=H0vOB5&_NcMoz}@8jlUqC(uvG-c$))e5g@eLk;mrYT zQ@n71Hw}y^CY9QbG23iylGRLyeckElS`@QS3nUZ_^IM7Joep|m9K~dEa_eLo-DMP^ zAn*|=*jP9@eoWnU-)7kRFI~Kpg7e1$_#6p>;||yW7b2<+t~5||9IS9(nnJgL$;KX1 zkLVa&t?PB36^?IIT5WPsE3Ik%>bQdHw({5)^QLRG>wby=3-7BD#yF$p?E4=LwG#+l zFy^8?^^{385&+NnRyb|u`S1QB1QRo6gFzes0q(DeRJ+)0@QLQtYip(CO@5E1!cYeL zUF|2G%Da=duf8`uKbt$B38El!z)a977DR1^h89UNT_{OiUO0wN=o*jZvt4N$>N}`( z=~ugbM#p}}|2PeHt8zqi5UW28$m6si;c3G0cSLW9ev2}lsWKO1av?>m^L>!8F^7fH zseOWz=PoX8ZV>SisUL3a(f6gge8t09ZrdQycn8rZY1sO-U!Doc19B8u+2|AJR@0%9 z1tw5k>q>^hRd-7f6M>e;Lz72yMVsw+%AjXOwb&4UJ>!Dp70i&4Do`XX+2r`9zH}sR z3x8>w*LV8c#E0QjI9Plytw5Zrow5L?9KA2h2%m|i1`xG1C2Fs%*Sy}kyrgMr z>H&lyuM&=|9rki_rb^aqzw6R2QRgh1=!8g=kO<^w)1v|t<7xTDvxDQM_YLXPYn$4B zJm4ZUzUbz5cxOKaeNV+aKAu+t>pihc96~-r7PVucNL*UZ-CKWWF%SPN|5$Tm4V+BD zcrQCBj5CxJf(AqWzOqi_MDgfQSCK1cyl$2nyX98qkz?W2;@0SAjs>AReZ?wYsg;Fq zD`LHT7P?Eqa5qJ?=?G^hlE?lY5L&g*3gj5tlaf~0Ot@G2M)Gw#v5e%hetwV&N&e-2 zAZllKS)fIHX~kC|YFL4LSkg&GG-JFdi!Fk|RVjPd*-LV!%7Rcv5VPKJ_Lf=2q-O7S zajS#rdAiA?*%m%-?u&pyQAV)gajAy&=ZgbJBla22ljLf##eLfH_EcFa`?C|AInTWo z_~|_j;A+huP!t4s2piT~OQ-^F(hA=R^`#fH;6xSmKZjVXuY-^=-UVzH_aczOpI+ZVoxoGOD$ zp0`LLt_4UWxU1uK5Rtyr8poJ8?M*yRX5)((N-(y9Qv-5pE4dxkn*yr6ATRzg4j)E2 zm&5lv->CwoSp(S~-zx~RI zg9bi1T3z!}KDi-a)mh-Q!3QVkRUj%3si7PE!RoMLysBd{ntbo+G+z{g;_f5BTg(E}N6^J#esk>^#QI zoS_i{jCGL|IC6r^tHm}8s+~^5yaP!xz^pdqGoJjp^SHf4z#Y=XytTW>GUU3nCS+&FPSBrr zno(djZ7ED-!pg)#`UfQP2yW7v3g`lbQ*R>R(X)qMXJY+H%02t zIk5B&4(ftPmA%~L2`5$5Yl430kIan}vMxVQy=6FB(iOB|e5N^*-U{V)$k0?k>Yniy zYHg}4`~X<+d4~$iAffSQ766AZC?p-KQDMmt@)fiO9sEOUs)omdBE$PMV05vIPall@ z_(G@a>&JziRIRPf-#_>mL5#Xct1jX;Gzl}BWT-KyBY1Cn6WlJh@_AIW!utWfQ~Fm{ zX)hR$|A-;?u%W;0v81>+d30*#?r%;w zegGp580kR6c@0?TsI)Htbt%8{u_@$MqI4aVxc)066_jXj4Uo}4jQ|OJ9IxZYj~_2U zLfkiKYw{61xH)yhd>=+bwA8gG%MtWlgrz%O!-3o!g-kZ-m!Qvj#K{?@3mxR|Wy-0; zBTZAo7svAA2Ga!$5VZJansDlUWkbDb7xUVP7r>o;i56;5t-Vt{#e^8BNA&FO!A&=q z9Nv-ijf^!;pqH$POx~9}K(1eb<0FUzkUj`g3;M)Bw&3pJF}Jekhq7&T*fyEq*(@|} z5CsMU$NOKm=2APgqkYK&d8*${6}bWBslZ;SLo5w2g@-DOejVynSbXPbnX=UF^Sy4` z;+nhX)B;CEW$ayp`2NCTVmBAk>MD;X9p}44uwj_IxBZAwH0X|zf_b@2hN?(KiTNuK zzp#Wg*`Ah7mgAYbuuXCU-iEtGt2Wnl>b1HH+=@p$q4qw!b8W>ko4Rw5sN!WG zY9ECqzL)@eu*S%#904()R`o>>oc;)${sQ?sTJv>NAP?l~T7WWQ^=+ckcn@|sc`@2xame`wu*wb)?n8!j5gntYn(7P?AvF*=9oYfFa&qtERRtpj}$z_m%j&8s;2XjhwpUXqeU>%n^qz{_NVjKdr(XVE=Y^&RFQ;A6>++?rl

^*#FkTb$-~*T%|K_Qy*}j=_6I8Xpo}mW?-$0%m&IhQG zm@I!>0|&VdsPUKiw6LIXK%Hh=n@G_8b*PrbSO^?Tr9W4XVKYlZ^lUvC+w|LMCVIgB zJ~$Fv=q=D0z;r*dbifCup#4eO##4s}Sa-LAV4l#@X8WtdW1<@Qg_M1Y3V9!F(8J$aoAwnnt(Yw^qyTS2 z-NhdZyDLKB>vMc}nKJDtK@XJDim0$^!hlJXjkSCQUf`Z{0wtJ1~E z>GW48V#m@SdNIRf&?zU%Qso~}@j;&rWuV>CT)4^bKCyqB<8wDs`T(SEotPrG9p#R%se3;C0bt`&3)H zUE`ExOs?miprl~nJ6KEf-|{L zQUHz&c8kSN4n#ox1YOu?@Jo-aCZdTR&_A9MSbb;)Pb)))OwTCxeTuJ4*;{oWTzCou z25fEGj!(HUn=5)HKe;7sa(3&e2Xp*3Oz(qm`K^mruWt5F{bc&kSV zYehv=>EPJ~1c%cJa~5vrH^rcfXdN;1pCDDrVs_h_>MP}i=Wd*Xt*{Z%P@zG{k4f$> z*T}4?1ac?drO4(-Bz%PwBYf6xcrZL!+^;@PE-p@0U6P(uOU0F?M$ql*^njFiH3{chbUx8^|8fv-UmUeFIUD@Zzx^ z)~r!%YwP^lxq%tDbJX8INY2Q}IGVeW{8hY>2Il_ybQ-<+)-tQ|c^w#~TpcPUpTUkw zbm1Db6q=66LfsvQ{g}FM4_61%`MV`d+3nUJJA3)-uSJpTbcZS3wt2LQI-uY!H}2m# zRZ8%Q2w};%&~^Sf-hQs<=Tqy?B$a&7acD1O`Z?|CUaUF#eT zNB^pS8eLKSXHL|R{!$GY_pZ~AkTkk7OXLNmLLJ$>kgh2S?Q3NKp~5&)Z52^oV~-XJ z*Z_At&-tcHyd6)PRP23FL>wK#mcsr3{l>fYPPY^ZT5ibO09Y0E}RwROp^{zPWI)iLtvpaG!=Ihp%RWG287g_~syQYilP>q>}gn zyA2i>Az?+4>5J0aIm|!VEs(5LY8I>!Rt)?^9Hn>Uvh0Lr>|17_I6BZ80y zC(nECaU7;0o+8Zvh#e$i{oJ;fp*%AzlS5N67IQj1VHrZ+y!Pd$l=o$C#8G}pk+79I zWOhBhr+jeeT7CuvIm%{rtnJa?>vjXIgml_tq{wI#_OqoKP>-xc_zg@DlXe zJ_P2~K3IM^lz)d({NIzGU$&eUtH7JQf!9(F6WY()x}WFPmI7C^ey(Q?n_s_iTgtT- zLM%a-F6D{@ESgLbS&8{Gh^5^Y8BMCDOw7G6>lz4t5c2)ECqNwNKaQkNmsAkMw18G8 z3Z;=cB7LovdT=p?fGJrZp$8S5zFJiG?Jb;OuTpQVxG3T&cio3!HdnNG90n{(iEI zElq1h(q-{#VFSiaIB#W3kqK-;z0`kS9o$OyrNL` zX<1KF!KemE+VW0o6oSaxD1VXFfPo*;D?B513<}fph7v-(?-~{hKW^Qv)!EVst2?Q z=6~Kmv-c5F8Pd8mscAZ#5uIe_zUE8ibUxro!Ba;294}j0G0ji`fm%E?5Q1gER--r; zh7+V4P(zWnwS|*MN1^yuTbT=+%1F}S%;=(z?ntO~iR5=Cd+4~K2nN#MNe2-18nKY= zNjfZ^QL^>FK?y=C?An??u2U+}c5UPDE-0zLC}$vM=j%}R^gCxFVW&XWPs3>W z*qNlFP5h9XU9bH%3VjqqYG;Z}%a@YLO2oMWQ++30jQz)PZ9f}gXxpnxu3fXt|8>oy zTi`U?TdLGOFre4ER4Wr(96=Z~s%L5R_*`S)b&L)gICG`T?YBa9sXw_vn%&8iN|3wH z;bsH$Ydq-5kCc@;Ql)YA_Gi?WR?l6^;ur?CmxnW$kb0g{LG6Vw8-ZvXq}O>OCp};6 zb>$MO?$gK#$R$)lo1tGK0!;?hc;+8 z@2du9Wj(FAjGRAeyTohQOy3ux6~!668u=85-9)}H%-Qo|PVz~yCuDzFeXf0sR8m$( z?GpdwgZ?YFihncv`?pMjvECXW<&4eG*JM@22(f>Rh zz*OJ}5gRBhN;GK~aacU$N` zC-CPGHx(cHn!{-CMM7)$ZGiMGEVKGefkAHkJ>vhSvK(m&cwxxIwVSUe1+q8IHC@QT zd@>AXhNo9o<-sp0mc#Boly3b%XF*1+-O3mhRM?@++JtFABu@!7iIC)yDx32;FSizg zxMSJUOhDyzuRWSyg#e3Gu;tcb(9!jZrisodt94C;Zw0UPKj-y_b)*yD)}?zXDM<_0 zf2iUW>!@}VgjX>^`t9mq+-Dha6Of|ak$Z1O3A;}Tg2<( z9oR6)@`&;hOHVH_UMP7u9OmYi0n(7~EY;|BHY5d{In_JHl+6r-QDbrIyv~SgH z+A4`$Vs(}dDGrVps8l(2eh&=Px-MIQ8>h^q-mJnE80)M1?1mCs@Ml8*pX(T^e-U#( z=ZSQ{w&L zP(XjvDXmDL`|soY_n&<4Z8xE(C&11smsDC0OaZ*^Kdjn14O@y8#tC6cD{z&2Tp>dl z+H8pe%u0~isTx#vcRz&Sue#EJLAY3u{dKjbypT=NO{?#|E!vip(^Ufl!5f zTxYleKnCHE9+F--REeR@oAiFGZC6`rUge%pi-~8g|I9!C6mL+itMhjpsO#9BGq6RP zu}Vv-U^6e}bj|8vP_Xe##)$Z2WS=$|}5lSZ>YJ460TA)2406cx45ONwSH{NXPJ zkLe~fNnU}Ick4-Jx&>9@AY%ZWS-K_76|1R{O#6mrJg0pd^FcG0DNHt8s$-zOYK#FC z+M5$M80yJTpxPi04cQ$2cA-^i=Ssl$M?>Oy1(;`$NTk9Mk2Ogjp^>lWeLPTt6$Fkp zvl;PsyLC>(&L2<~+3?>-|LpO9lMVm;VxsB2z)so1I zPSiCF%GwfleeMi&49=)z*o_hPVX%@wK_wHY7|vqNtihducx&|M4*?nQDq33rHoM~0 zxi{dEc^us7Ab4=F7>Izl>iQ9CM#co-E5iWIU&ORdpWH&7Wa<98nC%BxdF36Jpf>)1BF7+U?OErRs?|6Z$`20M2R*@P4@F_3gCu~d)iSQEXMD_5(dLx(4S6= zsKqo^0sU~}(@XHFQas@5Aj|`8wv|2=@6Gd#|>U_nR$ zfD(2OOV-pscxIcXWphmVVGWG0Rox)mr4&bV7cgxq;Wp`^A>qYlcOGM5@3||L-!RD5qu1e9?)=gs;jmJN|E$K81=+4Du=JrRO zz0S9*J=+qC1aBzjYf!HIT>Axd!<_ydC=cEqY^X-czP#}AJbF*?A3iYOC6&GBX{vJI zQOeoD{f)Lk>!A`$ZlqZDG?VfG%5napFR=I_!mh6OHGLm+oG8>jKTa!0K?3a+f}#Nz zr)Q<^rodRGL(_ru{{4HqzWw0F3#*a_cNQHU*S94IB`R#{E7gUj76Wa!=DV`<+J~B# ze2$lwmleT%t2L4t@-U4EhRV_4XjdPlD%u{Ou)GX>PG5TWKM#x-WLgG5@YQf~r^&Dx zUZ;Cp9Lgv4cOx*)AUNFWx;(-JO0qpwvhOfaNMl-lSM1hIp^bN=F3h{lB-lyayi*KU z$~!o|vkxzqqc`P$V!S}lb9&CTzJg)gu8YgyF*%LRV?EXw(IaA`!SgQO%2}<@-Lm31 zFoq`p#ElkOKYd|Rkk$0}6D?suN|}xP4ri?ngtiHYwN+KdN2$ua*7fhJPmZcz&C0@N z2A+qsz=ro0yP+&FJBFc&LkolkZK49#XVc!S4;5JG`se=FWypjBp~Kk*?YJWAOvuit zkCKqh+=Hh^GPmoIICfW=yI1q|50K&t2v?&dltj zE+?BwD~Fc@_mE)8+~HkUhu^uiN&&Oszf>p3 zdwm-f!3R=OcRcy*JAODj)?j{gqr#;9849SVmxePiz=2eM@D1hOMlW;c8E&qF@%e%_ zxFc}=o0PgyQ}X$INzj22`IU3+BVApCanRk{?0Yl#6!C|53c*~S(Nwpe5;31`+>`4& z)aJvmMxg{J8Lq^T13QL=uoqLx(D@F}MKX^^k^>CVq?@}T0p%Ss@J1W~aaC2G;uvA) zU9xxqP>0)zFAs*rAeu*ZG*eyx-VHLmsc{}$;KS^Q+v!HM9+E!}^X)~x#L>p8mxTS9 zjo^z3^+~(-O8wn*N7z52;Z0D;lRlquJz zXKC6sPu?RmKJFL&JVb-K+7d8ukQW7WQz26ypCPfO$p=7t|C#L9Qoji;7OAUQmfLz7 z5$Hd9fUE;6wu3qk8m?qGdcIR#k=i~N^p>OoJBDCcFV)J;OiA5219EyKpck94=lBS#@yC5Io6gUt~peK1P;>-r9x?c9AtdjN*M41<rbc(wbL^2~i}szLL_<}Jw~>m+ zHf(I-**o|SK8vN46~5GpMwlR}Ue-;|rbG7SXT!W-uqyg+6mcPOSPh1kab|994x_oe z5~Q?m+zZ6-mL{RSiG~JJe1hYhIm5lV;S#qo)#@y_xq1Q^y=~&clVCHE#9KX-O|C|d zRQ#Y@Fz?>K<&3+mD{#yfZqW zxdG-QVL9uX3ZMZAGJ=5^L`EOHKK-U*x8~{q1#{UgUtXvM77?al37t2DmD7DBM7Or` z@CkzJJRb;e}w$gJ4v zI6_(J)m-6=pP4FOWwt2@O}(Uk!aJf^_}4q)-sfZr!Ikx};?wFB-mk4C2V~`4ChC$F zwdm86^*XxK6O?blnlbUzF69tM(Nmyge$PMVk`A$Sfz$<1uGlmZx4xpL8nxXf9p|7} ztYWp#n^>vtNA;$TNX5_IQ~&{Ia9U>6|6N_oBfQ+@!!Aokh;K+}LZ!_I@R76Gn=C+J z8Zhsm#LYM_-Q;O50K?!-rAk9(P8lb%CC6aBdc5F`PmkBl{8~|_E=1(v*Z`TX4KLMKpK>Wc`-pTv$`{-OL*AX- zox6=Jk4S0~!SaOW&~l;uvnBe*Cg9%9 zo)=fL)XE=Mb^=zWzrnzj{mXS&>$mkp3yc_fmWJ?q#+`6}w{!79gS501kVt?|VWIp~ z5V%WrJmz$Xrr&Ee>T(N#%gg)@0`Snm)>sRff3Z*!LdNfB#{%zm&6Rp69hQ6YIAw|Y zzvy((uML;bt5ktLXAUgtz)az75Ch&_9GnkzTd0Kg7Uu;;nY0#CDdVC+*MU53hCIYo%e3SNF-=N200_c8|=;h0T%o&WW|;e|C{ z&^tnbKF|ibtrEMs$kYNFR@43$2gCx6@KC*pd2tL$O-mCQ7^7OmbkDOMg4S%H#Cp_Y z3LnGlxxv`h6_A=qry1TXOA>GkH34(@RBh?f?)Q?Pz(~8d+QbCVUwx+C?fpUgeM}G) zpp)rVyX+e7J1k4_q)$L9iCr_yHfmA?Z?Ye?REQnBKf$UQw zKU!Av^QRY8WB93ZsdA%*mRLX}dhKr)|IF)M;=$e$@&#|@7BR}dq%|9=z@u<^x_CjP z^wXBipl`jOFt~n4?QPHt#x^9+7a!IK`9t7kkw>}nSGgd1u;z_`Qgmi{U#oJhsL7*@ z2i@TNF5B9={)AK2GAVmSQ^?yAC~~jW&^pq?Q1ff>CP7ka!kquSs6;B{`K$9>0)Hr- z0ZM`v4Ke^TZ171B&j=Goxs)zV_RXPP_&TOqJO1N`4MbL5sjui^hcnyH7h|V+mMeyb zfN%k#1RL}lp!XrXba78A=gvDO7IamqbYFXh;;8PkzbV!8_88$863d<{?@(o{kXa>g zW}~%>)umJQ)n)oEjOxpK^Z$(i%?Km9Dnt-;sU^FEgM%a};$c~~0VUi%-^s}<^tExE z4^JNRx$$doWpsgd5Uwu$?cJ+ZiG-0?z^jYr1KNVoW~~9w-V*+0<>VjgEfX0LR2P+{ zB>^rCh_V=T@hcN~@Fig)?iI)p5Pu^WfZwuQS5sO)LaA8X+V0EJ;CQDmrvECo^Z$W( z`-KE!N)Ig_v81)Dx39Y$N|{?r`23bdf-G-xdisS4NolnGO7n>^UO*oOkRn?n^_wO{ z;B0+i?g1(Un0)$^rGLc7Gdb;#nQ*-?y z4r$JW4kfU<6qMD;x*gOcTUaiLcDcVRIjq29lFws<&78}^08YT}uDc^MIw|}0Qw}FZ z0tB5hG;zL?f8GJG-&eKiGl$J?LS11m#8m>dNI%K^`y=eLgQODONy+1*WXZ0? zPsI=^UI*h9MPWmi<9EenUQwV$fN&qc_u^r|_u&ucL7qYI#|m#e#ADILzO#Mjb#DWj zIb*@kA`1Joy=2eyLFdEdA$Ooyva4*n5?Cu=X#+b751hpGTUUUcV;JWP^76l`*YP1$ zY}xLbzT_}6=S*4r)B}B>bdJ^EZSn;r+&4rs%zsFt2b(m=Is+l0_?u7jHAxfe z^d3rj=`?f~!Sfvo>m2K}{ua<#C3PivIakY9B!x3baP2z-Fz3C$>GvU)4yM(hTulZB z60T|_^p9}j3Mn$Spz{ErS?oeU*Smq8la(5}0fA%4SooWLjLlr!6{(OOv{G2xB;UvgXl4EK z6wLUFEgOAN*)s+Tk^2^z#8f3v(CpbewaYR)%k{@`Eyjuv%A1+>S?SbQ*-NZ8_b!vF zphVO4CgkMg`d#9~1!qP<0Vn!lumF$H@#?dOx>iAaEn5RW+FNRyx{^Vo-%lxvO759d zRV74Ljmm>K?3>Sz!*)(8D#blRL-7gSg{zS@2kl;-@;woL-{VzZZ^$w_2=qYBM_Z-k z!IYF&g{9TnOFj?5B&3UQh(aDusN_oVnB5V%`o4ODAR0OO) zxM31fdfr#K)q2w}p2b-%N6Y#86wqHF>-w6f1>vKG9xQ=@iU=__;IckI9O3fhG{X75 z;{4uQWn{1)KMePiF|slART(f zY6CkxOn=9Gv#i>XLi?1Raz4Hs=@CH7V8KStv4`9lY@c^*EU5}}lF}0ZvP7?2J1$O$WMwlxWWDH3;RTWh3QyWd z$_v`+N*b%gmB@i))lv(E$=9Amu8W?aOGB`a`|g>bcu%Ny4|2mIEpTnBQX8%CoXx&C z^*oGgLG=3M`GX}Lz0AnfxQE-MjP_UiL=qs;Y>1Ot{v*0NqgD#>Kc9Hx^2pJ&tHk?0UzBq9UCS23Nb+%3Gn`tBLwsrrmvc*?Yh7keuW7+Rz0f^(Cr`H*gI!6F8Z zfc=x!lWvcK*K{`s1V~>BHQQC6z9v?$_L2|%f8eU$R{u|2^=7-l>F~g6PQ+0r9&=6a zz$)v*Zj)cWS71y%usDPT354Wdl(&CH(CfrNdOCI4#3T@P(1fy?$Vi09We+bEegvG# zZmpjeHm3pCXnGxd*cYA1cv>T&#sZ!SB&>Sx`Y1Mpp-&4?og5E=^$X@S>drR=gB-X+ zPA3ybqmzl{hSxi_{qJ>N*1f2@O)-6Ip(6+ibC}W1=(8$weRkh^Lv#^5gr#$chf9u^ zV@Y2B&4Y6+XrHf*$Z}_LT72JrEy(lW8jvBjEB!4RT(1LEtsYv92#8~CFkBgvhk>jc zfpMaUQOM|yP^6rX2OD@lo$1tzsw01JErE&AbnNxpDd6n7wagRqt5d0}__eWyD|KOR^`?ieB6blDE; z^zgRZ_+?}@R#Epl6dOZ?X)tqTr^EBJr9~D-moT5(1si3f{Ne%=w_I|$BxHYL2s^C~ zX6>X|%3@R+Z;n-VL0pIH(bBd=v{IUjo(PF|NOETeJ6_4UQwW4X*sXSIAFT0bf1de*YdT zarEh1WG0L>H6aQx!)asF|ApSEUD9q@e7Z-(g_(YY33bM5rKRo6p8C$h8I7OY{D`bd z*0@Y{PL8r8oyZ6W9RaUiBc7=Kt9|8w*YrFlf^TM?m_x9qkYk7sm$XfEyFei}e`@)nI%kb822u(a9G_G)z>z z?r(l`&2fIBsKmT>XA#r;?3(4a{3e~+Up<3bwJM#IEGhh*FBL0JM;uQHU=Snmf#2O; z>mwJd^6|yJ(tyB3w)nCEhD_VJ_#Ih8ayMtwfRJP|F9r+DG2-UAI-GY<&V?V(W4y zFQIh}I2$R7?>W=r&F`+7&z;H8>yv1j1S&pUj1$ znlnCkmioQlY9tAIk?wrk@eq2NclH{DgWqezB3BW|HYRyR$fTKK$6LpGHgs}ceOC-k zk;lsl3{G0U%&)4Io1(B_^b>tk2faEP+T<7r;etZGQRb8Hnur8_}vf z3?Wp3J^kW2$XDjqKD0TkamM`EvVk#7Y0%T*b2|p>%~73}*h)q{xZ@aKdY3zxakL5(&0s601#Z`SxEn~_)tV?~+?HLND8bJ% z)oQ!U4)M9TWJuU!w)+EHTY^hE`Uc zg?S?QJZ5(tv7whWX&SiJ_5c%bFA=0lyG zVG?+0{4?^)YQ~trEbZY7#g91=HgN930t*}BUNq?D8D{)5;O`p&PPUd{mcjk z*>jD^l=Tn%dM5(VO=Hz$URP?FO4xWe(wOR`L|P(zF=aB7#Ajdo@c{|%4;pYS^et@v z{^@>H&Pely2TJK>Hwn9vlBcblbjrv8tqxChPd<3V>BFWz=2Y&ZouyW2`un5Ca|U+@ zUL;ND^I9<2Ds>&ju(!7lqn48ldI~IdYDLdO6*48O!q?xh8AN094wug^8@{F=miZNJ#*vBfu>FSciBbLbLmAmAp` zAp@zKta~FD+%w}|wWEU}Z&IlH((Q@vQrXNQ>_-#1l4~pZrZz9%wiMuDb6Z*5I9z+7 zW->R&3xh}>Tk1}C;2o7#vDSaN8T_dJ<28ZtP}BrzT3sGnf2%yjVzrx*Ik46ym_G}}Hkq1TZ5kr?aHtWT6XstGG&N7R z*SMolp;Uo=r=k31+vyOW`#@4jUlWGM;u&7}-yEFkhN*i;n*piGy%lhOFUDCKid`GFciA z*9+RNd{fSO0GNdPrX5^iWj{+;0#*hypPXx~*fLz*V%x%r!o{r*!rl&{QV$a?G*#@f z*?s@+ogg5$E~iI#x#cY2J%nW{C^A*7&}d|6=*9UJL2+2B{(R=zdX(bCL_Kf&Ve=^7 zm&Yu_z?UuKpgSTRXZfQAX!*#D0jWZD%qlVSa#sss6ZAYpDzl7RL zO(=}fiR2Q5B#LARkR%hjQDH`8jLh|gk*O3q(dx^#024AWaY(Q&KkTOUBjUFjlWeQn z!s@>QZL8Z!;E!W2<3*_QJ0joYn2E zJqnd}{Cg}B(PyOv(@vY8^-8sd+43yAuGkf}-OdPf!x}RkE)}LuqaIRIhp7|He3O<> zjX3{0OaH&G_Pyrt#H+6P5^+gvu6J)Zn4>(}`Rb?6VHu$}QP_k0#`nQi7=b~*?>{F) zL2=27kwo8nzC6hB{r9JtTU1KxzlVoEgXeGJ1ekY#`@JyR&2>9;8=%4(>CEbO_-}#HnVaKyS$GUJtO_&L< zp{pW%QWcXtf3?teCXd$BpLW7;Ch;tRBO(9a$M^joPXO@{{QEO`TM%1Sv`Tt7-$;q_ zU%%drB_(JJ57NIrRpd`+{QvbMzP|1vh)eqK&$0JX?0=77-4ewVPxx5$-li!0=R#@4 zkKy0P{`Y0{e98PXKHv3J2dPmmR<`SLicq->XiN?^03g#Xu;u@4F?P|g;(jrM6IZmk z-Dz|{BJgzk>Au73l&zC}b84AniJn_O>6CM*A>w`E`LmCN;&YT0w{Cs08(#pzrsL%a z)M^~7-QfaM-=AgcnFl8eoIakn94d?F(moZ7tFjr^c&eNuanU<~&t}}pU;RBKNg!2e zll&f|<~zmbgb!csFzQs^I$0}g@gegH+)C!8Rak3f`A= zN{fs$j%qQ4;#G8iu2-`>rPoG61f$|sL0c@V7pfQOdD~W%@%)aVgWPGuiYqu-?<}|< z+UU}SQGHfOG~@fG02zbiZii(0txJ#F;~pk}0XUoeg(7EQGs>%ddS8U9@bFD}&)#6J zZr|soM_~_SV4Ld$kcT$$1if}PW3k*|L^qv)(^mZJvZm7oI9{9M|1Ku7rwIXyR9YtX z=fhSu9iI<9d4n%tc{;W{5N*U6c#Dahd!wgKd3hs|K)+zym9Whxyl`ZWyar zZ`|@6mrP{i<;^$#A_9RXLvB;ytJGx9XNS=5o#T?^<>mc-1@Qm60^-xt(_mlg-w5(+ zJ|i}uzr;VVHSpS=Bp}M61zmFyXz%8jb%wVl>g%uZkE+eJB_;}Kj~bBC6!q*FPuSdSn)&EttWg1c!e+DbXb-hfG1L)_u=o~Dqp1{-~J9- zRe)j~sWYisX4YwZX|y8}dLY7VT`<=d$5@jB4+*s&4xCEHENt!UoSfvI0&buO6D>Yq z%KPzf5xO~X*|?TSb8h%fUoBcF9PBOqQa?19YzCNzydid9%{ea4)_53+-nsm8C=z(x`k{V=O7WI0IWfrcGi*r(4L7(ne4M*ZAQgEL1W^sOr;lO`+(NkY4Z zU5%+~n(DUa3zlY_rev1Gb-*h6OPh-EAfCBnD};@_A3L7S@`@wG8#gCWQND9?CReyB z0jo-VLIXof)G;260X9MLNBBEO9Oh?{@Of=-RC!*23zp5{1aek(_VREZ&hhSCU}0jO zlJV^FdO^y@n z=bEa3ZA&Ob zkAR72LUy@lQ&(5=lVkh7baVc!>@3gBu3kum&Vy%cQd4RR>J5b|Wmb|lnNV0_=Acnpl~R7F@le19%1uF@6)}0-F7yL z=)CO0-h3g&Vj z(9-$>e6(dApOY0M962Y2?WIEEadrmzujl%w3D8S4Vs01=6+@-lXMMy2X?dbgXe2dIAbioA>+Od_AsQUbVQUk!2}gWFgbZ@Bmr)NkMAJdP~q zZ)lupECvuquYjp}k$Q?`-|Vo&gH9NNy!^RYo8;lM#BD(gHFS#RDXyBj`u5`Vti!7C z+v)RiqJ4B8aQlV{=dV(UZ!OC&J{d>e`YIQjP)QUmrZwe?BRc=8BbLkfVdru$5`JR$ zU)#R>DlE;tY39P2Wf6Lk$(=54r))0mkmIP;*j=T4rNnj>bC~V&*8zKt_$K zsDp8oe1mlgTqfP7BJERr!4kaSZIYq#%ZJ!$U8ye9XN6{3A?aNLsJCtzOD5-pwvs^Z zhicBmi~brN0NjjbvaXjL5ZA|vu|H%F!oO|4oVgFWfIwxsa8~0T3&`|nZ8WmK!sD?) zq0V;x7H-|F_W{+OBQ4VObob9m8`uwD0}HbMoQZ0 z?-<__PPs}mh;@(;Hg+@#7() zQ4Yjs1?u?5RPR81Nd(hl*iVoo<9Ns^Z|uFOe@_50et=>8j>qn4O5k<&%ZrZ&l;Zlu z(Jn3c;BbwoBn&xuTV5$CGHXXbU5=+#5mIB_-OsozC+mL37fXe+U5AknHxv0m0Bfux z$&xuT6cL?k1TPwfl$JCaT5BXD!fr;5)%q4Lu7X!PV|z!?N?do#o#=cj7#N`dupvu_ z1DS}(yj?~X72RFzVAKGuaqI3QFtka>8J#~;_ z{gEkr7mFocq-VLtMo^f+0PXXX2OEf_vFBO$O_kF1YkLR!vlOrF7LRNgy||BLJKN~z zTk~BShMB&Vm0Xx8sx6(;+sR7- zeYM8c)-b3C49v`)!vFnEsq(Hl_vXU~wgpBl5R=_-g*HN%8{mG!-2=f*Vm;H2h4ubS z#W$@u6ykZy1Em;!3yh7hTfv?Ln;)LY<`5i$&A!$e#=&0$a{9u|%s(Sm{p&6Xi#3_k zhG0zvT?*LMp&_N9?0<3i>5V9zD6a1yJu7`;%4Q^q^=N!05+Ma<(YbM#-5Y~OE}3#N zKHeUI+8cH0lq8fNlKyzr;~>Izbm?d|-fx3B{CPf?V{<5AB5{;3ayP|odxr{(OzTa=Ex=zfCCp^AB9pgaANc1TwaAaMttVIT>GUZCnb%HNn7T1tqS)bc&6B0`ycJhx71#|lQ133 z7LHeK2T%MstxDT)LqBXWxBSaXkt?~wg+ZJF#^UkKg02e!rT)*a-iHNjditUMBP^%@ zkw3*r6F`*GV@b)IuJ*<>pcH)IU}tzTL@qv`HCpiwfSEg^olzRkAw%0q>Fa}y(YJ5k zsh3)zsYFG6l}%)8HR9VNY!97HN8dao(7;spY95pU0mqc{77n<8^vx>#yRKKl<8-hli5u?|@!q7NodXYwl zKTx<@$9q*&0Ly841;hKW(=@Ql74BmrNMCCFEFHhYPI5Qb`=B&Kncl4{R?g9(A)w{(S4pO8eu32TN}VI%bIwUlZ<9_l`fXz3xBE0>wEFvLChl98R3u>hgHA&B zh23<)9qj5_18qexD0e(s%KUuY8MZejb4I&XPC7)zJRFIR1>n6dK2U4FEX=U(R`-to)%oN|KX==jr z!6L>jk*uwFAh&dH+xcQ_%1W5H})YmgD%w{hhmmxd8pL+(yh(?{Dc!s z+u7n4j>qC*A(tqZTR`v3(q;?)DQ%o@R_g%D&0e z0Nqii*&$sMbR&2l^G!!dSCm5}Z>WA(i-JTmTOhbnEFGcvsYuNXD^`APhnI`kItWIJ z%_C430-|#Xs07I=rrl508bbKeybgo+_fJhgqr_@~s6W8MWuZRf8`%xd^+qNUZBP+P zMxHQ9COo`idC4Nl9K+=;T%6ljf9(XFh{#AiIiCd*R@p5sH&qjjb9$JQc|K!ulXuH12(EV-lBHvkp2Lu_u2uKk|ZZ8)Ez3 z*+WGpWT?a>2;Y4s&usI;_IL?W!fV&B6YPt7OrCvHQ;U&s>sw3^V|Y25E$n%5aj!Kx zetFjWHoJF++aXn1&ui%DgYMQWEG#H6V%zSf78hfgDyBY^L1Z+7Qt`8Wys=?d-1az* z%XjjNi)?E%vlAtcBw~^o@I*J|h;UkoXhFrm7>JggW9MxM@maKINiprJtQ20pqXTRW zJV4W>(ZzZi@LYp-wBGqg2v-y)nQ#y%Q8ByuFB`jRf~PR<0E=>Uu(R%WE8*{uF@Afp zcH(2rbsM?pk&ixik5%0FlS)t%iKSu%mgB>}8P*39yz|cH+pV7^0JN;&)vS}wjjAs) z`(Aflg{nN)h6<8_5uLf+m1NK(;9R>~%AKd*_;9R&_)u0}6-kL*=@+;u3%%NjU|(d; zyUboh`QYsxc90!Dw*-&X-6P|pcg3#N18Dn~>YADa2gjQ)wgzK&Er!YhvSK}_2fp72 z#^Qs0nJ<48vQCBJ=!OTBqRl&{N^rJulUT%!uohtoq7V!iLC!s>x9c8eJ4YAIb%x?# zV`E!nWl!?9?~Y2Trg&`cpMNu0nO{d1MUPycJ?|=0XXESJ87$j_fEdT>j^IL_%zG`d z0%rGb+on5Il-Qy-ZCDx`8`t|;N~}`DL|rNiM8JkJySTSj!5S;q*0@ihUGFEiRxBis z6crT(gi%L0jr^5wbE%d%Lv-GU33~FjQ5r>x!-lp;VD5|FH)uKB zl0rjzFXP$h7Ow{sy8vy6GD>|3;gj>c2py%RrH!enxi5(K^shx#sd`gbMoo=J+Blf| z0Wl1#>hbs>+j#9=18BMKLsWojF3~<;rTh5NjX^Zk9Hk$7hF*9c6{68HuH*dJ?)$74apaP((Bju%kBDgL0pg;u$gvVqC+3&0}4@5xz|NV`f7-qJ8?sUvt$A!nJI zmIogIJ@myHD`&DZWs#?C(FLY`)Ld3$_@=L>e|<3R`O+XiNUF|$@hdK96crVfQ%i)` z{vu!R=23{Asoop=G7ba>&PYHh&H|BdY$__Shhp#h+OaQQHbPEM47X9Cp5%#FiWRWT zP+B-voN73psyBp~bQy%Ci-#0c*dIQQ;MVX5Zf9Azn&fa3dkUCRoeFfrrlfNj0?v;= z155~YU;$y>6JiV##sV(ZW_BS_(rBNAD~jA8y}~&@7<2m@Xf-9AbGa+HnB%46vG7%X z!*ZiFTp%h`a=hcd=jrp|!}KEAqY1_5$E$m;brou?2G5FLiG@)~)z6!AzxE|h)8xuA z?`IAdM}IL$<~4IXHcET+KswC#E2y2>-w@gApQ6Fm6_nNxs0Zs%tkA~Wwqyx-toanx z!QSOJ&6{w_cTFD0-|u~NRB#~7L0nf><60E2%04?nh# zo~>0wjsB)X7n8ZgJ{+gr3Nf=y&NcP*?;*N~KuG?yD9f-epVynbV6v(vyoZlh7q_v6ebM!#Jv^vwfiUkH*ScX>l}L&3!Hf2}Vd(!ug)HljJ7UqIw+^;v zfwSKuWxG-H&>=DCCnvYn`1Bs{Y>(HPg@Ho0zPh+fOl>JzG!XR3o^_4W_a@)GJ+`YX zW&#pMdLrTSfvrzaqJMR@Fqq!Vyg4=45OzmoJZ)j!^tC$&(%JTS1*229;#WPvZif0# z_rl6|Udpii(E;`g7B#c2KjRb1ZDQdE6;l*>J%;CIyHe3`zG(b36Yon%O!R7ff8)`c z3SK|pAwMZ#BTk|;K-CVhtyOreZAU=$f^T)?l?-4Xt98p$Ow#iJY1JHd_cI5x=Z>uP z*&U;Y`MZa{tB_G&%DP$n91MC88rfiCVI!AHOtjM(M{EQec$zyiJ_z*$t@Xy*1F49Q zo^?&Yi3x$I({K&QXb*ejblM3I2B@M3+nVq~(t*d`pMz7Ei7S0AL(m&e`-XDV>HH1w z+%V9DM$(n>_}I zI%QnPM$%U=nM}~N72bAUs5gzI@6~p4;Q~+m0(2yZr)HJg+J1V6Gp$n{p~rzGrZKVn z5SE0ya8lf6(fS{DLuudi@%z|$;sN?AL(2IP+9IT>xuu%=JIE8UXC4IjzD-K<@SSHt zjf9ZLl*#fhjisqaw8h89v6(%S559Dy9ytiyppf&QlZt)lK?=>$4nj)PsrjU%b-wzj z>g3 zWN^bhakA$WkYJP+H)+IJPw{0!&^VW+`KkVj1F7gFZWw7=9gP;Fl_4-SzSVus%AzBF zMp_&~gqqAfRv5 zzD0#>J%$Y-mu4_m1GK5biEjhw>tNh zpf5IQ;({3ug2AMBFT3-xaiehCllg8iNVgppHTWql2EI~QyO_O?;B_?WR7(1-o;L7x ze1nY!)K~sxOmLF{+#5N>2eb3z6hYO~9*p%qoW;Tn)1C}&(2Ia|zg1bG`Dd1RcMcR3 zlv_CT?+ffjyXZ_zOiuQWUAs~{Ish+ox(U18XSu$EwTVL-5c@UKRUsqECkYsAghi4i z@O)cQ^cHu_WPfqwqT#$O9h?>Wk75JVZF)$a!Y=P&h#@L_Saj6tJV@v9y<%dD1PTpsL5fF!E@k#)nY1oo#1L|P8yXfy%}PI6 z{sV+|%OWeQIf{xhhlwbh%kdTx0umYe${&4|SPw8MQkAomKz&LZfihZDYP;silDDV30t6Xy{q$6FLoU z%dH7=3?V}SsT+KMv;ewVZs>DUJ=I?l20{1*UW4smxT3Z-Y6ft+$d_w!ppt6%R@J~T zV9;Na1PC1o3z=@Cd?KRRgIa72h%MJyg4$Jf?ye#V|X59WKTon zJ?jz;@6J`->mJ>^6;)y^XXiq$+Rh=1JdFiS{q6Ul+!VoDW+B=16c?J9aM1O9j6p6O z7$H}*_dQYsgPh{(SjqfB@}>7k`Q>fM4>r8~9jVYs2J8sbiGd_LyE-rTfbsk$ZON4z zW3tCXcITLFF(D}_sXd;1GZF7de`LhN=6JC)@pOvMs4Yr%v5?{~LYrdJw&Ik(%ELnD z%uH%5ITWlI^mw%I96KX#_;h2{c(G2<`7sFNQvvmS@%h2V;bSSS(94SiB`J)5L?+G+ z#UVj{y6bcu>bE?-x{_Gg*=N^k*OMzQY80?}ZI+I>^H^97>ZgV#Fp?`gTj((Wc0G$9 z!gD+2As#AQ2_Ixps=Nc_`+4_cI`cGLH9nKDF9rXiwVR!nzEeSC-gsof=D0UyoyJVs zB_M2mF3iPpX?)PITRLcxU2Rg=OLkGPxIX)R31$XB`w)l_yOg<1zg#?AAGt`kPARcn z^K9L?XQ3P_kV?MM*QF0JmNb1`%^`} zV0QJNU-AX@jri?54g7aNdt?3f)&CE6p7#G@;Exx=N?>=HnP1=S;2J8{5&q||NBrTq z%46Vx6%>svia)fzs=^;I+CY!%M^rq91dftd0g*qY7!?AlPW@Jt!GO1A=mJj0vv^8y zE_lXkJ-BI&W5!u4eE+pNT69nQPanNkIr@=-2kg#%tuV|QR4tc$s&BbMcDv?l>~4l~ zF)x%NY0paI3O9vb0|-qRrCy=09kHI2`hpjtX;Er`vujq*q8PNE;G(|-^vIA-E%?*a z3#7QxgBQPl8F?QgBGkp2CJ-;d7!|!zu`7zxr7g_Zo?^8q<==wR&`)_&ihXfbv78RR z^VJ`~y_#`YNyACeJ}bJhUXC>d8gt#RK_Cy1j(R%}Yozv9SEv=|7*#^)_ch!VhtZ;P z8hzFbFM}=32?-G4JgZ$y1o#F4(7+&G6dW`R!X!rr|6SoK zL6DeIiS2wnIzG0a+Omx+KQJ5~YvDc8s8{;a4^bO9R3SOjOj=!70`(4IT`0 zhVO?~lhAZVL4IhiIMpj>t9P-byfku2shdCYhKAIXzCI!?D=*R?E99MP3x5~U5{6`R zGA0IM;9p_tvwj41-T+dtS)6g4IIqI648hG;IQ4NIqoxy|X*5-sYshuRx`Z|Wj}UP1 z0(r3;P)K7BJq95XA+1W4nJV?Q{ z_Qw9&`_vED=bz&K^_^q5ucHMtmtXQR241huHtstZhaKU*Nm2XW@(4os9J-=fsi=NH zCM3T7>v%G++DZI$btID&3@;adua_%O+gAP?P+#P4OJcP~Wi@DgQQOZN6ECqQ4Vdj& zm=FdC_XT$M*dEw+w6~{N9zu{?6vEDqS|(nidLw63Fv@vT@IDXEwZW($j8XYmM%0Td zEL$!ssE^jon88gg3_!IX?i+@%KKED;@n~ssQopn3LxQmxDPUeRW)w%BIsGrf-U2Mj zw(AGx$ALO>am_Vn>~pWR*WUYZ0hhY=Nn}&Jo!-U@Go;ttT3tnWE>)oql_nR<*IyYE z9SfD^AC@ilLFTN?h0gMYgO@-s+5FB=Xr5%(eg=WC!K!f|aH1i(`1KAKv!1T*XFxN! z=&6(nI_##}<&I2*K}md4(o_7vm@hRi#r+m9LLx)#6I|$DQpMt;4Y5d#=7Y!V!^LE5 zI4vu%nl0~_JFPLBcpw>OR7|-;rOx%~%a^g@O|5_Lgc^2i*F77Cz-tnN_ie7;OCti; z_|((GWIfI-za)S zbe_2a%myA*Ob8-l*XD3&O}Rb$UccTITDmqv3CS&wRa+E;%;TtJJ8{R*+6qE@SI5ib;;SFbXUwaW zxKq{U4?X}x!n@HM?bK7Q8+~~Ws#Py7S>sU)xqe@r)E@gD+4ufCFa;%ZgT5cvy`eNN<&$BZdaqgE+>$@3QDO zh%bRSM2St~>}G=;4E1DNT|?oW@+60_9boIjxMd_wk@?>$S^3Y;l75Q~E6G+2x&1u# znfmvu+)%+F09XdQ5v4JsPRpN_VNmZZXJp{Or@m*1PWh&A<^ zN=LY|sun_($4E*&z3p?~-7Vl&$ z(56}jO2TlBLcl0+w)-gS#WoUc;G` z0ruQ0G{Potda}>Wne$qYo%Es>k`>s!KQ~Z`f}eR5dK~4P{5`!x7aLS)WGlcffXg{# zte&TOH&qKbX8t-X0HasFzQjPEq%z34%xuR&q2j9(zSV@cKx*!@c_w~DT+J}@ZEMM1 zDI4$(dP7!U&x`?NCco#x4Hd@sjdbq=?Q!S4%wG9EL9l$)62|TK#zIHrAa9YbuI`J# z(slmC#hFQ(ZI_P^AAUNCk1y&fmJd;OAdg&D)}o)OgYGC#OMn>ah&rwUck1H;syBm~ zcb`I=g7=ko5AqTF6wsg4|JW^tj#8~v<5@~lQv3%Xp~ym(;=nvEx#beEQHR$TXZpaa zPgTnRPvVpdDW_I+!Pl4Pg{k-wNEO>7Gt*g#@OUHw-NRN`Ajjl*l4m|sXxaQMSw()8 z$KJ3D3y_G={^=_J#sXvzz6IeS%VJTbzlPj6jnaf;~#!Oavvv}>~q6xsPg z4*%B{a~t9N5+DUy-nZIT3^^$-Cyi-kmq$aHL=}P-w5^=yRWWaXhp#DBT613pK)cXhyZRyDlN>2c3u!6uGOlANs`|a6k%)#Hj;z;K@|NrKk)~=*DIpb2lpYg z@`kd34Jvq(vVQDu8Msi*k)NM;-oliUIkLS7)>df0An2suMT;Gre)sO(ofI!8Htm|P z{tg-``HNd7b|ypV=yq4YPZ`hhb2O{$Svyw17{7}V9oDWUrHaNlSIBFf8*h_oOgZ(z zdR#qxfDI)qH)cX}$K5`?h^}wH;UO;D3c~fYaxp)RJwXgSNF#hVX5+{HndOnb(W}^F zhu&l$x4JqZxX!u2J3nd`C+#sYEqaq7lV@H}(s)W((AZ=DX5@u)=SIKg^8@m11k6`x z*(gmdxcttIj;m8CBW$u1^LdNPXr;5PtKLa&~V777w()pqYw#B>&nOdyMT!EhTjLevhrPC z8cCPmPjD5QOy1S=L?mtml*$y$so}(NK&Rqe67*@fFi$+cLN&m7>-sOc+Oqkk;eB6g z%wY(QL(?0+42et+!7!h1uJNRzFu;g+=MsNxY=8b-kiW=sHORPJr&@uxKoip#a#sV)nkrb=wV z6&1W085z(R`30y!s+}~TKKV^;0XJOgRJv{Y%@%fK-bEs6A>Hns{8v6cwxbhNkpba+1J<$7yt1AaeuFPY|Yd$0#Cx&G))=V zN-vXhMahP-?nAcSO~Kst!+KEgEQHIyjpvKv4T#ix_UvH=O4JyevP{rRhe&y~Hr){f z#bU2!a9JtE0>D*wmh-+(?KAw@t9KFIIeGgXdsKU|R_!a`F%>YTr@+s; z1R*W{sM28KSgru0_r}{4Ao23wO=VD3RSyAvS!BmPUE1%nj{$gEnIKaLZ31rPBC+^d zaM4jBL;52Vs763Jz6Vm0_r^Q-4cRosf}h{QDSu7|5h~qQjN_J}^js2xfFtR-bLW)v z2EGr{F}qOh#9RUK9>z|iDT;}7oR5@r;`~gvAIL$0sR@cmA1AOvL;u@Z>s}k zEuW+M5G1$z_5aIt^Z0j0&%xZEj2^9+a8uT8xhi*ZiMN}yC8IO7_|$pAZ@`Nd}Fb?xtj)i@3H2SMdfX7R|yow$v`3OkxA*)sD!ds${2VE`IF?{dd0Pf?Toq{FNnu3&? zBWO<(|6gWcWoUc%5f(l`*HvIt7~p%e?q9hGHBuGDM!ySPP2pkwJkU2yng75rY^W95YF?r|N+$?3ZO zpLcAxZi3%nR?52AorAm=Gch-pck)m6!#5&HvaNr{)F=sZBHVkgUAuN0E^TdXeen2r zxm==<>D8mz2&D;OTl#0@+D3ATGTosG_XLYtBXD%MVkDwPX-amC(AOa14p-ne#`5X@ z;8X_LLq!DST7kzOZyJ%Mk&1e@LmX`MUAyEhunxaRXXStf$3@41XeDoI(#T;-#otJK z9C}=A-MF)q#zZkaDb`G?j`I(ZCIMAi-*G*2F4_H&gfxPa&(PUQPfx~Y&1AYgnT|ZJ z^Vl!o3WhW_#QGP?XP}EIkRM07?pN>b>V@zaDMQk;2*^c&o@ju8OkhuOVIj_ngP|j$5cVb43&}siiDuw#iynY6w9e* z@|q8<{Oe!$LkY~HzSBZ(PF)f37S9F}JU}wuXZ`)e2^~?U&aYo%h-aXo(x0noO@ ztS97yjh@}co&j`k`v~2#-rcE6eAWl~azAoxJn(S6T-|FartC_pa!(TpaPIFHBh=Q-fLCYGX&kmLSBj=e4alLQJ|N)JYNLWpVB;A za=?>a9T}H0WK$J`oRPjV*Bf{qm@)>7m~iY6fo^ltsh_GEI76G5C_HNPJ=HETIZyjO zl{a9M_x7!{bt`Sv?(evr?t-Gvpv@;8{PI-@j!={?Jc1Q~6Mi5r(~W_y$&f`=vU-9_ z^{y9_V_6|CP0FwS-Yo`B=yeOS8wwZF)t{HsiKc7*UDd!r}*!Z13YfAiZ= zH}cqp*>9b7^Px81rp62GgU+OCLVD$zV=i9x?(e6NI6G9$_O@po70wm_wf?Nq;l?vf zrIbxEed5F!p820^wmBUJt!EvDhP9dG^WMZbO%=dEOs8ruB2aI|^io#$?q8Vc>Vh4D zEHpRi&e5Ju9;h(1b}`0~3kv2PLVvZ;PLIizXCoscCHCWdRKgBoE_UNe(0L`xyoMM) zvx3Ncbu{$tj9@v4@!42pBy!@>s&*6^&GgI{+9C2lVnf0 z!M8r?qE%yyobJSAE$+sz&u^YvpX@tl>mY+JOe9o*eh4MzbvsE{;M?)i3X&avwPTa?XuLru#D(EO$nZ!E^P++o4 zrFhchYdO}eF7kncB^HHu>^k-s-Zo)d#z2Zlli~ARhqb zwcXMG!9g6g8`EMq-$#=cX4IPV-pVr?Ui~c9SvNy^JslXSKWp~&i@coD$B49eH^Oh` z+_~<3DAV>2HBi_f>CLxqzLvtH1B=KUNsove1s#JNuC9)V*);@~nrO(gVPQXpYuYY< z+aT!L+&q_A>v2Q}@X94?y$&%#HfhjOB_)(*vpXDJ+lf^vK%hQb`ZRwUmaRQl%Rf%h zEkAv^zQnbT)C|MiYo$<4J8~USJh`8?x#OO9sy6QjeBx{uU(3o%*J9@0z4Cbt@^*)& zM4obUi?D)CY>kJwo#!5aGwPv13`8dbM$o=MGjWUdZX;t*`s{=++^~&bcyLgZsgt=Dn$x!9v~M+CwFl zjRNDX(OSimtnV!`W{VHI^VN{eWZ#uxC3jDb$}?$IWht|~%P*i(H~XG8oqajD4|Ndk0g|9iHVfZW7 za#tT})H+^hiCImptnQR8Pq8#>4jS4?GV>(}BBPBr4da9gu(ip9g8w1s=l1a?CjpxFn`P>##{I4)2ZSs{MI2+un z`ts1VyYlhFrqNSU1i7Dhb@%Ps=TlZXK?P_AKXW9qhO!9$X zWzIPNqS=(VAaScsy=@b!Q3Iv)lPA$!ntuFyf+%WD{f3T3e_5w%Twe6O>>{tv5(6o( z&wl&#N!wvK%XPC9y&iBU3y251(-(Yt8p49#*VoU)!lGGFFsABI4Ujm*)yx$$e&UP6r(9_;KE6&beDGXCz%*~~azqhoF! zw_cH}f*$%&_OZI(Yw67d+me#}6<%abjWU#x)qJzQ z;_PnYxs^oJoi>EoS@0FLwRc|PE!!8GikYe?MvcWiwh`pD^bx165Lh$pD6Fz$P(QUY z9%*$@fJ*zOA;04=PhXAodQ)@gigI6_45ghPc6)Lo`5Dn$^_okUnG$z1oE%$1v)Z>sJ|75{h{e4_#b7%uc4)3cX(#NpJ42*!0d($$6@f9scDXEr8a<$Xp)u31xQc z`M$EeQABFJxZYB0p8dGN})tq~Fa64e7b&3wL zV^D7zvF0WtHQ|;28tajc`=(npVwyAjP-c#euX+&k)}JTV;BIW%fC--rM11L6&EK!qLs8~xvhFDTLw^Z3hJn9*XEEpTQ5^@GDotmeml@_ z97)AJq}hZt(G_dD#;;$+)HqylFHL(>3i+zLC9Cl-^tS6U&>>(UBlnt3eitE$t{l_T z8!d6Jr$C}dymZ{?XI*MG?X146q<+9un0`qTirHw<+_xF&Ix#CKI7n^WJH#d8Uoey+ zdX`DVHR^G5TnBHCbNfvqb4uz<*}Z0*9iX$wZ;p%a$TkRbZA#!O4x$z|(W-f7mXw2J z+Wgps71Boq^TFn7$zt7TKw_tn=6qHLpo6f-;6oGvA$lMS8KSHZ)05& z#o|M-z>J&L2f8@dq@KB_scuMSRQx=u-I(?^-Zv+_2Q_te`lrtYyHCAjStR+bt2=td zV=`#ral>sPp@Vei4LUrDGxh3WjkE-A{C)iQzb!1R#xJsufJ>ytLK;2VQb~F(1xm(T z`oM67lp?1FOLOC*v%%PkWBV^dcgjn6w9{kL#Z6Pc*-{&Czx>|Io;T zcVDBzKmy&T*uZ495OUj>1<7Bv- zP&30U5>g*%p{~%-px?(HN?#yz*yTRviXX|Ql|v^LDe%5Zx88rIE1US(@o!FJ{CHy+ zmFw7+=z9#J7JUMiFTKbFFDKZ=Ia9mhNk|>UCoXu&96P!*3U**x9ltX1o5^ojtPbk3 z$B)U`S*eF7u46+N;lpbuyGJQ-H}*|EI~D46NQu{ha?^QKp;ASsgF6!NIxfq}$!+iM z&i*Xa$1`cHz6SP} zn8c28>^Sav`0_4U2!;7M_W?4`{i{gQr>3r^;Qvb3wX$LWvsYAFnjUgw!Eo1hRQZzH z9BO^MKzJrB(-#9J*dKJ^RVh6Zv6>OHej_lb^{?AMRQO(&tZU;<0n7^sa%c-o78aGEp&% zy9oDnoz->Bz6qsY_RjCJw~9}nZe-)rG;esqkS0sfSHvgrprcJMTDX2#Y~?PD)i&Wr zsdtN2RaFYYl(^0H{ff=8Dn1s&d+-i_zd|zTcrR}r7>Ta@l)yt@etF|Y!?HB|)Vt&s zWb4V z%hOzI=uzJgi>y%}dc1f`r?AL$Fz2OgoWTB1N61#sSEd^7E~Wg$xFEH7OoY>VN`m8* z!YKm{_)uiG?%a7o#-@4wBA&L1R3uA#5EXxi{j-IbFgm<=JM zSEZwICJ#l~lV50(q%t?|Bhr4-z(RyN#DWSV_;D$dfX5MDQKy zo-au#92HR|j&+8}+|I`?0g*_*vs|3+YtAqUie2C}NviKE<%%Jw>Gn)==Oe7HcT$n*`4|12G)1N zi8)FvXn&HX9Elq`mN7J`ddgCtD;haL>|@IulGAR%p4@2jaXCZ%ds*Y2`5Jcojx$= zlhmqo7rijsUB+f-Z~Y{~e;k>v>k`4Pp$=gCcB;zf*E`CSo5+vos+(3rDB2dCrGTQ{ z$RDp7JGtBzh)`(?2V4%fr^&4cU;$T#6cOt;7tp!Ax#3qrm3)Sc7DZI)vE{!kXcN0 zm{N_oNj26eq%}@3Qz!Buha|VhaW$AzK8A7%I+JJEYhNX2Q%Qck-K z%~PBOXjFYbBU<$m39EucEz3TVG(Z&h6cM?-U1csGPguBf{1VZsaFwy*G*5<)&b8`g zhs@Bo*(UuKWz0`TX4DeTg|su0L9S+8phX~=cbP?Y)@Ih*8TgzIUexT^<_S5Yi|IYM zq=ebE4?Y%hTMlJF*|^5ex}nOs&pJ_KDg`nAQRsq7nSrT|`GK7@FDpdHfQ9xo znN(LRh4Lq1%?pez&vo#1T6c{`oi$dHgO-|dC0GT?ZO|!|dD}Ta-DC6eNQ7Eh`BUtDeF~}WL$$Mky z&a2#hx4j=q!@u+U&e0Fk51+SL-rDQm`K-o6o!DK)}A z+%H;F3B1Pfz^c^Ja_F!%-gvg88r79y@Bk$`*xMYg1dT<)h8PeO9PiQnCB`Wl^71I! zObqsyTKS$)zIyRPsO#HNg0Ah}I~7o3)J!pZPk%9r-HLiU%4?|Kw?cR?Pe#KjYjant zJIRtY@Y?R{iGvSM1{~*<9*pjQ4VNf6tXL)E(jU9pou{leug;~|=>wMLyBZQbpft;E zfl&Gqk%kSXR_P_$VG=K6*|Gep&&$VmTi~VwY%T{=WN-L#Vxu`XGw0ld$k~)gf{Z*z z>-Xg~1c;r{EksM4pvpsEFU9Vr1JePH2Z@1+Y3!LEtYPh0q?>}o+X){&Y>98&;JwR5 z5vY&za;^v7xqALg@%U91*TFbmPft&HLRw=u;YgU3l`>`H6V!G|5ge*{yzg-5oOsQN zCEH0%gUfGZ;Y`H71K3Cpu37&4fe)evxjpiU59_YD%tj8I4@$0*vM4k-=69i0cn}>e zv6uWdoSf{sUyl;x3qvD9_ZguGHZ{#w+3B@f7hz-U^Xne>pT6-AFG#bSWS@y$tWimg zoF5;Jm#-6EK#$aGE9#H2Mz<^@${b*muxi&x21Mrl@V;@24uK|NyNxI+FINfh_E9f& ze0kGKG+SmhgJ>?1t~gjWkvI2}9=+*a8k+O4L3Bs|%Ool-<@Gtb{*A?EmF^ldBGI9m z)Cn0%lZIA7^%~oJ*h@-9&Uf>%ACQ#X7M)$>*c|8W8TEHx?3*g=40}t>dWl&B{44Y8 zn^jDfSCBD+lLV~VWeSdtj!jYQ!L->1#bWR*ouBKQk;P&p237nceLZZy`H$!JnE!~M zngXM5b9aAtg#-?#<`%9K-CLUpya?EftA@m8l` zz15TxKZ-SshHC7@?P?AYzkgrK(XQ7KAy^A74hzFypHH_5t5w*am>-)POM{)6W9M7e zRwZXyK)$v=H%-Ck8rSbI!^X}|j`?0xB?(FTV1=#e*D)J# zer1aCU4+@Xs%XfXp5FP^{^=oCF0$v>L3Q42EO%ZeIrcm9Ol=BNi16Zx-GTmo(*>T+ zwe44pF||)aKi|3;!5db-}y)#j`P;! zj`go6ke+0tFmx3#5%Cve+(t4Z>ndT zPcC?62U2E#U7xL55*n%?&bRHJ$Xi$7EwfVz+ems4crXEN z54P@pqm@K@*Y-KDY=wNE9fx-J+0%yC(`6Hca^F%faKyX?9MEGH;l8={`H@KX=I*VN z$I)*!huJ6w^G-g;^Y+~%bT}k1T{bNK{MoXpIX>DB@0U%1PHnvDB1cHLu>-z=2mdBP zbjw78CCvvjbmclVj%bs)D#(I7_W`xGemIdW+Uaw}8ZeqS=hq!fZT)p|0=MJG@!H;{ zzO2^2OWXSC$P2-9Ht4(fg3PFQ0%=mDBSX<8ABNvZNitaJ5~d&cQzlzpgupf##vIS& z`#w!Zv^0L-&;Dt{$KiiC0HMb0MLax(m4uOZ_pve3^t?X@8o&0)(udt>)Rg|~TS{QI zTbDu@M`(O+vf*y@%MZALS(+63)Q66a8!&+W0r#5C{i5n`s_BP5#8>;`Yl;_gZPPa6 zAwD@U5l>Npf%4q+8qseL-%4VlULH*}Kp6IiHB!IHWNwcfA;5$^qV`=OrF+rRFdeu_ z>HEUqZf=O!5&}}-x+>n%<87|wwWoI^NXhj%V)QvE^f@VLZX1UL9}8K8b)&5XfC~3; zjJAgaCSs}bVyXHZlyqte0$Nw_ejPAwp63wKe@yYu=Is`{bOfD4bPo?gT8zVKMN&*) z9ONQZ7TXdJ6U4&*F{?#)GmY8(k5~Zj%$4^gb|FB;$VN8POvc z_`rXN`RA}s9#?D&5ev==;r*(;{kv~SF6ht5Ul(0q|Mm6jS0)Y)$@aTrR-DmQa5jk;wiD*y2m z?)7z&yO+s6GD9a6NvOE1bg;J_!KTG`eC7Dh0SW^ny_*-Er=wX(MMWDfoyK#1<(6tq ze837Q>B&F8E&t`zlH`5+sgM^hUpkC_z0jQ{|I)h(FExfNG&h#=`A6p86RZi7r}2XA ztgaOF>C#_4dWbZR3`P8JiL$hbnjeU*u6ph=bqfSdn&B1u7)Kh(maR%b3V2p zlWl$j=SwCgieHWGb6hX4YjK%@fab^{oio`zio;9lp zQMhB12@tZ!T?cxyBMRkL_T6|6+;jY@U_^eFgV2|nj@t(e0wpxJTmZ2pZPi+z^HaBs zj2PyJogM^4<#%}}r*axijQLv9kh@5wHpnT&M#}JJ<8I-t)F5%RYChVHj?Sk;iDXqT zCL{|xBIdqpDR&d>9<14ntPeV z)EMf&`v>!6X6ZPX^#b@5+p+zA+F)h5=l3meoIUwnrPq)5GXW;Yfp;yp4MlL7O*fQ{ z5FMN6JmoR6L;3S@yl%2EL`uo11J_IqE8r|8Q8jTJrIIQ+=>q6#w!@h9(x>eTY)1?B zqX=%XNijkOec!;&_V%SaI1@M0+daEJJF|XRrOl}$8gRvRYNOMrr5#Q@)44Y{Y;7ES zypwOOPfso5p6(W=xt{ z-n1saQR790h3$iCia19T2a7KZyNlG}uOkD>E3?E(C1$azxmmR>eGxnQv>9nNo)*3EMzn;&m*St!Ysaqp?Y>Vx%l(Tnwu38Oq*LFY>O zI`;HdP%Bz%)w<+@=fdT@WsFeJG>>~h$nX}$s$BA(+j6*|2iD81fh1Fsyx@3Ks9^g6 zoRDUNWSx0vjMMyWIigL1pjE@Lo*pj@FwJZ4KSA~b{#tw4Jf=i%lKRxbFazQ&hCJDS zyjc=eb%%iGWd0l)=QuR2^_?X=6B_I!=3=zg(Ti>EEc-abq>~ZO zS7L$q!yGO>*{eT&^cgJOtM27A4Kap?-Qs4G)lQ)9FSp32g_zHqb>7N*41t~f7c@#d zCN1atoSxtS@$FQ>8^2Kq)t0{{Fo$GdXn|!4Y#gK^sW4aiB1{q{xiNW7hjCjA|nfD%G(b zwGYf9S)M%KbE&wEdq_N@U(tUoF=wu;ffoeiwRBo`WM{c8<@<6Rx&T^<4p*l0P?mR8 zoeJnG)M8$r?Uq5=uNpp1*&iCxbojmXa8?dFJcS9!R&dZE8*AevN!blqaR${Cd<*cN z(0oqDxgkGZF-El*2AEq|&>=G0;<{Tgx9n*qJ|@@YbiaR%1L6nOm|R3%CF~jIn;a{3=-`S8oNzx3!%=75xm#va-a@vHwjD_|)mNx5B}2WL>99+BT`49a z4huiHyMrvu%yJK^vAylWvRO*$JoX2lb&86MJN*Gtwh3tMe%^_ zvqv@ZOFc)GyYsM`xxJQM4f}4nN@s*+VIP4hNBDpPC8fZOGoGXY-mHl6!@$7$2|9N_gDbKu-cYbWR|In;R$!_QRT-4gf|*e8EpmmQW` zk)tCdh4?)Aa&(#;z4GRS)9~nDM}MT<_eXuk`l8pG)u_P>8^B}g-g;N zN@pHTEDl@J@zA6q|*BL3rC>EN4WnU@<%s$z;yc0 z$wmwI?(b8;U)pI&N!QJeZJP95l>P7jI`aX_TUlL|iYUA4_wS*R$O-%+=rSXha^_d| zSX)%=^?!cH`>;xhc|^he*mXqt&Cmb&Ab1}YpYj>}a}f^6{EyL0lYa8#he+@C_I7%f z%>Q#p|F5ZC(u77wuy`b3FiswMC%AX{bqPMRGaDflU)nh`He;YA|M$-(pnE9EwQDTX ziI*z=^IQ@XFy(DZPo9L7db_o~K1XIh^5x8n|J*g?WNcJnXL?STinMv&dTG0HxS1ZZzN=$Ie7;3dzaLNRdfjIO)1ka%>91XABP;+w6CmC|6$5+?V`^09UUP)PrmPhs z#NrMI>mAqoFUaf~7C6ogXU6`%)D+VwE<;h34P|zljooXo3~%04r9)Xjrle<7MIY}? zOinTg3kx6r&pHf|=4Q8>^nfsJyD>;2s@V1%5W=k6NEGLX#ofmKTB)|@{Z32o)d@JA z>Gvr)-SZ$>k`CgM2F)>QUOE*yI2nsyr`L>^VuRr3=kWmh=@n#kcWHS6f$ulaKZv-J z#aAyy(M!jtOL^(^Bnd4Fm)D$xu=w`CPz0S6{l6wd!cKdJX~an5lQ-9!Kg@ zAt51cQRXh?Shi|Tw_&-Q;iOWgZj*u=i84y&=9)1T-yVIoG~I2j24vm7^pK{BF+Pn+vUqGyR- z$tfhJW}Rj6sI>Co*;L$%x=1S1u8e@D9^*W=YW$f+=H4q*#Hl{{{8FeFLD!J*%On(} zvh@EM(+4rjj{-h4E9ZOV>|+;tR9Lao$@KHX$cD|`MhNHbyV^(4c4w<0Q6(cOcKWnddV*@ zFVD1lWr4;-n>D6OG2fJ=)W|EumGCNkao^qp?A-jE5?Yx{RJ z7b0Ui1tqYI=n#4}aRrG{c}j4QC}q2ogKA7p%k6^F;1F{F<`bMcc!&in5CphlojJ0yT@m+zCskqONK;Z{p z%j{eAl)U|fY`MF!)2Mqi^+tciJ}DxMYSiy|e^&<%MdP0EySAXhI53dP#fG$% zn0ND)S`0tF@r)$XEY6g$kGCKgAaKmca^iJiH`4SR!x>D^)IY;y$T4P00x zM!@hL$F6>OKyk5HP-2R(Y@9-Br4=oIWE7hYGE#cDZA<{%9Xf=qqvYndd2mb6AgpW} zXch^WY{UJMG8&r_?Bh|uSUi!nH%pf|^?}B5F%93U=Sd(FN!NP^qkWsba2$JFE>32F zEtTW7)$jZ%M}Rt&(9U)7pP2mp|JXk~r)n6~q3UOTK_?5^hh>`A)}vAlLLP!Py|ZtX z3?`KJa3!7O+U1;EwKSa>78qJYX^x6)QNDAr+9cZ^9Ynrj0{e5I{>lu`*gZrC6axaX zIYWWYe`c^=YUW3EB2!JDG^8XW?bqTVx=S@Tzy7e7u)k_Vyd{A{%&MI537@$5yx_$& zQ7M&akdMF+@i|PyLBehl^rXU#;pHHg?rt>--XEO5DS*%vM_VN z3i(}XL+KaNdT3&+D(L90)F@sKJB%@M!O`GKAySBSB3-`rBdbNyA_5KX!cC6Txebm#fYw<(sV`7=3oi5i02a<8B$vlFiYRo zH-8Srld6Nlc66v*&n4w*B$K?-qN8yx&xwAs^%P#e9*4PhoguywkC9bdxnTibIs`7r z`&eH;g)xGEV~QQP>l^#RA??NzjIM)Kx|Oi(fz;q_y+6KdN3Im_`RY9{$E zZ-%wePl0*)wUQ>{VM(! z+{5OPAm0nhQv*YK3*I>8wTHv>3JL3$K}CTUCOIIA&1_>Y5vHtzCrr3Es5Ag)qUyhV zomq>vBU)=1YC#eZ9TvEpBc1J z`7vA_M#LF84dNomibrbsLnSiMblMez^ajW_-5}ab;;>K+ zWeZM{>q%oDQ5`>Yt5^8kh1s5PT8Ei-9TcbTlSCNN3p-05rC#Ob+?Hp$BIhv?t?dsl zg`VkT_WDu!68GK@Y6NnWYTkltkqaj%vr&*aI0IR4#ZrZ)cFJfOoeHkukp1%{Y?s}~ zOo&i*jx+ZrX0aELYwF**YQMI{Sn8hXOCLzhwD>kb|D}=pzxJ(5!mPyL=CDa_ho>mb z)lfIIH@~iRB7^B-SF|0U%Z}W>%fgHAq{Wg~m{UwfeL<}}TqzSDgQP{ksg^T$=$f+6 zU)wF2Ky6vMwrKzgNt~){W__5ysJOJ-zne0=uR$YBj0kz)UNOE9^RPJct$Z}9zQlCj zaKFgCbY-$79}WPBnX)z>1X8br4$uD-gJul!AW}8AFvp#{hH~VoAnin;d@fAoXIvQW zDxKviu^Et!VAayRS96th7o$ikY`I_jv6^lAoEiAKb zh5rx3hmeqM8PN_LLCjKcvyWUDidElU8P8>!S6TDRcp_T>ve8oOJ|>+1g2HLT3uynb z;{ZbwS_1f%VApxj*AKXz$A1ZxoRik3K91zpTrs;KeQ1)-h1({j0@=3a632U*v5|*Bc$FJ@R)K6+so6=$dCIjm)CWt0ERa5PVH&GAtreG;v;XFs2Aqkx$0>STEEi37%2&BO zHry}F4aoqrYK>Y}Sj|-xH!M~|fi2KC(@T{WBJZy5)X33FwJqv@^Dh7?mbyVBkOGcj zt{91z%(eBq5Ai$Rjpy=A`HD8%Pt3XCtSYFccamlYn&R*6+ATJ>3KEQs|1NNMv9r-# zTG^}ZY?A{3&n~J%{s+Bp$rVEQGeMI#oI!=qpe2s+S#*57gId{lp_6B}$a>FDFAm=m z!o~O;V#~~ays?q%HUy*uSy*|Hn0@)_FGgG{0M1*ev=8F*T1Mf!?^Fa)^GD}-VAif> z*@PKMlAe2hvf~5d-a%%tcu+4*gIpto1tE!~zr-T5-*Gw}PDSC~n(td1Zn!+0Q@%bn zy52^wLjN#mhv5Phw#JQn(Wo@Y70I=T(ryal_a*(F@W|TR*H|?(W2XwMhO)mt#p5tF zEH`j`^EM}orX|S1y9}KlrvYfaEfpz!@~X3>u=_p4^ff9H&@?XW`xs9qoKUYZe0i4a z`{7TILjkAfc*ohF!@PEtuX-ti0|#SU*i@^na4EFBYcot9=N1`yZoU*FTv#34S)FvT zC0NS)%a(*pP#w$@Ik?v*HYr(UH95qXefiJ`%0L6H!_5e@nSQqrNn|$Kdt(TfI0CC& zW8XK(b41T!n(GNbzn-#qxBO<@Zimh6HP# zAsoc;7EcrK4HTx!!TqXiarycXQGkA->L0{M?Em?pcu;AJB&dK%cd)^ax^iuq- z;%jvoWPzcc!@Qt`QJYRlL9OF0Re1VHuX#MkMhG2V5a>*hAgR>A-x1 zQ0?K`Wn3_X*08#F7?j`M<9d)v0m8l*HA z$hq#;H{>c7=g^w0Zg}|@{TJw3X>Gu;Ub#$>K`Jvd?P~pg$CE=62!9l9z9t5t$Iue; zvO0b^PfaxHpeDuALkOW{d|X?3z;OWy3I&L0ySP+pL>-psr;m(|hJy!;JA47mc7?Rj z&vcA4gV^rI(D~pWUreyZGkLrm zE6nPum<{SKHyT1^NNTXe)}#^+?U=Us7b23ZcxwdN-4lq=DYdzY!bSY3w@&8f8C&MDGg@yuvY1&0=>J9JjoK&AV7 z|Bzd~P67Erv?Q+-y%lQ=zX*M*JcQ^C_pEB*+%}Y>PVGIrJA?W}G z_&iriaC;!uX%1jkZ`XLfGLuH-eKO*Xy?yd4;d{}cpdapdeEu)JEYTTsO^_auql2lW zZ3Get9`-h3Xa1*6JceJ!6j6JVgPi!_JF80NWB=gE{||IuGGr!tw#j+Z88{FWEsnq( zX)%n)EJZ=!!IaxH7l3&dkS4SUNB|jmb+cQm#vN&eU*a{j14cn3fP)ct{u{L>^n$h* zwhm}?@hOC+>K+eVVS9&lB|7lf&VhsvCZjSI*ZlWrT1H6MfW0SCSZKp%Gb8Q4uzAmj zIH6W0PvXYx{^qkyS&AKbIY{hM+eGh*A!m1XN^`IlyC=!cX*cdFN;((JR|G`qm#MC) zKhyEx^89ditoasVghrHiWIP z^9?(@&`w4hpZb!P@g@gTyKQk_-qx2sVgn~-hG^n(ofOM-MjR+_q zEhW-Y(kNZhT`Dal-Q8W%-Cc|B|6Ka){qFt#&N;txz8yaJ@GNk7ulv5PdCfV-m}72S zB#GrHGKf9y3a0k})f{C@2b)Arp0=voYB85eO7D3a@v+Tk5i4!g&w3Mt2GQCm9dnEnuhlI}y z(0@BEU4XCBVNBgnN@0=TA}S_1q|S&qw=<^ z9N>>)`zbM$h2wf&`8BhOAz8g>KT%3cFKDrg&!xS+U6x_7h3_3pyV|m?)5l=2N2-~7 zYo9yOKE~_TL7o!1tP*&zbA0K_NUpaakCV=3Sp1RZK4mL!96m>n##DOYIN=h<=hf*O zzq8LGbIbl{42pJB4d)6 zq_v5Sh?&K-2g@PsJhEns_I`l}cShzO|Gmu%y(Q%{vp)d-#O+lqChxni%ZmSBw>qC`D1RUrc!h2 zZ_J)OyhXhAzOqVc)Eebgd&2b+b8U1DldWg(W@k`_fEhMe->LgpIW(H0v)(w#X*I(- zFCJc9!=EV@=Wrjh#BP%xrEDJqJ%B}ooq>U&Igkx2$IMJIB6@aNCV+l0D^I(DaZGgH zI;(m0=bMV$ZR){LgK3qLyXTE2#*r6ksBFQ}Sdjd4IW1rFAQxzMfa3+1^cMbh~?fJ$~iH&Ri?%Q`05QS)4^jibk3JVD3vE?lN0uv%f)$?2BifF0OO1@I|IM#&-fpd;+Hge~iJ#0~>&k|1KhjqJi zGMVq)68jN=Bw|D3|ynOVHHT-!5U zl%MB1v^vgq2b*$LN_HO?TRY+YDZYK%`|BkR3Q>P{2knKv#R`inVqQGYY<07~v9Y&Y zhL809QPc0AYJ|?&JbM@#LKkEgBOQ;xXy`4w(bMYP60ottl=gp4!eiz=RLlu?%G<@^ z?af=aknXr}dLlhrTM|6VyZ1JfYkeweFw@41aXJZOI4$M~l%ABx{7$$B%0k_mpgX6P z28@=KhCZ2@I8G!2FN7C&S&d#P(|DaOW_9@z#xiqoEY_#x!Qu&pQfBV=vN?*7hzR=B z+?=S;+@q-cjaH5h;_11iRCMZ6;fqFteAV>i>&2e1ZU}p-L~^$X0n zM*kA{DwA)D3aiO)xq;8ebg4P#cH8P`W-+28k(IiRyxsiX|13xdn{{Fq8%5J8I z_ET*KEN6GH|G3+T^+cNEbJ`qdw9xbOqe}aKX^(w^L7x4CM8GD>11~{eaginYE9r+d z)TvF5>+rftnIk&bn%Y|HV>yS;rwf#+tZ&zqva=6_TvT%?9n+9Ih%N_BxRP=S543Mw zI>ez=4wFP-&DbGS9WAIGY4v8SGQOWzMjR}Hci*XUjJq4*58>m9dCJ$>!T8FHK@(#( z6BYma4y6H9!93qJMMM{uL^mHB`EjJh_HrTK)Nv1uDBikpLrl_e4NG-X%VTf0uk}u` z!y>L;r+T8w^3C=u1YR)A0G<*<#GR-8;`1ehHa_O~k7dqXdfVft{mtEXxu4AmSUZ&J zTIiZ?K2FTZ)0uNki{UkoD`iVZBiO7cJpXxvFt*QpeuZsj_Ljvrp}{2qQ$J`e3JFq+ zYq6c<*RLjJ{?>#QiX4K8aj+p-2|^7ouZ9LLzJi}`7RvNz{ni;75lY8<3Vw&*B*h@Z zTsTZ)@g*I>m+%QcnNX>cXM@J`PCrl4j_^kpX`96+LBs212XZ8}ymWM4iHVfhUKqwg z6AzpwRGda%1_uSb@A-}op)``!mdQo9#4R#BaU-mtEVbt!IqHHm?u8Ap^{Ego5`JI&6si~*B)(WbsPC*e7o(CTNO00G_ zAy(Z9IOql|8C1?sTT@sjv-9(ppT5Oxa>_rYpAIbM)~g8p~Ni(k39+Goi|yD&Or z!Edz(t}y%c2GpSh0`tlb-yAwS2cr9}I!zXYf35I%mG@RBcrxdYB~{lG7SkIict;dCCOkdh38kt-Pg@S znrBz4ZhXGT=Nc=q^WUyJsT!EHTyAAM#vzw*=}MQor%nd5X;ae${{-kca@}}#oX=n# zyLpZ-pEWKDx3zE+8*R!-N4(O)rtHfXrAk{qo`W?^vb`sNMwi>DO1sNfT0M$^#n(mp zTuJDBbm9}mMm?c9m`>yLHQ~`fX9LR6(9m^!lMxMKe0=}R*mah+pGW#s9~|F$!BNs} zRDDJF_+)zaO-N;3%OVfAO>tdzrkWYenWdkFxT} z0ZF|x8L650!3T4G7}Vhf^QWg}Qc=!I3pmbI|GIx6x^fG1-ytIIOU4|LYKr*ZfOKd0 zNm*ZxB@3vu_Iu|eBO`O{)USN~x(~Ec%q@HiRvuTh|OL1_lTTu zzBv(h%4F9&DJ!p}PQHIu$lbq-*LHNX(7@%(v|Ci&A)q*6MRC z?cpbS?+zxex4ubht6O@nb-W#{_p31XfdutI_<30^g)u_v;5=k+PjhU`QSmLm5q?o& zZZF{d^f9ji(G1|&uSX;dy~B71_nJWzT#pNl0HpmBu0#0 ztj`>_^!XBwU^;^Z%?@lS`{7@>P%qIgDu0RmjMWlOgU^+#quD=#17qL^19 z`OLh(A?EKY7ZRG_Y_t9z1oJUGQ%E8SuJx|2 zuE}HC57l@6>)&+pDtZ2IXTCqr53&C$T<-7h95va5rT@J5_x+lQZxtHU@u)iO)&JL9 z+_3RUrTJ^S=Xp9iu}AamA0Oul%KwYsyrJ-~Pw+QlKKdc7@}Cz3FtjJp|C%>2@gU4e z;n`pvMX}vM+=FBC`I!5BKvduMyg1~VT8mNp{3n$D^DZ`0PRbNnWzkq0#*e+1oFa&} z{_7u9i+7hp&SCnWFSz{wFBdgekz+H8`*6@0(KRXxu`W-L$&wG3>I<;9Okjl4o6 zK+@V9PCrREEsu(IweCJv-FvQc7HwH}*U<$=3`NXU zd^&mfEy}R|HnA{s(=gkP#8g9 zc;c+L0Lx!zY)lyhmrmz}sC` znd8$;yZ+DG;>|r>v~(32(;hjTE-ov3r>XfFc#&(quyZW!B|hD_O(MR&5}#OnS`Wb2 z@{j?Onb|h=YL|NXb8zol8pyg+NmU-fZ+&0&1V?YUTpxTulS(H|7SEcaaH@KeGWBN{ zm%Law%{S0?lKp09=F_o>2q8z|;D4;n-k&?+UK$CrS&vpMb9JpahILddF6q{9iC(j8; znMlbue{{9uGig13c7n@f{7Imfi~9+bRor`owYfHZs7qsdv~V&h0W!d2y~+IPHHv$^ z(DA|2d)b#$wL1Cw6QZB-ZSelR37WMI$axcAeJ&4qye!pesI)YcOt>6NatG`tZB`GD zKjm@EY5Z(Mi7wpuwmle|lLztP43L1W?T6yC#|6#7^q7w5cBb2iJI|lvr4(1eIn!6N z`ReW?WjFY2!TF=s8@al5CcB#xpV5vG$ZYEUK=ES%2I&fpjZs;S$(w3xIQ$VAlG6TY zZ~?JvIz~E|pGGf8nOd7`9v0J~knr2afYygO!-Rumt&gb9Onfoo9amu?JGa*bda^x_ zKbX=7Ju+C(TVNr;Mpjr^>&i0aiZ_r+?bi7?7aYHOU20SHEi5tI=D1Zby$Y_l!RO9* zx#)$A$@1~Un7l>C+)oXR*UFpip8FO5Jroex%79hH4;TnTTYKtY24C5MJIZy-lgF@r zbB$-^`7;N7gUI_64+45(`0e5tN3BwRHx;~}sHB;`!6DTe&2NpWlm0vDou4rHVeDb` zYfgzeq2WK)Ir(~zx9!dRS_xJft~CL9e6_279-Vq7D*5Y7kpomm2$WBfJxF*Zp+2Wo z%1Oq}D({0sxi_onY3pmql+)QXhK9r%zY~jGmeiYb)wdv@5=rwn*w(MmU7H}TT|4qg zdv%7@s$fu!=TveIzQdw*^0Bls-!U?|_rxrh6mHm5%2JgNk$<>gwyQLv7eNbMJAH+m|ep%H}}5XYNE2J z`rD<>Ddrv>9bE%rBCPc2_)`uC9i%H(teNor=v>TII+U3B+$j$eRE^1ziAu~7M5eN;90~PAVL|Hsy zaYI?QNS0r1P2hT1Mh+K0|7Sovf)$=W{~|^PWj1S;f=^8Xnx~&%g2*+TUJRGd9z8wO z*;Qc_o7qP!)UPt$PcJUyF>$0Q20kB3kRcg(*x7LtOxyRe|$Iwu?^X>8y3<0?pPbAIJJi;$kb z@88Ah<>3mNXbFU*dP)fl*|GRnWaPf9=zqcECspg|?F|Y>$N z+wWHCT|6z!uOAyD0W<(03ojoZ31)Q_dtLzs`*?o!V#8%Qtq(r%Ego)bBnzi9|cv37~fS{@rEYL$Gi6(3o~|ILoRThPIj`DTesVRbnsC$fk3ucEpH(!api zXgp60rpU?8kr5(=@Dx6yj0^@T)@;E92XDYdM9m~Dn_x<{H&rm@R3i8 zmD2{*(Oll7N$qP$*XN4X%Z3WI@a|kZF*KI(|FXNLF(SxeFd)foL-htsbAEJn_gH-B z^ZgmxN+S`^sr48v6g7_zr{|i(++hE~coub4x`KVBPxZ7)xf#QxmwmRYb30jW{0@y3@V!;w;# zmIO?fNJ0m9-$wpSK6R(P7v7euEEWu4&3?+H_k>0|Udws%Q?6c%Yj_GKvRYYTBVd%q z!`NSHURdW@?lmE(I^`UkqyECHE-A^thv`3annZuiy<8#7O~iEnl&baUE)DNYa*Na- z9MFbenV1;LC#tzA&BAr;ckAwxil=>y45wB>W)s;}{2?b9xES(I%SK>zAD4mIxhg6t zc}ZixUPik)V1n{dMKA>l0DRzR+jxn{|UjyR|2fQ z=i@vm8u~}!2Elp<=SK!z+-uvqn+my0fd zv5TcGj*}$-#z#^6lhsCev1}0wgaSHi_N$0v!R(i`k2N!1YzE@_fbm%Cx4?4?lSywz z;sItc332gvi5IK`Mq{lI$n49>I*1)kI{5(JMZ!veAE90uEqGRQ+Xk;Zkjo4Jx}iI_ zCG*@ZTY~9%;BZad7kjbqP9n*C5w_0L5=C`uUD-iwKO+)J1$MK? z7oz{tI&d@=9@l-^1+z3GV@;ws8WS}5<+J*ur`k9nr1>dZPuqTS{c?XZ)B&@0NuV~q zn%waLYg%`dUwuZFH#S%AW8&qRwmcO7WY?Q6M?AoAwH`v#w=+z&v~q(%lk4Oc z7Fi{56b94l6;@?dDzWI**4BP8n7#qCv?IZrZ#JqY(u)PX#P(4PFmJxmyguM5)0=EV zL8@VsA{EExUv@y=J+-qUNzCDk%E$f7tnC7NR~8xh9e$mhyLhNnI0_;|HyponEuk(H zPBEfpM@r@1w;!;srJ5aSTCmc*jQy?{7*5XDmGH{(=FOX2Rx=@Hs!P)ex9L=-Lfx$# z;JH6usDS`i{#&I0u&j42-fS?qfDrQ}e|O~+2eyS|1h)uHa(U3Woge{gZ#*nNN`val z5zN-8AP>^(oMUdpP(cw9u?y>pH%8nHJg6hquV-Unsq3kU17*$)d~#{f|65&lo07Sw z?tPRFX$7;3?L`u{C@X<)8;7y*llf5_?A5_X!*X$xT?h`s5t<&2>a7%`3kC^l4##s% zb|n@8(%Ra9Lsq9D@+R81#VG6p1C6^gaW8<>i0F(9|Ha7adyV`MaVF_>S#W|reZXiT z0Z&3}?~}1N*!$)IwR~9^D%3e0$B3v%7X1NhWXioo%rRU@;R!I=wL8rx;`4mIUl&Gg z1T>fkIL%hDp)n=l#q6<@vIE%ZzTdL31fo*2tMd9^m>8AhX!a5S12sK8as8_tEM~&r zh*IZbt#=Q_gfS%-+e>^@iY?sMd0c2;GfmQm7a8^w!Cw@9{u~XpZ?RHd=>ftMBCy@Q zM{;RQ6oBS8@&!UJ!*Je(vCA08N5S+W?B#sqdqg<6I9d?N7++(82?CPuy01lT4tx`s zM7Dfspx2kJ3S;i_t#*TQW6c8Y4u~h(H`N2@#r!>jDgOvd;?I+VTQ$42Bg2I@upb~jfRu&aw4jkV!5I^lo zzg$Q9ADS<2@C92qLq!x(E;M(x)#xrqHde-hE^<73VrB#fYLbL)U)Gzx+dHKtx~zmh zIal^o2aHC9%jDIG29Km7TJhtZgh3n_WE9`hap%+TPj++uw@!Z<-T@ps4$*;TZvJtx z9rvlB3JFlPl#q&k?rTK7ZnksxF@TeW$i&SvI*{8=tu~nPg|s{AEgN+xJ$@uA7=fP3 zInxj44ZUMC46;EMfj0ufr&QZr9LGmkR?A*sU#)sZ&7pv?zb2IPz|FJN;UKB44I<3} z8Shk|Z3ibaX zMdv@jS2E+qncdW)fFG1mbph|cNz$3P@2(%W&cDekBfL{rG=veFzI zbi#B%f&z&}@a=H9U>3W(js8pifDuYYpYTn@kx7!U4Gr%s>ZoADEYHK>-rWS#T{U)*H$zSJPjH;bz#U%m*Y$rRi~NjObOQXCl4 zbQs3}=(!Z3cx<765`IwZuUKV6T-PL}+fb{-%{3qS9G6scp0TPI(u!JKathuDL0g`p z`{bP3K_(-`nk0N?*Ie#UAm1c;FWsi}nyf_N2_=z)@EGs+gDTEN*bB}=EtzBgM*?TUHlSk(TS_##I&p`PFkS|Cg z2`qI88~X=7O6(@wFhe~g^_7bfDg~X)SfBQ&nu|!zcF|aXG&t{W2erq4R9 z6i`e13dH_o5MZCJPk#Rceq9>bBWQ-R?(*|F@?G|PC0@Es zoz*R2cR7BDCVje2T~J=qsW6d~hwUIy%y#Acn23m>-xpgRJr+w`5yUq*BKb8r2ju0) zN*z4R{6*K@wXFnab2VJ^W@sw2WAhSG!>1MRI7NW%+xs;$Fp} zK*-;g8jZjm?*oYd6w9^UmE*pvaB{J_K8?>>S1ho)_3Q+1OMm`a+CU$_5z$&-@^|IY zFjj*}7tk*kmvEXxn?kUCpo~m0r(X9k#RE9MVz&kD%vaVf10dEC&w;jR zXPvp{={c>K|F$%^V8dCpPkxG=jnFKx(I-Bilb`?ko)G05lR45_s7MBDO-wh>9Z1&5 z+2-Q-oUTepNQ|kf2F**e5-dSR$DEU6&*8ueMJi#RcsN5R;;2sw0fXD!;8>IG9P|JO zPLPk*B+9rTa|sl@1T9Z#(R;B8g1HXs0;ZlY$34gRh!?6g)MD!ket?8I6Qv}W{hu=^ z7koWDyrk7NiSF@rHyOD?#&`X*w}~<)4#@aa)S1}ha_7%n zSR49O;Mn38{jgKklzXG0`+>RI1Wm6~l@c;ZXd8G@#~n{NnVJj)fdJV7w7z^G#e{Ou zY&?pD$I%;D3@C^ex&yU1hf-H#4Z!`o7goKnN zRW0ekWd3^u?bEO@Nm35qngkle3m@FM<~TPxEsvRnAQ?S>Pg7WaFhSl0iZcjdiDu(n ziaEN$XcYfkIPyQ)Ykqr!T~Wia&?1~1#b54Z-8;k=RksiPwEEArsdWR%Flg8#@9-Pt zC~(-*sF{iPZG$9panvh8_K|?XS3`!FJKyr=O@Kdp2BNKNuH^zIKknY87L2E)CW1j1 z3L5_bo6m(-+;Pbw#>POV()BXvlg;Oq5LEfo5rJPTJ8dGT$Vy;h{6;A$V5-_gyRx3=jPo;77h2Ze;xA9q|d6~;c}_5E7Y z!A9Y?I&e>Yg9JsWss5MtJU8GZ_pdfb@?rV$U-)JyjiJ6Dw?qnF5*3=V{pRDVK1J4O zC3nw9>uQ^dHwEO#rK+#WeR!SrzI|skY*MNGOBOO{K6A7n?3Wbg{Jpc_kl^zbrNb_QE(DUI`9wsXJq& z0cY|hpTLBga^KCB*=ohmeSgE(9D@cWYqGedZi%3GXc+C6z%J9*eSN<@@%YZb06`H+ zA~QjMk~+}SVk*JfI=>4s09?CiuRkzJvp&NJ|L4*lY!b7<2O7?@xT%bDwUag~&n5q}Bj#}AD6%}84c<@Wn0UhgGUDKw?VXePJtOYh>D z)^X>z>-G-3Ie7&R<&D@95ti?`hyYZ6D5`q5+66cRsypY?6JO9JGToSlhKizI^3e=+EvYlZqNPqKA`EEsGLtDw{UGYevCp%P5tqF=FZ3YPa}sP z^!00+$ip-@e$3||tzf}2y$a7N_F2vAqa`O!F7BzdwfX}I`R#_qe&~GGRTm`y^qZi! zEV$)d!uF0%!-$l&m3d9=gZYUH{y4Hr=ZCk*9bUbqDfo9jDF}W+v!* z%8`aDeeUztYQyBTsz#$)gDHT*F6{Qs$dF=Ro}k3tvwZi<67rhH#$Su{?pGeqn4^G1 z>AnNE$hC}svVUm-GBPA5qgDq}YoQsQkXQE!&~vaCyDL<&Vn|3)mU@#3+vKxTx_)g_ zQc?!6*vZ4hZa+|2P|x3PkM}^zaDN_~{dAJPn*AVSJU@139cy*U`+qL@RHEH@vLZf2 z_PMO=O~}XzZsLr2mcIa}g4>U7*koZIY@nHLP1WE}G`6kwysFhFCAsK9WV?#Yti+(2 zW0`|m7*rN^>j!0N=6BDRN$>P>4aot;F})D9EnqojBJ#p4vxz|!Wiuj!bamzxZxu4& zcUd5IORCOzLjGPxbM)4~65VfHz$dE-rVOZ~ZEb0?MnooY`)B;m#dSpSGBy zOsdptYwDVqSX@B9*}agCF*N*>`9CRZH9sU@j#vrHdJ9W11ymO?xl}&pOU-6s=jCdD zaF?TS!-+x{aDG6Bw(nihj&rkq$hGfcy`x~(9PWQfHd_7R5RAeyCkvj3s zO>Dv^JbOkd>%-4%Kn##rcSD;~V^FApRH2llWTIyJOKg&5ylT&FIoU^xV{Q__@CnLi z4U3L$pvOhhP*aCN$B0at{4Ef#NTl!!me`)TGoP*O5nC+t_yR2~3qNXPu}@I-{Ici1ru}_exsjM&O|7y)`_d!82b7OlSf0BJu-ba$73K0(sNSnY>l#um_bNhy|{pn$xnE3x+xZq}xM_VkhMdYrjmc+baJCYn%L|j7yB2~bf?sk4gFMF zx$EKCY99UyGDL&fmz^i8$zEslcm{OWh0tz9GF*(?9T0MUMEmaXb!Oqi+X*<~l=7xI zD&v=>Kik{T1~B5Kbg52x%%{s5)jKG!Ed15kw!F>z*w@~g_{CiqZz zYXW2F;ZLTwQL7_KE31?0MWgh0C;zX8!6$!`@^r5Hrol+ z(fPp94yQowr}?*_kgJDn0=NaK8`gr{pNvzj7doj9^VL|u8U0xWOvb9<0+@B=Ju< z0&}lG3{ZA(xi3M`0Qv%A4NrbiG;PuC=j&+@@$f)POx^c{CfTvc1_^~vx+jWU{!kEEUt^g7cZItgQEZ#UmtG{?0^nNup^I$QI4B(mXx&D+cVR zpdm&5ohIX!TglJO)vyFAHxSvkiCoa{wA+hS13n;r^odXPsCdxkN6piJ>z6kYv{|tI zv$KDahwHW9+pE4~Gl>+;%(2-If4d8h`_Sg>uA^F&TfY9<``3#sf6+`T&<2oQESnSj zPG?ES?@D^krEZJ8OTo?E7@^k?rG8|#@!Ij&k$Ti|QZPE}Y-zCIk+S3Y=ZGQ2O6B}^ zNE#jl{Yq$3V(N>ZfN3nf8Jk1-mQ7gwNXd%fSrwlz@j&=xma`Hdfz3RnkIPCR=%6rFYHB2@+ks|?37v(xJzQ_rgOY_V|WA0I3+Md1+>3bU*zgSi* zSnv$d0xrw59=8DJJQ6t9mQ=5_B?WC;*M=WGtz4@IQfYf8e2G||;hS}MA>hr?(Sb6J zrxFSoNl@i7#B$(((Ki4rsrP)!e*m*(`cb?Iyhr3zFbGD9hzowEoDw3*45Wy0fJ@I5 zgmLoTM?SY7S07HFnOU2Qh1~@d5fsT#=ANhI_TC~UZh}27$FOOXrc6i9xKDmXVql1b zJRY#em==2Io1yei5qU;5nBFiYg9@_z9tt-MeV3YQprnEa)!PCO22TlZ0Y0#0zM~Wo z4HJXz1H8eUbz(N$r7gNC1a^DBq@yu_O451@r?bF$ew1v359$=ihoNvNbmXym9lkXaW{8=zhBc1ya<8<+Ou zO&_D^=A5W4jR<0{^RwPG+U>`OsUlKtACs=~e>z;oQzlwVp2P^f3q|X|8*#t5rD|xw4Y2|vOU0pxT;w(LcrFgWW z4oneJdI@xV(>FDwkcJBCT9BN-gnmRKz%8|{tf@er4(dW|dU|@TQjzayjRxtpm`O+a zd$!z#`tE=sfEuzHPFRpsyZLr5qo&H`J!DJgE7f&BSQSnhk-DQDIQR+{(X$#%kV)!! zw{_hlz2#F-5Zb~GBXzZR`YMrNW=5uDn=L}^2L1(Xzwf0boO;zz{XzEz1!&+Kd4a7F zlMgew${2iPjLOfj+V(?7K<=Is8B|GBqtt*UC(%0?=Vn2}6zfj~IhtRIA3)WDhW|)w zcWOfMEwxEwBr8h*;CZ>6rXOa91T_9C(^md&!BE!aTs65uy^%DO{{!P`bFy zz{n5pA)wKf>=`f!FxYTrA(Ix@m6Xc*tKsX1>UZ;+>RntP{Bge7Tf;gATEQ7P?C0CLvFqs}2fC~BrLOpPUj(Iy%tUZk zUVN=;*E(KQ3qk>w9Ld^y&BUD+I^ct`{r4Gl_l`#^G68Xc zzKDE31?k%{=D=T>ooO!K+75m;QWH+}JF7FOI*oH^w69>&bT$AV*d4^`f)S8eeq6y# z*RAFV63~*9O5@>)YwZ-0N|Ld-MxHxf@*vY~9CK?yTz;(5=q0BoIWS&Kn3lJ68O()y z&AVwk)k}Y9H1jaBuHhY@T)u9V+Xa&({v&(;BT(#-A1i;K)VmM|g4!rIa1GmR^VB}~JQD<`x4Bt2n5 z?w}avM~~l~WF$c*+|+H?Odx!jm-O9OFM@IKQdcGQ`AA+Td>i6fP6Ayk$bJ+M&BCLa znF$JvE|T=1sU#$P(TGi`R!WxjxKl`YoSiV}5YT_vbAjxB;}YQq$*T*ivr?~qEteM` z?abBpC46h4x9(h{wxRCCretRigGQxS2`f#9e(|jpC&_gpJVPlBWf2}NZ4F#5FV)0) zVEpMa+o#*Gc@jYaOsx-f4m|EwNM9nBH$_^S1nC6+pwkxXB0w=BpWe1Gky$KDVhX4< zX4}Tbe1Q?wXb<40!@Z1xO#g_S#tF-AyMI%J^9K|>`YKg-Z9dLdn`q#{MCj+DOPaut zDxU9fLy}O3sUsdFplK&-(A&u8Ix8q`JVp?O#wsqHG2#{UfZV}e z>iO)ae7+glcCu4P2olOUs6;?RYw!yKyL1)_(3(QX2mB`SIy4UXwc#ZsZ~=YM;9Y*Y zWCJiUK#$Eiw^DpppW~4yiB6+s?^gFkXGMbu;OnW`Owz*7ai^*467m_EAQwfV(F%(u zAac;I{msSAJRgcw`+-ORsj38#fLIv6)&|;u$wX&NixwPiAA-W(Gj%6TGQqUUBje*w zm*wDTHqscg5@7pAKZ$nV`#`z6VuEllV2mImecQ+4)-qN1m833ZsE;EJAYj0jJOoAj z&CVL709DyK?ZdPMoEr+A#pa&bmR9gjB7jN7pw=`}InYnK)*ijkQ0CO-116V<;qg^u-3cV(65qiQ? z&v8>so%W4Vqk&un3>C>SG+KW5@Xw*Aj-UF17>%-f@yiZ6<0cTWEL zur9p6#`Eo#T%3V=^RtDsty^2~i?{A4pwp^lTmiM3RA&kFDw(eAaxE|@K41S3T4H_> zCuaMjrW)~PmD6;K2|(Ssp>4TqSVl)pcZjy#u{rKqGmTI&df{!5yNJ(6vTVUZ8)jcJb(W zowWsOiURgdud?^cU5cZMaw)=hpfOZ4_Y4v*3)s6f>fUPFwD^J6pCbvOL&6*yk~YRF zL~5EUc1aTg+7#F#O^}qI^s4gi6(tci2k0$sWSy+VZc_=C=0gWa zqoKo)je2H1zaWP9UB~nBe3LR06dj31=`@wD6e1L@6v|58N!J_k=3C8I$%J3b4(9dA zWt+V@oZOEm;4;Hlt&B^rq3g1ktJkkQbHp-IW}lu*o4g8KBqgh_p!7H=yWPx{&X_Xi z9)hOa{>dD}J!{>QgH6RQJb|+>@S5jU78K5-Rr$+`a{|>fFXt+X>#g9?-T?GqJ10<2DGACc*ZjQWvxRW(XQWY1Q`euCe^#X@IufA-G z?)wWefO1^7Jb5I^*gW&~Wm(?MU^`BjJAZa4?M{4Vl(%2?HYdzRLOzJkK-bptLsMNU zZKL!~%JY&S?Bzk1^g)weL|+_3G)F9OC4FgK_q^}Wi7r}YqR`4^-p91EPYK-pLMGto ztI)s=zeMU^yK$}Asr#&KTRoRl!12`0A7&0-x+hh-d-48cP_Wk2%%Zwi!^_RhZQ11_ zy?jC{roj0dloAl%XI@hFHQ~Oyn7(DdvrY{TDo?w*_{C(pPGUW;7$2_)&}>F!j1vWC z{j00+w85EUpHLhYIrJDVt?>|C&?Vft66o~mW3$p}|3usVbmq$x5~91E-xFw3)ze1| z3bdkI-Jz8}FBkG>VEIr92C8Vn!oq$VkGMbFQx4$Jvw~WNN-FC2)e)F?F;-?BFGhhW zTNr{LI?3pvp8Yaoau?m7jPKphp?6CjVK3@-{tmt13aXQ+&N7$EAx6@UC zr52i(cdMwbuA|l1OGXK$1gJ?1YDGh>VD-(z4*YxQ~5UMD?{Yi&HVY9Injs2 z#4t)%`yq%$FyX>xK2EXWlJm7pC(uN0RCVV&ZGNUO966?lR$zR|l$qz5hz%XqPmJHI z=jBTC8+r!2R5*?yd9onMJtC$c2ah1Nge>cDT-J+kS!h&9R_vnqZT~|}9i617o}xh$ zEA;hVeN{4J>9iPagJq~gd7{t0#`0>7IBsp-N7_+XFIu7OlCyu+#aVsT+lKC}en8$h z(nxf0Y6Dj*Qy;q&L4byq9R%tj6tpar1|ZVl4(2VSbLsAhNJk2SqECM~|2_(GnmX-G zXmO2=y^Z9b1GNp0i@#s{^5^bhiBEYq@07!R>r%h=?P=VY*G4p-$<->bIeESgGrOW; zKjc`<7pYvkqP?|5H`f}7lP$2hB^Aug)_00;Mt3iuuIc3y!!gzo``?$qsQ{&Nyx4DD zU>)OLa5@%$|3hZe-;|C#cAsZyx|nSCd5H#hYS=?@K)lavmndfB5uAVy3@YX~onQ>2 z7yrQUiFZRe+SzQ2P-zuWYh!%XpB1%EVb;%LAHa zP(g-3+8j0P=g+gRTkUz3)#$Z{v@!<=X_fvcuGPkb-Uu1jH@uA_MECc_MT=Dd--EW$ zAMkV-e}{uNlfiAIz~J9s&BQzMn}eXgwFx?b(pvBXPuZn;VD-#C4K`kyhvh3Wf6zuX zB43)XAHj6GqZiW_o%N-M)0}L?L#HsZni*r#;#~kp(u=Oje_sXi8%my*ck_lIYFKzldNyzuvA^0c=Hu@3 zpT8rTs~xGrjbIP{2@mtXe(+J}-`z$3yiQ3j4ou*Geo<0HDJcHg^g`!mHTS;@2~WJa zClquaBxtp@6t}P3P>p}^!{GItfTaUB_efQrlS|OQWb*#z=9Y~e{Ysy&izQF&F%}D1 zICy(z$=o=~?y+e7uc!H-#q(c(>tC<`zk8)W`U5Q|Wk_>#nfLo^^Gh1iil1E30&AO` z6A~)^>y9F#CKPWDcJvc+DCoUly)1_&{r5Bd{c~d>k6N2VCMrbIyKH58%g9(x@uy`bJe;f3QGV+WgyBRNAy4I0ne?w2CywyQ z5$?!fI2F)MS#4Sb^l zYrN#LNmJuXleWfHKYk>nO_uY~bj7gISCQU*w)rf9RJm;QNd+XMDR zkpbPKkWb&_;J}AemykvK6~N4t!*p`J!Dk-+J-=T12^C#@To+~M!dRXRA72E1mM9$_W^%W4M)v7FbP=fs(9QkYKAROh=H7LuieZy? zM}rYCVvl2Wsn`0-g>nS}56|eO#UsZy+`EkG9fz8Z$iEM&0H!*p8;%v+G=$lS$6>F1 zp~ZW~$4x!DpM}WJVwEFgvP(5_PsESy%6z0SE;Jj}(e~}{Mc4Soa0W-cd5C)5ln+%#H-$FqM!^b#Q=OX+s!AnE#Cxa5D%jr|QuuCF5Fb`g&#GK4Z>_(9 z4um*QKYf*SA4UO}<$^T|$aW-Q+DNK$-Zg-he&{XkyMnrX8xbnhRbaSh3sVQ5ALUZf zy&a0Z?@*SvfAUCd!tW%blIjkHf*y@*lK6}60^;Oc%Sn@Y5D+nJ$Nxa3?SirK&sxI} zPx#m`eg$I`q{|ib+M%dmUwNRnpP_3BKS7(Ssq?VUGp2yZIK3|hplXB+Bg-9EYtRl_w3>aIAw zsEMquZ#}N=ZqfVXT#nwlMrE=;KRWQ0AYNi!t&q~2tO-e<@boT-W`0*|@#Du#Fr`*X zr)K-y@Gc>16#T2N(!~s*c&shYmY-2w6nxlk+=xiYs&f8zFREzsrP!uz{^myb-0weJ zgoN$KrDiY6BGi4*n-!GA+d7$5HZ#oo28+v;-R#{fI&#=oY`6ZSWU@9ZH~B4ivRfX*68pKWVAVE zZMeP3Vp6~_+|0johqU9!2Q_4u;lo3E`TXmD8cPVadL8WKVU6!Pa(6NbbBP9!H+%Zm}636Vgor@1tD2#s(+e?=hQ8sKPI_7 zvMa!mZ|K)Y)QS1FDV|UH!@K4%pGLFci&BQ_OqX=k+H9U0Ize~(EuKo{m#-~YeZn%? z`*E(~%+5vTG3MUw>!ta6Bf{(`%w!?F0cbWILK8 z#s7!4w+^dv>-t7PMGQhhL=aF?O1jGgX$7TIN?MRk3y|&>P*S8>bP7n9fW)GuyJOMc zSh{`pex5hZd(L;A_0RTNn^@fUyyqO_SK||`Fdu(^9uPj%Jm-GKO}0+K9V5u|C0BR) zlt|5nTr9imEhrOpx0SWojk-bBD%haR+!wQxgUr2}@Fjep+?)b3nm&4sy?A5kk#9Sq zu)n+XZAx{sgn~r(OSQ=ey&89R=a+f}6wE1zRUMG-UKY@AyWQY-RmMI;v=SE%_fhW8 ziXvT;%gbD}s2dMnG_g`2zyGFVESX1*B^gU!XgucAJN8p2A$UWU5~62+&j$FpC>VJLR3Mh0?C-E#GMvAr*Q-OXo}C3<9_WLsi^+tk;7WadKR z!wbo@e@x~X*<ksjTSUKcQ%8;)Vae+PKk6PWmG)!`P?!@oCpmr{%K}0SOZzoVPHA}ulrE9-{7@Oe_adSVi zFBg7kJYo0*r~J8dWf9|~2`1rD{LfygBH@{z<9g1`;6AcHEGqs$q9@b#ia7qfQH+%S zkL2jgy%qQK3xa|Jn>`KTWOvvY^GJV{oDW-+iVCi*U~P1dC*hUMcD}Xu$mjl|P6U?3@QMURQ2Gvp3xWS_2lkZmOzH7QQBDu^S>x;76 zSixBDo@IY(ArJf(e*HF#R~{Z%N@q`VaL8vvSeAU%#TU7q59yVS&|3U3#-Gi6i+o*Q zRO{{+CrnS`lUoU}zqcFNN3WUs4TH~*r(L^~d9}&ypiWsQ7Y$fRC~QbmOHp1(tI@d* zkDlMvVQ5QVrAg?%$<{Q2S)o6^%(SECj~z%DA10OYV3K}MW0sKnVAyUSJ3si72vG#b zB$m$3;Hh=7e8@?6O%HE6)&a!HB{(LWcUQQKr*1=Unta_S`H>~7xAUIVrFtKdMAL&n zS%dkW6xjlcCr`Mc;HpoH;RBp``g>O>4w*=_nJVYwEd(LELwXe2u zkh0`Cep#{=b~_|}<=E3OF|K1-)G4axgyCdsAup1!aERK>ae6Zyr<5|`Y<6JBD0W;C zsl7vye3HA)En*h})z2v%gY6%M-t}BV&ifq#8EM((1dal9!oHl)T%xfO$fe6YVu6+5 zM>*xI-5DV4=hIN%9Ng)I3sTV!se-XZ%lb`GjId?J2gbUuwH(=4S<}+<_GQWg889AM ziH*sBG$in)LVLw>b(5rIwzbYb_Qv@^7-sghyZcS<+Bro97Tz6#VEfgdOH*qNde_|T zH#y)wCIvZb1tc8D(c_w!t~FmAs$9K}4sm>RY~w}?%Z6V_;F6QjHMn#N$bp-$nL}zT z3+Kbwu+RQ{JP?^6U;q=CNI+B zj1sXr^VX$2-@LIiXLvOHBZJsdmHi1O-y2It=!UHW) zk@bZi4-drjKr>g^EiIf^mDmC7`fbE#cjoui&TC)z4;p1PLA2Hqj?ROWh zFzznH%7U(sVA;}6^_ja3Rwm@WKLVD>-Ejo|0B^zmM9 zC+pQ+_^`Jm(OnAj6Ows8qNq<>FeChsp z@8Z%RBH@kX;mwl=nOfDs@SPiTT{Nj3s%vWI-VZA{>4cHH#rMDW3`ttOv@$#n3BM-j z^hO%<^%f;RAzNTAF)PSv%~JRa)EaiG z-*xy#ff3{WC~!|&X`^-Y?T6##Ye@{9sm67JsnLAAW}_BrmbnbqDyw+2sigr}|P zBiQa>G)D%UuT!=47|>xh#W9zwIu3HDuQMsVlSEWa{fI_DkdwFDy@n7m%Ue(s)BY#0 z>Sh!*<9GFFIe}ZZ0+{dg^E+(uLlsLcNbkvXc`Ql3A1`%p^yHS&4vURNzmHWD+HD zYDF=_0tm(QyQ+%FZE`*yAFZ#x4Sy{J%A98&SHG8EdzO=)pL((iSI3B2bDF zc1$5R_hyFtuMO^1#)GlkpKPvmjuEj}qG;(C=pV+sT%X(NTxsoWYob(dzeZ{?j8l`8 zD-)+KM6&ni_o=+kj;VRde;*{gFoDa)Lx>Vs%N7dSWyY>lo_a8C3ih@LVv zbY>2eRN?0ZQvR$SH?w{|7QcOaFS=Nt4lqS@vF&MVa_JgjOHfy+ z;}(j8=gX61qqL&bP4oSq60o00XPJ!VP-vr*Q%RayAwKM;W-SrG*{Zo)&PCZz zZ$D5V^%V-(}n4cT|0PdQ=?xOT>`ZmabUIiM}8$ANBw~7-k7}-uh-dXuH@r)2kiLdO_5BLIyS# z(wY9yP@|6S1%wvBhl?){_E7736-<4)$clLfVmrQ}-SMCIz`E4@N>np_R_Ap@|zIEzN_Qtd_b6ZFWY--8x z(!5kp?SAhfI^0;q>|;CG@IS^CTNU`4)EJnqRr*G?v_|Lq<$q1kvh?d65)AeYO+wnm z4+~&G`xbxQ+j)QY z=Uu-0m0%y2qIG9ABD(LZi1RTaIGmtOiuhQCNIH$3pk{glusv0TaJnTZ3&k%E z90;dnvE!hIZ5NrLSvE~wfTl9{Oz@(IHMI9E!Ewx|#$y`xu|g&I%^%=<_0{~OC)2s# zK--2~t_wK>gd1N<2UjAm1sUd@{sH^7bCYR%Jr$B7XtpKlH%^anyH1d&)M4)eB;8Fz z-vmPGP|K>3=MncSUvOZ6NDFdkE$nUqcmujeJtxRuz(QMkgG4pe{($vvKaa=2t!c{l z1|k6L-?*~Ia(@TL;2*DGzL_jqtDfW{y_JHz`+$G??u=YzwQz@K;sc$6ivUDa97y0T>BX2_{itt+uhfZlBGx+mK5a53=F^}itX;FBLP75e#!+zIX<{Ju%7<2Txkb(c2UslR%h zuxp!qgQdH}Dc zkLISFx)FlIW6~Q8_#?0sqd|kRLvRknOzn(eoza@EB%`9ed15!oyTE5D59s$CJl0Tb z$sRz584Woky<`Q+F6|9AyW}1IRs{h07?Bg7Pi zVrnwO0X~(q^#NPI#hD(Up+SJv-eSMBAO1Mhup1^RE3tg=NV+F3xI@;IBoT=53p-yD z`Ucp!il9B2l{n4Fk>~orbD4bkUriln1haBZYxx3+G0E>mCGPN zRds%%zAYe*&-DYEP+<<*TS>sr{;G`OXqlzv#Z%$<|nY{n-P^N)w{N-uVf|-YsoBnF6sZx6Xc_=!y3p z#dR59v&ufBWias`6P@|75I&X$5jY`5ig zsuekjn5%JrazTbbecKUKHKKZO6hXV%;Hoqh;uD;KAWBzAp`IJWRYaDp7F$D|8-bGV z!U&sXQcAuKBw;jVtowlE+ri#+wRsVQ6H)2`Bs?e~IDt_^=&`c0694~(d>;@1#0Dka zTK3R~T@&60OOyjBd9lCAW0eDk3ov7xLipk)(57f@Zl{FIN0~y;AEu-6z~ROWmJwfi zxOl57?2AT%yx_rtWQ4uK!#Q)o1H4p?ZSg0WBYp%#sYI7AC(vFMvc=P*?@R?0JuG|h z6`=MAI3QRsT9)fxFW=CkFd^Qbyc|9OF8u?x!PCLrny}Xo@LhT4!tKKM_Y=U zyF0GyQtl=-W|2V8f4sk~BYdGewg~s^X@Qseli%jYyiXsd`K8*N?_|JM`Nj|&Qbx2p zo)_w%d^7aa0ve5;K%Rl#D@@TolUq+oBZS;qI&j6r`0&5fM07xNbsXWEP& zR#Td(lwz!I7_3nU51L)52X{s8vl^DZTkErF+B@s2IhZ(ez1|dKtPJp(9<(aOE_lB4 zME~%JeXw?P2FN6ozo)WWar;z-Zn5LUR`n*{cd9OkdBD-!o?3ihGEF9qyJgTn^HkVr zD{5xBOfg&E%5Aj5$2z5gRA~Dm1~ja56GHD;EV46?P4I9{p7s;5t|p)FnGLyRPNw9( zjrEe=AI$)`6h6x`K8eANT~Al@t{m!noNaU735CmmQo5<$&zj=iDJKJ2G()-ssr!(w zk_gEtnQFr1Aj*g3paiWz@Vy2c{kEtYo8pC@A&fe)RoSsbeppZ$Axr)}Nl)EO5lK5>58yOsc`4_J`;BlDz9hSz zB15tKFN=!d0FXdbAvSEJdfl09(VR}Xs@=P6KMCA*xXG-nt+~TN+#C!=jD?41rOjCU z~*dcMNa^ z^q*I+OttOkJC(!imQcWYx|55NG#J_P4chO&73|HE4flz8%1m&{A-tr7AE>6gQzPYQ z=ocWDu9B+2c(7S$mRk`W_+4#Unz`Er9o`4_Qwb)csYf0cNj{2)@8;#_*FrxA!peC7 zmCVc)AH(=yXerK>?dTsh<1ZXMsZI4Y z54-LOm7NShJ*QQb+oFoRo2A3ZtuT}Q|dB3S$Ldw;V)?KpPdQe*_D6i;~+1&DK>uX0FmI95p-nSJJ&bwS$w)zb(G_ zoe8d*LQUHFBQJlN!w#yPkzye8E0iZs`^WTOx=bN^G_x$=IFtG2xBnd@jCI+=`E><1 zoa^m_b_U1Y;ZtqFm&q3yv^&bm_@j@__4MAtTw>!P$Y6}Bb~TPgwqr3!IQQ7WYSE~& z-Yz{VaifWX&*DLS!A`jy1M!%G#g*OcF6hj2MZ(B_ zh_{-nQ74yM`kdG*|HTjsVO=qnturm|YT-VsdCNm7TT4Fzu_xS*5&P`)wlVD5Z`{h(i|uXlxg0xW-a5S*Ufvojb9NYE~=tUlqN96iDwK3A0jKDD!OI->Vf zxbAdiM=a1J%z#2iGLo0|mR!Igfny{LvU{}OnXb7D;(;IzMbd#ZW-31SO5}MFAL6Nr z6b!`F#`M<={pO{!uR=q?(}5jD@p4}3k}5)9>U#tX=vdj?w1y&F5xK5t^f0`|6Rc&G z>!gva^YyQ3*2h@;(;tVM3%T(+vl2PZ%ytKl7E$(f0w)bsq-iBksh zKv2sRq>uiQ9!h8VF@_LU_6k{@R0VuTTobf=1M|wGSvAJ0jTp+@2FYG6_P<@fd8ofn z0TWz0t|9r?XLCNHoos-$fJ5{i;J@nj$9HRJ2^-kDiz~75Cx^Bb_w5e2YpVRNb{i8{ zzIxjzH=+3nNBS`BuZ)pr$5e_JrBgdKzk&Sie5q}0g54?u3w5oT+GON9z*JE>Z5y|0h0_;}3OKx$%Q>g(Ei zPYF{!{RytV~!&_!p(ZQL6%a)=^Gp>S{bYa-pZ-( z7ytm0wiaTvxYg07ogZ>fLLR;^X!Nwi#Pl!03glWD43wm!7bZ}ehh-^uL{z+AF5d1rYpb$3a)Kt2@AO-+ zn~o}?FqH}MxZ+?%D`kj_Cp)p2@TQ%E5A8@V?dJllt4 z7niHDVMkm)DD{Q7{_b20Tpwbl+e6u|JZn=P8YQH!fFUn^X~4&9Z)=wb5kaXE0cPvc zm(iXHAi-i5;;M;nzZNb<6Ui+L<{xPPJCHkBZfd0uB+DVl_VD@Ri>lRD9$BsdI4p@5x)V27t;(VOEy2+jnt#dJIzo6#w?X4l;b-fd0p2eg~bA zJ#w&{-kXfuz)w>tSe#_Wm~%z2$hndC8~CT{?b$Dhg=cE#bg+$J!&z7rB^X0MWca;6 z)(A+PotDLOK8LaBqIoL}=`x(o2Y_u$_|CI|*-EX_NQM}^yzI{Vi8q6Id#7pG;jl*^Z=wNNjE3hX+_A8#ZvY|gFg zL2%8(PC0Yg*`ckvz+~yz2({h{ZJ{dI!iZUdB0*yN2ntM45+QWv`N$kLfK;r7yWlV_ zWNbNx$2TnkfJ0shkt5r!JPIo-D-aIpx|mHVsqpV<>oK845NpPV=Xo-erY7;lu1_i5 zR5a{Nd#-Cw?=OSWtyHi6bWO<7b9ancc2nF|!1*UeSPGw@`{Lt~e z#<@Prn_l+j+~EL#Ej-wwLsP{$KDH{nmSxD19~)y<{|hABNyH&E$DXnGm$<#-DSBj1 zIS;+&`XL&p67B&-)IQEH4K_9PYVuSN0+mr2xm>4SO2mhVy(q-X(%4)>2`by0O98-( zLSDaakR>0dAv^w?|3L!KNX0v0t#fI)Y#ZDi0Y1~MkCIvrK-Me)N;6R^j@KY@VFZsP z2Jk0|04brVvu-+J?F>tKa&HFIp;VtOAZ6|`rUF) zrO3Uwt)OEGUAN^G(M!`8pV@|EO20qe6>iQzSX1RShj5nY$;Df0MP$J3i5}+?fDCIo zu&ErqN>&nz8k)N>VTjo+jS3l{3NWZwM z0H-u{_ju(LphZ_0LZUV0z#8POjuW8m6ON%y5N>vg-FcJ{4 zU1HhUU2uouugmoZ#dOpgZHa?0gdq<5K@~9Egpe$khcZ270$yG`Fu+{ac7|0|5+Wx- z6i^3TthO9g<6JZ1`Cu7W0N&O0MWi>dhNnNmZ$G0|9x%4H4k7U4nx9w_c2~?yOrKX% zqRUt4KrH_d+*ax+)~{EC;J-v8h~fOlD}*8gli*%qL-PUP z?66$c_$SIuP0d!vS!y$7PX9Fg--e}3wJ6;9mtRaEDH`@~(@-SExpQ)VgUyGNZ|>do z_N&Oa{hsz7j4T7~D#XB)i9WdB|GCM1Vc*84z&-8c>>qG>ifVRd!7nxg0l2YD<)Zcr z@40K%8zKjI zUAfanXwj{_vs=e@>5pb0qrPmbuWf(X?lhYOIdH*Y z<`si4Jjp9w%PQN;sqUGU7$83XVL2KPCEKYNK#tkQ6v`I(L%Ek^-tR`HzcI*baTF}r zKBxc)yAwXy10ehnNB;?6A1qj1{})mE8^*sx=^KNT;(E&b4C&XnZj!8?(|dvwxGDni zkYHiThmQ2!yHUfPMcqlT0;T%if3H+Ol=^Oq{urwr%jho>xLB3i|0)>7 z=wPV!rR_YJp15o_yiX${6wPqEQT70>gkXsm3I1rxN6Kl)1nNbAd@IkGYgAvo+wXSI z_~@}-1MYHXG-CFupdAx*$>;;ZvcmF@;tIg|7NGSZS*#g`14A~MA(M8l&E;d?s?-PI zh|%9rLo2M_ulHQ#8Mp#%94QA*Gn5A+C__|LYg4x zTXWDI=QbpL!wfTSb-Tm+{!FXYT~(S;!j8Q^4?ztd!t!M#$FboZAtBsgsU#@7b5JD0#7rMJD`{==j@CS-IQ9sA&ne+~0G znCZ}cZ-qHSVN5~llkk1CF$*sLnpK)88U*Ln+$SV-8p^B`xEQga)!y(VdzSzPsXKfU zg$v^0p`G&#w51MVyFaaOe?;1}xL*MwXft9qI<_`6rVDmvb_M{@WroIOgNm`s<5^*3M%TDMn9!fhOAm+GlFGb93 zGAL(mBmr?p{8lr&_dBoHYzu;BS7o#JioW$ro}t}?(u<@ltc(im)#+{Eik3UF3n(cm zIb*)}B;^px(3_6hnzfI_92#APUp;Y_8zbypwF;l5Xd>*#^L!^xMLWc=# zUhU4oCRe)kwcO>Z3wGcPSThvk{=Y))7Gjfj*K5E5j)tzw{MFBd-PAjA3*MCOLM)&q+}stE@bWVhliDw*_PD?fs!*U@ ziIy%_QUru1RU${S;ZTI?;*#U8)|-8BJ5II6wiZxWF@&^>9p0axh=<(=Jz-6vv1lMQ zUotnx=Da)}g@~~fcS59t@5#>6zcoIQc zwf{@#vd}wD)^~Q$CDThA^7X`&joQXCfBaWc#EpjZZ3JfS{%qdCmC}& zIC^;i)=7_)6gtQkNzTuc%+~_wp;g&Z=TSm7x+@nh&F3=t$fle#GTyYVh|ZsWFGg); zWk-vM^+n&R{{l1@OY=B$^Z!{@Zu-dWUsdJfV|{7F!I8?@VOM~#mA5`n1^=?%<_{cM zXvWU>b-4a4%4{FXKYl4hzk^(U0P9M(tdmre1mO;JhCq0rhUN!=uP|Pf+ph)# zJA=#On55(isJ85o^~4WLZu3iG4M~X;?wL^o{DJ=d)5mYIHOdLvdE4;fz zcH>O&{U1J=p<`5ob;g8T+rCa>RDp+9BmJ)0yWyRsD<48POLG<}2QKpUGe{dicey@& zm}0hX#Q>a{ys2`M`ay)Z=;1+HoHHrA%iToRfvx4cRjTDc<)1`-?6{#QZfB{LLa^mS zDe<7|^8=#>oMo@bG_O;?>&P&spKm3Au05(?rQEZISv!mi?h3dd@S-FUb4uB8v9_Q*OWW^@`r%;i|VN|`@rH4mZ$+(=ba*mY12-N|zIhE90o zUc?hp5$o3Yts4%_uxd(zpaOok@#tsKr_91fv*^&5nj{8Agb9{^yz&;xirCf5f6`|q z|JS&~V50%#U_PqV`O&_G661Hd zqt1}+W3zv@zXD>=V=MD#>%%+80+UTl!Q?9srlv1%-)j5V6$-2|OnT(Jv*&n?f{Vzm z(Zz8B>iCKaRr}VpashZSmyb?Vbkydpq6&&a0XY;Z819ejr7%ty>?1TY##-jHh(m``JiArV^65bW*nW(IV@M+1}n2x6#VL*Oh|0>?)Vs z7;3o%SRpqO>ag)B0V1fE2L{n<@r`(A=2k}Si&f2#Rd;nThrHC)z zT zxN$FjKD#bEv^}o$@bh0pm?4C@Huq=nDYP~E!qf$XqqpaGj-Y zK(OSC&S+NTek_kKGsvihan92@_p!hz6s)v1JRrNH$ocM-TqbNuj^2FH863XDD%O9I zWwjuBGs1ec<{nH;ug{dExjLM7amfC7e{fmzypxmO?pv?G605}`I4RFAEiX60AF627 z!Jy_wxq26C4IlL1Vm^LThaS?zj9UvCvyLQ95@u#FUQe6dd=mzA-^JRD%~D%0=1&Ty ztfEN}?swanI@4J#+fh~dUY1w+%#5X%IdazU;Z3o_0>!t|qbd;OsdBhYhA@W+ z9kj9^=FLq8v*9<&ecm-FJDFy+(B_zLWJ{x2#toY|cF!z}(i^E!M;L)ngEB^x5|e)GHLY1f zu1a7AR^*I~g7UD`ZIT{nVwu>=IsZYzU(XAEnW|c^#?dnVgP1mBXpu z_5>DL-E2-cQ6LIC_j!FxtU81Ji?q27zrDNK z7FDhSx9}k{q+VsCT@C1T^yh|mqgs{Uprh$9WJR;uYo{{?oX0N#2V~S1rpleEd=ZWo z2uy%zdEvL>@-uCv7q7X`q@E>kbgu}PNd`<%xnl_fidO_o6*|N_KsfXz-`~ZrAUyLm zKYS5oTTPX&n3mX_R%kq0A_`ilcOGMsFYF`krQ*Ev6jOax*NZ&w5KehmWN(6;Ck}dhr1i-fu=bT|Ji`}JRcT^BrLg6=3OOQqPg)yy!X1cEQ?lmvSoR*N8 zva;dUil=Ogy*7U^nQyt7JLQ_ES@A?m>io-`pKnQZ8E(ZJQ+zj*f@(grYc9 z1Dl0I8Ben~VYJqCL;Ix)VUZ|KryzI)J*BSf>h2HI*_e&6bXhA{8`|q_%-xZRD-2Tg zjhLLAZr-x0li@N7jOVX!DI8DNN#U4~%>?w4;IGkUS>r`jxWY>)f z>F>|f)l5uEx+-SQOJKkH7?J=<+yw}Bm*nYldNZ~;itpaNDrk5i&&tY0W1hyz#>_y_ zEzA<4b3RB6QJ&^dQOR{5a>9B#C8B4wJNg#&jcHCaFJ!gXz>(sM&uBK~4W?=B>8>)s9w z_~9^9T5wui=DO{dCpe2^BL!JwxmIQ;25hPtAEJa@KgHzO#! z?VWQ5vFnEL`XYFwQC1_Il%hV#2d@acR}?eU=82l_0g(u09aXwlU>OF}ssqWUTj?V=(n^8$ix1JfY zo^GoF4h-{!O`FU>oRHx*Xi^<6v*;AD+A=v~oZVXb*1#$@X^&C~K^X2H+r7sDqv}!r z%gcm6sD$q$73y;lg*@g$3skpJap(R9#pTByUlVp=Y2Me08|t3wkthCZjP#!Su2M(| zaC~3wr)a^F=mXJM7;p-pBf@!YYp27E*wkveh|*LxdV7p!;;UbHgQXjDT=O%=ai?(8 z!DD^eSvHMC<+Q&0;-aaBNlI;`d|}ic7muHwz%&>Y=y_uGspLNh)?tf!=1rKFLffGhFnxDeqd+_Z5nKlO{j~0>Au$J(Yi$?O1XOtd2>OL^c93$z^*5X5IweH z3_2`*NjG@n6-W)6Kglf6G&OnC}SO!jqkywph`KTp99l(KY@4kYrbVaSEjo?lZ(oQS09igQNm7_OsmIg zXU)qu*TAI|NbU)xDMk|ZZtCr-VVf1MFc>b6)|<_Ak{ZQeRTvz|*)0n_?`zD>6)NEu zq8~iTU1N~u6A}_I`Swrf71H1rvP6jZU{7yL5WUsB|M;y_Xv^p*q=xAN49LrIS&T)t z9$%V4Es|H3OdMwk>vX7~GL=%Mnq`ssY-+eLYszN@GSBy3`Ij#wZe*gfsnua;w;UwR%p8@oht-Vg>-dYd z`U_CsV8UTcp|Rvj|8nLp^Y&kVO7fGl9=HDkY)1cscKXpDY1?1#(_(d%)&BlL8#(1r zd4c8vGM{z5lOJ`imx%+zH+v<#s7abR3IioV{p~2nQ6J3HxQ?Cw50I!`2J`ClG+**=m)A!#&s8XOy$?5Y@he*U9SO_ zZejSXguLN;ziC_1194HqwJ650^uAXuwlN#qG5($AlkeRzU@%y+ez=oMcL|Rvui0Mz z{@FEtCLclB!AmdpuVL`rvrx=09>e9Wm`ShL-~sACY4P1jPErwZKEp8?E_HQ zQ463DjXLZ-#nf*swHM=${wL^RWw)VO!pO<*l@+7jIQ}*HJ0hOX5>p1k6$Kh2XZr2`+eVQz>W*sPK zhdK!oXt&9W+jcYyp5elrwvuytw_6%*{DHhUKRk1>k2UsQX~={5Vf)YXo-nKW z%6d=0h~L&STC{bJ-!{Uk$1pme8boBU@#gC^IFPiF=DhN$@cJjs0L} z>Q*5}un@|*dOj*MaTWc7d>>3?vRE9K4A!E zT8BcxLtRCI@JbPM-sQJ>gm*mKoEm!(FK?zgFSha(BSaYlz3LdVN40BhGcGkZbIlUP ziKxR!PI{bW%cAz$Qxkp-`l~}XPT-tnZr&(WB)X=Y{~2zgtDv(Z#1KPz*`{Qn6q(LO z1B3y}ZZ;&)lg>7j@Pj*zhMt}z=PqTcARMeP9qPqG4qY{y_IYZfqRb1)P0lj^k&Wa2 zD|MwqtLZyTEH5x2xZDzv+!@3H6$S6|=EzI}%C1W}Q(H6=gzDW@X>3&@Liw8q;lcqv z&zkuFi3W)|5$q7mGjb{Jfq2jwek%~3^p%Mb2-K{m)bDP3of#z*zQ|{Ro;jp=1X;VJ zBA@ZW?RbNiH-J8?{BhX;_F#yT#x&3`nG!A2zxPDyd9O-qdfoAA9L4)_zmpX zhh~BpPeXM{I8yzn<`A+N&s{NUJY)Mw*S={f2x6<(WYn*E`}oX&K=1sHynvr&DAaAuQJAv)93z zo_=@`JgIR3C-Ht4H9BiT$BwIK`TGkf$Kh!SM4=qA&uGqm&zt;#%ESs^aLNAX-V%JG zT*GIfYs@~rfaamODAaiL1_wT=sHw)lxVs7tFznMn?EoIVJK-A!jB~+(Kqfr;WX5<4 z>umH68V6qrasyLcDA`k{HPtw>%+a;Fiw6Xd@smnr|GijUNQ!uyUOxK+L{PVzoxKml z1Z1i+q$?s7%S!N(`DF^lN>4!nnXXhS{8~8&_UF#mV}aH%FVAylF~B*%46cZnW7d%E>6u(N>M#CFn9oI^Dq+plj#8oddl49q|dj; zMk1S|d9IscS&DI>qzV}l!A^2dV1zX?G1y1 zHHeqmWvr%~MVTi|5{<&um5q-d!vh_|l6{N&i#9WK^1_g3QIBNg0w2$*7bnN3A=)VG zHC^+H+M2A3glzKTBQ*%_BzJZeY6-v95vF<(U3%J|R5ZSeehJEV7}@I?d*f3oIT=I1 zR(&xzCqm2aorpDqKI8ne1iKClj84jQtX%12!L_*9l^5~3V%US7YWo>jiX)tdlEOzN`J zBiPSkiWY0uU-gg)i9nqMpfmrpaW- zU=7h(jL6HYXvk%U+XQN4Z4}^U?W*g*+hWf)W!}O|VETIXp#9uR$}O_mrz@Xp4xd*X;hu&q>Hw z@rNopq=G&(E2}B&h6n~A6Dq1|F?5<07eqCAITaglO6WP!1H-kN6Gu@L>+<=B!gfWx z=R*>^I5={)M-7ZjW3Q`{Zz>~4Z_V$ZJ4ER*-C>woyA$>}b@%vhse!k_oDM~Xgx^gTpv z!)({j0HS$~su9|MeeW&ojR!8JeniH?S$<00o&GEjgQyVW%Yx*yBUnVrzBsLebnUktv9@ON3+%xp|7AOGDGl zcVIB`_ssSx&7sqm055|MLgBi$g%aDb5A1E-dApZ-;u3}IR(ozbNd{6$blK1GXV2YI z|5aowa-yZKyPU7YTeO9uZLBbpdG^)w2^4d_@ z=h}1-Bc?+`5teKU`JV$B*O%vmBVQ>R@#NAXK`{C-qr-K5gXQa1-n}+aX+a@_nIR7@ zWT`P-wS}f^V_$peWkR3WjMmUaCd6AL;WQM9j?C_u*;r#Bvzo+N?)TS#5Cgagz?L)w z3hmOCom8FnI`3Q3I$ovO9L^;~p~hR^L&HX1WOn)^;Lm_a>Fp!;H*YQUWlBwN7{p(5 zU%SL3mfeK?;6gB;y&QC>O{<-%;!_*F*8yv48)TUazJhK%e=bZljf-lc@x6uww^}a) zpUvfcSqw9$8oy_b`-Z&*n)nEw4Ez3kCgDk$_!&%Ax_Vx-KFT)e16yJuG0 zpz~G7m($}WkJ#}kMZ5neWLm`eWyAl7OS>C}v;+FupXH*>P?sFFVClC{m<$^FaY3*e(TLc1o9cxtZGllXQX3 za*Ene@nk*TBE;Lne)LI0GNLo?%U@mJo>(f$S;IEljZGPvf^sH&>kh3b)y;x*#HOzX5_WC!&G$%JMJ2BiMv{P5zW z^ZgknKtw|?Gb{CoeQ5OhJl)30{8p(LDFA|zr{0!0u||m;9K|0{wE6<>9S!9UAvt+# z0n&H$GmKA5)Q8ibaz{S@L)ckclL`BQgv%McFBsRD?ls8Ni%9UgR0w18Pf&eLylkrV z1s{ZtpJo~_UlrA*2UaBfLJoqkn^!<|gQL!OTMUIXsrs!_X>>0|bBu{Y zB^DQv;O+^Y0N`_I!z(H38s!<-=LE6wDIlU^^q!LCBrT*y!83UpEKKdtq@rP-3Dr=- z5i#y1ynvIE118w(Ap((Mz?+32S3xYbeNbqYXPKMXY?nO{>$EPspmDh@IVDsr@X; zW!zPYKM(VboxLKS9Of3JyVc}B)t5<#uZ^cXtZ-%%*As?AirX~lql6ZmBTP`zfN@Af zRiX5=y>3~Npk)aA@24)lx;%6j`V*VfY z-a4%6wcQrRz#v3LX+#W=5a|w;6c8i?X=&;1Gysv3ZcrK&knZl5mPWd}Ykv1n*LwF_ z@4LT!_Bs2UFRp9*hu2y2$M$I zGQjt?^$d8?6VSdm>P&qmN%+WV4cEC);kf2&IIl0vxg^dZ;ZNZ+#Ldy zpV|R|iODJ@nM7C8q5KferHc(s z76NmLMZ)2q-xm3-SU?KH!Jb}w>*djzcJMRuJUiPwF;Uz8lqQ^A<0fz@vgv!|{0G*W zhYuWzp!r8${7G1tqCHH^Q`9PaYuYh_EloJ0CzW~QZ|( zx%_NC^Zpj@KRiyx%7X8#{M4jeBjxZ+Ukrh0o->ul=W)QeI^k)wDaZ7!7<44<0=}6S zN__JZkO)Hcd}*G^+t_`WV#=DJj_;m^wV{rOI4CPje@wKs_;}yT;Ee?- zH0j6gKAH`?V;`GGZ@5~xC|B1H60ynSJ8yDT=c_quZ;kW9Rdl*C^SpENhOjo;g^SoV z0}MGr0l#oK5ezoXBYN~d0!K$LnrL%q!~F@L&pU!Wkmgab-6fq_(dg!w2r_xCg|BXV zvFvR?Tf;Zu&s}7`_S%LV4Q!^`;Rr>$CtY|mb!nM^*O~M6qkazCxqG-t9f?i4d07Po zw}q|Q@|TZ-SDp7f;cj76uUCeWJ?>F75gIhwYJX_m{{UeH0@~mPPRcIO9o@=$H{vLDN_o<2U>{iA38}r=)IiEOr(7isXG#LVq@xT1=ze6DXm=f-P2q%fNyckifDJ$XC*}F{KbfIOU;gt?{rQCa=YHkOl>VHY$i3Z_5qW_z8IW>Z zb*6m$+P0&?^)0{9-=*i+ca^U8|HkhHw|M?pdLG$r{!f1GRR7}F{vZ7cNY8;0O6xP& z8EhB>RCH$9LHg@sBb|1YH}V4uAc#2kFkL7e0tY>SGLBeaTdlO=Gn4_B`6q4e_o26l z(Arl3ctUDsQWDn?tcd8hBl41M6FGAi89oA5{J?4jL_|4zi!3@rw{DX$fxUCHtii)+ z&ZqnKZS}MHX0?2-I`Edzf%EDON3am*9~n5Eu_d`K7)@bxf!*nnYb1F=YHv#L0524k z)n5#)x{E+(bm|x2E!f=q2~hbisGZ+rjD5cugs%u^U0!7FX9R2?&F2z6I-_boECgXN z&_g3-^z#K)8T!8cj+DsI0vwroxOTcu6 zN`;wM#lzb-nI{&mgt});ZQ;bYHAOdoy3{sv#Ml(|sc#wxlB8vNqtxGYKJ zGteXRp{arWQRqC`XE7uW7Niiqt_xBvp#DQXAD3ACl)gD~-kW}V7Pv!}n|EK6mh3WE z?L0<6YO9u+XBk>jAexRCcYl{qzuf4_R0vm`Tx(=|q53gcnC$+;0OOX6-P+m}^o`li z05hBGSi}QH1YUO%klgEkEm=#7%$d)gyNR)~qhzNu*T@D$JGdkj#@%us?D4_LuXxJ3 zqbiKt=|b_1Rw-1VXUr-0TaCOmRq4Y~#| zUXArBf$k)`xTveB4IflRZUB-!%baOA%C)coy+C!{LjYv_=V+$`>PpqZT=VktlYRr? zpDjIcQlt`3zqPmdxe!XA7<>OH6`;8M5tue>W z4@e525I&l*d58Cu=p$6DcR$#J=yjF+&)qwP8i53})O7{S56@HDbnkOojPJ%*25L_M zoTR(Bqk;g0bu_)7!Dj&h!5?t$BmwZ0yEGgMc6m8FIu8^dh3jLdyg0NdS1FiJJfPQF zlErf=bLTlcTBBBq2EA8Xh>WwGxHv7)C7&GIgo3`D5JDIqIrEWk>dD-CAhUk28=&ZO zb-^}@BCiOd53oL4_8vIO=3Ie-bbNjC9$Nj=$hIF;IdeR=Sa+%W6QSN_Upth-qg4`g zQ}m%y%eg{>GCM{;hu)d+lnwq7Pa}=b1SlUo7f}5wzyJU#kG~e-c;)BYFh%MMh{;{{ ze@DW^+PR6Yf?3~J?+yF0{Ll}m1C$m|i0I!WTt}7TRjSl~2E&qQ4KHu~v`2IHJDPO!}ku=HZG5BF! zda}ah&}j|@P4m`z%?n-|A`q}cQqZ;d&i9?K5<12idJYP&M#|m)g(G+}&G-XP-A5N$ zv(yy724yx--H{6j*|gm}&GGG+OEmPJC?X5B;tDbvOaBBG2jctsr__H+R@ka;j^H7U zWkh1mw}OIrnOJfp(ybW)JwnEWSuk<+3^@fPwcv>2b6g%?+M`Pn;ca7!B#hehB~zdVg_wM@G$T9mC7}cW-!mkZa>MKzJTy8(hF}}c&9$p7!0QWja%p-6N>1Q^gp>z> z+pWNE5g;?t&le(%EUcSb6RwoMAj0Cd-E(Eu>v~1sY@vc#?zx)c2{5}C9HbRJ3{b~X z&B%mVqYk6K-7$W7*&mgU_-&XivO;3!G;q#4*4DDAFMMN2l{9sABj-+#^%1{RXV2T(nUDI&>$CDSg<;#q>szSk1}PBFB<-CSeATT-_%+P0b+GwV_pbHWpPF=GQfdlx)x+J4#B)A@xgXNEHwxfCR)_kKs zi9bVYyZu8Um0;zf$=hSP%EMV60W(h zH){M#hdR4OvhUCLs3$YD2Sm2n z%0dOFYV5Y|1@wAV#JTKVa^!HKg6XQ$5?vrzl!Jzj#fZ>XopL6--ROn-)pp0OV2%pNE<2i2GtB{~6>R$5}YQnJxqT z8F&S`*Qq9+_*bKwb;R@<4!r6(vI|t6Q2^88hl*A!UZJ|DlKe;m#+i(yC8CedG_-~X zK~8uF(yH(C(V0Q*1~%{H1rC>Z?@7NmURI*8quko}3WYK>8L7W4ET+2$dl5G(58r6C zm)(+Fde2J00$c7TD6lQ{`rpvf!FczoZeKgZ4gsFNUE~D1!zPH;Vsd;aSz5*oNY10# zd?ZRBaB68)*wpL%DV*ZTtg;&n&l((S7X*xH{PKqj$5S0+Xp^=_>}(uDf{shcJA3-}3mlPIvQbDa_>F+iylX3Ql4ep zX_=LHPXDX3tUUtXl`~8;_tim~@NW1LG;Msb6g0 zasb?j1`#yVKcEH%Pw|{ty0yr$D+sy-YVg1^lLwA!1$lSXVw7P3h#F=b0LV>yeeWV* zGi31$F$=*hlQwfLwd;9y& zzzVIU@8v%R2YCxj;M=Ue?}Z6!sp_Ld8oRxF0cqEpJCl{T;6f|1|OCS)Ibq=Qr~Ys_=4{e zyyWEIFI^Wyo2s1XIMB~|Qo~rsa{2CS6$hNlKoR$!)U@Rnz#xuOalXS!7U+6Ffa(jn z<9Na3QINT2X-=|Xq%}I!Ppp)k_muGP`DX-uK!Ve${Z^k7>h>2r7r|dc7@8Uygq+6I z;Of+qrsy9}DS`CNa35C(H69P;jYsCr^+Y1~3t-=9-Vs}Op=X3pvbV0?v*2e)d8)!l zEcZc6xe6kAZH!^TLbosdZ^G#v(a`KR3vmf7efC?* zS;QvJsg?;H#+2LQHTs!kwxf~oTE8i)IBu^G-c(ED15z9@Z3Cwr|F*W?Eo}i%`VsV$ zV8X8>TO2BO4G0V>2&Dv(okGPtB{<$xz9Y1NV70J}(|-X80a(F<6cl36v;0WS`2lJ* zC^SB&*!;Y+%VV{}ZFiETl`T9vyfo_YUAEkm;UmK8_cVBU-aZGIAIXZy!XJIIq5@WNL>I zp-ibezi`owOLOyFAAtD1t1$M(LMg)W!1H&|Cq#X&BGQHSxa)|P8BNOPx?z0NMLmKiLfmt>MLzRq$n+C6M&0&=e|*mG z)S|zU+>H$SQlCJe{2QyUe@T_kp$3sghl#VWI3KtNqvhby&cdt z=XO&c;$NlC)JEKU{$*F|K7r4=Y^L&!3jPLhBlL4B4Fe2JAfIDBJ}T3)I4Lax&ogW^ z@R`tUSaCvw@f1Xzan2{EHQWN9{f21-RSw?wPu5mYprn_5{TB$Vty3KoneEe$%jLK{-NLuTA3_nT}h!Qats*@=d%7HI&M(7ZR6 z+iJr%Ukz#AJco&?FP|x%*=}?S;?lKGyw||aRjcD4f=f=zkGmAtoyYC7*wlAqC{h>T$M|L zE%UwGJjh>*O=e<`y(4MC|5&Jhd2fERa8rraAhcb(IgDKYnZNu;ia){?kxN&Vk#|&; zgx8s|hQ89q0q6VA8fV}$6PqBySfZ4trTeoL6U>X&CUiQ#Q^B0I9S^tcz;|Htb*^bx z->**xNH3yxWdDB1^4N;{)ThxPTGgO~JcF)OesGQzbzxaqIp*^p8}U(98H;~;;>esf zE4EpWy{EHVPMfLpJ@GQ97{6#&kemkmRej{)`hCf3~>%kIo+t7270`*S1dxckZ~KTtB2nwdjELD!rwu?s<5 z43%QSP0(2Pe!7);^XVV?!;KZjlYP;ESbKgbH|b83d2s0l@1+Fe+p|(-DYlay9Pvjv78$E*RRZOEQvF_Ve)cY*j48 z8Y>u-T5b!$B4+a`F*AF(AotCn-{iAOe>r%g1nrRROm7N`*xSvNV7YiFF>ZCpa+!;^CLNqt)~V&Uroi2p(EZe<8yxOx ztHxL>-S?lKbnA9Zs(dbGh-z#14XE=nUl`tp<+NrY0Tn1bIG`5xdNRE4_2@-dqzu?| zPcmd~Xmf0~)LF`RfI8hv?}Y!UZ+Q5l?5dB`R$NzYiN=U{zbXV+$MrT01=cj2i7j3> zGBQM?XJea0+%QTLcNw1;yzHPW9omUz?k^(e*w5-u4-Y4V2YRhyb$6Yf!GCUu;ct)R zl-l)cB+c+FuakB887<0>D~+75=nS-7yEz&*^JRH#t?mQ5p=!=MC%zkTfFvQ9_z0@N zckkU<-ebpj1|tD2=Hw2Qm&*YISj(s@n<38n!!he-I<0EWqhyyDG>=UC=)&9b7TLnN z9sC)b!3bQOWWM1fnpi|sG)X129AE}czNO)Zy`rk%8c5*!&I4zDde*Px3nsDrgE)ow zgN0XiR8M0If?(t>$81{zuPy3fW#>aVm#hH-WXBNorPo!ds7d8zvw`|xawc7*{8;}! z|KaY-zBk$ef~ftPP4`Ue@1M10SidU1kB+|2b1d}5Uob{$bhxN7nhQUa&LfHV908l- z&9;aH6yde&PDsFJpynkz3tU1cu92Dq6{)E>%6WrxNEM|W^a}_$vTfPwJi2!Suq_r^$;o%FEX3KzTmK*uuK|aPEJTL zg|J7Mny4HpbWp~^&{+uxp6ZwttvbD;e4!XJ*xu5KJc)nh|9A?-Iqo=QTu)3z2!hLK zxOa-t37B%p_-=5&ksO)n(Hne(O}&AUEsOgHlwLt~bnuk6wav`JqH3hg&5zTjb|{A% zF9h#n@wi{cYW`hGV~35Y{Ny#@`rnJnblc=F2j8y9iNvX@=Pn4E@9Cqt|>-M6&IUZZJ7B>61Jl)h3&OOxBUMMc%Q zH@O#SWss#e#Fha6#I-dujn&aQ7ZE;4v7wSqaphE0746R$t89s<-B*sL8egez=x)#i zL8JErrQ!rL!~MRL>KP+cyyUI~bj{xj9~lWfjS&2iXG%i4fwm^m?apiz#i>K#O(0S> zvzq2Fc;cQGTzY}sIzS`yx&&KP`1$pVFO-zRNpkYDMK_m*Dc5iEo-&~6&OWitv<(Zh zvs=G-5sQe$-_bY&{G#r(EQW+D?{JubZ_J$Z1!(j`j3dDIFGV`jt%(6<$#lGlU%M4? znC(t9`rr1T6Kd+|T_Z;9nON^fJj=H2q-@5$YVGqub$Wis*&&Xx@bx2slcAWQJ1Y=0 z62@zCvEj6&rmlfl*&qwS_jt_weAf9SzYo6Z8&PgYB&Oc*&UO_lVxtC!vmV+l5=mC!8?tup$YxQyOz1@1v7rr1&bPl=l;n^B8&^Cc&($^l^;A=I0fFbBvthd&biq|&q)BJxll z!T5JVDIVkgs6DO$4b93rTICdnI#lTFT*pNkRn5&^Q|BifGurDf-gae76h)2=zWf_M z!5{YH+Q+WDUW9(Zw5mN*9<2Du!VBu!ZkxB&0c!~e3}hg{I_vRH>YFQ%|zeGv%}P=}`!hQBX|mVa2LId#^`ffa`)YG@zplQVpCrHbatv zTk$XQY(va$vC}N>{8%Nw&ck6zOJDP37{2O#+d=l5R)<=L$~)JZV>=2L*h9;Bva)Qf z7)0G4XDB1{Dna*E0yHj6J3PYKH#I4|Nd)Gl>%wzhp}#$*+=M?l-)HipaQ?-MupHxkN9VF@ zhzOBtZpA%WSOGFmibRL-Or#3rtTbbeR#I`Rp#XWg(cq;;%gg&3A)xG8lzo1;4?@Ub z(~&J_gJg{QnB=LYJ!_mrHkUTt*w)*jP7-Lew6x+IVd2`!F}-SXrxjj=B`c5yDey8e z(s3K{wD!E-h?Sf5(O(+O4&mV=nQGt{Cg8LtNdRnbM z=sh>7Nyi2fmp(P61%GqbJEqC0DUlwd?p`OUP6pc`s^gw*Q)}~^oHLiGsHo~Y>Qm;1 zv~qH8JFu2mZVvmD2>U&X2S$VU3tk7~051ou9y?S=Uq`;VNh~WR5t{%|An%q9sES;iXj-`Q zmYZ$aV~zuB)Xf^M&&W|a7yJb>e&6(iLyGfqM6PjP7*hpb;mP23z zI@TSb^HBa=EGZahG2Ic$X;-=&Ia2%~X00ZTzu;up`@O8@?{nG{EPU4nLX}eIrmG-z zX5eI66mYemumK3}6c+FSM>QI7hSpFN@R?A!VeXsurj7w0^& zlZ@Lla4WouCox=hh-|brwc-yy3LOw5JU6C#rshnx5^L02>$IEuv7M$3yhypiPRxgP zgAEz#$rT}QKQU(*G1cL238q-v;?UefT&J)wk{%Z&kMU$0&R@NA_b&LgeO!Mr9&Qmt zBf~gC920A_CWbikg1y+#fmJH>h)&xolq}$HIIz5q#t8pNzt4}5Hl23d#}EW zr0v@>X;xpLy&voNG&+!9)mUJ7!dN+qNP6n}jxvQACZ4Ho+k`?rR|@&Iu{QrX9B)1% z+Yh3n*TuVVmdDvffs z6s@@|h7eL}pTcT7hjs4E$Kpg`s7c%~rX>q9&Nx_iKHoa)dp4%Nz#YdRq*d;ZRhTDB z(wS*hI-ugRUcNgackS@f*~_H3n%U`KEsh#L75h~YrtZfzp3xH*tRz@?^!c^vf{ty- zW>lknA~=fI=JohTdL24tU)}w#7YaNhLUO&1)Duf#p=RAPSBdc23tTk2#HPk9SE@6` zqjTQFi!+q5by1S1g6N(fg|`d=;}4hNO)4r+4llW*^lX7U!F~lm;+)eVXcuWo^0~-P z)Ht}Ubm3A__1u#jxIfWUD^?|JY1f!(`iyPkIDgExKAJq2N62LaVkcFN-ILfCCC-?n zN^DF?3Z)xN?NKFYl}YJb9A+C>FqJWV*e*ygIzZ*2)4Y%e#aXg-IPays*gIf zxu!`5atI43+kC$%V$g|lw-lH|J~Rx7K3D%t!;Mc zrjKq~o!&ci;=5wX{4p3)7cCXH9_>rN(S%3r>Bbly;^k4hNSmSj%GOrzI6;hgYWveJ zj_P6(5`QlB#Y_xsLWXbnVtmI@Syu{7A>wpvyc|g7h%l}!Nl+0$@T|k?4If1(SMs__ z*BF%)>83@`jh*AUGdFm}6GF#c-L#?^P(NeOYeo9?E3E>z?p2@xlDE(EAnSs?*ek8u zBBnbb!bj1j+UUS@PD6zCSzb22rU#Dg%tl110zOpJMb5WR`(-DFv6v+gDNLE9DK>c( ziSZ^1hx*RDGf5YI;$ouo)!M0^rd7^5_rNc^HJY)$(0pevHRtQlo{Qt2^AKfPL*t{e zaC%MNX#0JC8r@3=PFtt)4CGkqA1IZ@fQnVB+>ok#X!ka(AACACs(A6#3CAMyN62EQ z$!^^me{pmBhF#QXcZx!K0G+@S%~ikiPb4IgI=*L7G;rmac&f!3htK3?5d zQbpTes)i`v)dJ@Xq3d>aVI!VCVm2IxqM{gZkP`%84}U0s>Zu`^y_8^qpZT&Ib?moI zga0hW)gfY!m%sk9?EwkPm*+_;UIm4hEyKa5g2618%x7VLg3pfC!G*i=UIlOAtcCWh zjl)3cGBN8{<%b&5x1g(ve|E~o-g4#r7cX2ddFS@!FfM35*t>aVoyPPV;Qx?Hf^bs! zBa^Uo`N`Pso@6+GX2z;iyr|&mj-%?MyRnQApE_8+8ItiSIVdX1yPx>!p5p-buTtpf z{76aU!R?`@K+0HlzvN^}v;m7jRQ$Auu)yTfM|=xRi&l7u)Q(V1yCw2<(P0FAPr2jV zZD055DfxEsuIPh=)lR=c6{FMU591I!saiX^G3`B-Z63zKwvA`y!s2if`AX%!xoXXPoF$d-&k^68qN#7n?tG18NRSI zS6Ndl5coVt(CgYn!`sv^rEoxe%gbVDlF2oFbSvI?a%v9k;d=kc@C-Y&5hNQ^GdcoV zNmi}?Jj5K?x|%Qj=qwkeg|)VfqDVG~C{0moia#Gi2(XyE->+M*QB14y{YCIbzg4sM zx{Nm=+PLqRIouV0{7U#hDy16tQHRcaEwhsG%HaXwN!zeHkNHS%ac~T<`#bD6KOf#K zI{iIy^;s!Tb61HHrDhD~qpDJ=JVv|CDGC=}wssVe`2JYI;_>|*x=se0MwG*eFeyxR zT$$AUX31T=vu8IGAjE?sHy?1q8la%~# zF?u7W@n{c&{@LGbgdJ5FpI;!99_ssp4-m7bin`J1Sy#<^`Rppl!Efo-A0@t1DU*mCTMaw;#7_fI zRgK?yKS(&NPw`};Qq85mF)e!LoAx1H`Irrw$jFU>;o&Gq_risH1<M>wxpeLFwC^3_DE;|h()P~kpELYMJ>&b~F zf#X3I<(@G zJTzjWT|M4eU2{IPVPp>_1B{5(U5!SWzQ*FzUfo=hj`#QtDeI@ar)mZQFWH%6>4>3<90v{ zzvVje_7bvwYOvr6{p)9c-`Gv>B1OHyP5B(^)xZ7u2hkO}3L~%h*Vd0d=YL=7O0qFSeqilQ^jKh0Mu1sJ@I+>^yNbL+?AYb|oj?3zjwZp1 z)YQsM8eacNb%(4_fEoPMHDv`(405Bh|Nh390{{BPeInY0FR>Mf!Eu1hcGIDZS$~^=0YI=H~ zg}}@D&mVRYw7qA6mUF`O*kwE6TCm2#)uoHGwt_BgqllBKcMQk1w)T$BgZ-eg^QT`u zD=8+D`p5ndnBwSU0+?2n-1Es3$I>OH2X{JuZCrPrvRh7(`(nIx@%H@C$fAFG64`Dzv|k1l24SAnf{JM7pvzI>L z^v2zn9P`x;lC()Mxt}(yoLNilk180nR<8*mMZFk7o4~#LYA}Na5J0qXq1yWqx$}kr zGf+0)=p`oV$aCK8x0N+{<@h|M^SwUysQTQG)ORW+#sO>qxic)CdemDMQ@i>a4zsR7!hWj`t@=Tx<0vYWucYqg^BhCkz*{!c7-oTa9? zX@h~ynkp=pYLbc0^_If>l`p|L(~hN=hc3S9~+#JCLOF zc#DAf!}0mkjLT&Es|WC?fYMw7N~0{jZ4LcB+irtz73&nQGb;w#(yWNX*}MF-H91C{QNO_k$qN7zJj=&5Yfgec~*$^yKoM>4Xusq-M zF;8|Kvuq~k*c?e>O@=?f=**L0C}RdrmTy3h{j_O9FjcLDBAPQ-Yb0q)esX0Lg}Xm8 zG6ysZ#!QEBynQ*d$*`-5^=ivTF*-m2&|1%DyxC5jYl54R$w(KFD1^*FI1M@HXrXOK zLXH%+Q2v@i68qqUggZx+9Z6uY1Ld_lr-^Jla2^Qgt>d%EG&v~=lVzi9GaQbfc?+_UkE zFmi07%pO(A7v3=Qx*ls3H{{w`-~UyRrk5Sr!PP$sttfpIt>S<=$X)310!_i0%NCS) zehb(GMFtO$-;s_^!Xo7g77OLK%WSww-EUNXzU&W0g_b^Y5`AJ?S@+|EK8>aV4)0N7%tM_U2oAsaQ2==lw`(GHuw-?aqf#pyqRC z*E61t613~+3d7QJSgkk~&tjGk`NC9lq}&5geAnGsIjXw}s5NBhyju^G-_MTPpVlb; zqDu_8J~Qew1ym6?2VORA6q8=$_A$XG>!S^iriewFWk0^-g&%y@987Ho6mu!l3xFUolw7!}nDY|gq-S4gu}WT)o$dl~LyXycJ1hsd`pBp&uCk4r#C6WOV91DU{t~lhGyC^+brwC$ATDq za@#zr`rN9TOM)Ul{*mvDUf%1pM$F@R9%sTwuYB+XTkY$M${7~1AG?#}#W)02?@#gk zICfct=WM*YgN>+LNI=NqU>F@CR=%H*F__FJ*Dn(?F&V#b;hp>bL6IfR)N-t!or6Ow z%)0Xf3n0!>MKTTFbec#&jxopcgY0dUYt_q2lb$;f%qcbb+cZ5@8`6=yCRC8it2?<+ zM;pQM8c^o1CmJ~n&fWRZ%s@oFEh&%F*ERtTw4qJO-|?_l(S2vN3iQU{x6P0=w$^)z zGuN=${W)e>{@0K-alkPYP3V{dnGkzb+eRAUGb))%5 zhbh?Z@}xn<58uTpeZ&Gs>jwNM>OK(EFxY4e z?2qtLSFD6jTP^-5COqa{@J{!!iYROzje#Ul&TgX!0Avvi2YfNcjfZ*Y&Y?5eG>LA^ zS|q+aWkYvXrM|9-e8i%Jol6=xBfOazy#rm~D3OLB(IWYqS+52>jf8AQF$}8!xB>X4 zv7+TNs{g|8YMrWP2M!!K)JAW9k?UksUlaG z-N~q24jY3*g`L+tT1i1cBbMnrz|`HOGPgDsvi>Wq4aNVEwb3fajs{p~W@aWVGF%-T zFKRq+x}WX>`v;Z-C17GU(`)_$aaH6 zT}^Fki?~D5uv2!tM z4qt!;^DMy^_9fwnDXz#EDSX1pr34KlU<8-yFOj{>=6Vf}d!{7Yl0{O;NMZSdu~n2O z-D>`+@e-%=uU-`NX^wqCMM$2I%Ga3CYgAhfLN^1aRS^kMh`ma(MKmP^MG{w%z*O(% zu*oEB!cTf782|y2cU#W3qeMN7kC7^hw0L_q6tg0twqU6T7Y_8Ns$d)~A=3^mox=Wr zduxRj_j}!*1O-`#oV!+$*5f(YO0j8l0o%t9klOiHrZ07H*}do41Z{&ZB9ZN73gy;3 zZkW?-`#%>tXNMpKd2(rMRv({+Ml6u*{bms-F{L+Ja}aga^!G0ca${?YY)@?WKC1E` zt*7>r#M-x|cBWk4C98#&Q3Apo=ZCYd*VIeItGDd-!d74GEV`{`bm-0obT(3vxvM0a zKHBALNb0_=+1-o*@3Aq{j_wMyaR?qBMIhY`ZBas0G@GRHaF;?6#VyHp;GTb}G?+9E zG^2H-x70Om0p%m9f}=zn$sCyHS>ds4$V7*X_#uNKO8!!`5iC`E1F^wY4okZqKg5tU zC$yOl%)$WCz*hzC$c~V9^`V37O9%S*0a8A>VIpa`G?KiM$=Viq`3j-is?zct@5{3e zJ1B9WCJDQtE>e%GM1S?7BXkr0Z6V0Zzl3)QNv zR7Lx7RDRc{xW6dfs8~}}K$WM%>M9$;o1Dm8aB97AWaI3Wxckz@v6N?^ROcd)Pg^9+ z5rq!BuX{>9R##UeH3Ae%L~1T&N(+I{)xI4M@%W|p_Y`?u1bjBljfsHw8>LrBrgjI; z`PdY?&+7Iu59M|%esxNviU6d%*k8BgRbhWCnkoOXp}^tQ<|C89ih{opG53M@(VZ7{ z2O0$}q%FESsn^RVb6G7TLA{I(jo^C@jS`<)J(mfa^!XOCbZEwZR85{l;Y8cetFe21hqePQVV~HiF4(&DO-=qOLrFup!h#Ls zVQi~1{WSwkujj(JD2A>I3yx7lMw1TY3?xR*!l?<@&ZDhm0=fG!+SyL#a(&BYj-_Rc z(R=y1xwT&&E0j_PB|hF~yhar^rsXvR7LUM{N3IcH(c4hHggrU3a>m=tZ%6X;=@mni z`Q7gNOYlbif;4>_k20%(E;#j4*FaNRj#pl{Ih3kyh0GZ|d}9GmAV41;xpAm^-0!&I zh*WnLnN_wy_uGb>;(f;SqDeM2jE#l1miZ|AaB&0Qml1meYK~eqfN_#NFt5hHwJj#u zcLjuYPHZoLpdEoo-7pHf3mhl|0s=WKr`XZ@ohufLq@2{CNMtNODP*GBF(x^7_nX}G zQF^-4C(-eLSBj=f%7#Kv+X8j-#K|u^SAY4I^+4UdrIvKrt&Nu=W552P*7^BoNqE-9 zr$-9yAhYw1<{s!!K3t>wsJ-15+kp+hpD~Q2)4T9OE$fjJf5rk5><)Y`KySvVc_RJc zTC?OX&fu4~(}}Du^VAxXE1gM#xOnXZ9rr3mmj;h(m_m2w+6c{dS1gWa?!yH;_EJ|@ z3^*?KL(q%Vgs;=eM^tvtdjCAcxnat1FAN6Nc&vDuL+Bn!OEbXDA#CVrM zY_|Q2*4x)7x9gL6`<**mnL8@lnu~dSfoY36o{lry*wVAJ4?;u)+FvR}a0~QDC~g@G z62*odzCsy}WO>yHpFyg0m?m1^&)!$wV+o@Pr*+kX4N2yF>E-I{x1c%#3^HfeY_->K zCUBPW7UKuMb3O?Xer!w>-j!V&9mz_HN(xeG0t^ySoCe(18?79MhF_^vzl!{^KaH;L zij3f&q~`k*CTjV>S{VB<$Ia7e21Qh0yvP7Rl^h;Sw-pq75* zg}zskTH?C=&{7;LQ4G%^X#>${P=4t{hN}s#wbrL|%@2RJ3hC|d>vIPg0KIOf`6W`0 zc96D!k@_WFmm-m>qm>^+voD8G<+>{q!4aPVLPv`*D;TZXZ@uBKE;MI}I_5)vRxG=& zOJ_3Kx2#;^{1$qW8CnP`Xuj$%3+E0ACsCL>`)$bXp%{O46Ywf>_9={b%C;o1)3UWo zFvfNKPcuMAC-3u~D%qG%Oc5fL**@kYM0pT<#@B3NcT6!S+t}||xghJaKvuu^tg|9W zv%N`rJP=J8Gz>?3o9fQow(lTf70$YmJ)C8~y4y51sJYn2lp#>*gyAN)n={=Ch#p%e z2TFN(M45@ZKhkP+d@5Xx-E4!_r0>bdaZPLMQr7SF2gDP)D`~iD@lFX#5M*wC{APfb z>o98+lBv)E(5ES|h=4bK>}!jBX`~&z@~gR@-sJ2gBl{tl9qi$gmuE)veoSK(Db)e& zi?je)R*!QiKP z`EYi0yhDW?Ws8`>|9*BTZ2Es6J0w0LU8I`6&=FLjlP5|W%NML|(8pxIVF+91o01y|MV#fmhzzxgZoc7WJBD^lKv<_IR3^O=`Ms0EO9KO zIyY)=$C+6-dKI~G=;-LwKR7}49FBaMk`TvQq_`o)Us}14dtX?O%mx9Jx%1Q>xXp0| z{YFnqgH+#fc=0tm4066GZ^TxrCtAyKIO2lB4ewoz519Y5|q|;KJ1%T7Thq3lc z_X-S*&-f!yHnh_93NE|lmVo>E83!kk5}Q$J{@N=i}jjj zX1m`CIxap8E$3g~xhJ-29PPc1|K^Py;4R6#@&jFW0ob2`t{>{xQxAVj46ZUUz;vZ#{TzC)1E};XS+LFc0C$qPM-qEa} zk$#ZnfRg;GQsIVpZAz&qvKoE;@;kEjPh2>=6*K3m%|OI9TrAJPSpq(Ednwh4W2qrF zSQ6Kdv|WcD-gXfvy3+m(bR1mVaFBn2^d*Q|DrkB$d17g9O<;B~%YcopU7{yb1=kf6 zwoK~vj-1;Yx8>VOwhrgc==XocSo=|YjczXEU*6mzwl?qExACoxu_O*&^{JcL1IPPV zgKTMsYeH7BmM!%E#&wW6l;?@*BwNt&^<|71V(E71G(ao|6YcGsVv)YB-__`!;C+HU zdA2xE`l9nJXfz?#;)9BXqA};oRle zj}N=8RXChhPNT8iG6qu--9Tpiw{O-{M!(x;Y)4kq13xkO<*|G3v(=cuXaiaGB?vj|S?stN5Yt$stmP_HcN0k)Sj- z`yG$ljCI5bs?r2=fYa7!of<&9LyWaW%zBAm6a!`w)a&0}(HDX5Dly`ZAc;HAK_V7J zr{GN;T#7c=T^2|Lhk&XG=c=ccR< z5oSH<&+k7~DA`2`INPw4t!>>Ix*NYC z{-&{9b@ydMkPRQHuAOfvwVNBXAqeHqlumib`v8w#E%>9ZKu6jyjxeEdc~XtgXRI94z}X!C=~=sxwW)c>P%3yB%LtqcD?a{oe! zm>3PXE_U;yYiuThUGbYGdR^NK2RBam4?b>$o)p0ZO$-b1y1{pCG-+w+l+JJ0bMWYx zW}-Q57(n18CNq;CJtk9R%mf`|jdB+&F?QVF~5&_3;ju!d6nft&({bFIvY9% zSnX=i4snZ%PYspvNf*nSp<(>iA4Y)PLft=xkWQZeH!lAl;qsc5vZb5UpOFy)tQdjf_c&9`dj#S8Q#o;(4x>O7<= zx|W#jA|3VcU7DuYj^H=w!$p@Z3GpdCEIXDbmPC4+M}e@7+>%^T-hopos)kaU(&{ap znuit*RcRuLFUXWuAvcdu8Yrb zdqM%qUy6~!QL=JL^X%7yCIt=2#uh+Cs?Y587zJ8rbsz%kz{O_(3r74AN$>CSd~Z7v zKE&kA%$t%(OfsvL#;B%~7cUeEx-Fdw?gRHJlj6!Hs751Drr1j*lXe!w-{VSU7=ZiN z=Rz+HGOu?qmyiVFE=3lj+EAr(XG0#y3}RqoYZz|DA~smW>gEv_*BYre@+Rtu><7=8 zSN?C1!I)lyeh%30V9|7Qrr})oH_i2wxGUGp37IN;cjZjcM&l-x z;MDx{->5vHJJTjID`7wrsM#kcrxz1_SgWlN9-_VNu&1suGYxz&{i_~LkT3f222?NFQ8ugZhl_kN4rwCG&aQshW$!lA&hr08}$c+*RNK@%DbEM`xGz!ggj6EpA$z8_y4I|Kjbf`=9X#u5EN~F6%Md^@|25FI!?(P z*H6^h6yk;1fGxe>GNX?VgE&%=Z9iKjtzOLJ&SF&oEtG8v;PZ!&vFTU{2 z`1GocbHOdp&bk8G%D%r2PqCmC7x{96>$EnNbT4SaIC;3ujz;alwe77wf*GK=j&R%B zT?CTh8S9wysua|{rEjeJWQ^l$&O%chtLGU7sM|5X*&1uYSOnI22&0O(61K<Ij>LSW}Lq+!D4}g%mXQ*h#4+|jOqC3vQ1j;l=geD zNkF;HV+^mmpA_15d=n99QYDlLwiv-kaS%) zFgF2Q+_N<;_ZZ|f*b>5F)vjgk~RF6-y7KHbl(_~xP4s*LAN{t(mKRy6gd()c-i~ZQraz)@d z9v)(T6n1U4Q@0Bw-4_NA!*FZ24}Pw1dN@d?@)(O`yW8CEIhW;~wuM4U@lCVcdX`Yz znR)tP{c^QZLNV}d%FU>R@hiw!tnu@FiqxRMwV2shX~NW=YSoRJ4$r4B>L?cY7_oHr z*2X+2Y~&<4-4o_oqHakla%%G?o;c(g9$&ecNhwnhM-W$7S|$jBI(K_Zw#fO3cI8g+T>?NYnJxz#4`8c1odnf}c+h>8 z^X*%8Q`tp=!gZivy-yIT_G5{JP0}&7Vexau~5l?(@ z`qknIV|#lC!l>>RW|HgML_u{BN?$3p8nUAU0!5}soBAW8_0;e*t|4OL;8=;@6@NT- zuJ09T_U8q5FGuoC)=D-f#XOyT?cTo(wI;h13oeVP0B}e-BFcN8oDN92^p#uCvwgLW zy7S{$aAr)@<2<+E?aAp+&Se!#j>U4G{xpQBZ2zV?t+zAUMPyu!Rm;n+=fE~%9qROP z!w3j8pF^OuiQ&ob%sm>0X+q#p0A}xuCu;&})n)CJ&MCO-z+DkJ9upcJPaL$XmCIs3 z-|peDol;2YR1$)TONA`=yz^8Pv9SAR?Q_PXr7?gseGCbykA6aXCa**q)Cwf1pvWZ_ z4E-eC-bRqG>8u^mBZt3slZJ3;o}(}Z{CJTHV}N-t*W9VTx`Fna)#O=JPVc z5YPoHMc-jWR6DYPR$!)mBS3K^-Cvf zFWrh!E*#YI-FqU#a!@PO5kY3V{IhJr|vmXsj{$5;g}j*L##`<2}@E= zFUg7F(AU@EVPkYHNAcO?^v*MA)q%i-=bPYdrEwK)kHZHhN2+T!yr8?4!BSrd{fqmbSV9=pONh%b z@Tk@Ee?6`gcnbEiiBzsyKZIfD8v14=1x~uwykceMvxlNz6~1l?H!09)!|#!4%tM!`WlKutjwxh~M*h`(@vSl=;Cy#g_@%#UzA};e895d*9vN zUF`fktiVTKCSh@<2tZEXB*O_UUWb$S*5Z0v23j?nTfJOno4*P=JA9-!)PtbV>iM;@ zp<<)!h@H83sTua997(~d^%xkS*RJul9)%3uOv77R#>RWX&W<;UrS^{K@kWby_FgNn z%!Xx-ztN~X79(4tS97&L=XE(e5iFETm7+MhqcE_*sAt@p?3%uYHhQhGrG{9JMNUFO z0)x?gqW|1Bt;Oy8vwlCmuaIT%A__OrY{=*;kOJgG8wyz~Y(GhXFxlGZ28}g}0xX&% zuepG@_q~Rb)az)Mb6%dY($UkQfNK;QKOc7>Q{B#FD4l#bpx1f!3nrHxZMA2-?V)1| z1Y1l%QPjT7_q~hrCrosh!4Al>lT|AHsu<`Ct&(@HPR*(qAs&b7NOQ&|738$xE z&dgRFVqEwg92G6mlO&A4`#Y@N>{!E^Y^Ae4{o=%Cix~w3sM7;-`Uc(2KG$wD?(784 zoH)&LB8AGIE$p#i9Ha9YV<>0h*VWm+tN?qwg{fO-LMO+x+)Zd%;-YCrtMJ7eUuc^St^4g@y#Hkuk4}qCiTQ z+T*SZWL}<5VyFQ<$lN<@Y;2Uu@nfP+FeLjT%OvA`?W#*9W?o*fc69E=Es52?#HqsF zC{MHH_c8=hDkAQnzJ-J(iP6Bw2nGC#muW`;Wr~NLV)0NZ&#nzzT-z3F#?grd^gOZB z2TY}`CM@QfZ<$t-Pwf3Ywst|b-lmm_iOH$r0A;SVxFUEb^T>k5+EBjlpZT^_Pk=Ij zNKXFk(w~aye*ME6_)oHe@MmBC6FV1u zl%M_W_y1jPZM%Vb^Va^ex4(+MC0t#*avlA}T_G!1Z_jm^!1EucOOu)h>gU&geuuy! z1{gk$h#^Ae;VwI$zY!NYNcCJK#tl5jH~zN}+JA!c5Ul%ioZ^p*dwTWX;Ch^T-V*#$ zN5+rezIk}Rx<99BDq{BZ%f-M}Fzk1Wx%gL$r)?|>5Uv2<#>~TWKOrrga`SI%^Nj0% zcu9z^!~J8DwC>My;Gwp^c_Wj5LvX2e@9<@fh1l~i9pG|&;mb%q(TJ^c`dy#$c=t^1 zJl!T@i2jYRV>f6Ub9{@QqG5H~DA_u2LN0YC?GXUqX`xtQFF|hO(J!MVVP7n|5X)M=xVcAu<7J?GfPr8Y*DYDH1CgQJ{$jTQ+)QvQwt8 zd)1Oc7D6WBv2h~F!B_SCmGL;TCaKq-MRNyBEg990uCpb%y%U`AEvs^IDq6cZ=>lH* zXnra1FX7@+?|LUap1=CXz)Z7cRON6(MfF|qb{3p(mkN)F2xJnxj4BLjo9NtRH7<)2 za?Is^Uyjo-m7=>2Rm5Rj*E)rWj3FU3>4<+)db^ev^Uk5ZiBq&m#(r` z4PmRJd2!=vzEq)*A>Y-v!lB4yd-bfygvIFuBUjHRMLBsJy)abOS*6s0?D+ag^KERA zH(uzMM5M?wjg`4w`sr$l%Z=JUR_fST{BoC+GzgLezrzo=F;W!nZjRL!OKXP0_S_IYhkV*!2q~I!v5fg+nnWSChyJ>&|L}=#n*xje>+fLPFOk?NEC7uY`u2vll&5- z<1zebxm0t4>!%j)8fXWQ(Di+LcHJ@Yg9&R_*GSt%QCOOb-z_!YsZ@D4uY}U9wL%6D zw!|fvnk0-{k69c@l#8C}iY|MY7UY_ZA)&1;SaZS<&F^||dM z&|49v#zJ-BDNg1 zgrtPs?jbtbne9_Isi4(?-UTIgedZUmpB!~7K)VM9)GSa3U5d??wQUXYYVY*Fn(*{~ z%1^cup`cc|+yrJMcgCx3j|?y-TYShp#2^r{vwI)k`6&h%`Xxg4Y~|_$G^`!_xEgRr z`mj-{43qlgZ39R6%j4HD=GzfI8R`#WE>!Se#`ftbK-c2HE_rDW(?rNJ@7YlZas_zD$jg%q5M%l^~rrw{jylsevwt0BYZfCO+q zA}Df_^buA!Qf0bLKwwyUgdz9w$@oX-MhulY(@eYa3#v!%Qo8Bla8|NbnVDmm@B6bYv>Sne|9Cd2qm@1pX*5c?oWb-yEHNVm zI*o@@;So`I%T}-YFv@(FT0+SP80;-&Dr8Z;aqc4{g3?rL+|mb5F|9i~I`9NC1fWMt zk=koz-TzwWp2?#=f(34A5|WZkY)mz+;9ck-otU7wP!<#KT(I!qhCme2Go zDd7qg*qt;}Rsjxqgl= zBM|YA6MJxaf9gh{qO$UxIVEMqdV78t!pVJL(l*_-8ztdVX)tlwFH&fwa~#eHnUVyN zpy{3rXDndx>Vc%@jmpW<8LuRp-u&@2zY(3(vmmYastek>^drTks9FXn>u z@#qbwp&k`8*C1ZcldHIsks901o497j41v;dJ(=fbaA^;RmN5^%NomKv7nxijd03iX zm~S`~4w>CDW!?J7N3_zDMFH_l^JHBq7|{Ag8M z$@Ym3C^}E$)ZHYY`xTGsy#%#KT ze}qBow&7h89v*Hs)pxG)9F~1C=i>&v^E*5 z6c0Efn=ZFIT=$5BV8?gDvdrqg%L_%-;5SxecVwoLikUl(^WWTyJ>^zaxc*ZMkTFs2 z#^$3Jc+VN;{K0_0A7PnVVy9G|f3vy0owalMvnwe#H~yOj7Aj3sQ~l?9VOt1~a_3T; z&+2RVtLGD4$cL4FBxApCqSkSCPBc9^l?V^ai;}AAL6WI0kgOV|98C7Qj*QtEEUruA zw*r%B=9HuFX{X*KBJzufP>SA7=j7HSrLMPgoc=udObmx6de()Li~Co?qc_lT*V%jn zKb<5tCltvt2Pdh1-8ySCy?$hA*v{rb7ob5%fJMW9ccrnhW~x&|Wzn4F?E z9GBK7ZCT#D4xR2~3bCQBDbmQC>#TT~$Vlz|ba|^&ep(#>pIb2wmIvyShAS=yb<#-q z#)L>Yn8i_k`FXa)rLM@;vvtQw#E!gJ$*t5U!AG#KG!$#`A5L7ItZ&IfQ7u`QUXLDv zI)mlNtIJKGcCbWW0K)oGHC=AQDfcw$mY-tL(nen~lxI&N-2PjR*YUfVHu@1Z?;ym_ zMTMM#>^B+|HYmEeyMf^1;h;lCO^`LYI4AC}k5))O|G^@7)XFBXJ=+;*blL%S&d^7X zmfU{YxvJC>!AC0@S1`25NmS7*tDm8D8)B9NsSHbMTUhoKx zfiMP*WSyMHqU$2vwWxOcbdlG>7znndV)>+VNKr9^OGN`iDxm;>mOP#s&3`;{ZI8^; zVZVJ-_ghju1;6~KPtUVY;x9*&mq8>?FuY{jWwY$9RU|kP$Hb@T0iNV4w-yxmmj#8+ z%EpJt*SmxDzno|($*)s6bz{p$J6=wVL~xzc65S@ zl65Q)S1;)c*QBlYS}dm)6~o>HoDTPk#KCp{qS@l2xl^faf<}Opxj)vG;&hpi_JQ9C z7ug{KIcx|yQtcdY#4_7(`E}yl?)~KVXYeW=2(R&>V}VhFHCU~iEp5Mm79c^*hZ3CX zVKqjwXSDg+i*q{d{(?Lq>+A8NkJoO3vjds)QNGdnyoz3@Mhg0U`;8b_=U_@Ovuy2Z zGKw+j5$FG`_}LkUNtf-26s*`fK()eQd`{rCxKJ!D>{oS7Qk3CRPstdi{Rw$mmiJUj z98NFSHA+Hu3t@36^;KTi(XpOB0_;8y$VQr0%DYNN7#yd{D`PB z!qmq`corn>b~H9d1~pt|(VBO1DLdq;(x_~F6NudsOpBI0>P^MPfDZ6n=H)2zGO%-& zyQ?wIiSWO^{|oAe2hQs^k=LhCwoju-nzmK3UB)fbM!5%HPSo!;Xj3~xgAD){Q<5Ob z`y9iGgAhbDu3aUrha4qZqBhhZH}9M{`S=;SaG+mBPc|r9cTy~48au*V(5sHI>%zT* z^OzEiC-HQiXm!og*GX)!ZUGCz{+gqXtPSfO%VX3o|JQKnt*#VfWD8e!w3nolQ)~Jo zRy;PE*Xbl23h*B7>ZeCm#&MJD5~i(XDrjHjzgB~Q#b8%S;W5cc4WOa0_fx`KlSdUW z4a(&orrk2P6~_$$4F%JTCo2r&tcC-Z;7n<}zGpwPzuf=Tz3bc7^Rxq+gLO1!ODQ z%MJC76!(;(V^{~thfptjeB_EZn;C?m50vDfm6hT)bc&|9(5NJGt z%mZ+qt`}-D6X1M*kx}C78TLQ0$@zc7CLhfOM6p1rvHatU(H9Q0ALK^8Nm})9)PER^ zy0aD*>2=ncaXyLrtk1X@tz^nirP)?y6(IJ=P2d;Yt?5&8q6G}Qrb|a{#|v9^4^X6HxI-7URn_8LAJws|9Tg3` zR99$56Rt9`u{6Ls+pIk|K6MR?}}o_gyKpk`i^)Xu^4L`pAPdEn)E-j{XGZhCjvwsg~Q`@ zyxFZ?x=YkL(vIi)xrn_25<>Pf^KdPl&;OgWb2$ zF6ICK1Kj+`qtBk=PgDze*5PGVxF!_dFp+Vku61au?uZFCH;3zYM1^MM?%RdvK}?zZ zcJ_gbM_w=)+t=s6Acv{IgB{hl6!Gz%nzDnniFl~@+|54IuE-ax|FE!*33!dV<63ewe^ZIIMB; zjgE1i)k*n97MY#?UH4pqlM`bB_`Svk-@_7SlZ{!Y^vY3*vB($Jdw=^v@&?fxBQ#Nw zk-27#ob4SGlD3!km$o}QDgLVaB@MzsKFAFV*%#P|G zDElwd7t=8S<=%hbdwy3)_AZ(u&pW}#xL0nB#gQgBKA#n^cIDoshV)*?RI%1;^XG#gSLQ9Fo=;^57qKO(7LWX*Lb4H}(I;`&NfIBm zb(v=`Lq>?(m10XqnFV5QoBM73My##ZumUs}iw#1u`#fK((<|ngt0WAI`By#>5n-`B zlfCac8XdqJ#cWu^4DcqluQ)>4Z?JMj1tm*$CsF9bu&}`Ti;7nR6#^puF+Uy#>*QE3 zsKdtf`Y9T!M*=A%2x|4|XH5qzd`bAXn?^lSk8ngk{Pk{c$I_?_|K2{GwPlXj zE_J*9g4|E%juB{+d{%Ul1V41^a=9Q*;}gGI6LiMMtvd|LTNFG8s{z3R=JQTj>Qyz~ zC31IW$3pGJ<@3&6J=BNfE%uC;mi<ashX| z)fL(Nqg(K4Sm!6=QxUUckXu}I6J%YS^&{kWcn6V&cyqc><2oOVpB*9cb8Z{-4$J-t zP`>;49gQxI5M2=e8+Sm(+k|VYPak;5{*gERh-ZG0xpKbQB>2qce39Lds~pYe>pr!^$8E?j@ku)|w*-W;zFH>O?r`zOrW5U8 z-%3$WxuEoDy4{vRle%ijeADOdU>cQ*3wx2alZP!V?uGE^A4Qq)7b|Q{=VkGiHgBt! z-o7KG5T_NA-u)5z;(|OIcAN|0544GAQah42zMF@n$;UwvXSNuIO{ZQG3tkyA0CujZ zm!4-GANRtKL;hACv6rw%ktw0s5(WzXF`O})_>ZziuE-OfPHd8nmQ@?z99A4SiXyO>PU1h?LDRyC4{=vXu~hx+eQBT|YR_ zH2s!Ts&J^cyA>R_fOi8B#ssRy2TW`=KkDC$1jLz5vZZ@Jnci7h+M$bLiTH}!R*?&y zC@am84G|6n=@+^b(s*=Rg^;_Q3^{J^Pom}|ok3$y`>31(V`IW+Z6!>$}0&W zwa@h1I>($!tgc5X&`%z_c_7NWG{Lu|)>b2v49Qa(I%8UIpkB6|KY1e07~c72JSL*R zj0-x+@Gq4Th?n;ODGjGdM9Xogv4Uc~?QqG})V0Xsl(O;q)|7`Dfju;8$c*HyU9=O^ z0bwMU4|6{#q;dSoQC()ax;BlrbG*v~Y4O+SHbV!C_>*?qJ!auBp~ z7*9M|dmYM|Z+i{2KM4cXGQfwz#A`a<_p)of^K_KdoIjqq&V0&7(wu&@^MLY7!jp!m zP=eg9@VCBrEM{|&8s!FWWZcTrG&s(x9ziS5scQi_k>9$)Ckt!-H$dfxy2U=dPaZaa zEFiR*+AX=3u`?#@R$6e=SKJ9+BKw=foxz)C$X+E$>6)jvgK&gw*5O!jOYawI@6AJ7d?0bWR#h0W%PU5=F zY+F=R-U4H;*2;B2cn(`#g!r9X_f0Exq1*_enY&u;dB%r0Ya(;!R=0lrae{&aWo~o~ zTI<%$3sx{AIGFFu0R=tb(cCYv2{D(uGD3F_eVYeEet8)Dwr(&$2iT90zmZZnpFJyx z_1w2%q7HvOvz5f*oBc7z?qNA*f4{sPlvUr&dpE0aA41E8!oT&^FKl7QQLkOo^ee}! zgdl8|R23n*28s`e-Ewc+z`^GSzyE^9jF(V@8i)uGn z4QE5DlH-iN|L~w9vY9~QmQ#sT{|nsmXzwH%rW`6_;m8>u5*s~!RI^LW8VShb)KC(U zip?rhh+hnM6!0HSh&0)a-eS}BjnO(lNBz$oC~GXCQFvgxb^q&tX^Tez0gL9W5R|$% zOvlh!=DRCJTocR1!?IuNlv4l(ZO67z9kFx!kC?{`)rr0YkV~6*mP%wWoW&z9pG{?( zwJJ<0^uIroY^a$5Q0izY6^} z$PHht4j-RPZD&TZ>uhCsxyONM=4IGDzF4;VO$LVTA&ho6iO*VhoJ;J{cx+soLYUl; zfuBH1-C=TZh<2cojsusQY`<+-v`|dE7j9GmXD`vJDeTQMyw94yS82#ztW8f^4>3wp z?D{My`(QQIU}XIeaeg{p1Hj~BxPWb>PgsLE?c4TtiJ6S+4t?g7o)8QAPJoi&nIYf# z-}*SF@mNl3&Jc?1CoVmel?Jt z%r@s}U=xKQiBI`l>MROx*}Jal8FciRy1-;;>FTCkplVsyt0p=zx%@0s_5-JG@|f7> znu6g_g*`5Ex>wUH>G6gR&)gqJ`|42n@MimahBf6}qfAC?!xt2Q`UtCBXxAuo_r>e! zO*KSIv?*L4ZG#T<+c!JwB3E7~9B4`oKkG1|3>Uq63^&tv8M)6uj5>z(nZ;5o8}N*V zI^=n63Rx^>yE=)c*j~-9O}(D4?z43S7!T)P6~4N+YLNd9$YGj(2r-0AM&>x@BXqdX z??ozTKwq{6YFEjoD<_i|*)FU*CnUt;jq|9N%!|a1W>2^2nAGAH>v&&jf8&pnEW8|)zn2^$6Fo1Hev?waN6(l z!fE1^$jD2PY&tb{!;am!DFeL@vuX$4hJ;u?GQlIOtwx$OctUCF2tg!3Ow|=l1%K<_ zWPLIR{65I%UUr5s>9kE}JoHME-O#yt0HI`@x~)39-;YliN|0zAC~pXy30BlKf2Hj= zemNX|PdK>X!0lZ`#Vgddd5ILIGU9ArjYf_%myq4%--^0(9aY{op~C7=Mv;n?&2dSa|=PjZS`^95PaqyalLH zpFcKiVnKI+sa!nZarvwn}73sXq#4^uV z*U3OuXwdV(di|!V&uy2rFfR@HN+W}4<{_5XJrWL9uiF|XvY(YXP^cN%ZyTxv~6`29NvL4|}K?C4tl9Znq$Ov>A%ahN)(BH7nGNMtqPQqgl9__>x^HEqmmh~*- z8UO&v??h;jN(O-9&1hwC-hgAb+43qXh!Iu`oFSQ%9*DFD7CpCp@m3|PW6Cnrt3tiV z(C#cFUvh8absR?J#ey|>ez1XtfW{1+Wr4-wA!B<-dqjyD7ldqo4pG_qWhUf#1$R-O zX0VPeV%ZwDiqSW@pcX9E~*B{3rxqbL%Fc_HPPkeGf@bOwz zo@JNI<=y3*3xlIvdEEuhw0^!i{kfvf02O!?6cYW`RR)IrOUC)%z%2tj%2X2k*M>^y zb@{19IpVbPmxe+5mdli{(M5hxQ(GI2U}@YE85E4nUu)gAt}Ok&t&Y!Aj|P5&Aml{8 zb>QE_V)GXvXR26*bcwCNM+0pS>SogOXI!=%i3=5#(Na%=uL$S1xl*a&+>uJ;xOLcq zttWLyOOeZQdY4PybTDYq1!TA}5RmabB?>E8pZ>GLLLuaHcRs7Mn{((?JLCgpO@XPl z$9}Teh1;bFj8stLB#9fgB`9J0779rjsoo4~7!q}p3{ulH^X#53ssbA8zYSd?w#&Cf zi3QLXX7tt&U!3s%s1}YeNxJ6JT~-yVeBqv7=&GVut8fv&e6S`}G2DmIv;m5ZTiMD1 z8{YPCALKxc0k$>LOITv{j+G$l$<=I7F3mT7q^zQn(xu{^mWB>X^&U5OWXhTYQUi?? z1P?{}ot(6pf9i_4`Va^gcj@rXq`*sT+~e;S7hjF?e{CCX$fFMQG#zU}VwnpX?VQ%j z&l3X7t*ue3|4S@Wfa|+^vdpnNqT1W&3(^>h$&_n(G7IeNthpeW@S&FJxr8?yx#A6REJJsz%7d z((#0cZL!^MN_f1-DlTt&7o=ve-0B@q8jUq9XY}3(7yJtifj^zlwoky=Xj$mwNOr%) zg8JPE!qsB4EoNAIgG0IxesI|xQseT9X&dY6HuHd!f6cx4{G;*!8OJrp>yyC_1$Wq* zN2t&D#~k0k=dY&Nm>6NuxA;~E3-Jxl!JzG=2(l6Mx?14pPb(A8K4GHLR&p(@In0wj z>URih_O$0e zcyk4ihDw*N@LKn>y&=h_C_{>75qt+L_&i<%2&%SE7 zARt)ZReSd{Kj)x+JzRETRcwFr?BfCx78_sDY*`LXfAmf34%QB(Tavnw#+6%VjB zp@97-YY+-+HgXEaG)dQ%SRXT>?kuozv#TkqT%EUNYGtW;uR4^6PkiXSTTj!eQU18> zlV6Ucwwr#(eWZdK2%JEM7c(!#>+e%@L$?mzkQ87gULzy&lk9@NKw-Z?P2B@rtW9R=7@$HwNl zkQ|fb-rxpNk(DwSC=r^V=l5AC`l}B^d-T%7pvzgsCt-rsC+i_c+Ih?$WdRfzVJx+ zuuc0bDe2AZ|G8Ro7;jGcKj<{jH}w9`sx^fX1E(iBg@rHolVr^OX?7lo0(|;q(ksbA z`KLL0&_y=W=K+8XQ2+7!jULX`r~T54@~0vp$IJ30WvvW`X`*jQF3-TipK(V_y3)SE zrs`^Rto-H?u*mib$I!WGYBi+g%W4gY7E+c9^rqZ{s%yZQB!NsVV%a((8bPQkvH=4xD&|}ut2#Q3*;MuLO@V*^qv)TZH zO$>a#h}=GcXW8~>U{b36#r3Rq!)lT1BmCVY=%~7mG3NKjj;nVvV+cU|3FYILf$~d8 zi;%t}dUtKA_V6YEPLZNaz&5{sd!c`wginjw)tqMzxk#+`g!$J7eUO4sP=LAcId?ug z*a|j-3}cBBe9W|=Zv~e_$fF$JKC;@w6NbM*H0RMIQgy-d>v`bbBpoFVI#6o4Onw*y zn)=R2rC4skhfItN(wFP6usT;eI7qekhz-e74Y*cL#Q#?z)5Wt4)he$XL8n8l0pVCapA;DX z2%$Z_a6VEHXt8c05za*NhH7fcYKbR=6m=&@ckd!n>TLFu`dU~vTmIg0s38h?Nutxv zOKQVV4y=HQXO+hzBwrNL@yj@}Yf~LX954wxI^OVX?HhKu(_^fS#E?{uKa4+N@QvXf zdBzT)cb58r{!ny_FUh#Hn^;f>7(dB9GE4OK7Kc;EBe;gWOl2X!qb_MFb z2W)K4@$@{TWN|n5H)YD#DD)?CIeE0A8r>Je??}a!RdY`mvwl&bttqajf`b+A6jCDE zzs7^i>G<+RA23bt3BM>_KkuH;!Q?7juK2J8conTiPDs9c{1}P1A*IVjE_E}`M0S&t z_e>5aWFI_{z4tTLp}Fe*zX7i-jaW_XqwUX91=IBgbtM1|88T~$@>veO|19a*1;Am% z0eDrdSU3G*2o6z)TBj{x930kP6;g5(h}ezB0vFHh`qCb`gpCfS4|dCv)tlLl)5>;I)`L!W2}23F6(Q;R|wda=H2)5_!_g zIR?iZ?iK?#pKN6)p}xUtE13b@XT)~Rr%EH1jaokGE=;++IuqrC2fYAG8R(asjp|44 z2OFY+k5SFeKPO!dC69s$0L?I_OG+#}GUc!C=}8kyt}TaR&ONzyJ4vt48^);Q5Q11R znA1J8!>*{JG6gChc*Gz$d+_7DKAl}Xmdy-QT1;*gCFU#-k-9Aa_F-%ew)E_q#5cT> zlRwDBCVzMmz0gZpN`GypknT*P>QCf0e|;4ccX(izPENznF?>*sRGotOG*6VL&~=CY zlB4ZC+fE~1r`@N}zl~W7xSm~c^t2tg4*uBDp3P6W5Acizx272h3SErtDyT`*+IXVs zF<}@Ic%`&w={JBJ(%DbI6*@0TZtwwe(x9i1=bHNAJahHX&TWJ4G>-Kb<%dbuw_WTz zNXF(2Ib`})I zD4WzX!tw7AU(O9gA`4eKgZfrlVra{{J!%;F9lLsZZc;T>DO`YnK?3K8(V+8%w;W^X zcSKh&;do~Cu(pJb&dlMSv6j{&D=XxT1LxpKcexB-;p$-BU|OC5P^e(B#%45e6uKr4bq;<2Q zBWZXy=f3U5vS7J)gel)1Q+szKt6e2G^3;{T7dfE11FQl!4sv0EDl^moF~jF_MI45z3z?no*M(+j_C-62hN5>{R^=b zW?mN&=Pq52XF*%X!z@*532(&5$@j<7_i}?Th}CnLN&AEHlUKgVISu|5MT2F+>B4^ZU0xZ6^p87IJ^r=q zMlLzxH2$<-;pXEPfd@NV%_O!lmX&diCY3XmT_uMIo0lt$Rh8!UT@%qa_7BlHOvdCt zJ~_JplN!K)b*8Z_V5_>|Es&x@>T4$A92bLcruT|{qep$DUv^bfKSlAD^d$c6SpCi6EY%b~)MU<;s*sTt% zIukWjBAyejhiITbrO@B65-1`Tuy&VL^QLqNj`MUH9d8LWefjd8+I^L?gPrRM35g}P z=NGCrcqFDy>@kl)7t3t7tHWKi#~!(VRr5S>=6U9`##dt;mXvapzAELVq@-jeW;Ac6 zJD*^#M0?*Ny?-AhzZW?j&q(!BQowY(>)TlJD=n#5E@@TO=#<98FhWj;ciy^Vir}U3 z?)M49MhyV1x8io#2#QRoX7|->R>zwv(6Fe(&pT4kT!6M6ebVOX=QnrK(3YWGyNDJckG(s5I{CIl)o(odn)Os$=Q)mG(-Ah9HqFP`=FT^D*s*084!SJ2 z+t1UhcNR=WNyHU}Pfn`*NLO1c7!G9Lqx$hhIS{1879a}nCl<(*qA=}Pvb=qV#hxlwM5Og<)*6RkVjMOGD9gH$FIBHj(Yxu?uI=igG3<5g-fHuFUPVC*=|w; ztvF{<{o=BJv=GRy%@LOM6Y+^uir=hsgN8N3T0cehjp8xe+}H2Ym=24n%CSNym*bzF z#&Q@=aYRc@ll7~o8UwDziA&SGNR!8Dxqk6BgL-_|N2b~KSX_m$glwX)dMo1z*%--j z{E-kEGxPhk@0TpO?2iZ+7*taZK6lTy1!EUYce9(Eq{1lOeRX2V#*Fg_2Vx0F08BONJqIhH&Z_*`4C8^qQ_lm zk`=r4$)4@2IN(6v`t!+tLj$%i-cGIE-I%J2&aO(KvN@ix&cyEo+Hh;2CM%Qx@nwy~V$ zYa15rvl$tvC`Ag}CGIf2c_Cnww4|VBe=>_MCyd4J8_nl*f+MbwA!@+`_RB(9gi2fc zTe{KbMzDE$IhJ%`j4Z&52$O|D&-+&jjo)iXU!8CB3)r{|8XJ-OBO&d3B*v^17P2!z z;R|t+jN9zK_=7&sX!Is`{i=MlOS(s81Hr(fuXc~d$_~tb?94m~q7U|n*FxuKrD9<4 zFD~YMsr|CVd4nIZJ$oX8OMhm<2DT~jYhjX*9m-EeDKWFdO?;SdPy=hhu3)XPXy>Hm z69qPr!_n09q|f&vmgSR)L5ZJ#n7~h=7BhI#Ce@!Y(O#;%(;U>&{Uw(6?V}$%ubT=< zs>mu%C%T?~Ssn6KR~x=@MD44a-oG{D{lVS%?V}o?)asC5QxHSsCM^AO^<(8S(fPaZ z@H?ul1Jfh+XE?N~4=*6D@VVezt#+Y}53!Vv0-GpUyi>wf_~q4%akneOh@wiK#h7rG`Zf9N-)&U`vED&7 z2U8CE=ka9uuX^5y1Q5%BGbC~l7(Qk%?Mnp}r*^8}g@fPy7lwy#ol3lXy{B9I3<)rx8te1}u%jhGQgK=ls!NHHrA23rpW2vM&SC{`ll1U=gPd)MuCIf|v z4mJ_qlzWD*AG3|8uLv|s#s~^-_$#U?Z?BxoFTMZ$jyhG3i{9j@a8@>PADx#`ypv`W zM`4lui+UY|LL$dZPNyS;j{~AvgPlq&C;Pq-ZyL?6mH34D?U&rVBh=?TH{GXep!Eps zGC*V!qE$K$&RyENx}xK}Tu26esrOE2Y}Kn`7Q|vpFBlV$fX_hBNa|d5;LM-bi+9fC zHeulWVysQ3uR=9p1Z{V9w}1J5xB!-qzT^+l-)}wQX?UfN*r-_XM+!ON6Je=Yi-*5L zN}0~d4=&a;4FXzmabTp4cf;U*EUoqi(TcF6l;ij79%nlq+Vo+mUaM?rM~Gi3wYk)V z{{n^6?C_4yr%d)A14%AK^NdQJS$t@m*7Lk%RGpt?DwGwK75~$Y--r4cjLcO_Z+?mW z>!3ZPa(US@-yDD$SuQzY7MEeda-MxSg(H>wMwfO&ZG-%~!Z>dCHeu;b`yvjzl%KAv z4n^=8kmC{dTrfL4r0G8^j*wT!ynx&Z8kMx?^AP`_j;yuzKopCD+M{mX%LM6J8I;4y`=>z1@nn*ND6C^0yNg}CL#qE0^LXP1VuAIa37P-BEBN!*P27U4#pjs|dyP#V{8tn0 z%hqwS6+P1Os!|m3ur6k)U-~RRBcCy`n+J!XJHP38ESrFd%w3`Jph!Pu3))$!gto40 z#SVTwealTM=Og28a8`(TiN)rx^#@Ew-4p#fVp{*pEtkBWS87nhx{y)HmO5Oz@5nwA z6}kfF;m9i$kg~&|)#sOMlp)zecg}~dfg6b^D?@TR$Aj`zjnbP>bC`*RT`BI{_k5Kz z-6!IGZ8hrV5%0Sb=O^OENF&n{+!a-%-!SY4oBjoGgCu7+8qymSfU?p%bnB^w>fB6$ zO`SaV?yk5+)v4ie65dYQvpgnUKK%Qhq%9x+d^D~{XC9L8M@!m(158sX<6bL|3OWjw z#<>G8(?&6_EtriZdNG{O9r>wPt@DL{`SL1p4^F+^O@c==4h4!iX548;#!KU_#rN(- zgqQeKvWPuD(`^q?QoUZ>nt(U6G>}LJe4g$|wxhao|H$i+cgeH}gJTmUv%9-hH@MxF zO{ZLVlx%L_y?KEzVnM*&{!Bakfe}iYY;uz2M$KrkH33kk>%IAs`qzngK6EK)FvB>; zYlZCk*@&G8X2W|Zu(-(67(~_gi8{}dB_diz( zLT+$|3PJ=uWGPge1KD8k+CG@FAm$>JZ5u=!3b*%3_&+T&S4)rB_O7O94Gs?0^PC;; zMVVPMh~)`e!;ljX8QRfJE57hL5ot4w#N6Jx9NN zojjgFls~0IO(=|CuqBeB*KltH;K&Tcytlwf%&2BO04VL*gC{}v{(SufkO?xcS$9+H z8n{_^_qDpt>Zw%WCbqM=?^w9nQ?m?@0s-X{iSj3MoFh#syT?+WVG0;Vr_&@N=PHYNb8R_S_? z9#hoTHk`vSmCaSVW5s>SZ#F;XSi1+)eBDK_$%KmRr@AJDL#R~Z1E~lTK66?xE^vPC z{O%-n81941(h&pwKN9#gG(%L^!Xj%xK=8686vT)sU~FnuI&JsLT|E}3->-Fjv?p2G;|%m8@iZp&wSktE#y5yyO3KI_UjkwTWqp45APvbSw!ATnFcFbxg$UY9G2mEu}kyq zFoVZ!F>|1cB}OQaXckj0Q^^gI9{31B6q9ieJc%`g{u*ODFHOxpA#IQBM68lZhYNRG zizYcuhyh4+bA+MVHfw;t?3xV_@yVrYr;Fp|mnu)PyaCIsII{{?8~@C?&j$8o!aCw{ z;)Qz$ormEu1?x^)oNjxo{H@w(DX$7Jk*!Z&9_{RTtZ|xG-*FlT&9%l=@DkJnb@)QB z{;h21vxB*1)&PY*ifpIDiw>NHT1%09_&ipUWQsg&(Kg4pTx(2UEZMW}RnDmP(TF??dvdVRF*$`zSJ;;qAgAmGniA9MfI-hGr$2L4GNJiAir>s_EES@ zXYpd@i36Q#-DLo6_ z>h+!d@?04H0Ib1o)ye*}fto?bOtUt`uvc%y(=$Kf@fX;}i=X|GW1J^W;1$v_GLvY4 z8AivKcZf~KlEyQv7?%rgLm*;KJjlI2?QWzLOe0g|!3Yk=XTX-9iuF$z6NOahn zat#TZO34asA`rd_LPcw{A@CU5?PhS5AQeDf=}CGhP(Z~oxK&*YXaY_BjlkxvcWGga z42C0gkhO+7i~drW=@dpT5vlNj4HD=-@7gAYX!LK*xv^3E3DatD7a;14^i{qOJx8FKfla&ezY4h~i1tiq9! zWi>4m&a%U#aDK2DsulKE3m|wP%u5(#Nhx;7V5Hd@j_ZQu!`qmuYz^oTnpWPHo``9v zI?@Pgu@4vok8&1N_x1)+h2bB@Io(&rB>ejEXmy%Q9Do(9@$@%{w-ZLaUwwTM5NpkH zXTQ4k)e$Q0^ROkfZ;}IEU~Y4Jdmge0k~`mgl^-?=`Zgn&TQCYJ$@{L&)PBP_u|Srh z*C_%$nI&cm3mz|)Z#ZJ|!`{1j_6GAdu7^$_OC+0P$J^7^mJnys>@U9>mzP_wzbBvo zj2dgyllgY!JH~b>4Vl0m6+iD)-t%92Z~X3a?i)=tH6shiQzE|TZXa(yiM@DObjM~j zJ)iZUf%;K=+{PmJwL*$rlT=B+9Prg4=6YZCRaJ5@DIr+)`4Kv<7ZfMB+`3mG#4|xO zPyzA2-&e5B);`s4888rm*yd}fCH%eyVdoVrJ-pV2&^D;4i4FC}AgKa2R}2Oq-HCFs zl>*s`qJiPw*S!}o{1eR0Eq_-bmEQTmT4f1ur7eJ!?av%V*QZRiX&zeO4K+*~Pbg#6 zAO7LQePGzC*Ahz89J*@1F`@Q0V4A_|rAkO!cwP5kpj^2PR_R%xCn;Jq2_J8E?xhL8 z9|D;MrK!U70ElVr46|;ubRxIk8<;++rxf|Zf(^zN3%&MqE^2nlE(T$Y_kzQqNhlzf z!U-{-ZA$W*x)k)P60+@ys8;AP+-`n_qj&`4i?93(9;bCG4^D$f-kaywv=$@Dy$MDl z2w6_+SSkB2b`m&@rwlw8Q37^dlf@{b!(xT~b5^6ci%!oAk#Kgx7#8XSr%kGslH#cz z{ae+n&+nvBKA^h>Gxl?be)LE7Z$SN8e$|I`Lm_K3bTi_i8|zEk(mP(ozbbKJWAF>7 zie&N4)bUQPOBO>k?G4nNw{dp%t&xEhh}RGixkKAI`sOgL%Hl*eiXA87RIvCmMfwJPC1y_9MA4hbL^-t7bqiMp9ejXvr%jeG*3X6t#_-&?UdIy`ci11h z)SW1LJhW=^(zp}4bDwBu`+v0N?fRknNru8NDz|`2V zDMc#EinDU^m<(E@C^>-%0O1+wm??mEc{_{s(3hebHib~5=ybgKRA{Uoa}x$|7Jv5m zk>_H;Si48Ez+HZ{mHX>9so2qt$5Yd8L@{{zl!U$?kJ6uW*uyT@eDrMU&5M9g>wr2R zFR$r+NB0e*ZWjO>B)a>;;9MVcJ{bHkShzmq<>SMwJX}a@-`{4TJKx^(1*ewj?lSB7 zvkx2u2&ff+l&+L?)-Zg=tnEU_>;2Z`4?f`!=Dhm;(W`4*h33r-#Ctt*qZniTr;61X zKh~*+!}1#}^I!dw;23PE&9Gb~MiOy=h}Ed|bo~kW3{EzV%B;qtq#Q?!lj-8h9&9pl~ZYL_w(iyW9Ou5nH zJBoOk2t&|VH9y@GTWW1@Lbn)WvVya%WxUY+lXhG+81S0zH$+VNBa8y9J60k&%z3J3 zLrrNUKZD0CUP#PGcd*XY0)WV7)e4j5i(j(11|Z^bYNK6&$>frcd13q`Q+aGTkD80? zB2fgd0&=K3x@0o=hYUWwx}IP<)t*&SeZ8+O-Evb)3Td^c|4-sP+6 z)4vh&k^uoN!6*2cm^16lyZ(TJBiw$UaO1e57PBJ;+eM*o6u{E7NwiTIJw&*esz;07 z?TXjX4|kS0cV&3U;?J23Hjr?s0<->3|B$|+ zA>VYTKE3Un1EO^S=RaI7ZHDBINHWEcwx5H8IcLtij9UHAj7Cb@fjj}+o6B`Xj2i!Ye2BCjd)}>YA-% z+DL1z_#hx(;y@jGDTBdeh8UKFr*L*nRjxn>wOk2*N0M)8b*WpL|YjlqGK6uo; zP`Xw6{jEt%#>$X6Qen&Px0yjy_nkcpgC6{wNwdZxEk=?n7KNUB zhqT{Y(riW6sY6mpOG|s(6^pErx8&{W%1(6RFkV!q&__AVX@UtP*&VZEbPNI1SHQW& z>csQ>B5I(nVN|O_k~z)tPg1d*-3%lX!R7u*_hW8jQ;JGCo3wcqa%^GzRkMD$G1T-d zcX6m9vCEw67jAz!3C9V~5N~oI@cp6L^fc$Eg3%*?sN2m?1@J^YB72L7N#SXPbVNM^ z*JeZ~9(9bWJ)BX#v)KPGV^#6q>aujg18iDkcpPk>)cZ(=v8lp1%shtO>~qtnrTRWU%pDLR)uHKijlFd5r0z(dbKZh@+#UgY@5U z{S#-~|1++SSWoL=2-IR{Mt2}3fl*x#@L+#V>tvX zg>=Mkop7GDnYX8B@G?!iJ<{XSa6e)@hMeGcVNgj0uud#74_U5@1G~C7UQ5<>BtsMK z0gfN!U_9Ft!^#@W9kDrF@d3IO8SdYrg1-plnBqFIhdm6b0JN_Ea^fOpQ)oofH&9(w ziie1FCP@}#(KW)nUUHo4+wQOE5d{W}#HO@xpcxiA6_sFWjQpqoFEU z1)#NK683m**oy$~vvmL0yYq<9|36W8%2&Vt%T|m%nc&FIo^CO&S%iR^T0)Lvh-&#A z8#M5@!@u9nXuN4A7RiHvtk4?4dZD3%<}T7h>$UERc_g9IVg_|p+BOjk=OAO~%59hq z0z8OLP&>Iw&Npttn5ZyNl`4b%Uw+D!>=HH%^fabg|Hd#KUYs>SOOPvcDsM_C(tl55*w7PA2gr1HlC)`2)pm0 z={9YeTA40GE$>r-Z5Pz! zU+5fZU>tCI#I+SM_zA;MQ!*om!G@iqS|r-dWT+sg5e2>W(*jbr9MIHCOmZmH~` ze{P4*m>>)2uoU6ZO{GUAJbW((zCmEd|3{GeAFm_PoN?+`#fR3{&>Ry!kxK39_Lx9$ z%#}xB`xoqwnGnY1|M+U+-RTb~0vvz(%fs?V;oju$K%Dr`udPm94z0g*!LQ%{D^ULz zC;aCp_{Zf6OalR#qR=V)?w0LM$FVYQeW#JQC!fklnDO#wWSXL0gvMZ-?A}XE?ei-< zD=bG&neX$x6U?PMoK6VMOn`LZ_^0bsC)$Z!B^w*pfR;+I*u5&fXVAb(IY5$nr2{-f(f=(!m{FdX{?BGS@%T}ROK+8y|O zH7!?2lVgjLE+_ye!;#OQMcPLA#&Jm~&Ka~@sA!Otw7R@Ecb2>S!?r_nRtLCgsh17& z4Xe9@PhgfErV_P}4%7?|XJxUd6;Hd1%HAHhM7M1d)^eTGi{P-hNT*147w@Y={f7ot ziTk=kNsR8kQ8n|av@nQsIX_iaeXH#dDyCa5lJ&{~(xJq(_BZjh+h)Qt`;0G~=s34` za#}H3uG|8n#FQuh^TL#re>xw?#kC^w8jg$RW|lykgt30GK44taSNypBULOe*{NDHr z!asIZL8Kj~>KN-+voK`*csxTv;HtX?|1iPX?G`ucVMGOSxILHj-JZQHf?0KN-@~uL zF~U%Bds=&_aH}Te?L#OQ>ry4SSx&)5qlmaJ<>gbMV3SyAmH~>XKZrer4peO*`Vta! z+@V1Q26;6U}vqh=*g^9X&ML!Ios!tCB%ncSgda=AEA=yhls$% zLK~8+-hS0>XVup{y9Se5=}Gm!ApZX6BM@Hlt?Ng`)ZOJDKZf18k8fV;OroZeY4{+j zSSSU!GJ<4*5|&2!dIBE^#M6{QLwL%s6`K!yD+@yjK`=KX%S^MS>jPxP_a(ZzL?Y?^ z0D*f2|NaR5ertRd-Nc}D7N}to1tVyJO!g5fiDC1p}4C($@g3Ji)KHPoGI zK5WwnuEd`)d$SQk9<|=b`Jq+U;wYqA*;O;J}`M8m!ykPixTdt ziR3cp>FUZg&NURC6N!U|TWcor%TdjvfrR{@E+7D0{5)GGfR^TCetvM56LV@Yqv=P& zn4g1cz&Qd`a>ry>;k_0Ck5xcJI)_BfD2Crvl^npiYYU(m`(gZ(4aBY=_3MY24stFX z-{cm)HeSB(qOQdym*ap2Y!xCs5irsSw=o{?NVX^r(V|#KJibD+ zJof2M_9rv)@Tq`6;REBIhQD+V_|4b1z5`e#29CfSz@jNaOlz$tUe?qSp&q9VW`(U| ziRkPG3?fo@twxV~D(#V-4%KkMDZ$}%m7=x+9*`-_fQEELzlbqfMQFF+ZHY=KKpg+8 zm1|ljSx!_@+#Uc1)9ZDQ_l#4&IpYRIG{?M02>i@r1(#_YWKN`5uOq1}j@roa_g!u);dMJuvyXX7LP~ceIlEw^bU4fQjjshZiI2Pa2s~Hdf+o62XhhYVG&HRiZCff zpij-w?r6$0tVH9G{!JE&$2jMEKaO=ehIwolO{lj{9bo)s zEeoF)^Rd6?LX>yiD2TQYboa)3W(tW|O!*Ul$R7hWu5DOq3M$8V1|T!`4N6PNb`?*! zgI_#@ItZ8768-g(okWt|C4>W*4H9=%fy#cJzQA%vIofbc<#Xw=4ESK+J3R@ak3WiC zq*wp1f%D+iYZazmpcjN-5)HXfUSlJWksOuYUyRWQqZIT`YDGCYFnxaxGG$O~zzn%(|9ilE2d~^(9whR@{ru;}1|X52 zEtemLJ)zoIQAVo5La@SM`~&jM=Yja4+2A>**-s2RUfoiC?$6!I*G#$_R1kj?bsx$3 zBafZdu(GnJ>COSU`dK8_J}tb`-7TpP9o@a_k>SP85#@7>=G4>_3=x-`4>^zOKHZJ8}J1E#7=^)dQf| z81%$5J64fCd3nVPk3U?(J%10lvmM$!(TRN3KeH962*+qPLwuD^9B~ivsGmhzcs`0& zkLVWG*U`azn7{GM7veY3^(aKYoLGF&?FPY#<&DjW)t80KEduG1husFsr9t4N4D8{1 zp63nV`86)(9T8D!BD%4qKUMEJwX# z&U!;-1O`kfp!%vUfSnEAwPx@{pSllD`oh97ZvZ;0`r&3Um}4@x;%akjwf@u1a=atn zDe4}?8F*mbx685|rul!5r00WX7OFQ?=cFW3K#`+im8rvk5;UU#+b8KChX9!tMzdOG zdk;h7OOkrukk3qWRN&hE;m_2ZWAyxy}HsJ7lCBvq@ zVlvzE8qEIC;sBW8H>8k$K#K(M9?`}U^R9Q{%2Xm!I0!&NdGrqjzQYRfc$%C5&~-a& z-M(m)Sn3D`{^YLZDA?mKEF`q2_V_%N_Ha9r^ko&yqMV?{3#d6 zsbeJ;#U3-U)yjrV-qeMWjMge%Q_JqW$sopeqs)pEjFuaFlIbJ4&-d5!1;nG1fU!2V zsO|axfT1JW*-fc=7;C^9$~S1qu|1Q9;|JzB=Y&*m9itOy!Q4FPtZ(>H+y%oT^g8ig z9$Mh~;&sqtxa{A+77V~^ft>%v7yNv<+6;I7XPS4EWpThRBaP`^1etpeH@t&{dB_X$$Ge-V3*wqO<%I|RueQv>Z96s;x} zu2Y0qYBaA1{(Vr+5N1&C+%aGPaevUj4QAUD?h|m)h4&v=B8*Mu+6?8?6d`o}k_bKC@ScZgbSZiLU5+gj?w zC*t_^mh}>_B-%4!Uf@WNa8{GsKgmNJ3+gp_#eiSOilj^-U4|(_PfQksL~K!SR~L9@ zci+gDSq?BN3!Na79afcfs?!6*@LrJdMuCd^;)e|Li6(l47zrkIA#2sBD0fj|LzIDC z`&Fk+YuUZNMEzqK81SON`GsSs*VU)co!TGJ%`Y3L3>J|9LcjpHGJJ1`_$`FlT708l zN>>&M;L)-6jr|~x2}sZ=%`+Bk7LS6``;&EJ^h{GYZsi;0H>GGWa@H2k6#yJT*EcPJ ziZ=y9WC}bl|8JG@-;aZ-|7rpLn`)jLZ`T$DUc!!+hBEcs&d-sr^8Q#Q*_Exixm2Umg%JTi7feCl{|?8` zHXq7RoP5{kWzcD>$~xnoGAsoFG6v`LhciOI&Bj|1oPLBK8!$gmx5b+ro4_mj)2D@?l!qX5fXxa z2fZLZw`urzVTQ!|0rtP6^*5RX7B=HwA^G0t44Ki0jEeDz6c1}zQ=#T%n;}5o)BWqW zU41@&KiVU!d9da0};tax+`W&ZiL{bK|rH)uID zWp&4&a}QF>1`IzOmZJ6oUc+uP!**ZCTigWr;V`x=Lv9#%N;-DA4aoRpPtp}A8G@)^ zM;45Uy69Ll+~=|K1oE>hHeWVw_cUkQ8h{0$N5*WVQ;-l!8YlTmZwp<7R_TT-imHa8 zk9g)&phy}Ze;Q!brM`axeDJ5O7@K6l5#>t42l>hrk>?Ip)m|{{kqwwVfHC1r-)fVn zhc|S4F8)!{za9Uhq>r;igsMJ`C++GgIE7SSM z4yFkpuSggOA}%R+@00~aIfQ)t1{BXnI7O%a3}2~h>zzCvv-Ju!pW2bv7Qr!+!^Yaf z;VhM|%Jnatr+LG|fjEUA(MUKe8d@PnX!jA?$#^^FX~Sh8E_u&4s1bYxoAo3E$a^$9 z7G6TY!rsMkI@V16$NjR&X#l*BVc+D9~$r6%kyC&lLViYf)t zrhE8oH2^Z2!hY^Fa)LtHZ}e60lKB5w^L`b<96!_`-A<9Z4NVOY$j{v>k8hq=!QGSu zi$~2i%!}_cKtH6`AQmPX=w=CQd6Hgzj+~s_xBnEHPeu9GmD}(006yEOsPgT}n-hVX z>O*BDh*_;R-21q_rIY~dU4+~LB@sg2An^8`=GBLkQ7xUl1b;x&lT{(TIx@G27^gRSzw8gagOun zuKjL>K}RiK)S6lE8*6k^M*3{4kKf(Y&5(Z|NQcwY1;v5JEHxTHpPw-{pWvyKOIhlIiu3X@dw|4 zsqW?f)WomH<9MWA24|>$`EsBV`P;ew`A+`(?*EW4|5^9zx7(j140Pe^yyOo~4v@4v zU>uVWLJRXcWi!N+@D|1BcuNZeY_Mb!Bv|BbL5f?yaSh`Dep#3sn zX%CP7o$GiSlL9sY!8>5ZKo0EE65W2FJzEkQV!E(!y==&`5q5Sx=dSQzebzI5!%Gmh z05kP?K-?i$wSOK48Dq=a7@#zz(!AYcGiFnr6F_)h8zVJ%FDOGM2FjmX7N>4q*-+g7 z0K;jDexn+l*Sw8@pF+V%x_HvmXuRr{Zn3baGeSo6A6G|MjlST$+{{ z2?N<6X~{__fJ9vYuE)j2`Sc@Sz0y-_eA#EYPrbfo5lW>*`}0YV)tBdufudalG?$zG zeqjt=trukFnKZag?JP9sP7)1{Eydq!T^>h`m0GV3GBuw)uFqZQ-4lk?z(!DypHmuw z=q_R4YuDvBC=ibFr5fRy05HaGH^ZvrAVa4!>h?(^ozB){$kl79Z@mD5*WMq|AeQJ# zQ)Y$c4`(Eq5?gRYaq1|^?13Z@z=i>v928CMwFBfEIXZ+`o4!u{8G0wnoU{YcPD#UpCEL%OG-i7 zK1&zr%)Zhh=4}ra1U;Px0#r!H9(1t~|Xxz1lB8OG|+zrUu~ml?L<glL_o?k=I^f-ruoG)Vurdg#yj?2@~P7L`3GUIeQU6J-EX0m=ytA<<9KH1Kx^@Qw7Gak`Mm9#c_;Tg!n|O~ zmC@APlHP;UaS#8hx%rLRPK}Yd*F_J=&e$SW76!v#Q_@?Rs012nYvTw!sOZR9N)Vn5g)wCGZ}G3c=NGrV5^@GF*+)Gb?!52n#)Q~ zOFEWSv#EmJ%@LLdKgs7r@dSczXo(b%AvsmVKbCLn$-DjeCwhQBU^ZtGWB?i}Qt|La zUlI_bQ=dYWaoE4)yVyf=_J!Rtq*^0+ic#-QE_Nm{2dNwK%|{!!^!~BaN%T%bN+B7C z(d6S)al+^RC#HK`$mlUuItjEezM5lF&!Mg{9gtuu6yr;hTB*}Z%nKthyKTC^5;xws zL!Ca!se%6C*g~sztJo%#k}vaVJiP2oYq?g_SRw6E4dHxFD<`|wL)QD%$@a(v&V@nH z63jW5wiK~ox{RO->mlhW97r6)T-KUO32>32>4&>#?#bSDb89(siapj`qv!G|Nu zfOGU4H_)pGo4Yh4G>$AF!?W(k~-8C4{v-1N9a;&-u%jFDIV9 zxP0@`qathG$lQ4vx9-BpLxy#d8A!? zlb7B|&UyOVCvXPI+MZOfLfX}PO$K%`NI~S2d64w8rl4ZX6Xl=QkR|TQn-+%y>={ zt$Wl6B+|;K1q_@0DF-s9XBLpE8h7<1Gp*Dka3^~{=n*o@l6aN9XCNut;I#z$qpUxK#1yglRQtNb-B%o9yNaAcMnkPGS? zyMufGd)#R|{Ts>-! zu^rD)hpc00M2LrzUd)_sH@uk!h`ZMM2%nd$o1P8Ap&U=MxZISh@%^}Qz%^y-52MTj@a%$LX{j0g*)FcOu;zg3qC$5U}&Zb%8JdqV?}cXW^D{ap8`G}$b6NWni^)tiQrD7 zT##)F01cBOUX-eBvgO-R?|i(1SJ_q?(4f~QQp!RO$!UsVO?UTu7&ot}9cRG0`av++ zOW>VD!+EmxOLs*EqJbAPhrtwc9_Q6W;%Lcr4MP-y$!{%0+Jqgg2jvvW7SnueaSHNn z?VKiWK3W*Dzh-^$!xwtfkDI0EmLaQQ`w#2654l}Ag!PRZs~bYwCjyU^4R+- z7G44a8HAI5@AtLSw$3H8p5|el;|%Vddt9D0tBR7j3W>?THkPt%|01cAx$T~gaWF@I zeDwo>fn;>%kQ8NQB=GFnMdc&3`Y{?buz#C=R;2~r@(?7uCQYRnaByIgp;X)fCLGNx zYuatwy2b*hs}WaPe->FHk81o zcegDp%e4LdC3Xn5?uPaX(rkePbxVWn2RpNgrt5RmiirGKG(A}|ctT(a-IXgfrK1Rj zD4V7p`VDf5VPa@I)@*0Z9X~%_o(d2&KU%rcZ#*al6kC3(%+xlP550X6fjhl8_b1Sn z`46-~w4|+yA3}h-EK)yhS{B@fbWLI}>^@s=f6aq_Z^^-JN zb!-HVL6g%t!;w*uf$4Ia#T(Bn!t07Ad5TJlzeL8Qg^dmtsS{MLj&{=8?=xzwsrMU? zHRP~MUC7GMW@)C3Pi1sPnbA0=wa=o%X$mC^-ITW#is=(i(m!f;*JCsG7aexe-gv8G zXQe0Xl|-2Q^Vjae&p*ZU>60qVB%`hl+!yzIj~EFMTU7u6`3e#YakM11%Hr~lxFd!j z%FV9a>&tBSa7XD=DK+(ip)$SK`$-npX{Re2$6wef{VYGWSmpILmQ821Rm7WE+KqsI zA*kB1_x)Wy-TsW+|x<$@xC4K&TXA6&KPv0>4KT0@f?k|rl^N_!L1?K&Io zZo{psKChY#ZCRg7=LGceUM(PgkL(L{#C2BY0xrPL(!q0*e#2wAtIw!+h`4gzpHo1F zMy0spbORX(U$F=d{R?XQwYno;(ZTjWM>Vs~}4(UuwF zXoHMXvU9cw12&Rq*DZ6Hnb0_Z0!61&`RmJA2U;cH_lMgMLDjgJJMTU08_C88^-!Q= z!7Xe;aY$D5SRU&9@>%nA7_ophVe~lAIg*5hWiPSY-VU>BwB2Sy(q7NyNhK5~ zGxjS#MyI#QqrGHj#j;rCs1R|-f4>uNv5wnniV4olAeu?75gGVja+AF;OjP-61U;6i zJ8)xuGH!H#;lx%L=^~ACb#qs>rvG}7QnB5AeM(9h+DMOx)Wu=(H6t2_LJO8K2A+Fe zc!b#E4h~bF@}`|5lT6-~Ay&evfbX<&1*X@D!)x3}wB&HYAP$tgJ>9nhWw(3goxD0< zs(=tD<<#VRaI)#k(2yjwCAzg`_8mg{+b$f;0ZA#6v3bqC+z7nIc*Z>?j9p5*U8koY zrr43}Q&i<424oE|q;GoJ+`3)OiV|{%kg#*m92*iS8Pj?7ciJqlu&|g8i)aG1JEjj( z7?rLSA)Jdgs3Hl4Te0nR(+yIl*f3&m=X8;ahc4u(gU_3vfzIC80O~P@ShjE^I zvaXh-AJPTeAf)DCCD1OC$K03u40&+c`LhO@c;#LWx0g>oGXxFL5ghZ$%gNDwoeu>% z?gO+so6FITCneUrJVXr;sci-3^KR86T+N3-CrzdbGO`29T4;ovbJ%!4A-}M8w0$?F z@#w1%pKtWR2N<8kI1P0i4(&U9UYL*KQ**P?RyKKGHjP#W z7$Q0>TcYR5a2s6h`DJ0s=GR?6d+>f~Y<974*4!X19nsd|Dl31PV)fg_EA;2E)C*@l z`_xI`)T~luaTiY?4-^P(*%;2Bn@4@t?hn06((KaolLZ8p)EnpXN$mx5bC6eDd;+tD zysINV=kJKxB6tW~s=nT0;M$xEEi0)s{y8-@C5`(i^C^AjGt6x&&75{P^#$V{2=Yta zc14_f@6tX?nc@>Eke62oPe1^KhpaYt$v=tviM55FQ$IHzuWqjo0~s1Pbviv;cPlq> zf_U7?H#Thf_X-~IJd6gm`%9U0WB`py9)wG~iIrcy;L(Gzw>-A#+N!FnTiqrYkHcd` z;iF)Q7&&WT?szdqLWI1d9<*+uV6pJjL5WLC$c{eGc|Wuxvjh3{BJ*1&R->_ocvT+I zkbf1zvgOkfvY{U|t}sR0C#w~Q)Ok(}e)K9R1|cHiBNWJ_&dhaeW_v%f1F4jE@2{Q> z%oMlKf7Q|9_l^;26)S(KAL^E&k{4&@%Fu8CJH+&77HU_Nx#`BJ$~%NHRU4*KqFdml z#|j03{i>FINOyfX6v`j(qr14AgMM3Do{Z2oRID(5got#BSOdXumT#?)h!e(U$U=m? z8z;kTeARDnc3x$lA!{JCNXJ5J+mAO_yB15PBZ7ZTCurIEzP&_>f#6WV%Olq{eM&1WBH0YV0mIqdQm|QpJq+CysUB^-E7xPk9 zS7JEN;|2V9tSh3UJy=@@jFG2Tz7UvyV27%>0q=a^(00F~1n*u;JzwcqL?x^2Y0gg_ z>n;y$prmS`n6kL}C+BiKL3UBfM%fX|d44}m%Z8|j91r#C+W1YKnok#C>*brhp#^ca zmzG&i5mndK4;So9nY;;l@!;5II-PlbkM&z^IGQ37&d+0EmP~~wtM`HtEhy~eq|ReX zX@fzDfz|2tA0&dLy#12Lj7ma1vxoQG}*;};%2 zJ|vHcF?GlU;EkulK_%U+TpPVfoFNRv7KhIZV6(5G-mpzHOB9UqWJ;0hihqu$V70`j zYI2PR7oXjd-^=xnv(=`gi+KXhQ?kG?GmgTPzDs^1J{t z=t_7xh4*7jOBk%MuUeh$afW6n>74Y+!}<52;pX_~G3SNHC?OfP899h)SeS<4_l{^u zq#QuF@l7XnOvQ8bA-Y(D6m{5ddxHPNZ|Q~?tL4|*JlwdfmRPGLyNx4l-Z%AS65-Y% zfo^oWJ&4{roXv-ynse$4&;8R9%dbN9IY@bLhg`t#xIuK22(qAHGKB$N0=8E3!CKgtCoL#J9s<#NG<_lC4Kvm zaf4_s7_JeZ%r8N1Tqd0q#^#e9y>ARcJDwlkH(f{pM`pfPNahNJAGfXT6JY_y2kV20B zy|{n>+LYR3@hAA;?`<@`{r6J-{>3uB-v1=3unHRoC z>36Dp4Sx>rHR|<*4;gdMNeKYhp!7}CfYnlG-YS9iA*nbaZl3l2m}ORD-hu3YfD+(g z#bDC=qQzjiV-X3dm~r4TKbp>^bf<=0SWFo$b5OI06&->=%UG%d^}R!&ZwJT_b0k+1`LJ3 zqT%ge3icVYFW11KU~~ELJ_0-jbj-4=vKHJq`2l4<&)y?`bS}E|F9uzW15z3xXyd{c#@< z=D1IB0M(S(QV$ByR@p-|mySrvRS#*6j+kFFZloxinkiu#+A z9BV?tz7&50oQcL5XN}%ET{ayPp#TKz3uRNAj?dC1I=xr46wU|aAPo9yBjHDU>^@rB z`LzoJBC|1RI+6}YPbs~96s@zGIzs`SL6iy|$V%FaOS{tP(ky~+z+ap+uoN$9r~v7K zaFREq;090+TT8|Zxeh24Ko_{c>VQ8tC)mgsOtFTTd2W`@oReA}gzdJQq)eoMJ<Lht zi!f10(CjDKvmmETeXR|kXwFZ~aI+cB4pCuKG@v$CF3Ob#@I6}i~ zg|+prE=3iaRz;wvK>4vmF+ohhatol}3%m~aiQgUT+(n1YHkwQ|-e6y(>B*6z6_U9oh$rP6#Syi#nW0qf3(u`jFSiP`k6+^ zPQH&km^R3X*U^_rulrf;C|VE}_EgE?M4xu}jHq#wM#YoQsY0+DK(pqG=d?T={S8A1 z9FTF3kOM&#SiBwOYIcIBuWAxQD`+!yGIC0Z+Ib`YV0(lQ2~c1d8+!;*KP*Z2!P*us zTQFeWt({jQN6!&V6~d;trG-r4wXW8wvtf>7od9dgwg?tqin}dkX78d)+J%5&Hq_yuq>GXrv~mxJNFx$uFw%Oze1#2SRtN_SQr0z!1QR zu`KR>`F)%=;8WyQ=7qaV=;0KyzzaO}=KDF`!TpN8R;gv8rGbJPOva8t3 zVb+(9fi?mXohSsAp!$bVSgv~AaEv>55Z&~LPuHLpoL?zM5!s6nNb=6mY+ga+QkphT zd|Am>j*NONm4gEqdEj;+O*%KsooSCx)`^Y6OOIe?K-hS%=ZKK)S+OLE$kwsp`UQUR z@QwtD504cRUU}}nBCqcQ;z?z1g@}|?25phBz+~=)Cnn8?!cgF+GUtCxYo4V3ZyAmF z|1F~-geC0oi7P=I+loi26&>M_3DO!g7a$j4FovE7|NN^S2_(Z)K z_DoMl0}!j<177ZYJl4&v$1nM1br?!ZH+PFBKiDI%?d+fa?@e30#Kd) z-VBMbck!fVvqP4V_!xvd&Pti2yLw~=VNeQw+mkSVozq15SgHo)95%{eBE_7^pcgOr zA*)k2r@f_{p?Rpd6QY-IPzv{yot>q9@)cyS1QyW_9bb^2RTkQW?V;8XfL5%E*f>qs z9FT0y=3iRHeEv}yl+j}aNvdO9kCpU1<}8QaT>7!%GqgqO zKuN?4+lsf0aB9);9CxTVpCp@_nofCB%yn8~%_PQc3VS2zar^v9y|AWp>$wBDWdL>rH%7YVy=nV`izZ}`zkos;#Hps;gTp-q zd>A~o2BRMU6p?}!UitnxLScEYaHZ~Bwd2O)FXDH97eYb*QA_lA5q6SeC78-PG*3kJ9cOi20ub`t_Ij}6`FdctJo=Q_yP zoBcFle7h~Pi))N0DLp!ul}g@&iw_`>^oPi|2nogK$DUuiUfz15JB{0WES%ISUkB&- zC6i;ZTQSzlnUvFnw{UU!)~i)a7ndww|8esN5{Gep*|aT&CmOJ;EZt@FdxcAFiIjd$ zoH(dg1DUk7#XHxV{cl|TU>nedN}l*%xPzYb=XeA!UUXY8$W?^zy!A9i@gf_#OkU_g zCeSa>)dlE!J)(5l3`_=EN|+@w02Md#+6{WgihIBsNFD9`gEe3d3xUYqkI;=Jh-pO_ zfZv3-OBn@rGtv-@s%;kuEx{mF?9W{ZHsvy0BrHzzjyF(9+`Q(Uww4D4Z660(WF zEf?L=8((7NNs|xu$4JHrt9ALQcGF@-XLAvxR$Tcpj_LYdvw1hCelq)Qq_L_}%;k(Tc6Mv?9qI;3GJ z>4tZW?!E8(exC1p|9JVajg2#NUFUV4D~{t>Yb^(~TxbEcTCl)qVJf?WZHp&NATXjh zRrUU%9&gHRdh#9bq3uF*>m1`?ImM|k-LnZ3C8PUyR@@)@lk~qh+@Hc(K}ML5dN?f| zlY8*YxbI(py6!{(yLhcsZm|Oe%P-XNk1((T}3}zc$UpALY+5Aj%;EgV#zVB z9Bp6hem9VqzQv^7vC8+R(O!;1NC>z*#fFc0HYc=MSxhaVJz)vt-jL5;8bip+-F~6ij1hY-Jt97B=YRF! zyY5N|$j0$Bk)L@14Bng{lB(-69NPd)C4afi?ZA@+XrFkydrJzE!$)0j5<%N1=ssRa z5qEuNxXhl<>&T)0*HH6#Q_eU{}*&8{dq2L?wi3l*MbIe1b zt>nyUykq^)@rbMh{KULuGoLbCq9s&W)QlBxeR<=pjsx zamJemZcljHnK9nu#DJfx4$?lf+Gb7n#Y5htnRzn*TW;f#oEdV1EE;-x=E<#p)aUp* zqF1K-67dV?J*1$p3yu2!LDo;hTUm^DnZ~Z-rK;Aex(++ugEow;PU#P6v}=q-TM|Uk z{Ymfh?NVzRI%4gvZGJZZH~f4)N#U5lAy6!vm(62|A;#E=&Y!gVD&U!DU_E3&_a(sZ z&2Or8cx!nnl#@ZzseJlN$zt-d{&e#>kR_=pr@ULTtCM>lN2__uk@gd5UB)`shDl}4 zJE7Ngv$^kYi+7SkSEmNX0YOI|khe=i14I)*5N1;Ldv^R(m2>19ZwtYS%f_DKqjemT zuCC`HZ%GExQ=^9-ZP&4Q>n>BWpO9{hfQ)wm%@=lioGCo=2gXG#CqDjj1FOPlAibf0 zCeFF0^)rK*v@{cNC|Gx(_2$E*;#6Rp-_b(n*4ef+ycm$&W9#-wmBg2P{Y4gQg1gsUZ*=6&P5j>XzbGWc+9HC}4Up zmsX6|IwpoRzodZ8;pcg@9|0s6rprOP^yB}K3$VHX;BGV5Y=|%d48Dx)%W+W?5QB(! z><^Ra9^AX=Ijuu}yggnzRz>z9B=JIOS9JZr02a1S5r*sTkjAw?vF+w$_qfqT@c765 z`{XerJ=-%C8R&W#_&OM@4wlsdWF2%{v_CghU_cy>a9wid(8x%Tpf)dr8B=|khd=YM%s3Hk(NH6u0808rum$Fm;Nq&(ea^9n%zLEicSz`=_(R&XygoCbQ z2^ZEZaz2qv#K9)O&~IIAESoy9H~0s}{r!7$?XG)@Ai_`7PUDCRs z;T&LQ{`^X-iK_!zLwsU=1?b|Gpg?S-8f-Lmj=sJ04Vcx04BNm1AtC8xAz-|J-|z3= zHgC?Kc?-Rq86XQ~UQ7NzQF(s9v+oq>;e_Du?704S`^W6XLBR;_Z#4eTCPeSU+y`m| z|8wOZssuRRsXRGVm~`7CTOQ1nE2tLnzEWg1C`<6)Y}MvPfUlc{GF%TfF=)xk4>sqN zu+dO;v&%e~SV&{i?>?Cj30NY#gnL;<^g|jjsF^Y8-PXqIAbcJ>Lp zlE>|k!>BWwQn$u+e}6yiC3-VXumiSlW#97k<6llv)ysHgPx_%xl)3VgQ?nx4oDat{ z(b3WS$6H;_^Z!7k|2!2ZKjVK3Zhpi5jdC#!a+CMn(zijc*$4e_ z(I*EGfd}iODzBb#`M{Z1O0_l{DLwuKyroo1V%&OKfUnX#r0&1X#m-*OEMxl7#p%IU zH6x&~{H-0&uFQb;dw8QwM?_?OdLAX6jhZMj8G!0$vl(~jATNt9LDCZ4 zj`5+jHpX45#Qno4%;WtnOF&8#`wJfk3h)N^Ac;JoX@J;)tkHsHt)7{=43r}q_awbx z?P^oYWp_PRmOZt;<;bmeXumAH1iI<7dO38jM>r{;j$#EI-$3+HXwY#NB(#e>RyQFy zX-Eq8lC5I$0R7%ELP{*b~d0{Yx-El->_pi>Pz2ZC)|s9U*92oD9is zv7jCuow;2R77^hO&mEs#R^Rgd^y#JiI&($yY*_Tc)_IWZKmQ_!_wiVFFOqP0m?w7&Q=M2DxofrYO zZU9xC0P2U^-Q!Z2WfuaYGWE)UOm*#@z6$dDkAm8@4=fxVY^cHeH(H@b9{B|tft(JG zJ!suud><@)z|F2Ve7rQ242?8kuRy_mENwRL4ELEPh%b%Wfdy@ETvztoG?27fnI$SY zD~KXiVaPKX?LyDcN)Wwr&X=rn!amAoW7>dC-%1~BE7Rr{4Sd{eM@-1pxp4IgX8{$) zusP_@cIirWTit~2OQ^^o%ofy}{6>{ES`-GfD>Ovt0Eif*RY{MT^}bKvML<1QZKwtcY1|P%5H1 zzA&NVP=icvel;R2|6PL#MA*t<2SuO_XZdX_BKQp$f6kT~R@Qtp6$X?B^iX*WfF&ph zKCqsG%9F!lJmN;!^3rT8->Sp&zsOv!B}hXPx~%ap;9LRW!K_mYF?`@WZHInQOU4fR zash>Xx%++Y^`MDJ@`%6s;gh4QWj5X^=9TheM~_DwmYRU;MOP>&7nIRq_ zLZ=1ZA1?j7u}=+P!rphsMpD3>Ti?&wZZNBT)bSDnV{S5L1VtfCQGEWKe#b)x%j-q! zYhH4DxUbGE=phSeKXVAPo&;eIsKDPhxYum2?qY&+ZUGLFiy_bZon^7iE@H)WR}Q8gJJ+*BhDwk2GO!Mi1P8_R%%SErm;Rw535v_yxo}kG=&C41?Lg zk8@KD1S_UzX7;#A$4j{dlz}jHEJ-RH-Iy6I=8x6lDYIS<*ht3l+y~|G^fV+HRKU9^ zrJm`dvM@vMX?XN@bJe$EQL6XaVNXY%3^R{-HB2VixWm zWgpj^Jur~G+3?V-g!5Z*BBGlR?;s_MtQ5R^;8$Z6RC+%G}{@hI@oFlOib+Bihz z?{H*OCXq{Iz1MHwe8m)a_AQjpT2F80(_H0|+HD}9^Iq*>wSH#GxGJrqJ|3w;ul?N* zwxnX!rjPWO-D@?8Siu7mxZ*x`pkihpzl@`r?EB%eOzJ}@H6NH@B`T>sRyzSXz0rv*KTZXiiOa&j_j&GXZ$#*#Vh8V)nA z<$br-|R+JSA&(!jvm_B~ExUUD)fT1;mJE3W5r9VYHM?N6m@=Vn(y z`?kAimeCDMZ`W!>+!LBsLA9i;Z-S`tcoyZ!`v8NCNmn>nSs_g8S-9CzJ&w({xy;8O zffPG^O*?i8i%h?L?lX~{2ll#9lhYzDrPH*|)Q4Ih7SX0(N1hL^X~x$>x9!0|tX5S_G(e9VGfJCX0Qb`C@mnn-oaJFH*~z z9q;e)3AfkhW&2+nX!#*7-t=70?1CpSr~2)Str0>jK)~F8M$LrClgLC68J)(Gg{bnVQ+y)bQ2A(_4ConLJNB3k3_otX$%je;iLGaoCO1CIeHvlC-5&C3 z)``F)cZb_$Q!Pnu{rQcBAm)v4_RtRPAkT1TLBmph)?79DrFu!WCR+Hhxx9X~#AnCk zA3$m(+|`Nk>=}O#7poMj5F=w>iSfph(ObcUO6`RYE{MsZrG{SLp5Ksdp)l$SrcaEr zzRB#FSy*WO+3&meW>1j}Va3s>=kakYz^Xz+5no{Kn`C2Q=qHoJCY*FU2*!drZN+9v zAe{Tfp!lGn;MK@3yO;P;Z=sSVxUZqIaUL(KZ}E;2PoF-h;UM_8VxfV?iwfG=v$rrl z#JtMhMz>i20r6+x-T58POvP%(c*?D}xPtZ((@=*{j(_u0 zwm&B{h=(BdrHI)-5~*4gSPdri{8-3Sq2MMKMs~k2)AKreQ_m7M*`etOt&KU~cR>)c z`zk_L(}~@{uKxK0t1X8+5WiD{ROBHa4;z&3fi4!E(?Jp<3K*^NBuWWwdt_pYJ@byH zI4tCSmS%j|^VEz=%+KbMw<_)CdNd-SnhwSxkfGVqyy9X?qus3NV-PV+&5l)4bb`Jh zxvbq2)~^20aRIbNOq$i_U^~A`*DSm;$@HuhfDPIspLY`mAU^HSRU*6Uw?M&NA4M=XVXA{z@Y@3(`$M^q^tv2v|QcOG~RXMMz?_*+x6(uUIQJ?`+$fiJ$JpE7g6m15H)&GI-Y%p zVx?j;Wy3{i#U$twyISc`2(li)mhpt4h4)jauj*zE0TDgA`oVU-Ys*!+v@x+Z-s+re zoIsrZh(R!Syut}@*6A8{$*ai*h>X8*xlo=9&)u{hj})G^n-4jex262ah8;+1wD_gv z_o^?2{>jj1b>~!)?m(8vYIa(RQ|*S$O=yI*vnB$Oz~yR^-R}o;?Xli2Q&at>Lm&6w zy{>S4^%$c5+~Rft-eSzJXL;67#KdP59#9n0x_PhG+wa$qbE7ezyqDu*xW~uUvISLz z5N$wZNj*2krlOV@hwo$0nOULw1A zZs}{nhYufbCVzN)@8h*^Z{H@|=^(r)s&Mh9{L%-zM;eQi%8#5yM4rky?43~M{dMW> z%@&KAINOK%t(~22^Ap3v@C(sBIXp*!LwS<7Sa+}=i@Zc|mSU=As=)WHLQ$jX&UCE^ z#FMLa0^zQdN8(j!X;Bnc==k}y5O&9Q(Ql7W^f`zO9^8J_r8MR0cywcW#(r@*>>#De zfVV$HuH`u{KgJ#14?I?1%l>g@n{uRJw515|Nast z|8CWa{v=HNw+`~DJPjIX~^`i+L|Y1^(ei)<9GLWv3c{NfSMR#+$^ zfp|(~d%mrU@!^BI_<+f^YF6jzVL}zUf(lxH_esju{_3;m<`WfEO;u#exB8yJCzAF9 zdmr}Y^&4Rfr=Z%n-098+{7as@mp!?zJXAi~-rFl)W()e!fjxi!S%!jMZBTf4>i5>L zo&ar^?c<-NoD0jo4C+;B+TrHk5Cn&I-)|n=`lXP6*SpAc6)T3{UaT<1Kcr{zHd#l< zEx-5vq*Q(lDEXbux^Gl$#QvMVtZI`7eSCcS%HTp)o<6nuD)RQi<%>b$!$){p7_0ag z<~KbPUp$<1{kb68MlFFao438!c6w>VEF?(1A)Y=1yTlmfE4vg1kN3{7VsM z=vQ~RvCt67r58ZHesJEO;Gf$NrncUSaTNDQc8>RC+*Vb!H&b!^Vq-p0@)+I1x3Dlo za`?d3okhLe&`UK-C)X%$EkOhq5nA)3)H5(cEi)@{!bxWN^KqKP{V0YtE&gja|ND)@ z0-H|cgiZ>coVwQ>?vD=|aPW3ct#_xC53rm__@j`$XIx1T}JPS z3VWv?Q>d3m106facY(+ZCp{+@C)83WnaS6G-W-E4_(um_iaVcFU+tMh4W=uHQ~MdZ9!5N`+PrE4KaSHWAtB@)uJMi_DTh`*7;) z$udz+lG4JXnOly`I+c5k&9Atm5YgJ&#!3J4S=c2{R{MuoQd)+GB|w2BX8_&PzZBRz zr{s>9RrX68@I zE+Mz=tkCfB)&M*$8%M`JDl&~>`*Ju{17nu8c`_6yNAE@i2ehYD7)^T@_f~6U9hQc4 zJdVp%ye7%xKbVFUS=)xftYed`e{b%t@A5BZY8tcUU2Oz);c(WwE#DFY`t)=M-5NUb z)jNK}2@ygk30^*@ivGVCoRd9Re2ADw6vhX?226M?6UameDn*s9$ww$QaPE6ASeR&T z&3E*TmD}b9xSE1q-@c}jdpwg9IL&)Z(F9YY zOqwbha8*)ZCuL~2rIc33U|l1Asu=LZ0{F?xT4-x)I=pViVbe~1KZ@JyIfhgFW9>Ml zL0P(PWxYzC2nN-iEM^(%(QXaU^*;mZ-6lM>VF&IY=B9Mn&OD zn`A32%kuDsKIGv^e-G=-7gSBggRyQ5q{Inox+~ed!PgI+rr6Af zYozMm;}m6ATAn=;7|D*i)p4NV{n%@#mt@`KptYE1dS-n&Qx%UxwU%72WqjOU^8IMZ zY$-DGfkB0AjK9i3K{BVlFonuJT`@#xa6~$5NQ%iuL0D^RtKz6?$F}5|(Pd)Kwz!yg z7@h)GFI|%N!n#)ExUM5AF3!lrB>nh34&{U2d!sHMnM0Iw4TSCAxbS9q-CBMP>MA~! z|JrU?*x4A<$1QZ6WZ|YWfY;a9GTAj)q7z6*q12Y*Pc30sDC%>@o6<$=o?a?++uWr} z%~d2J79}8m%TKh+!9`2-iZ`lms&;$Fv9Q?rBrcN6LOEd82%chwLiGqD3A8Zg0VDBv zf<&or1t(00R|NfIABd8ij%5Vb`=ogW1`5VJ5IxZ)%TVuYY}4m3{gH}q_v@D~yiHQT zshfypwUCCl$Xn!gjWb(R2kNYK^h&OVge9)CPMc~D((m#6rG@pBGza~6w5|so*Yuth zI;#jA_0J%vGm#0kr-JGEAt?;^?`vDujK#si-XOD;x2)omT*o0wGYw;0jEWG-SZ}j5 znaVOjpFRkWitHLpuTg9w-kv|+S!;^J=fL2(efb=Q3*ldXebuRU4zBy-whzQsiLZ~8 z(V!~&!j&_%9@*ceQm&Pi5g3|3Cqr_UkAr1`DlN3hBE0!Cchf*B({;EPZHvt{#&S=) z1QLbd?!ik)^rq#9=yTlWuthx-=#4K%JrPSYOU2$hENlDf&50b3~p zpC}$&7Ux$vJmjU^gt^Rt)|dHKg@ zDq#OM0$Fi>Z56NTj%#rCA54{?4u>9VoE~W~+_o4UxfZ2Tqh(TTZe9EF7B14y&H3J% zRuwKOZvs5+j@VLR7NN5&;(mYS@`7ZWZBlFuUx;t8umAOz@OcP{>H<0*SEIbI_gMtS9fR&h6%8u6VOa;gfN^mCDshi2 zGc2}z`qS*`&<-6iGbx1NZ2_Hi4}Mve>Wx_RMWL@1N@Ev2blq|r&B^=RviVFJRaV!3 z^(3Ok5^GJlEK#VjQsX z4GGmpyKrcz z1^s^;lfC{^FY)b`{TAotFhY*ABYIP<+7hhlgV^lBKf zKjgOee3hKfLN-d~blrqB*J}iyG7=tt&0;F#bzIM_;LJ2bzNJv+W)q?K6njTPva4Bs z@{wh_)zdsfH%=Wg4bBDOdSnU-aos(}G#%a+%+}pZ z1ZFRuP{&Oia24bznh`jZXacDDz@l4jd^0fQf96rW|*R=s1$~X%wW&AMhA9>GhNvkBU7f7vRj72g^xYuCX zb8&T+2$67|+1}u0YU*2>zV>l^B%-+;^V)8o6A~=brRwHp4mLB zk6=D68B1K&+q}O>HThPMK|7-?LzOA_>` z3n?rtG#Af?L=c?)|YKazldYj6j(cQ!@S`_>@zt5komRT|3 zz9TBpd+_5bBI&%~M7c%Z!t^mZ0CS>hlJ0G04SCfkmiTB@gGJ3 z|FugV$P^&hU=C;O|2+23O(Ryy-=}&^%HCA;UY0A7{p%`pW~VxXWxp*yddtSz zLA5}UM&jF}b0s_4T3R=6-ZqYMaBxtBU29$;|1{|S3u+01`c{*vf-vqeG+aS1An=%= zH9Wtga{E=C)Y}WWLwH6;nA)tXD=SQe!%Th+5P$||JnQ)mUUvqgK4-^${_-_k z$5E)k^z?auk~HvGgXZ|1owA#Z&x8>m6Pwj%qoM6^%|;G7>Xnt1 zMfL3bHo5PWu+UFuOvxfA=g?+FJd)QU>29W4U#_2rQmVy?-R$Dr)NL7BrGP;#SACtF z=v-8>9ve~aQp=WHF8kskNv(qr4yo|Nq9YPyA0jSgxnW`)>`cnH$3p$si7a@mYqNGL zQQbnNmkGn8&3l$IxG;ZCreD_)<#Sjq7Vz0cEiDfhTGoENd8K&gdstG?*E=dWjH!{x zOw$$d^?N)tDi_}4gb%+A4t3KD$@KGEjVM&}8z~pZbgfdUGNv4@y6Y`MppcEYo1voE zkY`g)YvrL`Ad*{k@&;>rEoV)eZ+IRX^N^8Q@R4dJl8c3FEt-F9d~Rtf=clkoLt{)^ zesYZew@7nkpwug|8l zL$X;QL-Ek=360d)>xVPlKZT)#nAzm1SBVpttIVCmuGyi9j(eIJWv9H(T3`i8pAQv7 zNKVg6uO35gnrKbsv*iEiq)7iDLvvyxjN6EsCUp^byo*F-*T8!)Xcv?@tPY1S+gYG< zw9~f+XZv5yfrGAwN%gBkWZ4kTgi|{?mt~r_9qlv}5e>T5#Q4c|t4($&_;7X1&Dw2w z2|*c^sAct;uZ~B0TNvZj12IXN+>MZxz><)Ff? zS{GtS7dQ!S{!DcgJXY@7L!~T!xll4idCsMPk5{ZRQEwaN=Qca5-wTDq%2T}ch>1_? zwjK(Z^LzBv_v90s3)XJzA%0i?NQ8b^8U*HYqP}m7Bfwcaxj6gy77F?+9#b$T_>!8kEkk1k#D z8IQ^pMnF=+QNMJXI1GQtOAOaXc<@?hyvHL-+kdx3%sZ`gKTgQ2?p)b1S=e8{&G%X| z00QV#RVMN<`+clnV)xHG)dw~nDv+OSTs}K}Kix~?wuzka za=YaB08FSTh8Bm#=Sr)px$Z}rc1Nu*|7hvU(4d#5s6FC+gk_-wZrcs6+u70MZqs%$ z^;%w_U`Xi6Q%`V7$V_eRE{ElWx0tRLWvl1hDwa!;%bd=~`fk5=pFh!5ViNEWRKc1k#O65fmT@A z==5ibs%dcvCbHIzO0n<{%E%BK3h52Dv`EASlBSf3yJj@SE~QR4TrmTCrnQx|c4e;Z zo@tZCD7)L6Gs&ji`(Y7b$-YW8JrP5;44NrPDei)b-yRLyZzsD8>`XMpEw?OSwf5C( z2MYGT|9bB1jnme=$=X=?V7ui|UcB?}N<``|GAQVaeuw!Rq-hv@H@xbJD6?fCUGZqM zyg|?qL?G-A{hr;$OKkZBtl62wFb|GejM-YBKNyPDb=Wz`0Vtd_&x4*)P{*f6C&IE- zGv%?sK`69nxqz|h{pEsB`TO6X^H6f8IB|f#KXRnl%$C}w{`+?h{pKJuo#mxf+rH7W zRISD2?OZ}@!y*UqY0ha0x)wA(1P9_{4%F+WF)dY3=F7%ouUgtLLE`u za@UAC4}YXlMxjfoY}5d`(yQF1MxBhrn7x9cPVJ^e_Dc@(He9*$tFeJHnGFkPRhMjd_n>mRwY%?BwiJ z=yA4ryK>{;8v5deV{J8SnHqll2&%)hY69qF;ot?%X5rhKLE79K)48=cRvhrg>C0z| ziinV2rM^v>F?jpArB#DHUse~s($wT+21Z8qt~E=YvD%ARVd(e7xYNZp(dpL~#z=>U zhnH~aXFzKk-VN;EKZ0M%MlBe8&B{7m;fI`N1JVs238)ZoXO$6koPX*3^RJ#`=kP@r ze0v@Q`vyl<-7+uu*DtH`$}LhFjMCH>_3u%`g$vrFH7W=k)lnYYe_nNm<*>&(leE{`#G8BkmOgGO7q0wdy3xn53dovpe&cP8P0VMQG-MwBOG6HtkN zOB2>`8*$&S<7i zj4e~6<(8)Pf@s+ORODlCFS|Zhlr4_v6^yfNk8oGc+c<0y(l)mC!66}q(zK6r7I-n5 zWh6}_Q{46vaY+xQ(oL2a6dyi;92iyO9K5-?eMflE`uK;5+rc;~WJh$FNRV{+(X&;3 zM2Wp`(`Vz+a#~=1mQhSniVhATlgd!ck0wU?D}!OLWN4Z#(AZXO#S$}v@iPuISBhb+;R*l&-eYH!@(CaXe7|yM z;6vB;SYHf*>gR=-`T0>Eq2-89yiDU@d79KD)5+7vBW3oLw@ynWbNMHg05c~|$*SC4 z8yqfs?N566@sn6$K-|OZH0_?lSG{VcyxCOd ze9pD*T6xN~*$0nLocSped!7m;lKp-zo@dSWA@ERmq-jHNu)IFeCQ8fBuiW(ItQ3ky zO5V6AJn`~@{-nms2TxUr^w}cy*@(ftO8h*(uLdpY6Az2co+6@SqLpi;CBj&g6!*9@ zGC@$cd@_iABT0)|=c!`wcS-~`aDjkeNq|G`JrpW6IsHC|+TE`YP!gAoQ5aUFc_qN; zcN13u{;8?8$AxNklr7R1r_@hh+x6H9BEwd=3B>HWn!G;9v0*Ayqxvv zMn!+X>R%MrhpFCbw0y8ApTt`9StTpRqzExK6WSK;d41Z3Q}0LIpAqldS2KuDHkxrv zP;GJH_{w~_j<1u%TwX!sgB?EmSA!yykN_P3c3Z^A+Zf-fk*GoAPs*nb+de}(F)}*3 zAfz19l`Frt(6EViXrjDvP-kO<+1gtJ(}^+}vs?bwP7%R%~3x=1Dm*rQI}IH62asYroHUa~FbzS`q;@);X23uV3$98*EwS z2 z8%OStGTAdj@uw5#^SGl+F~%~6w+Ky|CT<@b?l11A_aTy;gRh$+i-P(2$1ck=7ZkKZ z!1@tK%nOHYacGimc6~h)#+7Hnrt=|r>nzpJ+;QrZ|JLjLO&4aJ%a?sWrYSx$*Bpz} z+aIf1>yLQme=u!^iM3A;NmG+twCZqg0}^#A2Eg$9e|N;5Cq5-ySu;H(L@*zqzcRPl zILeWBH+tYWUt-;z?U5xeic#)H`QX0oGOkLxypFjh$LG*-srBw)J&g*RY=<>}g)<#F zUS%f_?GnZHsu5j_oZ)Ka5QI{Z$*3$K?p3m$BjoX0GC|QRO)S1hoOPKVQXJseSGWa+8bJ8LDOi}oFgS)iI(u?rwBJ> z@b3M!!B9&hIF@s~_Ot_BLY$l`HjG>YlJ<$aJEnf|GnI!N&%ktkV=v960t22oVBT9HRJz!| zRCopFmzs^_M^MD1s&){A!wDo4N{5Q*d!}kdP?az@HO1_Q%m{aO46*!n-a#qg$5jc9 z!y}E8a(f?ef3pjk!V(fKsNo$2?=VIgfwqO!JM(of{u3j1dT2fV?TReaGR0#DDs%A^ zJ5VaCHfJIK_i+SS!K}+M#^s-4Ot<`|@o&tnOfyli$el;{?E_0@zqHOq{K?eG}Uqtm2!Kdwd!cm#8aulAPjUyS%f3n=}4@XJ9tFvXH6M$lF@u*fnUl&lPpxAE<* zDTRHUv;Xx=;iO{45$X5I>dR)1My&)vTbSx7c4YJTxVE3WX7+-Mg9_+QIS!)KO?&fX zW2HUkQ(m=9k5t$K^PinGeza>gP$kOiaGV7DqpF%;rLKujZgqXn)*V^DO5UA6lUn3Z ze+#{~8WWT9QHc&qVAR5Dn*<(t=v0ZExCo|if5Pe5-yp2sP^1v(E~_b79m>{glFJa` zIjV}FT+@2XFED2CfY@gH#~kq$v<0@Jd!m|~ag`9kX}UrP*A(koRlQ<3$E$}-a_9rhL(67 zxi+#!#dc>!=vk9oEbW~HI%bTaZoi9lG>^`mN=iwo89xoW0_vG^Hk$sg4%ax%mG>ga zje}rI+ri@(T^CA{gkCaihC7`;I&w0V0Cf%A4?(e6?x~=YhP|0snojm5Sd97f6FX~bRj&%p zVm-Mc^f6^-?#xigE}&itlo_3!T66Dmskp_W`sD1$G=-Tu)mU!ZJ&ajFI)}LvZ9W)O z%YvX(+9KROHujHL>g;uwN%S<6!2r&RZTAF{9+3hoA_5F_La+5pwokZTi0H$)zct=PQD6pS@wBf zm56*`{~q?Z>3cPWt;QW5h2M|G>O$~!m7T2wgNq^vN=nui$=evSM*pKq8xwGkCC7O9 zam!a?q{b|l80lxXUtnkuVZcGW!rNoX6$M9-HH=Z|dyZgzUmyGI{Jf-BrQb_jQdN*s zeWKM1h%NiuTCXL6t~Sl(>|5mF!Bb?G4w8A7=RhQZnjRAGisg4cK9g24V>*xJ(1FSr z0f4ESqF{ugqoo~mu|it()h=sEu-(S_JDan@*!@yhJ$f7e4-SOBnL2?-=eZsKTSs=h z@bsq+#eY<9KkE=mikybi;lMyTC#R$`R!NFhbA1i`NI;E<-bk94%j%1`C4t&ID7 z{oXfwPr+G!X3|Xt9E-!Tk#N(>aghB)r{{B8%m_)fEt&>^@L1fs<~J5pbxPC9YiA4yQIS9Nu$8tI#Gr4s?w4W@e{X zvSw$MB~(HD#M8c^neSY!nlt>hAX#eYhJC>Evv`oY0sOQ*a1@uOzwr{aY3x#7UeRm3 zZpFX%gaQHt)wz#za{wX&DhUUq*sM$Ne0URpL16ZuXAW5Q0t@Us9lQ%k-R^kUwdH~S zF-$3yx=|$rI((k&JXLo|*lPnZ0w+)hso0ur_2V+2`RL;=oHtu!?8>xjd8v`_>{Sza z5HjJKo?BJLzdiCR(B31F7a-e7UMJM2)-d{X!7jU=D(^PCmGuxr(i%%uPP(4Z&*$hx zs1x`(kIHDgwmg&~7w3r!G@M8WTkK78EJDD6te*P>l7~>MY&xL2)wB`nhnqTC&nj9F@&At0+YDass z!suHQCJ%yx2iQ9UJ&$Oh{VO_478W1+(eDPe%XRTo5W|J9H|U2|lL*a`#0ZjPmg=mr zgtW}c+vn@&15ZPxH7Q4wIk#n$CY^rc&{irG9=q`4>iUiL=H?)39v=M4p_Kq*GXn8&VNNq5(!;|X5{Bc zxb(k%KHc_*Lj0ZMpYeywL)MkdT{S1zoO%QNFhfKOL~=Y@Zlv3;EHXq#@eC^WQUPNY z7|ThfHff5j<{023l_Ml1lt2u>D#?zsx4vi3tw#7Z+~@Bd`CHkyI^o#O#R7qf4(Vp> zEoM!c#BWxsep!fbcUqnYO-*lR`4Jv2m5;?cEwy>}G$+%bFLzcHgitKCJ2fR1lgW|< zttMk>Q)ol^p&&Ua1qJyw$PXB(AIe`_M#4uAfZ$}cLW^RjUc&@lg1GqX-S7|_5P@c>gNb7u%$#l7Z@dYJt!p<9oV?xx$5Y|;v`2m zZAhbi1ol9g`~Ca6#j--}nqLd8tr?zu^;FG0Qo8Kxizez5L`4Wl7jr>1#MnJ4w?sq) z$dL~$Efbz2_rYr;yzCvoxi~@VfRwzWr$~e-Hwm;B|rd>2`8|`3C(iCf}THrOoKi!cC)#9 z47xe(0w*0aVjCP0(xwAtZ$9TdOZ2G_%mnvFBLOs0{bjb?QUVdUiJwEqu2<8#*aLMP zovfaF>Yzf73WK6!VzxzcQ*GK^(qwE$C;R9=6`hbRu1D!rm?T!1j-)aF0jk&HAxr_Y zrJ}e?Ws~D7EeoD*JbZne8w;&Ism<2NO`5$~{K_E?tF~KHRyIj!vw$#enc0ZW=%nIx zxr2C9nnJaP^UU0W0b9i8k5iDyNG^2I%|D$MYx>dLqF+E`9fCjo&Yww>u&i#u)m{N8wl_!%b?GjhdQP{W87hal2`8 zD}28!S(F~*f#?hI74BN=CK%AaO9jfN)rbF%yEZFluln+&=;`SdJFJe7`i@CSjHN++ z!Gy)@*JYpH{Z_fatKrK+PFUEJn8WyMUfxR67wy9{)&G&~^WC{~N4VN~=l@~vE90u_ zzA&*sL`4CmK}iYeP6-vHySt=II+bqe=Bjjem(q>orMv6W7r4ai>-+xW{mrNOFf$)! z_=(EloOActXYaMwde*boBd@BO;QtWcu6Oz$G<_$rH*bDgQrb}dgY}>Nk6ZjNvi|?H zYNiOZ|L&iF|7&pyzuT$*_FYuex#6nKe{2%C&;QpB0=S~0B973XD=$r2T3e4U1&05k z^87jW?_CMr_2F|>e-62^SkLjbcXZ5^!>RweWljEgp++{So{x1Od4~6F0(9lp4 zpUa`wb<@A^QERsf@JgW<$WK9W{F}XcJ~)rOUh~%*+``X8Zptrt~7Da-Y z1Y+*hl^wF^?yuV?(YpjalW*4s2=vfVrKgjhR)Z zib}on(bUv5V#AM(HHvIEiyNa=Gl~^LRcptL0?yOZW;+54C@-pyAzK2-%Ev@^t5K!D z?2I3f5ZC-yhXlcK82g(|q)=i;C; zg+g$%SRtx(ajJBocj*U7cNw6d_rTYT78oOMxV?PY2*OwhD5Kk7b-VV8AQKc5+w75s zUk`ZrZT`-JF6@zmQH!f}btiM^mAF5V2r78nT!)pvW1)O1n8|(Ye{E-|Zn2XnCIe@x z)XYW1tK5Jr;6fKv1W-`o5*icDU;OI{!ZjMI&vhtm?GeI{QNja{h`@R3fq(TH%3f^p zhb3(nw9{B8Lml-$B%MFaMd{j9wsvaL!-C7Voc0(Nw(Hj#ll=7?18>4tI6Gbv#r0NL@U6R6Gqrc`ogs2nhi;1!{^vGUFV2OR zUN`R5f%^nVNPqYsr|aGP;Q8^(;s2atgS*P};3#&mu2MY{Kr>j#QTzATK55Nf`X@$8 zyVuGXa(`yTpI><21Rg-1s~0M(z5aV%{yDtR9JS4A`v|r5nHM&|VgB`XRy)VDb9ETdu`1qL-y}PC<@BWPv>k-JS?Id1i@JKmHB8%8inccdi3$?F|1fk zkd;*d=EhE(H$#P^o}>1mtkJ!dR9^lh(Vxsd&IGrt@BYWV`2+N;pI2~t?CLzpo{?!O%o zmdtJ;>iFYR*KhbL43@px+@}m9k=dR&hz9;|DQ{JAGreXWXMk4@Z7l5ukWP`kMM`?I z!TLsy*OA8fMyT;{jVYF1O*6V9RQ^++r^aoUn_sO2SLYP`6GgFceK$f<1Y=N$MimV! zT?oOybG0Z7RWk>RF@&S}g(eV}VGgY_(E~3{uSr;bOk`v(r+>s(3L_(98Z!igxO`<^ z?C~_rd~`K&E>A1pA2>CIAD%PDEuVlbCj=*(&eNZo*X!th&cm`!PdXvEz)p#$zke8= zpP%2-6R*^|wtI5)r5&)1bNY-!v^QoIBH3G%YGiZPZt7H{aIlCn7QVf?vfkoUZ?y6O z+f{Q->Kx2rCIUyHHko*E7_W(2_#Upo zJMczh)yqA7IIO1fNY}6O;B%f*G7g)DZXW9DbxkSPsg@T(0}(Tyu%I8=#G)Sh@7x$Q z*8J3!jpMFYu^exotBlX0>;^$x$a??im-gNY&t>C&ghOOg5;Hh7pm=U)l%w?TVTxik z$q(b1I&MO}a379OVmhZovRysUnzBwU)jysk`;2`bQ86A@@)?n3U&$FI>WtR16Zi~+(9NKm;>aIM!-+??6N{>k1xVfbs5+1H z8BbK2O(1f@`ah5tKWEhVUS{;cbPCr%DO3I)*w+B}-x{%vKA!pwKOS99Jx1hJ+Bw?F zhXtB#T`S^xAg(Mtc#qzL%?2C&zwRiNyK?=bY0OB^&R#>eQr!srVb=IWwU+{7`NZPe z*yT6h1c+}0ftU9|ijZ>@3|-T+Kp8gIHYWZ?@IgAveV`4VL z`E8H#daB9lVK$jHb)mI-=t-hbggudl{@O;N!z?;XrEndFT{EEI`ekS z@RDrB8{1%onU^*Gz6()L0(+aheCg>Az7GGs7Fa)K+u7@zDK*(^9PCRKrT7(H1H_5| zW$^WXS4kry!@`V1XD9dhg)DWAlu8mU0t?mw@4pI={q=8<+7}AjR_rPmmAQzB2)R4e ze-&B-{~basQ0&#CYkJ+Fq&4ri3=Ya@DF1hbG|}r3mP{Gq;!S~9LFP$6PryD7^5HCT zsklD;iueCGaYe9yJ=Uoqi}mKKUlXt9At*2-o=nAldP-Bl`HvGtmuTk1XPo98%$d9) z5C~SyKU+k);gi<(NM^;KK)90fpVi*5yw3v$e(Ewk!TRy9(rSNKy%Q5I35EHBPJmq& zKKiG~P1F;t6>-hge-x4v6~%h@r2!k>fAi0lt=v)b?DLzgae1$y`H$aRW3!luVHa=G z3pxt18c7y6{w+E6chhe?{l7X(85g~#{>QUKIluZ>wUWP&M+N@>Bme25|F?TX)pO^b zfb*HEhSooa+R0x-O~4h4vlcAwwYPK{PsJ;Yu!qiHlKoJnBnws|BMVjl-%7|IZ-@z` z)&6k0A3a2Y3v4jtY)_KGH{egPT?^eA7l8M~wK5@&-+r6i=h_D;&TF>b23#j>+-&*Pg z)5$bVf(LJ^Z;_uHZJH7H-HFa zL{S7ued!Y{Gyf>eNX~L2nku@|ytCfke6Zt3ZS>(8xz}C_587Lbq1x@eU;c%>zjVK8 zZY~-2r`&Qw#DI34b@m*~Fy37K>6=p$zK+~-h79T5H$nP-V5K+_B%#wcn-2=4sN(7C z+;EE8$faH&{oVZDWO?48DWyB{2zPTn9otCaIjg6DUfa(I^(?@_vAH}}Q|BlOsC7}b zn%`cPKtYA?34=MZ=Qg?rTtVlUAEp-~j=Ag&HUnZd=h;`j% z^C~HZX6JgyW6kmAb9ZyT@~hsKXXcYtZh~6VURgdDI^W*R&5*jghje*OBcQ=?VcR2R zwpVwPy$qqheYM{i3OFJ=fu4;G2c}Xio;VYZ-in6uyGHx9CEinU#fFB)Td&kAn9@;C zq`x+O!94l*n!z!z_;F0z)f?9J%bxvfek}JU zaw_T8)kBB1!K4q4o%CQZ;$dKbZCm;6Fb&70^>vw(534yq{p0BQRmT-t1dx5;1RvJ{ zMhgmR>5GN6{0=}?JPOzIo7h%^ee(Knk*Z*OgI8$Psx?-AZu$=36X(Z(9I zwQT~`*rbD21gps}ma3f@iR|(IiHmhl3yT7^{ZE&+ z^}&@xXKY8`m$OxyjLG4o0%Vmw{2?P@I#8zltRf&Fc{%^0Czf^qY$8Z# z)a7P~FVatDLyx74`Tjne1E_bfemur?cJZUE*sk8|0X2McHH+BPSWOIJzsNr<-FACS z67&f&P4#G+bC91uvDxsM$$$<87lrSSdxt~IM~;U5F}J*h(wi5i`lspBj@T1fGS(;U zWv1W+pkjG=AHwkgW24SUp1I%$oY$hm6dWn`wUW@&!jH1qJak_3ZQ+e*2dAD=<9&%6 zGe!4|Bz%cGhjyXxTFoY7J9h||eH!{mbGp(9Dxb?~N;>u6*PdUW(^98oOD)9j2}a8N z24gz0+K@7Wg#WwfkZ^`Xbk7RH`{x@^wX)zl@58Z)u!Kv6?`=$1-T{ThZXug^S!Tgr zp-9md^9iI+XpxF>|E(-+1XUQDqM4 z=00nx8FdmC7Evp+BSv5ncW!5L=E_eh6dNl|ReiL$l={R>!SpKdon?JARqUPSt3&=L z9G6E>!GUZwAD-jA;WUv>nS<3nZniuPAE3B$aC~l`6+tTGf4q6-a$rrw>+sm;B~r(6 zsM;K@%ymZ`Fs zDoqZ+gnSjWW&lNs`VT7!xnXvG5AlbYE37#mtaRV=eUweqbcq&0GLm_7lLJN{c+~Ul z4WM3Ju=zU=-xv>wBx49Pd5#vyM|#fk>RMTm81OUkz@T>ot*5_G=8s47nmDfYB|P+w zhto|tlD;uRLyNoN3%Qj})vgK&?&ZLKs<7x0x9DX()f941aDXZ3S!9re2L;FOkD4l2 zi&nEkK(W{5J*Nl+D3=-V^p0E9)Gr}kkE3G+LwgS*NkImwC{SybnoVuS=zbh z?%@G+{>Xv-0P8z5B0lr(-MjLQ@-913lm_t6tsSKk#d8h)qt@$(XPc~m10yZ=@fC(j zf!;JPEEeVd{f7%7#a;`bhUM|bsJ~riFwo^{so9*jJ#C=`hR5Gvyw75?HlB2y@!mJl z$S+7uRM|>l{Nb#}+sA{cBS9vNe6=_GLtYm|HLF|CR|U}a;h4G;HKsuD={6dg8yIk1 zLFKr39F7kL`Ik?_m+TqhYu&G&gNkIJ0w2+3lM7le^!nDD#HjXt=d-Wftez`H_3uLw z>{Xug4Lh{@)~p|RN3~-t?_LEL)=L&YJ$hcK zyIth5(v=olMj33km4cDpbe8n>t1eK~O5nQUotfePs9KGxL>B`j;prq(4*0)+|1PIZ zM|RXZth6$)DH?ldRI|J`06%&TBx?6hP7GR9<`=g-BMvhqzP5Hp+T#}QkNkL6+T=f1 zyFCyXG-6xpo~kK5DIUd!KJ5rInK@STZ94LdCal)twmG{iML60qH5IIdz$}Hy?gSh> zc=TvBd9qoyR#V(=-DYVa61z{UMi}tl(DIZju~2|^!f26l(8JB)cL+qyxDy9#qIF8J zD!QK;1Hx|UU71NKp0^&_+@FS1Jv`2h>tjg;}Lh6$!b2Sr!n}Ap(G^k_W7X= zcyAq^=Z}8GEi%Oh3Yp&b2Icc)>(wa>EDNyMl>Ibn^k1{nD*dE!Q`ThA zF<8jyMtWJb%1V1Ke7fT)I_as`zYi3gT^cihm1#KkYzHKb!|A$ywp<-TG(-$o(c+uK zQ$tHh@S@?{pW7eczVN7Ho2gswC|}pJoC7jUPYKMveef$wNK6Ft_(RTVL6?`(HD9ew zPaOLWY=%2mwn{N{q%B(jYu4rR)Um&>R(INBgiwX-ni;``EY{Ik7{ZdQ8LCITHDLF9Tl6m3#t zx0~g-HZLZ#>xM)NdUZ%+)Hyf>fLT0nqo2@jV3nmdrOZH2PkeB2+V(I7Lyg5mzwc`k)zPHK z!jtU5`i1rN!Dy4gTREy(I5bhyksMOA7mm9~2?<-fz7{Zb5`a0uB;iNZ?e{MP@=~Ct zu2Ae@rft0w#IF~sYh~;TY1z?JV3{LpMgoGX`k`?HYHryc$n zP}BPN_E8mBS+nn`bPS|EF@A<==RGS#H0Nm^)4oGW1~1$RiWIyhjwdWjf4Z|umbE>NSs?1T9J9uFl=;)|QLOsn1Lo?TWOUpH(#p>HYe3B^99f{j&B}R~$R5PAEQs9{&0q zpRGmw&aO?w9tk|`)+@gIes0HS=-g$z@6_k^J%C@B-{w*3auND8I;(sq+nW5!6NDt6 zEXG2C^mx1ZHS_LKK4;6RQW))O7)+x`Df9NU6Ks8|pEq(~5cLArGp?O1 z2q=q%0{k=SAy6S)Tr&cJiT>zO``D}x@H~^Xc}WF+dduiPN}*q$GbAH}<=Zjr7k=AP^`Cu~P$@QG!V86-P5_TQ zj(I?MV#HmEHl|~2mjt|e4l3Jdpe8F|xm7ZeM8=Ks%eKHKpi|VGjtV-IcL&(R`>vRl#VE=A5%YCyof2#L_z@>)zxMbRd8J z3ht)oaB}HlPq?iFYHM;_a}-(PK0OCi<$#LXa$aLprpFQl0++6;q+;^GkwSm?fXWm{ zd`1#~7*w3TGA03byFiVlc@tX<^^LBsP2b6z;5L`kd=-Ylq%aL`*TaXPUin%Zcio6R&_v*wzeWlCxY5}YU^ zV?dj2V1-SU_&k;9?ydrhNe4yMF3-%Z6iKtXXpy>c#elkdj!0#S)dTj1Qggw15zP!w#t$>l3cX*IoI6~0S0(6ayf3~!+%pp!ZZr!?NJs8P(G|F{M z2GK5f&@7#l*k&7YAKHH#1UKapywRqu(WyG&_#H)80bK5vY$`?bD+@!>MEovs_XOSF z`X84zKi!(uD+`4_@xhNE5zK@IqJ!l|{<|bPh;3Rik8s;Jd9XLFABpDBsj6wbtx0pyl3~?ZsWky{iy~buAl*`cC0$H!wzhe>K*( z@%RHza3Fm@nU;KX+JZc{y3xKIaBg0Vk1Hd+q5NGkGRV7>V3`7zQ?CXWg0_bv*AZP) zQIRfi^x6G+4Yi~J)~b`AHFkD=!T|EntZ`2j>68W)s>H?~7#V2&@uk2B+xcsRA$_NP zj&wgiwT3A(vP09hyo4e+sKySa!{H9svBmEc*1kaMr*-Gv(h zhi3ouG<;sj@ZglmuGT&5k%psOgUziq&!ckxKGrz)&DP;55@=1QooKgXyV$ zz3Hv~iU?9cN&u{_bVr6gN_MhYIioS~X7w8RiQ$nwyt2G}$J@svSk!A~yhyv-`IpP( z3O;xYiINYtk_f(Rg^8vqIFxz0e)RPE+38&SrOVt*;Tcuplk4yqb51f+s*aY+-Fq)9 zeeP6MRq?r8^qm>*RB0hT&NNY*b6ACqd3peROr_Z4hgS1Ze9`_?C+<%!HnTWRnV%tD z+1U9lkeM30D@*rUyQ{2j(B;P9{U;EGt964uqn3sk3=W8+ZvBf3a19)ry9fIR*vi&3 z!G3<+tW;r!S7k0SujOLCE$Hqwxx@+?LW66#+?Q|!nwl!C<^q{T5OTSiG{Pc}I?S~! zioSEFw)l(A9#IXTqTV}zmMWm&bVai&uin3Zeu&4GbP-Zl zf?0%zxa)`N3G?WO$}oye2ky{(?zAhFM*UB zxbR>K+Ic40b)pdoou1qM_7Em(Q)@TN)i)kGd1N}5%L(Gl_FCj9mPU@^iwXTaw2mVC z*ZTY=Am;V;y<2W`u8sm0ZtU#~MT@C&fYqZDl4IZ}CY7o~8y~)*C2U6u~R= zm2c~wPn9?sKnv7gj@!}+I3y%&87*F!FQ!{JogS>tT?O#Sf{lph?Lq;{{kpsFKsBA% z#Vc1)XEG8msHW^sn zUcV87DWgArY}`7Yy2Jk|24H@Rpwb~DqxIohj}VIns8J-$%*wjlky?LD${i_wLr9c= zo+X7{Rp_+C-*tqWMz7X*3q|mzB%4CeTobaKJ;02B8WC~16RB`IJwyc_=yUeO2#;VK zwj2!~hh)bR1DKG2`I2ONS!RnrCD(e3uW305x0fz6=@bi9$GIN617xsa|4{#T4&z5? z*;8OgbznmIpRg8qyqC>vHV05A4l>8n#JX(bUhc%sRgP%RP_! z`o4WSAT#WbqUpGr0?;0CfemJtYULO@JE8FctsRRA?5qGKY-?$W>Nqi@eG%-gUz#U< zLR+9(oftNK4WOteGK|(mjrbfmEmjY66{~PSfywp-W(5%0`2m+Vl0k~r)xk8N7$OK# z3LS%jU#E-UC8ecn!bW60C>Q0xVYGu5}#)!Q;RM0w{?p^%`|0=7w zuhAxqCA#NkAdKlP$7OT|le+!Evu^+*>_|5KQSLb6h+O}Gt8J=TtQ^yJ{!AFE2mnV{xT`=rr2`1ofhRoSNm3D!j}9nZ1$F(0gxA@9cXIomY)MW z@}*8%3PrWV^K1a7x%1f43Y2acgyfRo5k{WiBgK0t^F7!7;&B1;7+3*&0o($M3mQ?J zd@N;2k6gLR=pQ^0*grg|$!_*kpCxZM8jMS>3`B+{JI$0-mHm*PlrIg}ILK|y5KH5m za#bt$ci^^N<11fd_zB|k0nHjw-EaQxH@utTGhAB$V|$CS7P2pD<$T-8`GzFuM~d`h z8H?@83!ul>_qnwbxHLb2JI_|2Kt4Q=`x@u@Cm`&3BGmg@uHuP7zzMk}tsBSgL_dhr za^$~11Oo4D%CbqEpMYF@@cLjQ7_fn3?z~lI!rl6Q+;&TBAu2`b+WmPHQc=FZ|ebH`X}ayj=b8%w#;K6l7NJev>-th+&YsTO2<(8x*(vM&^f~dbS0iz zCUbW53TG>TlqnCjY^3Ao!GX3ZV%Ru7F{X=l7pDV_(&TZJUv93*t}BqOma`*}VX zKn6Vn&9NP3QvG(e6gzi6%)(0ms0Kgpi+|-Wd;KJrm?#I}x$mV@l(9IUho|s`0m0}K zbET1vzZ7hrp2xfHE=!1sjTQq$z$B!$cJqxBkg(_iiJ|>NSMkpcwNihxK}ta_BD9U) zd6U$T1`p`ErN(djE<6UEdZAzLE)_oMNc@k08+w`HFaP{6noDHOCa*hD1VkX>5HY{z z1@c{wsUZCB$1w;@QU#zT{qCb7HS)|L>POj^{v_tO$ZYzbOghM-b7gX!6oCoyX9E53w)&<1ir;b*;2~>rkMna-5wS*LJ}AbWtgE+HeW-%abfJ>zB{TF152%JuTQ;a(s*p|Y%3s8UwoIl=E3+pgBKEriP%0u8U(3E+uEcdp+jCP{r9|Beg557tD_-407Ovyrf}%B0~c#2aad zJ@fhXeyIYR<$UxoJHd#-?^k<*?nL=^yK`QFO|8HG7hE9ScT5FTE5oh?##cJ^_$PwfEo;PX0v{2bCd5~FZhxG~A_U%L zqC3gRsi)4T-c!$$B=C^rm$=hq6fwT)P#eOkOL5qDgXN0Bo4vBijT!0|$MD@!TCyOY z{AqsLQB#s^F2dAOg(khlLv||2`T05PX>X!p&h(e0u<26w{tlTY3$jC7KDWK@v)p<4 zLOsF{O6H;?r~GP7u6IC2pkqF!a4ZIVWUWgtyS|%|jH;W_u*&?c1-tVk@y1NmRo79g zskF&v`j;!IF2R9q<50oNz8flOnTl0}!={<1dW|OUhZRAK%TepeGJER+ubZ=O)?md? z;SRjp&4!4gtBS4Rh~Y6ph3;BPkq+r!W4mbw2ueDyY_Yc{{-Nh&!<)$!yV8-t1AvI| z(0fj#Gig++cho|7y@?raD|5cqDTWXTQT&92O^U4GWbWDxAMTj3n+}G;)}I2oxBQdW zN`;Z#e6-xvD_+>yM=je%1-*wmwI(t1?;Wo~3udo91%=KUa0^x6ry3JWHNg)~(w$>b zD|Tj}EB4iHa2olcL_$s&)2E&Ir&D)94P=A06rKH}BTi}7WrWMq9zN@#;QK~(H~Y-1 zX6zvfkdGjjB%xB6?b10HQ#6FP{yY`ru5h&*PnplPK5^d%j-n$>(C`vI=kuOCrrP}G zX$Oo^v+hGZiO(yIe41U?hf58;tD-Jx?Z(q=AIJQprXAlWaFksi856sfdL9j^GJ19Q z%$v^J+Z1>;8?9>-RBQ=Ps!QRsfW$Ok<5J@eygjoJ(XN)}<;)aC-Eog_ z(;9kJnyMeWZF{~ICI+ns&p1=#f)*$cU$F)6f4U^+uC^tQ(}@91yTfJN-3A~KkgPQQ zGJv>l?K~!A{ybo*!Q|0$Q{%piik;Qp@=JgciStZ_O^2o)K8k*a`TgVfOM0EgG%)JR zJ$Ch@sHCtAUf^-rVd1l87)%b9J8xbEqmLLrCBSM)(7OVeW4)h&=s0xpUu|12$`L>H zP{Y#t)?zWh3jL@aPP#N*+stCRqWfTNur-dj9@ug|LX}J5wb0GlZBNKcgKQ??d4SAa z$IQK6e7*~eafUP>u%CIw=mEOkPCP5O{WTe=wUPz$-x=bm!6t(`HVa+0;3Fir*B;?d z}aKqdCoPZ#>9^ugufhRWJhaU!6?@kr@CAWgTc(CyF>b>L(CZ<=? zwj8uaxW$IO1C0;2EL{teu4iSC9^64nu`S&B=UHxfSIkR(_I%|tie4%*(g47znGZa; zi-v}D#fWwkY*sH`8{gE$K%1J5H>VaYMFxhWJOUyjdE=wI`A$iBo|{@EFuUM9rcuBm zBI?_%-|N#V3B~D-9szj}OXsIS(IC0Ew7nkxvDXPCcP|{bzY$X&k}89oes~&>1o?W> z6dozqO>7XFc*qWf!oJBsAD^9{m!C#he%ja?DmyY92=d&|(l=7@_ z*3-#*sHnE%t1N<-4GC;OF1^rTTeZ-sI=qlZqYMvK)(ES!rLAv6p(J)E*jjp5SZ9qcQPjKL8PY+86Q5)DWeSmpC z!||j?Z?$n-dZ^{z26Wd_pBIe27dvaABtGwu;J-rWqxF?UjAIg>aQ2Y(udmJ5MD5es z9j8U9@~)4XN01DW%Q3hlK4++Vt^MH`{0Q%=9olzerT*nLd6DI;?`WAgKR_Ns7@JdD zdvv^*7+{qVjPq9&-UF7&(O}WXvln0NTaSk zA;m~T-}3qREf5R{Pg_dN#x)3lcXmuAX+x@) z+cxbjChDSr17Bj=NuthXm!-XHhH|_;lsJnPZnLm&JLNU*>yTW9jFhH4#_xJFc0NjX zO|MGfc8Zjz3>H<-0{QWUa|{^{`kTZRN5_uAk!%T(UzaW)<(nV#qlQzsjnlIg>F^G_ z6ab%jaJn)>zg8Y4lvKc5ptX}ZM@A)0!0i`6eJ7i&n34Ku?;YP)!6pY!`O(OvmO3h~ zmg~Yft!r68Y}40IF0lV+4VLU}THTTcIAjc+7T@qLj+Pphuy7IG&xj-3a*HukBJ$dA z@2UrZ$k%0|(UJ3hARzE;jTQN8v1r_T8!6KV(7!XgHH+a)DeQGFLbX)gnbE|QdK>N* zDN=35MzBOOO00WG%*}9jC-YKQYtEio&UU=Q&J3yrtMmad1E7 z+tgMcWMYF|v3G6*xzERMF;=1BSm&5@Ds^1*Hw|KhOLr_MYjM}r$MB|#>krC-vhKpn z4{TmX(r;JE9C->=^n6~6?cF1|l0{Duk4e6Z{c_i=`7~zOv^ku?ve`-x0%>-F>eW%T z_>aZRr!)$plW=^7dV}X6bzybswD{$`W_PP2&F8&-YFqziOur#FAS#9?vE9)T6a;Lr zuu}R(@fjffCQlJ8fY_MY9ijmwHt}ex#o^d(040!kE0{3Krhjk=Pvh&|w8sramyVZE zp;0R+VMdRoiuDms?2Z47o0e8ETXJHF1sw~k>L+|(pUP=*j!jBB{|Y-KQmxsA8u*9% zh+!8h^iiz#2SXWJm{qVTnP}8XgFYc(qoU8}Z0)nbb4A8EwZ^3yO2)^Pwq6)mS%rhd zN{Rri1!P2-UB%}Anw$-cbzpKV}d}_T!9E<6Quep$1JLBy&75_CXrvKPXJ1X9!^}5x(wxdTqxwi z()XMfTF|4id;^~o^07@|MZ|OizG*BS)Jm5LZ=%cq)3Mvaz~Kjvaev=1#FzlPW)aPB zBl+jL-6}1Jci3w+@S;#|@!Yl-eDhMt-dZ5{p;7ZC??glHrhJgw@$g|~vctmR7@<426_?;ZgnLePNk<}G zW^kjH6)=GJA3j{_c&)->A~{G3mX0_{Ye>SwN9gSM!9}X87X=p{_61d5lG|Kf-5>Hs zt&J|PSGaNWlxTa0U7o@nB&T^>UTahr+9djwo5(Ip8BtUr zE@2GG+geV;8IH2IRaUSaj#o?pUEmiWQZ5mh%&&XG1USaW3p5U~ftSL0zPELfteTLl z@XCv1*`yrF(PEiy-bEDzQiEDdQ7r7qvc*Owz}U7jN+`<} z3Yq7PTen+pbKqxtT(?BaMVrXh&Y8p%jDLNe>T17q?6M56)|x$UfZ2Rdv6jqdxB`>? zk>0_xG>@hzgxmT$K+1>j%y+8Pg^ooEaYvH)S2&l%?wl>GN-unqGANGRK5xgB5*fSVgpL6oLFhm*U}_v6_%GE71`$VHW_UZ=e}kcnSeJ#jt@1Qsr-!o`l;D56T{0`g?q@~A22Vz9Ngu6`tI8U-1J zfw$mte74E!K*Y%dCw{lN6}CBQf;Xt$z{KyA9z>Y#f6VS;$H&G-FMu~^n*XkP2QZ*n zK%}B*XC)qcQJ4Un$Gdk?ljv_mrt6+?^o$LLc&4kjawrzT6PeL)5|gVnb7iajn4hl$ zmfd(iA&c9!zBb|vN!SEDawe-Yl;w}NfK|eZQs1>Lv4ndf7ZE?ddt>=ACesiES!i~% z=aF<15pU=$p^9wH8|{lngw}`2z-Ap>9ivxRjWe}eg7w(o(6AWzS<{ZY*^)u}C~TjK z#DQL}>4@cv%skGeafeQC+5zL%387&C}<1!RjmouurKh@m1Zy z5l-AIfaC)IcXm3Yb@K?Uh1rtbKdfn)7{%ao$GHlV$tfRU>J@gx9(4{s84_Our!jE1 z9?oh$<=lkF8pCKZuy_z{0tA<%quL)t^SP9Xb-wUgJdgVQTXwjiToVWu1LS`h%w~}A zAq*%0K(8U7JaGZ$Ls*JAzSsQGQB_CyP6E;*sg`|w$y4cqpb$X}CNY($;6_cTzJKK= zIgRjOevKHIb>nke6bI8aXJsY|L`3$m>sHmj4HW&kDb-sH+`uD&oBCcy#2$at1jTpQ z{s9XGQJa`$(C#3^@_9MmJ^wD4_fv9`@rJbbS@D%qXP<42)=h;Vs3-fYi8j zwRJ+R!twOn86?A702F=^mhjU%GFla+dq6N;B9r(9lwbnx1^#e0rS)D45uf|a*(8YQ za+KH)!&wAxP~5LBop+ae+k2rCwd;&YUN*(( zUDdJLtQbaD9UhKtFlL+Jnl*8AtMXY0q80qrKB9p54A&_&M(e~+%{An ztn{~E7#*pyA;#{MuP%E_4=e;E4B)S{E%?Z;zm`SwIZv1L8$gfuN>DiOG9DIP`^b*Vf!WdmYF>*gDwR01VQ zZ4T-f=lw$?Yy95%3I!^1?W!AL`dz z&fzNExYV$3R}UAxH5jK)6B*7B-(a;MLiPC!9PNw8gfeRnH`VG58KkzxIK*u_a5%xF zW<8a2;dAcltHsFCYyxp4cbnOy7UCx2=eHNn2UENIXbiYM9piv1R_z%(wwBxP>aGc^ zOZ9i(QAH5+{g~7#M=aT&^y-i>x;|fj z8{vXc3%qxc3rALl!Kt2}6;42?xZ4QV7Vvh1lY&qVzrt+XyP?*efY+~}a6WmihqlG- zs)bO*WIziUhdT2)w+$;1Ca@U4q6~SK1#%yw#ady8RpPdNQRv<~lVyhsi_3x2UGwv* z1Mql49K*Vqx_(~fwUA;Ot+Jf%`uhMMz}u7^jkLT;7%v5ve}duE>v1oYH5!y#KlF*lfuu(o-4IUPMgi*pgE-02Jmp9L zp_PF_wQL;@5s*1|imCySQU>@4yW#yY5P|AoX45;?zv2XgA9Qd$ zzc{;CJReT}WU3HNBf?{*Qr!22w7G>wV;q<~*bF=6M#jHNMi4e0RQ1YMMqP4=;7P>Ss4Ih6uueS|!|~bk6_Y;i?|sY9Q0P{AiCy z0Qix|_OTrh#oszl6=)`6H5?u+Zk?3yY+s9X<|sCO$`IKDsrh7N=NBon0-3eWmR0kO zu}ps8eS;3>YitO+@xzpQXag+H@~6d{LWDtmcY}uKT>O#}fh+)Yd&bNFSUx}UBa&5% z*EcLp72pB#ycve`I(nQaT1~D#CXCv$h4S3Xd{iDM!~ls+ci%Nenq&;z;@^!vrVwk3 zo?*+MV$rbes*RWzosPNsezoqqRKRK|m}r4KeXQc+(-;Od92FL0)j2KmFdmmaO}fFcBxn3a_kq-F`2C{G6E~vd6#x za(uu8&OP7*2pwB`!0{@`EJ&tY6Qfk-D=qcah5*hH@Aa))MEth?fJKjugG01yd&=DI zG~M>@sAB-Y9LZn_KGQ#bGP5_k4$cQBqJo4fo}m5oIy8C-Fhd zmD&o_2J?7gZ;wG6i%A&YZ1cGR>~BgEbll0>;uR7A^QxoSvY@a#g@zya$b{JS;fbsr zHT0x9f=KTpI(ty{azxU=WLsr^FkSWgC7Zb_uJ@1#!gj5N5;)jlp0fsCPtW$U?-i&w z`_<07>$ywLcXUt*uUqQsJ`ta*ZN2{!BnbG?BC>R^8>kFAsY^@4e*;fN-|vjR%q zuMzJkMD=mdm~&WA)*Bc{XZuD|hzqC9aL+ZdT~uO@#`6Y|S$;Ef}=W2_LhtvBe}iX?8Eh^m9oPzZv>+&V6lsOs)cV0~_Ix ziHNZIfV%--$=<4Jx&y!;l*>*0q`L05ZVl4^#I?I?R+sR4nQC7~&R4Hqb(95)Evb|_ zKkbmYiu?Lo7I3=L!vtX;QhPpgye0t24r!~IrdCkOx&{m-?s*CQhWSpyY1M=o27Ill zYQvSb;xoNDvOL9CBIN7p8FnQRc3Oukp40O?F|(21zUczGKAF^(qF(7v>Y{TrMJe-R zQ@7=DWG#lAyt3-g%Q^%&k`{MG-{Q3Wlvb3z+wNF^Z@v>=T7Rd$zP?i#XGiqO+qZA; ziprtCeV8#P_>(Tafs02l6@FgOuI?(cTMny5q%=ax;hw^8&FL~d)HIAO2W-+?{P37_ zILT2@sP-rA!|UtHjh7#Ps;Jx?X^htAC$_W%(QDvzdwxtQ)B28IZ-tFn%$mUVXu$_~ zc#zPT%+QeL(Z1nuf#1f~hHQD#BZt%`X%&_9yhn8FGH6)q)x>i$E)U4a$yZ@|11m## zgwM!UlwKXh6@3qu;`V>E5%g|2kYj6Wi)&)i4tP^ZyzDD&iS`rYd0C^qRVvWOqd6%P z%X?aiIEcrPZxYRmJDSakLz`l;fa<~gbty}ym{6)8cGPESq!zrf@$oI=C?mPi8fRaK z_z;=1%RKq3v)W<|^&9;UVxveXDJd#l(juiGAl)F{Eg;=ogOC>Kmbi3E zH%Ll%hje%M9zOH??(F{l+u5Djf1L4--usT{InOz-IEQh95`B%;w2fF-_p!_T>dLBI zf$OZX!07(IBhiV}f{g^z-C%Wq1+93C&>MI}lLJ&#f2GB|`Z_zJb3tQfQs4TvI;#59 z9r-23=8l0#Df1Ycz5`;}t?4wExQm#gBDTU<&dlG8d&P6A@e}3L3Qx)0rEfXmACS%^ z35Di5iKE$^|8&;PQnh%+S<+BmK$6y_sogq~ksZk?$$Vwz+!E-xhbNEy{NaA>-JF~p zF+d5WdkVGNK13qqH8>fhNU*6XhoesHerD)qR7y#A*Q%;NIV|sG(FQAp&Su{_1mL6iwSH8U5ola$j(<}O% zAZnsA{Roi$@S`pMe4TQ?zHJ|etrOY+tK8I7FQLD)CWms8;sOFU`7>_UyYR+t5m!QG_SCp3olLj&ESDGJ&+%oB>TFW>(<=d z+zP8L{oC&N{*fs>qkG(ArM9WlT0S<|nORwMooV5}11LB+Fu2E~A1;pynZz;KP-`A- zCs_-bA@8o?NV2_y0nLQF*!{Ut!sDWgCXWQp&*6$2Mn=9vqOGek#?!D%RX(gUW4p}v z`Rg4tnKWnIk7i0s@mtR)7-_qYqJIY{5B|o|{*aJ;6-^UkW2}T9*6z)>WppftG0FH@+)rKa9%Kx)16zSp(+*`CG)2vlm%}wGAg1Z`v6)ti^-_kpg5)dA$bahMT(AmDZSgR9Uh({|5n^E;TdMs zbTip`z?V)`U;Q8|ty&qsF#DA$cgM_Px>{u0FCt^Hp)-!o$jfA?r|113rKzFmpUVcS zo$Y-}dY-RRy!YrBwm7tJGsJM{_N9{#q?>+A^}4HUF)^Dmeur>$P*FY2fL`pM-4S0- z3|H#wP1^`00pVhzaslSB)BDp(Ql`lmhVuYPIUZ@f1cL$scqwHl4jIY zL2+@h+<}+m1ZQIt4H;`;g~i8@^tqc6=^DwtNxXFA0xz8)JhHcR6bG7v6E*%I}VS9<$K=H(G7&ure8>XAy5@>$EBY@f!)M(gvU zN?m}?YVUdoG(2-8-K8CjNm%jm3o`0i{_E-+Xn66vJfp@|uz`oiHHqhA)^z_He}&~q zw0y{P1LN$CI+IkyZm7R^O&(af6h!`Qv79`VtuolzwWF@~3QQDMBwCbs5|^1IKb6S_ zv!uj0ou@_ILkq>+lG~zK@9Bu{9j_R5OMP(k&>iis(^j8kqVY1(EHT8kGgYd8X}LLY zCpa7rZ;_(R?ksnfHIJJQP6+wm@0cwnDgrbL1I4iQYW;i#G&D%Qt&bMQUa4@kbm)gq z(-_#Uryr4}FZ8II#0PD2THbfUjh>OAzY5QeH}m35kf_-siz~6XC7l1UlM>lY%Cp|+OJ?B}E>yiMt!-ueeT(EF%BfSJb)Ee;-kHY3$kD3*1n zX=+hEL27Kd)I{QQwzK6#A%#$P%%IuAO=U}G1J%nHORM(5$H%uh7#tEsmh1;|WutoX zx3>Ko)TI>OU+;@I&%*CZf2$!yfi4&mKHqOTv9m)F6Hh7>z+#EXDBJNu zammxACNs>yxuU|+dD;NPJsIIbu$2~VOeUihclI!~;iHjIrYr(x8KhBvB*E<5Y)?g{1Wxz2s$R>)|)QkyS{b+^tMY%TgLOCr^tEcZJaC8hBq7)@H@DYQg?c1 z`5KsU_M6wCBD-D5PIOG=LSZ)JZ=*RDBtHX#BxNA6#8$3Py{n|8R0d0Sw4AurDE-L~2uq1mN8uVJw%45{AYd!wNdmn2#}Q7AV| z!exR7_7~Yua%hf>6UX2e6ZPq+Ua+Y`XXa7HYu(YIY~l9Q0BRk>wsj%8-=VcpO+Ra> z?$2iaJ2r86xL?>`;)zYsA%TmqGgC~?M&9ubOi;?M1Z@v&qZu-+MvtgHW+vH(W^{vJ z6n_aN!I#J3v2Qz1u&__v>+`@!ag+3U{nBJsO zPe*~Bg^h*dA7{?MQ|&gAZ_d=BG5O@B?oBHzD~~GIPJbtHE|*J|;+ z#DACA#S5b&1G%h3N>k89)Wa2HZd00CL((_u=^G%&;DHA4(m%MS^vzi zwySOge^lI>Uqs%A3TNz@N0tg>TEf#@b&1JoT$`(xf_;W+$%NyF#MetM{_b5?qh7I_ z-{SjA46tdaJ&&6Vl$wo@*=;(%g7g}kC1Q)epVb6e+10kfzE~MaRf#q@=a*Dd+T_nn zfi$GHzcG>TWOp%fF5%lqnH!S@er~?Ol6wUvfe+jqZFr$rp{~p7x)Y!4@w*i{ioVGs zbZN_`y^Y`yqbKZ699~W~Y30)79>aHvcx>j z&_YBiRdq{kp*68PQ7=s;-<1UNEUTk zg^vx~PrrJ2{#l*u>r%5Q)0kMUhv_n1Kf?gH{UsG(+mE|TtFWW)e7S1}E4|gE6pbxY zYpGJ}7NW?^(<=B+M`W!84c7EXS2%p9j#i#h=9E*=c|3KW!{UU&W%SFC{B6#WD{=Xu zumWlyuZq|3Tc6I0xC`;~{`{#bll#$;8jDNS6`Sl4mGR8@j!Z@p`xM{N2{Cra0tQnF zd)AE8xHmMmz{WZM>V_aQ8oqpPyVi5}*2Q`#t%~}JG&;M4{{y-MP1~ZpmSAk7)_6(G z_C77|X7i~OawP+?-s0&`C7XP$0cxeA`$o&5g3Ei*IYpZmi$>t|=Ly5noLhyLK+=EqD7vzfEq zd%AjYFFbeZ-J71_rzsJom{}Yjl~pYvE|gVhoia|BW;%r^Lidfu(LH=P99a;fs$y!P zDY1$srV2Ul+#7f#qKiMLeW{QA#M=V{d6Wna|2 zKT>R_kgEN~6(Vd9d{%CE#>k3K-_kp!wDMXBnVXf7AzJ?1AhOhzgsMB%s3VjsJu5@L z=A$lsF4&|#j=TL}U1FRgJNEY}#M?yzQ?^Kty$+I3t$YKS5-PRI zPCJLcKTOO1I+wfoiapy~if}S@9D>J4h7CB>Xiy}HK#4ku7tf1$Tik~G;kA)(-!|S8 zt_AyeI87WB*D-mVchEIBaMvL-jL~PI|*92#(h4Xa=zj znhVLAjCXCQF#{eW5#aaIVU=K!L8AdII_cWxf4@G#?pq&BPRtF2z{p`S-Ow2P?a5Hy zy(|vOKrMc~bFB`wlJJ9Zd--Hv^cbZMDn7n1%85EAHJv>Z8RXT zs5@J&*|D9bD(r^F{HYx(@0MyBT1|d+L(&xL^+r;&`KrIjVBs=ZY|I1eiW|!JkuqJ< z_8|+yvv@%dFOeT~X*Ukm2DIOFGn(*?D^eSIhKJ*!uMV{ym+~6~CjE@&b>W~@&Nngqhgo@lfrg^=@B zZSiV%rjp=rvg#E39&nCsTz4MiSLDwOTWUS`5%`zM!P^ zf?)tGWe%KSfr=d|)P)trUbV&5JZ%gym)=esz^(FRMHv2 ziRrn!lpL916+Z6CAP!vDsbhHVWQVVv8qJ5NWZ;ZyEU{+~JCZGk#f5(Gbr3mDYBF=X ze4Y9~R60>{A6;~|D<{sgc6@^q7ZTqakRFEVVg()^ys~c#(9uhqaks^%!|%}UnpK3# z8HI#|B${iCIbT_qyFhkEpd+5g7dm<{!!BtHFVNnYRWZ?A)2c#TeHo0gm#H6K3PnoZHX$(Jxt`xAdv3+1M zVu9GWRBCbYH=cn=l7x`ji>BLD!=Y_C@jBw}urA6{Blw`ilAPl4d0z3F%FYl}rccQD z+*9;o43DWg&tiT;1p@$-Ui0|^@kj}6=PPY72$3jIVfPx1yb@BGbvIt)bc-;xe3slt zjP?w0BS_LAvv&1NvxAR;XzubifDCEsMEadsh;V;Z)6>7x6?ah(kx zh=I59>ReY^8vJlP5-{sfreRnpM$>7WvnKEf>5Zq5j1M!)IdciLWoo5m%ONMQrWY?N z-=n}VV}+?yn2gL4yNmccgKdW|ek{7I>3l4-aw z9{Ky%-&z}ewDqjkg!_q<%KzUt|Np@=?M#|Wn=Hs(sT-QShiJXDbaw6s&@Xe0J?*dM zuj|ae?aZBY*Y|BQrF@|*-Fmd0KIE^ir#LwuNU?Av zK(dzJ_v;D6>x0=~deXGR4ymxwZr3_0 zsRcaxA1y$JTm|fk1^5FZni4gLe7pmX3GksG6m05`~kM*gkF6g=^dk4WF)YNdQ^6 z>|ibziSxrh?c-DpMH~FCkC)&A;T!9d)3$f*(sf56Ia*{?k-W8p0oTwzL6PO-H&8yP2z|!tp$Zpok5|-CXAagQY;lAoMF&iw$9AYO4 zy;P`H^2Fl5clG(HDci@W)jiAVpn$m75zw91V1;y>E)@#SEmU+r?el%75e^d(it$vo zt&tF@w}6Vs`;eBYVUun4dV9G5v3lxjrt4z$o?J7hsZNhlG zm@I6KOTImk9qd<4{7>H(xB_nUVc1r?HIl}}Vj5mP`~~{qHQIN;te$`Rlp3yg+bEW0Gpkj`=(vqdHj2*LI=;`gxD3Q#%xIRgt zGV^F_nTEoj#05ji>7s$E>)${Lo#I9`tNyyepXXDqdj;}sVj7%CXUTD}FZDh=a$8xI zM1edtX0ZYadC(s;A5S167oC*T=NjQy{OqqM%6)hlm&tRg6m3n{HXG1BNTQeghxoO9 zG!R;dVYhp=j-s`-ls)BcbcRv{U%J0}OGGj!Oq5&q<-3~$5~8<0P%c5p>tU^g1eX9A zxO$dGHqnN5W@l#!wuf)Gsj0D8d_YK5 zYUu--d|vIw04cOJ0Q--4qOe+cJT0#nDeCFho!vV4lnjcWh}ZWVfFN)3uFsFc{F zf%-}3$P1aCk%5d$h52t%HuVi_7#nI_{ds3w1dE-50Jv{P${tcdVHy_NOjRf zkU1DMluUMjPKWsJsecS#5ZE7CAz?)kmWmGW@_Ic!L_a&DhiI0H@v{mR2rVt?u)Z`p zAU0zB5SV~KAqwvz2QaKzIzf8o>m6g6(z{Gro_%1mjDF3geOfl7epDv8l{hz2tV2U7 zbQ$3Qu~R;6d+#pSuh@K&01@56+b-_qXJXVfhD=jQCI zmv7d0oV4d>$Z&{Hp9D#$xw`Uv`BLwHW%g9a4@b_`LbFfefe5+#qwaX`o~yk3u9w8g z`zNInEhtLnBVCZd5DZjiwHBgE8^@8&jhHMSv`&jGGab6G<6@xBmJg>Hs8bmWXR0+feOIQ={T@ zKX2UpCbBZ-@an8Ihf+E>)_19|ec1BR#R)4g7`_`9w-S)1ez(#Ut631|Lq8!kg^gtd zg6r!wGv~sQl$8}?;oSBiRR7bKMFt;}!c%@G&6=Cqm-|+}9F^S(dSwe64M|}{FFRtq zH*2p_` z^DKYDB%oPnI>%Av=BiTa$f2ql9o76aJZG{oZMl17I4dr4D(y=sotl^XWbNG&8-nFq z`sEiF2%*6$QE}&uCH|k@!z7g5s;vW74f)h6v4G~ibZ#S7Vu;+C3=AHu*gP7jP|?F6 zLk9(1S{jkB9hmjJ4wn8b5P1k!>8x*G zE*qQmXNlj-o!r;I3dY`F8S)Wq(J&bt_yPsyeYElB$+JPbexIzFZ!(^$amu-SZkAN1upGlQu|VX|BF z*+|71ipJ}rRKsGi|BFM56F6lXz`yleIJ6bYunbe1iEZrWBC}kg-%fP=cg`=Gzkq{H zr{C8Jz`IyE3ctM({?Fzv81RnK56Sr6CZ3-VaA)&_Fan2_rcIK`68b$hLaSkUr1@Em zAe)2f`${Fr8w9LHWC5y|U(TAcKrwM`PKtVMNKl-qEY&gID`#9Td7eAZ-Ui&_v65zyu)Vq`j}YztRm4!l^%by$%G8+X_uXyt-JA9 zJTE5s>7Ehc_;^wRZw!vFz`3qeTy-5=1jT%J#3@BU_EZbhg3J~bXz`_Pa@G66qrCr= z#bdB$r>}8(x9Jw*sdA~_e3>*uMO#~2AU4wa_IxCr=q8vnkwAX>cI)cumOCC$!c0T4 z;w|4HC0~|ArGvKHd}xax1G!Gi^;LjQM~oG@`35e|%uxXd!k`t3brqzTrT)c}4mx0- z3&NAEukTXIzi z%8pU1wn?&k+!rP7X!7iu0z(yeviLVAba7SjDbKU7lV?G$=(DHydTNk1UME#o+oDso zS3fMYL6m>VR}YNVp@nK9&YPSMQ@&uR{sbU(XY4v_z+33cLcMV$3LVM9@k~-Vvo^M_ z=zv}lds3WmHL_2d7ObH`I8Na%0uegReAwNi)+x)eU@oD}RO84+PF`MbBLA}J%I4`A zW;VqPQ5TGiHcu#3yugzcA_(erUp}C#cg#(QwORO~>oHd_;;R1k;nL*X#TT57F zUg`3HpC{c=Z|)h&x|;25_m^bH!}B|zbqPEH0GEa2Y%Z-^ycpqq*Di|P{hhDh-KLjD z<<^ATt=$Pw_Wu0wqi$v{ciE^rwGVT!%=i&dkg~Tw)vEv45xtXeRDBl8ATPFJo^ib@ zV!+fjxxBB|u3+LPP3ZdvxTlY8Zf@JorKK?`eO5mPk4D^F6pI>ZBhJTZ3tcqfQygMxxBoCE@a?S3>-|4jB-n6QMvBL0|SO~o9+lW zTH>ow>oX;2kafB~x~UnYrZuP-7_t>BX2!L$%et5~*6*;Q|I=ujD=w;gQy-|1Hdz zEJNogku*LKv4jXLM}M@3nIb+tqma8KF`jz?`yan^41rEMQDYNyUDK4uvjU|j!JhqV z$($^^EmS~WKIHo6fR6!iP-Jc>&ZIX3A6_4I@l5t)l^;}NDR2$vLpl7V7SoDc37c?09)8CO?L)3dH3N$o2tUi-dToF7GlUIA5oyRem5wdYgz6JiPtL?qD% zj@?(<)2HGep`)W;M=qCX<(*M>OeUB+EVAG`1Zm{OLHvqMf*5W#YZnm-$-vLm+W`E| zFRZ**Xpqwj&*sLeJ3f{Z&re!MZh9pq%Xs%#tkhQefXS>NByKU=50B%>3c0?{M^ot&w`-9?+R1l z77VA8XyEg%V}u>?IEziabrL^9>GdUl&YHk1wKCnXWkZQ5_q7=9`wiqmuO7mb%@j%P zCk_y&B|}WU{@~rDDMTF*$0TPMtl;@-GQRO2znxKRRNvcgF_5YG1fJUJV8(R|Y59P( z+N~{Y2_kO){(B{IB@#5?`N}Km0s@admg~#3Dw}BW)y)(1Fy}+zDxdjf8qQ1wddxT2 z-ggz?kg=bH4q#HG+KDKzO9=Cz9l8y2|qq|d>BHa481|2CaH2J@v5k( z&~5cy?oQyc-lbQzbnF|bmnv}YX57FGba26^H*zdZVq0Bh+KbSgyQzZXSoVv~j z;gDH58omvV$i^-=Z|FeqOu36#f!+wYKh6Lk{&mEkXv*^Ko?z6h&$SpsHz4B|x;~U) zQTzi6UaBlUtz1v=uPumjN+8K2CLCDU{p+TXr`rJA8rA6_8vBfcRaeGRJv^HdG>4x- zO7fU=2igoT{&v_C^TlV?*`>8;jkx^LSM5nZc)8fu0w^gy7L;)>Z7!{m z3y?!}c^NRCSKE*z>O9JxEV}jn;lM*8&baWdfYE9bE+|3suku%I6fdVrxG+gid*@3n zI@Bt>_9F7GVG9tHre#_VWhur%KX)2U3=DL?eil|8Da(_g2Wmn0BC@5$X3~g>{!p6rJfprAL!u)*H-Zgqq!Jc{ZpRra@7AH^G zYAtA6>zFf?$zNbJoWon30!Zaw;nK%(mmgq!rj|5H7gJ42P7VvFN^s$TG|TW~TUgWh z(v2S@$wyFzLp&5m?m|3#@5(&WpJohlD5Ti$ryzHWea2upC2W1*MKyjzoFp9P`$l&O z_jADbq4wH7k(7DmZ%{`d@oUn`>1RsuB&jt!-qA<`7x|7Y@#HFtV9$!e`@z`>#$ za%5kf_`Bvg#;LvmnE+l8F5ub}dP?3xGVptq?9a)?pAroM_IE37Ym zu)-pG3Gt6w&4EmNH@zNMX7BzbM%s(JwIIv$1uJuJVpw4xwc>?~t+1p~CB4 z0K$Q5nO)Ov$N!Q6@6)pRt7$r^dRLaHS180EH5oG&cOV)0?$vTsU^BCkdlmN}1Z735fGUyGfjrjIjNy zZf53@@u5Erdl&$Q&B@!cMdUewno_qyFPSr2*?YqUb7scQTRI_01@ah>p*+II{sylR z>aAvAS)o*#0iwx}LG?>&DkXCPGi35#jJgF!YL2kxt_WL!eZLkR!8STocIQ?pFJYNf z#se*3Fvr#BH&epGeJMI_;oUL9Tv>hlXJ!J?*g0tA?hGpBK^aAP4>xaIA&c&l*VL+D zi?A4U$nYU9{o8*IvaR)egI>2*TlL8bYeRV&w~kVL%>kR)#LrC~AFnTWbI2Sm{w3TH zZoAG!aO;*EA$$7sCyXA)E%f3MNjeve!m8t{gU7_!f>-fzy@P}G1vs_HB z59CUAGF9c!|zUt6z#R`2Ip8V6!FPfSq+~_5ufJgpCGm0 zb$4yh{FwgX>a^EWBzwz(>dx^Y@oQm#4Ob>=aGU%C2*$RgL1~;G>uo^aFRT13ceDEG$3oH0o@!=xsB{-DlsU09B~PoC(mlGOE4UL zYrER?_u?ciCD%#w*E_q+DVDR;*pT`qrKSo4lKEkgCG0RKroeGf*q-dwgBLXfxclpO z5SP7-iqW7Cf@=y0vB3Y_m}uD@Tj`M;$H2^701%cW#d#=x0n?pmtB^mNO~MQQi|T=!23UuL_Ge1*N08Yd#rYj>Dd z>0NM#DXAL%N{G|BaDh%ge4A5y290%^E2MNeANr17*vw`wLo1;4EHmmwVg|KT9KdI- zw~tL$De2}r#Up7hbCPo;ga6!d++~w_G{Vj(N8PVi4U6>4bE=(HJ8GivN@_wiBL?-i zPFa0L#(k*Q&afG)Ge(F#$mxX4>DzepTJ3>u-YOgpzDY4Pfq_z)&EtSc_DCLjJ^BnX zOE88t|F)$;7R=e%70I(xA_9HtUp5{77|~;M$c=@V*pho8@{*k~X+ZpgvNHbOPeU!L zfI#OUO~R0|wHKX;=pm~E+pr)P{bA>+ssMcekgpMW$bk&GuI&;PCi6=XPm|+w836|& z;7aEN{^CEjIEt_zR4Y;y@#3tKwO2!5scw9+UE}`>CGaY^f*MYXL2Y0~>gDtNE;E4f z#N)Pap{m=A8`~b)q8Ww4bS}*}DQSw;p^dCrisu7zIuf7dkZDs6=$v#i(v?1Z1C)SnuouBAtX&?>_4^P#VVgtn>8#^0LHwy_! zF#OLbU>kfz{A1mm5+}xB0W4NT`ka~0Fo_@)<5#SKNiJo8`#c$eN7@lDkdw+l#RWVU z32e090U0c?zKW*#CGQU{QCQ{m&Trnty^@})Txhq_)752>1Xbjck$iphPXE#)e6k>~ z3TLkcX=|sw`BaUpRG@ioV_w8>&zoR@fK`r122KafXOlz#P=X7idsq+m7DegXf1F1 zdUJ({fMWgo59P$`j1#sf0mm;YLeb}A=~-EG+D7d#K+j}z;0I`gb=0z=<(S4bHMnJx zt#yMc9b{$Kxm~|9UU(JST*wKfJy+~w(P@0+8{=MW!Ny+O%~~2}Km$1=ZnaFUe`wV7 zOD4#3|1G!${ra~gwl{NAAx9y;X7cgU)% z*6JRuuMHc5(1$*noq4kSQw&>ncRG#DcOTL9;Hrv()yN4Vii zs3J^bH-e5Vuh=saES|(^(yzGue46VUSYGjnh)5g^OE?J>FJ64Q>|=+Bpm5txu8Rtv z(Nan7=fdL>4cseyRP2h;rKCMDt zk86PI)d~5i*$eZmWSK`+hQOGrDe zSq3FIc&kVHH1Y18dwPbM=UDsyg2@az#HrnHgW$Iy_D98%HD3b{tdB={q;G=-?);=x zD|lDq_YB-sNV|hVBSC%_4zK-9VL%}qN$_%QEi&g3N?pu|nko;WD)MX7OW{LwG^&{R z_-ET=iIS|UoDTDYYcIh?RtKtZ8in*X6?aaH3K}5b;X_dw0xRd*fUDove&bre=hpcQ zv`L9+S%TpI0!^g|T!O5!d?42rD+&s3p6I)`3L+wEYLDtX8xv_jsd*ngNXEJKoEi7D zBacDRV1fJUkxBnx?^|V&6HfJsfym*+8M*flcKq7Ko+La`ge))YI?Kxgqtc>ND;*@; z>5hkB*kR$o%}xhsjgxmvhDpWk7syCKT+^_yMmkZwCI0Q>5E* zU@@_)q)_6CH5)@1F2^R8#%ZJtjGvoVAjR^i4Z!)c>)Ik`;a&S@bXFDuc6N5ilL5Js z0#N7bK<0LXw~{(%&j6!o4Ll^d#yJDpaY;U2*ZxXDcil1eeq-*xJpUE0haa5@h={DV zE(PhuV~jprzBqbKAB!=0PbOdc#;QWzSM$zQAO=0gg%(aU<^N05Za&=Xk4wckgl2d? z;EO0Y`zLECO&E7cP4l-cfr;09FszLwfUTVla)nuJxvuU=6xxoBQz#07PQ8|N;>3N1 z^zxeFf!)pJGUF?Uh5t))gYe^2Ifxs_J^?ViC`lA!SXrzSudYCSR4gccK#S`{LfCca zhJdUPFAKj*fxbPC&U<$H?&)Y)iMaTER%}T0>qaZNZjra8- zu>>$!*Gj1Y?S-d_qO#ACb6}G3Y|i1{J1Xe+opR1hX#xr4kcmG^R1_Ezd8)VI8L|!@ zogf2cn*YQ?XHYQrak^C^&=nM+;(+cxsO~!~gRW)eHVYjuI|&I1GsfO^N=S|%j$e?* zPeHZcld+_YT$sG;|I46XSb~t{weA zTH-c;#MuLnE}t62IRFgOHg5{19GxbQft)TFMjm;tki(Q^7pfa?-tSU zt9)kybSnR32d(GCvC5)Cctxb*WzSFEAy?63$}GS8$@3W++D!sn2+k1M zN?}|f7bS2(&N_=`J(N1RDG(;MU?P)7X@i&7*gM71In!xZRNOl>B*i+-;!ELnEyH?n z^Xu30qkoSO=<7{WlI^$%KO;%do`!>r2X_sMefFndsI1@np`0;wE+GxxkZ;1$i%@>8 zMRZCYAc+VUXJ)V$bkr^YgiI0G()3m;rtAsD|G73IHVs?QmBz)f(P+<7Y^5(9an)!dLds6`Z_3C_Tk z3^@mZes}!Bd3PI^YB&do9i^B(P(Lq`{D)?P_XoTN;DqEUDlU3StBwT;M3+WQYGm>& zBq;d{4Tf(#+{bQ-MG&1}NL!LMor3%i)JB|;N$UQ}>jw9iv5A?EjwZ1g9U9=H&DS~? z{;RaNpr80jrJPH4dG>dGtgWw;Dg?5nw4CwJkLcA3MOO;JFZ;4xyOoH%F^`3ND~bK7kNH{$n^ z50=0=G%LM(ji0our?TWLD-*A;(k|wRzyJKWNx}*8S`*`b7fdp`OATP!MBJsJGQ$FS z2$;N^L1l3-F!uJpXm5N)^H43ZogGDYli{;?rp2aC7D+S1Ydb1orgCoGV2ox|IRD@B z3XK;aK$mRSSne$+0g*r8a_5!Rtð*=_K0QX+jG@m3ZYjjwvLnaV`Si#GJ6Qk)bK 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 bIpC*ojctciwzfzq0}yz+`njxgN@xNAxb_aG diff --git a/docs/system-requirements.md b/docs/system-requirements.md index df0f4bfe3..a11571b2b 100644 --- a/docs/system-requirements.md +++ b/docs/system-requirements.md @@ -2,6 +2,6 @@ Malcolm runs on top of [Docker](https://www.docker.com/), which runs on recent releases of Linux, Apple [macOS](host-config-macos.md#HostSystemConfigMac), and [Microsoft Windows](host-config-windows.md#HostSystemConfigWindows) 10 and up. Malcolm can also be deployed in the cloud [with Kubernetes](kubernetes.md#Kubernetes). -To quote the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html), "If there is one resource that you will run out of first, it will likely be memory." Malcolm developers recommend a minimum of 8 cores and 16 gigabytes of RAM on a dedicated server. Malcolm can run on less, but more is better. Of course, users will want as much hard drive space as possible, as the amount of PCAP data a machine can analyze and store will be limited by its hard drive. +To quote the [Elasticsearch documentation](https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html), "If there is one resource that you will run out of first, it will likely be memory." Malcolm requires a minimum of 8 CPU cores and 16 gigabytes of RAM on a dedicated server, but Malcolm developers recommend 16+ CPU cores and 32+ gigabytes of RAM for an optimal experience. Users will want as much available disk storage as possible (preferrably solid state storage), as the amount of PCAP data a machine can analyze and store will be limited by available storage space. Arkime's wiki has documents ([here](https://github.com/arkime/arkime#hardware-requirements) and [here](https://github.com/arkime/arkime/wiki/FAQ#what-kind-of-capture-machines-should-we-buy) and [here](https://github.com/arkime/arkime/wiki/FAQ#how-many-elasticsearch-nodes-or-machines-do-i-need) and a [calculator here](https://arkime.com/estimators)) that may be helpful, although not everything in those documents will apply to a Docker-based setup such as Malcolm. \ No newline at end of file From 127b5fffe6b4de5c51e6900a93b272c93a1f6de7 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 3 Apr 2024 10:36:18 -0600 Subject: [PATCH 30/98] documentation changes --- docs/hedgehog-upgrade.md | 2 +- docs/malcolm-hedgehog-e2e-iso-install.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/hedgehog-upgrade.md b/docs/hedgehog-upgrade.md index 3b3cec849..fa98816be 100644 --- a/docs/hedgehog-upgrade.md +++ b/docs/hedgehog-upgrade.md @@ -291,7 +291,7 @@ sensor@hedgehog:~$ cd /opt sensor@hedgehog:opt$ diff sensor_upgrade_backup_2020-05-08/sensor_ctl/control_vars.conf sensor/sensor_ctl/control_vars.conf 1,2c1,2 < export CAPTURE_INTERFACE=enp0s3 -< export CAPTURE_FILTER="not port 5044 and not port 5601 and not port 8005 and not port 9200 and not port 9600" +< export CAPTURE_FILTER="not port 5044 and not port 5601 and not port 8005 and not port 8006 and not port 9200 and not port 9600" --- > export CAPTURE_INTERFACE=xxxx > export CAPTURE_FILTER="" diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 69131bbbe..aa9dc5660 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -287,7 +287,7 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest - **Should Malcolm analyze live network traffic with Zeek?** - Answering **Y** will allow Malcolm itself to perform [live traffic analysis](live-analysis.md#LocalPCAP) using Zeek. Users configuring Hedgehog Linux for capture probably want to answer **N** to this question. See the question above above about "captur[ing] live network traffic." - **Capture filter (tcpdump-like filter expression; leave blank to capture all traffic)** - - If Malcolm is doing its own [live traffic analysis](live-analysis.md#LocalPCAP) as described above, users may optionally provide a capture filter. This filter will be used to limit what traffic the PCAP service ([netsniff-ng](http://netsniff-ng.org/) or [tcpdump](https://www.tcpdump.org/)) and the traffic analysis services ([Zeek](https://www.zeek.org/) and [Suricata](https://suricata.io/)) will see. Capture filters are specified using [Berkeley Packet Filter (BPF)](http://biot.com/capstats/bpf.html) syntax. For example, to indicate that Malcolm should ignore the ports it uses to communicate with Hedgehog Linux, users could specify `not port 5044 and not port 5045 and not port 8005 and not port 9200`. + - If Malcolm is doing its own [live traffic analysis](live-analysis.md#LocalPCAP) as described above, users may optionally provide a capture filter. This filter will be used to limit what traffic the PCAP service ([netsniff-ng](http://netsniff-ng.org/) or [tcpdump](https://www.tcpdump.org/)) and the traffic analysis services ([Zeek](https://www.zeek.org/) and [Suricata](https://suricata.io/)) will see. Capture filters are specified using [Berkeley Packet Filter (BPF)](http://biot.com/capstats/bpf.html) syntax. For example, to indicate that Malcolm should ignore the ports it uses to communicate with Hedgehog Linux, users could specify `not port 5044 and not port 5045 and not port 8005 and not port 8006 and not port 9200`. - **Disable capture interface hardware offloading and adjust ring buffer sizes?** - If Malcolm is doing its own [live traffic analysis](live-analysis.md#LocalPCAP) and users answer **Y** to this question, Malcolm will [use `ethtool`]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/nic-capture-setup.sh) to disable NIC hardware offloading features and adjust ring buffer sizes for capture interface(s); this should be enabled if the interface(s) are being used for capture **only**, otherwise answer **N**. If unsure, users should probably answer **N**. * **Specify capture interface(s) (comma-separated)** @@ -445,7 +445,7 @@ Users will be presented with a list of network interfaces and prompted to select ![Select capture interfaces](./images/hedgehog/images/capture_iface_select.png) -Upon choosing the capture interfaces and selecting OK, users may optionally provide a capture filter. This filter will be used to limit what traffic the PCAP service ([netsniff-ng](http://netsniff-ng.org/) or [tcpdump](https://www.tcpdump.org/)) and the traffic analysis services ([`zeek`](https://www.zeek.org/) and [`suricata`](https://suricata.io/)) will see. Capture filters are specified using [Berkeley Packet Filter (BPF)](http://biot.com/capstats/bpf.html) syntax. For example, to indicate Hedgehog should ignore the ports it uses to communicate with Malcolm, users could specify `not port 5044 and not port 5045 and not port 8005 and not port 9200`. Clicking **OK** will attempt to validate the capture filter, if specified, and will present a warning if the filter is invalid. +Upon choosing the capture interfaces and selecting OK, users may optionally provide a capture filter. This filter will be used to limit what traffic the PCAP service ([netsniff-ng](http://netsniff-ng.org/) or [tcpdump](https://www.tcpdump.org/)) and the traffic analysis services ([`zeek`](https://www.zeek.org/) and [`suricata`](https://suricata.io/)) will see. Capture filters are specified using [Berkeley Packet Filter (BPF)](http://biot.com/capstats/bpf.html) syntax. For example, to indicate Hedgehog should ignore the ports it uses to communicate with Malcolm, users could specify `not port 5044 and not port 5045 and not port 8005 and not port 8006 and not port 9200`. Clicking **OK** will attempt to validate the capture filter, if specified, and will present a warning if the filter is invalid. ![Specify capture filters](./images/hedgehog/images/capture_filter.png) From 8996d956113a010ce76b0e87fe2de2390d3b3bce Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 3 Apr 2024 10:53:32 -0600 Subject: [PATCH 31/98] bump opensearch and dashboards to v2.13.0 --- Dockerfiles/dashboards.Dockerfile | 10 +++++----- Dockerfiles/opensearch.Dockerfile | 2 +- api/requirements.txt | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile index 3285435cd..1a4b84340 100644 --- a/Dockerfiles/dashboards.Dockerfile +++ b/Dockerfiles/dashboards.Dockerfile @@ -1,4 +1,4 @@ -FROM opensearchproject/opensearch-dashboards:2.12.0 +FROM opensearchproject/opensearch-dashboards:2.13.0 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' @@ -39,10 +39,10 @@ RUN yum upgrade -y && \ # Malcolm manages authentication and encryption via NGINX reverse proxy /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin remove securityDashboards --allow-root && \ cd /tmp && \ - # unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ - # sed -i "s/2\.12\.0/2\.12\.0/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ - # sed -i "s/2\.12\.0/2\.12\.0/g" opensearch-dashboards/transformVis/package.json && \ - # zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ + unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ + sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ + sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/package.json && \ + zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ cd /usr/share/opensearch-dashboards/plugins && \ /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install file:///tmp/transformVis.zip --allow-root && \ rm -rf /tmp/transformVis /tmp/opensearch-dashboards && \ diff --git a/Dockerfiles/opensearch.Dockerfile b/Dockerfiles/opensearch.Dockerfile index 19694ba80..f3c477967 100644 --- a/Dockerfiles/opensearch.Dockerfile +++ b/Dockerfiles/opensearch.Dockerfile @@ -1,4 +1,4 @@ -FROM opensearchproject/opensearch:2.12.0 +FROM opensearchproject/opensearch:2.13.0 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" diff --git a/api/requirements.txt b/api/requirements.txt index 564b1d8f8..0ae09a797 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -5,5 +5,5 @@ opensearch-py==2.5.0 requests==2.31.0 regex==2022.3.2 dateparser==1.1.1 -elasticsearch==8.12.1 -elasticsearch-dsl==8.12.0 \ No newline at end of file +elasticsearch==8.13.0 +elasticsearch-dsl==8.13.0 \ No newline at end of file From fbfcba516906796d56b455deadc2df7306c87633 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 3 Apr 2024 12:24:22 -0600 Subject: [PATCH 32/98] documentation changes --- docs/hedgehog.md | 1 + .../images/hedgehog/images/arkime_confirm.png | Bin 32120 -> 28451 bytes docs/images/hedgehog/images/autostarts.png | Bin 39775 -> 27451 bytes .../hedgehog/images/autostarts_confirm.png | Bin 46567 -> 68936 bytes .../hedgehog/images/forwarder_config.png | Bin 35120 -> 36707 bytes docs/images/hedgehog/images/htpdate_host.png | Bin 10374 -> 12638 bytes docs/images/hedgehog/images/htpdate_setup.png | Bin 34141 -> 54230 bytes docs/images/hedgehog/images/htpdate_test.png | Bin 12397 -> 19513 bytes .../images/malcolm_arkime_reachback_acl.png | Bin 19997 -> 15391 bytes .../hedgehog/images/ssl_client_receive.png | Bin 34332 -> 36573 bytes docs/malcolm-hedgehog-e2e-iso-install.md | 18 ++++++++++++------ shared/bin/configure-capture.py | 12 ++++++++++-- 12 files changed, 23 insertions(+), 8 deletions(-) diff --git a/docs/hedgehog.md b/docs/hedgehog.md index 94880fa51..5b417aaf4 100644 --- a/docs/hedgehog.md +++ b/docs/hedgehog.md @@ -29,6 +29,7 @@ Hedgehog Linux is a Debian-based operating system built to * [ssl-client-receive](malcolm-hedgehog-e2e-iso-install.md#HedgehogGetCerts): Receive client SSL files for filebeat from Malcolm * [filebeat](malcolm-hedgehog-e2e-iso-install.md#Hedgehogfilebeat): Zeek and Suricata log forwarding * [miscbeat](malcolm-hedgehog-e2e-iso-install.md#Hedgehogmiscbeat): System metrics forwarding + * [acl-configure](malcolm-hedgehog-e2e-iso-install.md#HedgehogACL): Configure ACL for artifact reachback from Malcolm - [Autostart services](malcolm-hedgehog-e2e-iso-install.md#HedgehogConfigAutostart) + [Zeek Intelligence Framework](hedgehog-config-zeek-intel.md#HedgehogZeekIntel) * [Appendix A - Generating the ISO](hedgehog-iso-build.md#HedgehogISOBuild) diff --git a/docs/images/hedgehog/images/arkime_confirm.png b/docs/images/hedgehog/images/arkime_confirm.png index 2187341372fee2830c5888ee66414c08c98972db..c0e6a738cf4c237f269c92f7b5c5fee990b5e334 100644 GIT binary patch literal 28451 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 literal 32120 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 diff --git a/docs/images/hedgehog/images/autostarts.png b/docs/images/hedgehog/images/autostarts.png index fc77489a465519038ddbfd178aaa6bfe62e2cc1d..c6c23cfe629578fe74ae0e13ccc152648c6b278d 100644 GIT binary patch literal 27451 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%0AyCM82kVZG!gShb#<@k9Kh_7-c`#A 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%0D=aUdQZ0-xLB%f`QTcl(!>u@VsxF$o#et8c6l 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 diff --git a/docs/images/hedgehog/images/forwarder_config.png b/docs/images/hedgehog/images/forwarder_config.png index b20139db3a8e78f7bdc97e16d560abaa5f723e2a..41529a2a5a246dadd907348adfe60cc594ce6265 100644 GIT binary patch literal 36707 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�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 literal 35120 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

    x1YfW=3GjYNk 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 literal 10374 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 literal 12397 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 diff --git a/docs/images/hedgehog/images/malcolm_arkime_reachback_acl.png b/docs/images/hedgehog/images/malcolm_arkime_reachback_acl.png index 20bb801358ab451f8a4a2871cee248e81a1cfd33..fad00c3ed4428a15bdf67e7c5ccfec63f670d6bc 100644 GIT binary patch literal 15391 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 literal 19997 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 diff --git a/docs/images/hedgehog/images/ssl_client_receive.png b/docs/images/hedgehog/images/ssl_client_receive.png index 53ad7a48f68dd87f47a00148b17601a3bccb324f..6ec9cf702e8bd00c7070d40351f07d0bf0816f9a 100644 GIT binary patch literal 36573 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 Jis=9Ne*p4m495Tf literal 34332 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 diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index aa9dc5660..38a4ea402 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -29,6 +29,7 @@ In contrast to using the ISO installer, Malcolm can also be installed "natively" * [ssl-client-receive](#HedgehogGetCerts): Receive client SSL files for filebeat from Malcolm * [filebeat](#Hedgehogfilebeat): Zeek and Suricata log forwarding * [miscbeat](#Hedgehogmiscbeat): System metrics forwarding + * [acl-configure](#HedgehogACL): Configure ACL for artifact reachback from Malcolm + [Autostart services](#HedgehogConfigAutostart) * [Verifying Traffic Capture and Forwarding](#Verify) @@ -303,7 +304,7 @@ Here users can configure Malcolm to keep its time synchronized with either an NT ![Time synchronization method](./images/hedgehog/images/time_sync_mode.png) -If **htpdate** is selected, users will be prompted to enter the IP address or hostname and port of an HTTP/HTTPS server (for another Malcolm instance, port `9200` may be used) and the time synchronization check frequency in minutes. A test connection will be made to determine if the time can be retrieved from the server. +If **htpdate** is selected, users will be prompted to enter the URL of an HTTP/HTTPS server (for another Malcolm instance, either port `443` or port `9200` over `https` may be used) and the time synchronization check frequency in minutes. A test connection will be made to determine if the time can be retrieved from the server. ![*htpdate* configuration](./images/hedgehog/images/htpdate_setup.png) @@ -421,7 +422,7 @@ Returning to the configuration mode selection, choose **Time Sync**. Here users ![Time synchronization method](./images/hedgehog/images/time_sync_mode.png) -If **htpdate** is selected, users will be prompted to enter the IP address or hostname and port of an HTTP/HTTPS server (for a Malcolm instance, port `9200` may be used) and the time synchronization check frequency in minutes. A test connection will be made to determine if the time can be retrieved from the server. +If **htpdate** is selected, users will be prompted to enter the URL of an HTTP/HTTPS server (for another Malcolm instance, either port `443` or port `9200` over `https` may be used) and the time synchronization check frequency in minutes. A test connection will be made to determine if the time can be retrieved from the server. ![*htpdate* configuration](./images/hedgehog/images/htpdate_setup.png) @@ -480,6 +481,8 @@ Files flagged as potentially malicious will be logged as Zeek `signatures.log` e Finally, users will be presented with the list of configuration variables that will be used for capture, including the values which have been selected up to this point in this section. Upon choosing **OK** these values will be written back out to the sensor configuration file located at `/opt/sensor/sensor_ctl/control_vars.conf`. Editing this file manually is not recommended. After confirming these values, users will be presented with a confirmation that these settings have been written to the configuration file then returned to the welcome screen. +See the Malcolm documentation for [**Automatic file extraction and scanning - User interface**](file-scanning.md#ZeekFileExtractionUI) for more information on how to access preserved files. + ## Configure Forwarding Select **Configure Forwarding** to set up forwarding logs and statistics from the sensor to an aggregator server, such as [Malcolm]({{ site.github.repository_url }}). @@ -506,10 +509,6 @@ Users will be asked to enter authentication credentials for the sensor's connect Users will be asked to provide a "password hash secret" for the Arkime viewer cluster. This value corresponds to the `passwordSecret` value in Arkime's [config.ini file](https://arkime.com/settings). Arkime uses this value to secure communication (specifically, the connection used when Arkime viewer retrieves a PCAP payload for display in its user interface) between Arkime viewers in instances of Malcolm and Hedgehog Linux. In other words, this value needs to be the same for the Malcolm instance and all of the instances of Hedgehog Linux forwarding Arkime sessions to that Malcolm instance. The corresponding value is set when [setting up authentication](#MalcolmAuthSetup) during the Malcolm configuration. -Users will be shown a dialog for a list of IP addresses used to populate an access control list (ACL) for hosts allowed to connect back to the sensor for retrieving session payloads from its PCAP files for display in Arkime viewer. The list will be prepopulated with the IP address entered a few screens prior to this one. - -![PCAP retrieval ACL](./images/hedgehog/images/malcolm_arkime_reachback_acl.png) - Arkime supports [compression](https://arkime.com/settings#writer-simple) for the PCAP files it creates. Select `none` (at the cost of requiring more storage for PCAP files saved on the sensor) or `zstd` (at the cost of higher CPU load when writing and reading PCAP files). If [`zstd`](https://en.wikipedia.org/wiki/Zstd?lang=en) is chosen, users will also be prompted for the compression level (something like `3` is probably a good choice). ![PCAP compression](./images/hedgehog/images/pcap_compression.png) @@ -576,6 +575,12 @@ The sensor uses [Fluent Bit](https://fluentbit.io/) to gather miscellaneous syst This forwarder's configuration is almost identical to that of [filebeat](#Hedgehogfilebeat) in the previous section. Select `miscbeat` from the forwarding configuration mode options and follow the same steps outlined above to set up this forwarder. +### acl-configure: Configure ACL for artifact reachback from Malcolm + +Users will be shown a dialog for a list of IP addresses used to populate a firewall access control list (ACL) for hosts allowed to connect back to the sensor for retrieving session payloads from its PCAP files (over port `8005/tcp`) for display in Arkime viewer and for downloading files (over port `8006/tcp`) [extracted and preserved by Zeek](#HedgehogZeekFileExtraction). The list will be prepopulated with the IP address entered a few screens prior to this one. + +![PCAP retrieval ACL](./images/hedgehog/images/malcolm_arkime_reachback_acl.png) + ### Autostart services Once the forwarders have been configured, the final step is to **Configure Autostart Services**. Choose this option from the configuration mode menu after the welcome screen of the sensor configuration tool. @@ -584,6 +589,7 @@ Despite configuring capture and/or forwarder services as described in previous s * **AUTOSTART_ARKIME** - [capture](#Hedgehogarkime-capture) PCAP engine for traffic capture, as well as traffic parsing and metadata insertion into OpenSearch for viewing in [Arkime](https://arkime.com/). If using Hedgehog Linux along with [Malcolm]({{ site.github.repository_url }}) or another Arkime installation, this is probably the preferable packet capture engine. * **AUTOSTART_CLAMAV_UPDATES** - Virus database update service for ClamAV (requires sensor to be connected to the Internet) +* **AUTOSTART_EXTRACTED_FILE_HTTP_SERVER** - the [HTTPS server](file-scanning.md#ZeekFileExtractionUI) providing access to the directory containing [Zeek-extracted files](#HedgehogZeekFileExtraction) * **AUTOSTART_FILEBEAT** - [filebeat](#Hedgehogfilebeat) Zeek and Suricata log forwarder * **AUTOSTART_FLUENTBIT_AIDE** - [Fluent Bit](https://fluentbit.io/) agent [monitoring](https://docs.fluentbit.io/manual/pipeline/inputs/exec) [AIDE](https://aide.github.io/) file system integrity checks * **AUTOSTART_FLUENTBIT_AUDITLOG** - [Fluent Bit](https://fluentbit.io/) agent [monitoring](https://docs.fluentbit.io/manual/pipeline/inputs/tail) [auditd](https://man7.org/linux/man-pages/man8/auditd.8.html) logs diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index d6f124af1..c769c728c 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -148,7 +148,7 @@ class Constants: MSG_CONFIG_ZEEK_CARVING_MIMES = 'Specify file types to carve' MSG_CONFIG_CARVED_FILE_PRESERVATION = 'Specify which carved files to preserve' MSG_CONFIG_CAP_CONFIRM = 'Sensor will capture traffic with the following parameters:\n\n{}' - MSG_CONFIG_AUTOSTART_CONFIRM = 'Sensor autostart the following services:\n\n{}' + MSG_CONFIG_AUTOSTART_CONFIRM = 'Sensor will autostart the following services:\n\n{}' MSG_CONFIG_FORWARDING_CONFIRM = '{} will forward with the following parameters:\n\n{}' MSG_CONFIG_CAP_PATHS = 'Provide paths for captured PCAPs and Zeek logs' MSG_CONFIG_CAPTURE_SUCCESS = 'Capture interface set to {} in {}.\n\nReboot to apply changes.' @@ -441,7 +441,15 @@ def main(): # get confirmation from user that we really want to do this code = d.yesno( Constants.MSG_CONFIG_AUTOSTART_CONFIRM.format( - "\n".join(sorted([f"{k}={v}" for k, v in capture_config_dict.items() if "AUTOSTART" in k])) + "\n".join( + sorted( + [ + f"{k}={v}" + for k, v in capture_config_dict.items() + if (("AUTOSTART" in k) and (not k.startswith("#"))) + ] + ) + ) ), yes_label="OK", no_label="Cancel", From efd180053f64b92616be590a7498824823fbc29c Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 3 Apr 2024 15:55:21 -0600 Subject: [PATCH 33/98] testing out htadmin fixes --- Dockerfiles/htadmin.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfiles/htadmin.Dockerfile b/Dockerfiles/htadmin.Dockerfile index 82718df06..ec22ca742 100644 --- a/Dockerfiles/htadmin.Dockerfile +++ b/Dockerfiles/htadmin.Dockerfile @@ -31,7 +31,7 @@ ENV PHP_VERSION $PHP_VERSION ENV MCRYPT_VERSION $MCRYPT_VERSION ENV BOOTSTRAP_VERSION $BOOTSTRAP_VERSION -ENV HTADMIN_URL "https://codeload.github.com/mmguero-dev/htadmin/tar.gz/master" +ENV HTADMIN_URL "https://codeload.github.com/mmguero-dev/htadmin/tar.gz/newlinefix" RUN apt-get -q update && \ apt-get -y -q --no-install-recommends upgrade && \ From 19ac5e1caf40c27096f0f9bba096014ebd668067 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 4 Apr 2024 08:53:41 -0600 Subject: [PATCH 34/98] point back at master branch for htadmin --- Dockerfiles/htadmin.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfiles/htadmin.Dockerfile b/Dockerfiles/htadmin.Dockerfile index ec22ca742..82718df06 100644 --- a/Dockerfiles/htadmin.Dockerfile +++ b/Dockerfiles/htadmin.Dockerfile @@ -31,7 +31,7 @@ ENV PHP_VERSION $PHP_VERSION ENV MCRYPT_VERSION $MCRYPT_VERSION ENV BOOTSTRAP_VERSION $BOOTSTRAP_VERSION -ENV HTADMIN_URL "https://codeload.github.com/mmguero-dev/htadmin/tar.gz/newlinefix" +ENV HTADMIN_URL "https://codeload.github.com/mmguero-dev/htadmin/tar.gz/master" RUN apt-get -q update && \ apt-get -y -q --no-install-recommends upgrade && \ From 46e485911ab668bd3cd623ca2b7a614f6c0ee22c Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 4 Apr 2024 12:07:57 -0600 Subject: [PATCH 35/98] Bump Arkime to v5.1.0 (https://github.com/arkime/arkime/blob/2908ebf425ebbb47729ebf44ead5c9dad1bf11f1/CHANGELOG#L34-L62) and include ja4+ .so plugins for arkime capture (https://arkime.com/settings#ja4plus) --- Dockerfiles/arkime.Dockerfile | 10 +++++++--- arkime/scripts/docker_entrypoint.sh | 11 ++++++++++- hedgehog-iso/arkime/Dockerfile | 2 +- hedgehog-iso/arkime/build-arkime-deb.sh | 5 +++++ hedgehog-iso/interface/sensor_ctl/arkime/config.ini | 1 + .../supervisor.init/arkime_config_populate.sh | 9 +++++++++ hedgehog-raspi/sensor_install.sh | 13 +++++++++++-- 7 files changed, 44 insertions(+), 7 deletions(-) diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile index ac8d1f776..74db6fd1a 100644 --- a/Dockerfiles/arkime.Dockerfile +++ b/Dockerfiles/arkime.Dockerfile @@ -7,7 +7,7 @@ ENV TERM xterm ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -ENV ARKIME_VERSION "v5.0.1" +ENV ARKIME_VERSION "v5.1.0" ENV ARKIME_DIR "/opt/arkime" ENV ARKIME_URL "https://github.com/arkime/arkime.git" ENV ARKIME_LOCALELASTICSEARCH no @@ -16,7 +16,8 @@ ENV ARKIME_INET yes ADD arkime/scripts/bs4_remove_div.py /opt/ ADD arkime/patch/* /opt/patches/ -RUN apt-get -q update && \ +RUN export DEBARCH=$(dpkg --print-architecture) && \ + apt-get -q update && \ apt-get -y -q --no-install-recommends upgrade && \ apt-get install -q -y --no-install-recommends \ binutils \ @@ -73,7 +74,10 @@ RUN apt-get -q update && \ make install && \ npm cache clean --force && \ rm -f ${ARKIME_DIR}/wiseService/source.* ${ARKIME_DIR}/etc/*.systemd.service && \ - bash -c "file ${ARKIME_DIR}/bin/* ${ARKIME_DIR}/node-v*/bin/* | grep 'ELF 64-bit' | sed 's/:.*//' | xargs -l -r strip -v --strip-unneeded" + bash -c "file ${ARKIME_DIR}/bin/* ${ARKIME_DIR}/node-v*/bin/* | grep 'ELF 64-bit' | sed 's/:.*//' | xargs -l -r strip -v --strip-unneeded" && \ + mkdir -p "${ARKIME_DIR}"/plugins && \ + curl -fsSL -o "${ARKIME_DIR}/plugins/ja4plus.${DEBARCH}.so" "https://github.com/arkime/arkime/releases/download/${ARKIME_VERSION}/ja4plus.${DEBARCH}.so" && \ + chmod 755 "${ARKIME_DIR}/plugins/ja4plus.${DEBARCH}.so" FROM debian:12-slim diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index d29873b83..f7e6f8356 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -153,11 +153,20 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s/^\(userAutoCreateTmpl=\)/# \1/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(wiseHost=\)/# \1/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(wisePort=\)/# \1/" "${ARKIME_CONFIG_FILE}" - sed -i "s/^\(plugins=\)/# \1/" "${ARKIME_CONFIG_FILE}" + sed -i "s/^\(plugins=\).*/# \1/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(viewerPlugins=\)/# \1/" "${ARKIME_CONFIG_FILE}" sed -i '/^\[custom-fields\]/,$d' "${ARKIME_CONFIG_FILE}" fi + # enable ja4+ plugin if it's present + JA4_PLUGIN_FILE="${ARKIME_DIR}/plugins/ja4plus.$(dpkg --print-architecture).so" + if [[ -f "${JA4_PLUGIN_FILE}" ]]; then + # append ja4 plugin filename to end of plugins= line in config file and uncomment it if necessary + sed -i "s/^#*[[:space:]]*\(plugins=\)/\1$(basename "${JA4_PLUGIN_FILE}");/" "${ARKIME_CONFIG_FILE}" + # remove trailing semicolon from plugins= line if it exists + sed -i "s/^\(plugins=.*\)[[:space:]]*;[[:space:]]*$/\1/" "${ARKIME_CONFIG_FILE}" + fi + chmod 600 "${ARKIME_CONFIG_FILE}" || true [[ -n ${PUID} ]] && chown -f ${PUID} "${ARKIME_CONFIG_FILE}" || true [[ -n ${PGID} ]] && chown -f :${PGID} "${ARKIME_CONFIG_FILE}" || true diff --git a/hedgehog-iso/arkime/Dockerfile b/hedgehog-iso/arkime/Dockerfile index 4ef89f0da..e66b161f8 100644 --- a/hedgehog-iso/arkime/Dockerfile +++ b/hedgehog-iso/arkime/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="malcolm@inl.gov" ENV DEBIAN_FRONTEND noninteractive -ENV ARKIME_VERSION "5.0.1" +ENV ARKIME_VERSION "5.1.0" ENV ARKIME_DIR "/opt/arkime" RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sources && \ diff --git a/hedgehog-iso/arkime/build-arkime-deb.sh b/hedgehog-iso/arkime/build-arkime-deb.sh index e1b43f15e..944fe4959 100755 --- a/hedgehog-iso/arkime/build-arkime-deb.sh +++ b/hedgehog-iso/arkime/build-arkime-deb.sh @@ -4,6 +4,7 @@ ARKIME_URL="https://github.com/arkime/arkime.git" OUTPUT_DIR="/tmp" +DEBARCH=$(dpkg --print-architecture) unset VERBOSE while getopts o:v opts; do @@ -33,6 +34,10 @@ export PATH="$ARKIME_DIR/bin:/tmp/arkime-$ARKIME_VERSION/node_modules/.bin:${PAT make install +mkdir -p "${ARKIME_DIR}"/plugins +curl -fsSL -o "${ARKIME_DIR}/plugins/ja4plus.${DEBARCH}.so" "https://github.com/arkime/arkime/releases/download/v${ARKIME_VERSION}/ja4plus.${DEBARCH}.so" +[[ -f "${ARKIME_DIR}/plugins/ja4plus.${DEBARCH}.so" ]] && chmod 755 "${ARKIME_DIR}/plugins/ja4plus.${DEBARCH}.so" + cp -r ./capture/plugins/lua/samples "$ARKIME_DIR"/lua cat NOTICE release/CAPTURENOTICE > $ARKIME_DIR/NOTICE.txt diff --git a/hedgehog-iso/interface/sensor_ctl/arkime/config.ini b/hedgehog-iso/interface/sensor_ctl/arkime/config.ini index 47936405e..2d55431ea 100644 --- a/hedgehog-iso/interface/sensor_ctl/arkime/config.ini +++ b/hedgehog-iso/interface/sensor_ctl/arkime/config.ini @@ -35,6 +35,7 @@ parseSMB=true parseSMTP=true passwordSecret=Malcolm pcapDir=/tmp +plugins= pluginsDir=/dummy/plugins reqBodyOnlyUtf8=true rirFile=/dummy/ipv4-address-space.csv diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh index 6643040df..d65b0c10c 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh @@ -88,6 +88,15 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -r "$SUPERVISOR_PATH"/arkime/config.ini ]]; t sed -r -i "s/(debug)\s*=\s*.*/\1=$ARKIME_DEBUG_LEVEL/" "$ARKIME_CONFIG_FILE" fi + # enable ja4+ plugin if it's present + JA4_PLUGIN_FILE="/opt/arkime/plugins/ja4plus.$(dpkg --print-architecture).so" + if [[ -f "${JA4_PLUGIN_FILE}" ]]; then + # append ja4 plugin filename to end of plugins= line in config file and uncomment it if necessary + sed -i "s/^#*[[:space:]]*\(plugins=\)/\1$(basename "${JA4_PLUGIN_FILE}");/" "$ARKIME_CONFIG_FILE" + # remove trailing semicolon from plugins= line if it exists + sed -i "s/^\(plugins=.*\)[[:space:]]*;[[:space:]]*$/\1/" "$ARKIME_CONFIG_FILE" + fi + # identify node in session metadata for PCAP reachback PRIMARY_IP=$(ip route get 255.255.255.255 | grep -Po '(?<=src )(\d{1,3}.){4}' | sed "s/ //g") export ARKIME_NODE_NAME="$(hostname --long)" diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index 9e996c9a0..e74a4a309 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -32,6 +32,8 @@ SHARED_DIR='/opt/buildshared' WORK_DIR="$(mktemp -d -t hedgehog-XXXXXX)" SENSOR_DIR='/opt/sensor' +ARKIME_VERSION="5.1.0" + BEATS_VER="8.13.1" BEATS_OSS="-oss" @@ -58,7 +60,7 @@ BUILD_ERROR_CODE=1 build_arkime(){ mkdir -p /tmp/arkime-deb - arkime_ver='5.0.1-1' + arkime_ver="${ARKIME_VERSION}-1" curl -sSL -o /tmp/arkime-deb/arkime.deb "https://github.com/arkime/arkime/releases/download/v5.0.0/arkime_${arkime_ver}.ubuntu2204_arm64.deb" dpkg -i /tmp/arkime-deb/*.deb || apt-get -f install -y --no-install-suggests } @@ -66,7 +68,7 @@ build_arkime(){ build_arkime_src(){ arkime_repo='https://github.com/arkime/arkime.git' - arkime_ver='5.0.1' + arkime_ver="${ARKIME_VERSION}" arkime_dir='/opt/arkime' build_jobs=$((PROC_CNT/2)) @@ -397,6 +399,13 @@ install_files() { curl -s -S -L -o ./oui.txt "https://www.wireshark.org/download/automated/data/manuf" popd >/dev/null 2>&1 + # download ja4+ plugin + mkdir -p /opt/arkime/plugins + pushd /opt/arkime/plugins >/dev/null 2>&1 + curl -sSL -o "/opt/arkime/plugins/ja4plus.${ARCH}.so" "https://github.com/arkime/arkime/releases/download/v$ARKIME_VERSION/ja4plus.$ARCH.so" || true + [[ -f "/opt/arkime/plugins/ja4plus.${ARCH}.so" ]] && chmod 755 "/opt/arkime/plugins/ja4plus.${ARCH}.so" + popd >/dev/null 2>&1 + # download assets for extracted file server /usr/local/bin/web-ui-asset-download.sh -o /opt/sensor/assets/css find /opt/sensor/assets -type d -exec chmod 755 "{}" \; From 4d6e4ed314c043872e9c65ddfff16fc4bdcaba19 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 4 Apr 2024 15:42:52 -0600 Subject: [PATCH 36/98] make sure ja4+ plugin gets put into ini file correctly --- arkime/scripts/docker_entrypoint.sh | 8 +++++++- .../sensor_ctl/supervisor.init/arkime_config_populate.sh | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index f7e6f8356..66b6aade4 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -161,8 +161,14 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i # enable ja4+ plugin if it's present JA4_PLUGIN_FILE="${ARKIME_DIR}/plugins/ja4plus.$(dpkg --print-architecture).so" if [[ -f "${JA4_PLUGIN_FILE}" ]]; then + JA4_PLUGIN_FILE_BASE="$(basename "${JA4_PLUGIN_FILE}")" + JA4_PLUGIN_FILE_ESCAPED="$(echo "${JA4_PLUGIN_FILE_BASE}" | sed 's@\.@\\\.@g')" + # clean up old references to the plugin + sed -i "/plugins=.*${JA4_PLUGIN_FILE_ESCAPED}/s/;\?${JA4_PLUGIN_FILE_ESCAPED}//g" "${ARKIME_CONFIG_FILE}" # append ja4 plugin filename to end of plugins= line in config file and uncomment it if necessary - sed -i "s/^#*[[:space:]]*\(plugins=\)/\1$(basename "${JA4_PLUGIN_FILE}");/" "${ARKIME_CONFIG_FILE}" + sed -i "s/^#*[[:space:]]*\(plugins=\)/\1${JA4_PLUGIN_FILE_BASE};/" "${ARKIME_CONFIG_FILE}" + # squash semicolons + sed -i 's/;\{2,\}/;/g' "${ARKIME_CONFIG_FILE}" # remove trailing semicolon from plugins= line if it exists sed -i "s/^\(plugins=.*\)[[:space:]]*;[[:space:]]*$/\1/" "${ARKIME_CONFIG_FILE}" fi diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh index d65b0c10c..53077c8d1 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh @@ -91,8 +91,14 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -r "$SUPERVISOR_PATH"/arkime/config.ini ]]; t # enable ja4+ plugin if it's present JA4_PLUGIN_FILE="/opt/arkime/plugins/ja4plus.$(dpkg --print-architecture).so" if [[ -f "${JA4_PLUGIN_FILE}" ]]; then + JA4_PLUGIN_FILE_BASE="$(basename "${JA4_PLUGIN_FILE}")" + JA4_PLUGIN_FILE_ESCAPED="$(echo "${JA4_PLUGIN_FILE_BASE}" | sed 's@\.@\\\.@g')" + # clean up old references to the plugin + sed -i "/plugins=.*${JA4_PLUGIN_FILE_ESCAPED}/s/;\?${JA4_PLUGIN_FILE_ESCAPED}//g" "$ARKIME_CONFIG_FILE" # append ja4 plugin filename to end of plugins= line in config file and uncomment it if necessary - sed -i "s/^#*[[:space:]]*\(plugins=\)/\1$(basename "${JA4_PLUGIN_FILE}");/" "$ARKIME_CONFIG_FILE" + sed -i "s/^#*[[:space:]]*\(plugins=\)/\1${JA4_PLUGIN_FILE_BASE};/" "$ARKIME_CONFIG_FILE" + # squash semicolons + sed -i 's/;\{2,\}/;/g' "$ARKIME_CONFIG_FILE" # remove trailing semicolon from plugins= line if it exists sed -i "s/^\(plugins=.*\)[[:space:]]*;[[:space:]]*$/\1/" "$ARKIME_CONFIG_FILE" fi From 26f6528940fc77014d19840ebe1d70a7bb3a72d2 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 11:39:53 -0600 Subject: [PATCH 37/98] be smarter about how we read the docker storage driver --- shared/bin/agg-init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/bin/agg-init.sh b/shared/bin/agg-init.sh index b17910c91..cce07105d 100755 --- a/shared/bin/agg-init.sh +++ b/shared/bin/agg-init.sh @@ -47,7 +47,7 @@ if [[ -r "$SCRIPT_PATH"/common-init.sh ]]; then BadTelemetry # if we need to import prebuilt Malcolm docker images, do so now (but not if we're in a live-usb boot) - DOCKER_DRIVER="$(docker info 2>/dev/null | grep 'Storage Driver' | cut -d' ' -f3)" + DOCKER_DRIVER="$(docker info -f json 2>/dev/null | jq -r '.Driver')" if [[ -n $DOCKER_DRIVER ]] && [[ "$DOCKER_DRIVER" != "vfs" ]] && ! grep -q boot=live /proc/cmdline; then docker load -q -i /malcolm_images.tar.xz && rm -f /malcolm_images.tar.xz fi From a6bf5f5c88c3f2b8bd6f65bae6c61924dc1a85f1 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 11:40:14 -0600 Subject: [PATCH 38/98] remove capture_loss and stats from LOGSTASH_ZEEK_IGNORED_LOGS --- config/logstash.env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/logstash.env.example b/config/logstash.env.example index afc5acd4b..9b3c97966 100644 --- a/config/logstash.env.example +++ b/config/logstash.env.example @@ -12,6 +12,6 @@ LOGSTASH_REVERSE_DNS=false # Which types of logs will be enriched via NetBox (comma-separated list of provider.dataset, or the string all to enrich all logs) LOGSTASH_NETBOX_ENRICHMENT_DATASETS=suricata.alert,zeek.conn,zeek.known_hosts,zeek.known_services,zeek.notice,zeek.signatures,zeek.software,zeek.weird # Zeek log types that will be ignored (dropped) by LogStash -LOGSTASH_ZEEK_IGNORED_LOGS=analyzer,broker,capture_loss,cluster,config,loaded_scripts,packet_filter,png,print,prof,reporter,stats,stderr,stdout +LOGSTASH_ZEEK_IGNORED_LOGS=analyzer,broker,cluster,config,loaded_scripts,packet_filter,png,print,prof,reporter,stderr,stdout # Logstash memory allowance and other Java options LS_JAVA_OPTS=-server -Xmx2500m -Xms2500m -Xss1536k -XX:-HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dlog4j.formatMsgNoLookups=true \ No newline at end of file From a02badbcbd4db3de24a414abe3d42c8caf922e92 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 12:47:01 -0600 Subject: [PATCH 39/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- .../hedgehog/images/file_server_zip.png | Bin 0 -> 28373 bytes docs/malcolm-hedgehog-e2e-iso-install.md | 6 +- .../interface/sensor_ctl/control_vars.conf | 2 +- shared/bin/configure-capture.py | 134 +++++++++--------- 4 files changed, 69 insertions(+), 73 deletions(-) create mode 100644 docs/images/hedgehog/images/file_server_zip.png diff --git a/docs/images/hedgehog/images/file_server_zip.png b/docs/images/hedgehog/images/file_server_zip.png new file mode 100644 index 0000000000000000000000000000000000000000..03d96e6eff9bbbf99a9c218e5e83275a5388ac53 GIT binary patch literal 28373 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 Configure Forwarding Select **Configure Forwarding** to set up forwarding logs and statistics from the sensor to an aggregator server, such as [Malcolm]({{ site.github.repository_url }}). diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index baec75f36..aa412edd2 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -34,7 +34,7 @@ export EXTRACTED_FILE_HTTP_SERVER_ZIP=false # Specifies the password for encrypted Zeek-extracted files served over HTTP # If EXTRACTED_FILE_HTTP_SERVER_ZIP is true this is the password for the Zip file, # otherwise it is the AES-256-CBC decryption password -EXTRACTED_FILE_HTTP_SERVER_KEY=infected +export EXTRACTED_FILE_HTTP_SERVER_KEY=infected # Whether or not to use libmagic to show MIME types for Zeek-extracted files served export EXTRACTED_FILE_HTTP_SERVER_MAGIC=false # HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved") diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index c769c728c..725ec2ae4 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -144,6 +144,13 @@ class Constants: ) MSG_CONFIG_ICS_BEST_GUESS = 'Should the sensor use "best guess" to identify potential OT/ICS traffic with Zeek?' MSG_CONFIG_ZEEK_CARVED_SCANNERS = 'Specify scanners for Zeek-carved files' + MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ZIP = 'ZIP preserved files when downloaded via web interface?' + MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ZIP_KEY = ( + 'Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected)' + ) + MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ENC_KEY = ( + 'Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)' + ) MSG_CONFIG_ZEEK_CARVING = 'Specify Zeek file carving mode' MSG_CONFIG_ZEEK_CARVING_MIMES = 'Specify file types to carve' MSG_CONFIG_CARVED_FILE_PRESERVATION = 'Specify which carved files to preserve' @@ -191,10 +198,10 @@ class Constants: ################################################################################################### -def rewrite_dict_to_file(vals_dict, config_file_name, backup='.bak'): +def rewrite_dict_to_file(vals_dict, config_file_name, inplace=True, backup='.bak'): if vals_dict and os.path.isfile(config_file_name): values_re = re.compile(r"\b(" + '|'.join(list(vals_dict.keys())) + r")\s*=\s*.*?$") - with fileinput.FileInput(config_file_name, inplace=True, backup=backup) as file: + with fileinput.FileInput(config_file_name, inplace=inplace, backup=backup) as file: for line in file: line = line.rstrip("\n") key_match = values_re.search(line) @@ -456,15 +463,10 @@ def main(): ) if code == Dialog.OK: # modify specified values in-place in SENSOR_CAPTURE_CONFIG file - autostart_re = re.compile(r"(\bAUTOSTART_\w+)\s*=\s*.+?$") - with fileinput.FileInput(Constants.SENSOR_CAPTURE_CONFIG, inplace=True, backup='.bak') as file: - for line in file: - line = line.rstrip("\n") - autostart_match = autostart_re.search(line) - if autostart_match is not None: - print(autostart_re.sub(r"\1=%s" % capture_config_dict[autostart_match.group(1)], line)) - else: - print(line) + rewrite_dict_to_file( + {k: v for (k, v) in capture_config_dict.items() if k.startswith('AUTOSTART_')}, + Constants.SENSOR_CAPTURE_CONFIG, + ) # hooray code = d.msgbox(text=Constants.MSG_CONFIG_AUTOSTART_SUCCESS) @@ -477,7 +479,9 @@ def main(): # previously used capture interfaces preselected_ifaces = set([x.strip() for x in capture_config_dict["CAPTURE_INTERFACE"].split(',')]) - while (len(available_adapters) > 0) and (d.yesno(Constants.MSG_IDENTIFY_NICS) == Dialog.OK): + while (len(available_adapters) > 0) and ( + d.yesno(Constants.MSG_IDENTIFY_NICS, yes_label="No", no_label="Yes") != Dialog.OK + ): code, blinky_iface = d.radiolist( Constants.MSG_SELECT_BLINK_INTERFACE, choices=[(adapter.name, adapter.description, False) for adapter in available_adapters], @@ -545,19 +549,6 @@ def main(): ) prev_capture_filter = capture_filter - # regular expressions for selected name=value pairs to update in configuration file - capture_interface_re = re.compile(r"(\bCAPTURE_INTERFACE)\s*=\s*.+?$") - capture_filter_re = re.compile(r"(\bCAPTURE_FILTER)\s*=\s*.*?$") - pcap_path_re = re.compile(r"(\bPCAP_PATH)\s*=\s*.+?$") - zeek_path_re = re.compile(r"(\bZEEK_LOG_PATH)\s*=\s*.+?$") - zeek_carve_re = re.compile(r"(\bZEEK_EXTRACTOR_MODE)\s*=\s*.+?$") - zeek_file_preservation_re = re.compile(r"(\bEXTRACTED_FILE_PRESERVATION)\s*=\s*.+?$") - zeek_carve_override_re = re.compile(r"(\bZEEK_EXTRACTOR_OVERRIDE_FILE)\s*=\s*.*?$") - zeek_file_watch_re = re.compile(r"(\bZEEK_FILE_WATCH)\s*=\s*.+?$") - zeek_file_scanner_re = re.compile(r"(\bZEEK_FILE_SCAN_\w+)\s*=\s*.+?$") - disable_ics_all_re = re.compile(r"(\bZEEK_DISABLE_ICS_ALL)\s*=\s*.+?$") - ics_best_guess_re = re.compile(r"(\bZEEK_DISABLE_BEST_GUESS_ICS)\s*=\s*.+?$") - # get paths for captured PCAP and Zeek files while True: code, path_values = d.form( @@ -584,8 +575,10 @@ def main(): code = d.msgbox(text=Constants.MSG_ERROR_DIR_NOT_FOUND) # enable/disable ICs - ics_network = d.yesno(Constants.MSG_CONFIG_ICS_ANALYZERS) == Dialog.OK - ics_best_guess = ics_network and (d.yesno(Constants.MSG_CONFIG_ICS_BEST_GUESS) == Dialog.OK) + ics_network = d.yesno(Constants.MSG_CONFIG_ICS_ANALYZERS, yes_label="No", no_label="Yes") != Dialog.OK + ics_best_guess = ics_network and ( + d.yesno(Constants.MSG_CONFIG_ICS_BEST_GUESS, yes_label="No", no_label="Yes") != Dialog.OK + ) # configure file carving code, zeek_carve_mode = d.radiolist( @@ -645,6 +638,8 @@ def main(): mime_tags = [] capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = "" zeek_carved_file_preservation = PRESERVE_NONE + zeek_carved_file_http_server_zip = False + zeek_carved_file_http_serve_encrypt_key = '' if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM): # get all known mime-to-extension mappings into a dictionary @@ -745,6 +740,19 @@ def main(): ]: capture_config_dict[key] = "false" + if zeek_carved_file_preservation != PRESERVE_NONE: + zeek_carved_file_http_server_zip = ( + d.yesno(Constants.MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ZIP) == Dialog.OK + ) + code, zeek_carved_file_http_serve_encrypt_key = d.inputbox( + ( + Constants.MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ZIP_KEY + if zeek_carved_file_http_server_zip + else Constants.MSG_CONFIG_ZEEK_CARVED_HTTP_SERVER_ENC_KEY + ), + init=capture_config_dict.get("EXTRACTED_FILE_HTTP_SERVER_KEY", 'infected'), + ) + # reconstitute dictionary with user-specified values capture_config_dict["CAPTURE_INTERFACE"] = ",".join(selected_ifaces) capture_config_dict["CAPTURE_FILTER"] = capture_filter @@ -752,6 +760,10 @@ def main(): capture_config_dict["ZEEK_LOG_PATH"] = path_values[1] capture_config_dict["ZEEK_EXTRACTOR_MODE"] = zeek_carve_mode capture_config_dict["EXTRACTED_FILE_PRESERVATION"] = zeek_carved_file_preservation + capture_config_dict["EXTRACTED_FILE_HTTP_SERVER_ZIP"] = ( + 'true' if zeek_carved_file_http_server_zip else 'false' + ) + capture_config_dict["EXTRACTED_FILE_HTTP_SERVER_KEY"] = zeek_carved_file_http_serve_encrypt_key capture_config_dict["ZEEK_DISABLE_ICS_ALL"] = '' if ics_network else 'true' capture_config_dict["ZEEK_DISABLE_BEST_GUESS_ICS"] = '' if ics_best_guess else 'true' @@ -773,49 +785,31 @@ def main(): ) if code == Dialog.OK: # modify specified values in-place in SENSOR_CAPTURE_CONFIG file - with fileinput.FileInput(Constants.SENSOR_CAPTURE_CONFIG, inplace=True, backup='.bak') as file: - for line in file: - line = line.rstrip("\n") - if capture_interface_re.search(line) is not None: - print(capture_interface_re.sub(r"\1=%s" % ",".join(selected_ifaces), line)) - elif zeek_carve_override_re.search(line) is not None: - print( - zeek_carve_override_re.sub( - r'\1="%s"' % capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"], line - ) - ) - elif zeek_carve_re.search(line) is not None: - print(zeek_carve_re.sub(r"\1=%s" % zeek_carve_mode, line)) - elif zeek_file_preservation_re.search(line) is not None: - print(zeek_file_preservation_re.sub(r"\1=%s" % zeek_carved_file_preservation, line)) - elif capture_filter_re.search(line) is not None: - print(capture_filter_re.sub(r'\1="%s"' % capture_filter, line)) - elif pcap_path_re.search(line) is not None: - print(pcap_path_re.sub(r'\1="%s"' % capture_config_dict["PCAP_PATH"], line)) - elif zeek_path_re.search(line) is not None: - print(zeek_path_re.sub(r'\1="%s"' % capture_config_dict["ZEEK_LOG_PATH"], line)) - elif zeek_file_watch_re.search(line) is not None: - print(zeek_file_watch_re.sub(r"\1=%s" % capture_config_dict["ZEEK_FILE_WATCH"], line)) - elif disable_ics_all_re.search(line) is not None: - print( - disable_ics_all_re.sub(r'\1=%s' % capture_config_dict["ZEEK_DISABLE_ICS_ALL"], line) - ) - elif ics_best_guess_re.search(line) is not None: - print( - ics_best_guess_re.sub( - r'\1=%s' % capture_config_dict["ZEEK_DISABLE_BEST_GUESS_ICS"], line - ) - ) - else: - zeek_file_scanner_match = zeek_file_scanner_re.search(line) - if zeek_file_scanner_match is not None: - print( - zeek_file_scanner_re.sub( - r"\1=%s" % capture_config_dict[zeek_file_scanner_match.group(1)], line - ) - ) - else: - print(line) + rewrite_dict_to_file( + { + "CAPTURE_FILTER": '"' + capture_config_dict["CAPTURE_FILTER"] + '"', + "CAPTURE_INTERFACE": capture_config_dict["CAPTURE_INTERFACE"], + "EXTRACTED_FILE_HTTP_SERVER_KEY": '"' + + capture_config_dict["EXTRACTED_FILE_HTTP_SERVER_KEY"] + + '"', + "EXTRACTED_FILE_HTTP_SERVER_ZIP": capture_config_dict["EXTRACTED_FILE_HTTP_SERVER_ZIP"], + "EXTRACTED_FILE_PRESERVATION": capture_config_dict["EXTRACTED_FILE_PRESERVATION"], + "PCAP_PATH": '"' + capture_config_dict["PCAP_PATH"] + '"', + "ZEEK_DISABLE_BEST_GUESS_ICS": capture_config_dict["ZEEK_DISABLE_BEST_GUESS_ICS"], + "ZEEK_DISABLE_ICS_ALL": capture_config_dict["ZEEK_DISABLE_ICS_ALL"], + "ZEEK_EXTRACTOR_MODE": capture_config_dict["ZEEK_EXTRACTOR_MODE"], + "ZEEK_LOG_PATH": '"' + capture_config_dict["ZEEK_LOG_PATH"] + '"', + "ZEEK_EXTRACTOR_OVERRIDE_FILE": '"' + + capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] + + '"', + "ZEEK_FILE_SCAN_CAPA": capture_config_dict["ZEEK_FILE_SCAN_CAPA"], + "ZEEK_FILE_SCAN_CLAMAV": capture_config_dict["ZEEK_FILE_SCAN_CLAMAV"], + "ZEEK_FILE_SCAN_VTOT": capture_config_dict["ZEEK_FILE_SCAN_VTOT"], + "ZEEK_FILE_SCAN_YARA": capture_config_dict["ZEEK_FILE_SCAN_YARA"], + "ZEEK_FILE_WATCH": capture_config_dict["ZEEK_FILE_WATCH"], + }, + Constants.SENSOR_CAPTURE_CONFIG, + ) # write out file carving overrides if specified if (len(mime_tags) > 0) and (len(capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"]) > 0): From 1a4969ce47d7e9247496b689c039c275e2343741 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 12:51:46 -0600 Subject: [PATCH 40/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- docs/malcolm-hedgehog-e2e-iso-install.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 4205c4cc7..5839cb465 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -466,6 +466,8 @@ If unsure what mode to choose, both **mapped (except common plain text files)** Next, specify which carved files to preserve (saved on the sensor under `/capture/zeek/capture/extract_files/quarantine` by default). In order to not consume all the sensor's available storage space, the oldest preserved files will be pruned along with the oldest Zeek logs as described below with **AUTOSTART_PRUNE_ZEEK** in the [autostart services](#HedgehogConfigAutostart) section. +![File quarantine](./images/hedgehog/images/file_quarantine.png) + Users will prompted to specify which engine(s) to use to analyze extracted files. Extracted files can be examined through any of three methods: ![File scanners](./images/hedgehog/images/zeek_file_carve_scanners.png) @@ -477,11 +479,9 @@ Users will prompted to specify which engine(s) to use to analyze extracted files Files flagged as potentially malicious will be logged as Zeek `signatures.log` entries, and can be viewed in the **Signatures** dashboard in [OpenSearch Dashboards]({{ site.github.repository_url }}#DashboardsVisualizations) when forwarded to Malcolm. -![Extracted file server configuration](./images/hedgehog/images/file_server_zip.png) - -Hedgehog Linux provides an extracted files directory listing to browse and download Zeek-extracted files. As this interface is primarily intended to be accessed through the Malcolm user interface, this service is accessible only by IP addresses [included in the ACL for artifact reachback from Malcolm](#HedgehogACL) over port '8006/tcp'. Please read the Malcolm documentation for [**Automatic file extraction and scanning - User interface**](file-scanning.md#ZeekFileExtractionUI) for more information on how to access preserved files. +Hedgehog Linux provides an extracted files directory listing to browse and download Zeek-extracted files. As this interface is primarily intended to be accessed through the Malcolm user interface, this service is accessible only by IP addresses [included in the ACL for artifact reachback from Malcolm](#HedgehogACL) over port '8006/tcp'. The next two questions indicate whether or not Zeek-extracted files downloaded through this interface will be archived using the ZIP file format and what encryption password should be used, if any (either the ZIP archive file password or as the encryption key for AES-256-CBC-encrypted files if not using ZIP). Please read the Malcolm documentation for [**Automatic file extraction and scanning - User interface**](file-scanning.md#ZeekFileExtractionUI) for more information on how to access preserved files. -![File quarantine](./images/hedgehog/images/file_quarantine.png) +![Extracted file server configuration](./images/hedgehog/images/file_server_zip.png) Finally, users will be presented with the list of configuration variables that will be used for capture, including the values which have been selected up to this point in this section. Upon choosing **OK** these values will be written back out to the sensor configuration file located at `/opt/sensor/sensor_ctl/control_vars.conf`. Editing this file manually is not recommended. After confirming these values, users will be presented with a confirmation that these settings have been written to the configuration file then returned to the welcome screen. From c1f45a79e32fb5a7dd304241627516c4e8ace2cd Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 12:52:24 -0600 Subject: [PATCH 41/98] work in progress for idaholab/Malcolm#331, improvements to extracted_files_http_server.py and the setting/creation of ACL rules on hedgehog --- docs/malcolm-hedgehog-e2e-iso-install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 5839cb465..9f4abeb4f 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -479,7 +479,7 @@ Users will prompted to specify which engine(s) to use to analyze extracted files Files flagged as potentially malicious will be logged as Zeek `signatures.log` entries, and can be viewed in the **Signatures** dashboard in [OpenSearch Dashboards]({{ site.github.repository_url }}#DashboardsVisualizations) when forwarded to Malcolm. -Hedgehog Linux provides an extracted files directory listing to browse and download Zeek-extracted files. As this interface is primarily intended to be accessed through the Malcolm user interface, this service is accessible only by IP addresses [included in the ACL for artifact reachback from Malcolm](#HedgehogACL) over port '8006/tcp'. The next two questions indicate whether or not Zeek-extracted files downloaded through this interface will be archived using the ZIP file format and what encryption password should be used, if any (either the ZIP archive file password or as the encryption key for AES-256-CBC-encrypted files if not using ZIP). Please read the Malcolm documentation for [**Automatic file extraction and scanning - User interface**](file-scanning.md#ZeekFileExtractionUI) for more information on how to access preserved files. +Hedgehog Linux provides an extracted files directory listing to browse and download Zeek-extracted files. As this interface is primarily intended to be accessed through the Malcolm user interface, this service is accessible only by IP addresses [included in the ACL for artifact reachback from Malcolm](#HedgehogACL) over port `8006/tcp`. The next two questions indicate whether or not Zeek-extracted files downloaded through this interface will be archived using the ZIP file format and what encryption password should be used, if any (either the ZIP archive file password or as the encryption key for AES-256-CBC-encrypted files if not using ZIP). Please read the Malcolm documentation for [**Automatic file extraction and scanning - User interface**](file-scanning.md#ZeekFileExtractionUI) for more information on how to access preserved files. ![Extracted file server configuration](./images/hedgehog/images/file_server_zip.png) From e4d5162658eecfd67a15fe391957ae3506c4819e Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 13:58:26 -0600 Subject: [PATCH 42/98] resolve idaholab/Malcolm#455, allow user to specify prefix for dashboards' titles using the DASHBOARDS_PREFIX environment variable in dashboards-helper.env --- Dockerfiles/dashboards-helper.Dockerfile | 2 +- config/dashboards-helper.env.example | 2 ++ dashboards/scripts/create-arkime-sessions-index.sh | 11 +++++++++++ docs/malcolm-config.md | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index c9536d157..3286b7b37 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -61,7 +61,7 @@ ADD scripts/malcolm_utils.py /data/ RUN apk update --no-cache && \ apk upgrade --no-cache && \ - apk --no-cache add bash python3 py3-pip curl openssl procps psmisc npm rsync shadow jq tini && \ + apk --no-cache add bash python3 py3-pip curl openssl procps psmisc moreutils npm rsync shadow jq tini && \ npm install -g http-server && \ pip3 install --break-system-packages supervisor humanfriendly requests && \ curl -fsSLO "$SUPERCRONIC_URL" && \ diff --git a/config/dashboards-helper.env.example b/config/dashboards-helper.env.example index 268e653e1..98f46f18b 100644 --- a/config/dashboards-helper.env.example +++ b/config/dashboards-helper.env.example @@ -1,5 +1,7 @@ # Whether or not to set OpenSearch Dashboards to dark mode DASHBOARDS_DARKMODE=true +# A prefix to prepend to the titles of imported Malcolm dashbaords +DASHBOARDS_PREFIX= # The maximum cumulative size of OpenSearch indices containing network traffic metadata # before which the oldest indices will be deleted ('' to disable storage-based index pruning). OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT=0 diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh index 02c3dea46..87a8c259c 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/create-arkime-sessions-index.sh @@ -12,6 +12,11 @@ OTHER_INDEX_PATTERN=${MALCOLM_OTHER_INDEX_PATTERN:-"malcolm_beats_*"} OTHER_INDEX_TIME_FIELD=${MALCOLM_OTHER_INDEX_TIME_FIELD:-"@timestamp"} DUMMY_DETECTOR_NAME=${DUMMY_DETECTOR_NAME:-"malcolm_init_dummy"} DARK_MODE=${DASHBOARDS_DARKMODE:-"true"} +DASHBOARDS_PREFIX=${DASHBOARDS_PREFIX:-""} +# trim leading and trailing spaces and remove characters that need JSON-escaping from DASHBOARDS_PREFIX +DASHBOARDS_PREFIX="${DASHBOARDS_PREFIX#"${DASHBOARDS_PREFIX%%[![:space:]]*}"}" +DASHBOARDS_PREFIX="${DASHBOARDS_PREFIX%"${DASHBOARDS_PREFIX##*[![:space:]]}"}" +DASHBOARDS_PREFIX="$(echo "$DASHBOARDS_PREFIX" | tr -d '"\\')" MALCOLM_TEMPLATES_DIR="/opt/templates" MALCOLM_TEMPLATE_FILE_ORIG="$MALCOLM_TEMPLATES_DIR/malcolm_template.json" @@ -233,6 +238,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # take care of a few other substitutions sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i" fi + # prepend $DASHBOARDS_PREFIX to dashboards' titles + [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" + # import the dashboard curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" done rm -rf "${DASHBOARDS_IMPORT_DIR}" @@ -245,6 +253,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then rsync -a /opt/dashboards/beats/ "$BEATS_DASHBOARDS_IMPORT_DIR"/ DoReplacersForDir "$BEATS_DASHBOARDS_IMPORT_DIR" for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do + # prepend $DASHBOARDS_PREFIX to dashboards' titles + [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" + # import the dashboard curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" done rm -rf "${BEATS_DASHBOARDS_IMPORT_DIR}" diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 483876d86..6631eb5ae 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -31,6 +31,7 @@ Although the configuration script automates many of the following configuration - `LOGSTASH_HOST` – the host and port at which Beats-based forwarders will connect to Logstash (default `logstash:5044`); see `MALCOLM_PROFILE` below * **`dashboards.env`** and **`dashboards-helper.env`** - settings for the containers that configure and maintain [OpenSearch](https://opensearch.org/) and [OpenSearch Dashboards](https://opensearch.org/docs/latest/dashboards/index/) - `DASHBOARDS_URL` - used primarily when `OPENSEARCH_PRIMARY` is set to `elasticsearch-remote` (see [OpenSearch and Elasticsearch instances](opensearch-instances.md#OpenSearchInstance)), this variable stores the URL for the [Kibana](https://www.elastic.co/kibana) instance into which Malcolm's dashboard's and index templates will be imported + - `DASHBOARDS_PREFIX` – a string to prepend to the titles of Malcolm's prebuilt [dashboards](dashboards.md#PrebuiltVisualizations) prior upon import during Malcolm's initialization (default is an empty string) - `DASHBOARDS_DARKMODE` – if set to `true`, [OpenSearch Dashboards](dashboards.md#DashboardsVisualizations) will be set to dark mode upon initialization (default `true`) * **`filebeat.env`** - settings specific to [Filebeat](https://www.elastic.co/products/beats/filebeat), particularly for how Filebeat watches for new log files to parse and how it receives and stores [third-Party logs](third-party-logs.md#ThirdPartyLogs) * **`logstash.env`** - settings specific to [Logstash](https://www.elastic.co/products/logstash) From e38b00a87480440f62000fe0431178834e32a07f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 14:02:17 -0600 Subject: [PATCH 43/98] bump fluent-bit to v3.0.1 --- scripts/third-party-logs/fluent-bit-setup.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/third-party-logs/fluent-bit-setup.ps1 b/scripts/third-party-logs/fluent-bit-setup.ps1 index a4f0cffc1..cbb403816 100644 --- a/scripts/third-party-logs/fluent-bit-setup.ps1 +++ b/scripts/third-party-logs/fluent-bit-setup.ps1 @@ -9,7 +9,7 @@ ############################################################################### $fluent_bit_version = '3.0' -$fluent_bit_full_version = '3.0.0' +$fluent_bit_full_version = '3.0.1' ############################################################################### # select an item from a menu provided in an array From 1a69873e6ac32d91c89f60bdafe8228368d6ff60 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 14:53:33 -0600 Subject: [PATCH 44/98] for idaholab/Malcolm#453, allow specifying a maximum gigabytes threshold for prune_files.sh --- shared/bin/prune_files.sh | 66 ++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/shared/bin/prune_files.sh b/shared/bin/prune_files.sh index 9d4c63f99..64949be66 100755 --- a/shared/bin/prune_files.sh +++ b/shared/bin/prune_files.sh @@ -1,53 +1,62 @@ -#!/bin/bash +#!/usr/bin/env bash # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. # recursion depth (1 = not recursive) DEPTH=1 -# threshold is an integer percentage between 1-100; the script will prune until disk usage drops below the threshold -THRESHOLD=90 # defaults to "prune when usage >= 90%"; +# THRESHOLD_PCT and MAXSIZE_GB define pruning triggers; either or both may trigger pruning. +# A value of 0 means that trigger is unused +# If either trigger condition matches, the script will prune until disk usage drops **below** the thresholds + +# THRESHOLD_PCT is an integer percentage between 1-100 ("prune when disk usage >= THRESHOLD_PCT%") +THRESHOLD_PCT=0 +# MAXSIZE_GB is an integer representing gigabytes ("prune when path contents >= MAXSIZE_GB") +MAXSIZE_GB=0 # if specified, this script will check and prune every $INTERVAL seconds INTERVAL=0 # defaults to "run once then exit" VERBOSE=0 # defaults to "not verbose" - -while getopts t:p:i:rv opts; do +while getopts i:m:p:rt:v opts; do case ${opts} in - p) PRUNE_PATH=${OPTARG} ;; - t) THRESHOLD=${OPTARG} ;; i) INTERVAL=${OPTARG} ;; + m) MAXSIZE_GB=${OPTARG} ;; + p) PRUNE_PATH=${OPTARG} ;; r) DEPTH=999 ;; + t) THRESHOLD_PCT=${OPTARG} ;; v) VERBOSE=1 ;; esac done INT_RE='^[0-9]+$' -if [ -z $PRUNE_PATH ] || [ ! -e "$PRUNE_PATH" ] || ! pushd >/dev/null 2>&1 $PRUNE_PATH ; then - echo "Please specify prune path with -p" +if [[ -z "$PRUNE_PATH" ]] || [[ ! -e "$PRUNE_PATH" ]] || ! pushd >/dev/null 2>&1 $PRUNE_PATH ; then + echo "Please specify prune path with -p" >&2 exit 1 fi -if [ -z $THRESHOLD ] || [[ ! "$THRESHOLD" =~ $INT_RE ]] || ! [ "$THRESHOLD" -ge 1 -a "$THRESHOLD" -le 100 ] ; then - echo "Please specify prune threshold (percentage, 1-100) with -t" +if [[ ! "$INTERVAL" =~ $INT_RE ]] || ! (( "$INTERVAL" >= 0 && "$INTERVAL" <= 86400 )) ; then + echo "Please specify prune check interval (seconds, 0-86400) with -i (0 = run once)" >&2 exit 1 fi -if [[ ! "$INTERVAL" =~ $INT_RE ]] || ! [ "$INTERVAL" -ge 0 -a "$INTERVAL" -le 86400 ] ; then - echo "Please specify prune check interval (seconds, 0-86400) with -i (0 = run once)" +if ( [[ -z "$THRESHOLD_PCT" ]] || [[ ! "$THRESHOLD_PCT" =~ $INT_RE ]] || ! (( "$THRESHOLD_PCT" >= 1 && "$THRESHOLD_PCT" <= 100)) ) && + ( [[ -z "$MAXSIZE_GB" ]] || [[ ! "$MAXSIZE_GB" =~ $INT_RE ]] || ! (( "$MAXSIZE_GB" >= 1 )) ); then + echo "Please specify at least one prune trigger: threshold (percentage, 1-100) with -t; or, maximum size (gigabytes, >= 1) with -m" >&2 exit 1 fi while true ; do # check initial disk capacity - USAGE=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - if [ $USAGE -gt $THRESHOLD ] ; then + USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') + USAGE_GB=$(du -sh --block-size=1G . | awk '{print $1}') + # du -sh --block-size=1G ~/download/ | awk '{print $1}' + if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we have exceeded the threshold, see if there is something to prune - [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE% of capacity, pruning..." + [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB), pruning..." >&2 # read files by modification time, oldest first, deleting until we've dropped below the threshold DELETED=0 @@ -56,20 +65,21 @@ while true ; do FILE_SIZE_HUMAN=$(numfmt --to=iec-i --suffix=B $FILE_SIZE) FILE_TIME_HUMAN=$(date -u -d @$FILE_TIME) - if [ -f "$FILE_TO_DELETE" ]; then + if [[ -f "$FILE_TO_DELETE" ]]; then if rm -f "$FILE_TO_DELETE" ; then DELETED=$((DELETED+1)) - echo "Pruned \"$FILE_TO_DELETE\" ($FILE_SIZE_HUMAN, $FILE_TIME_HUMAN)" + echo "Pruned \"$FILE_TO_DELETE\" ($FILE_SIZE_HUMAN, $FILE_TIME_HUMAN)" >&2 # re-check disk capacity - USAGE=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - if [ $USAGE -gt $THRESHOLD ] ; then + USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') + USAGE_GB=$(du -sh --block-size=1G . | awk '{print $1}') + if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we still exceed the threshold, continue to loop - [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE% of capacity, pruning..." + [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB), pruning..." >&2 else # we're below the limit, break - [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE% of capacity" + [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB)" >&2 break fi @@ -78,18 +88,18 @@ while true ; do done < <(find . -xdev -mindepth 1 -maxdepth $DEPTH -ignore_readdir_race -type f \( ! -path '*/spool/*' -o -path '*/spool/tmp*' \) -printf '%T@ %s %p\0' 2>/dev/null | sort -zn 2>/dev/null) - if [ $DELETED -gt 0 ] ; then - [[ "$VERBOSE" == "1" ]] && echo "Pruned $DELETED files in \"$PRUNE_PATH\"" + if (( $DELETED > 0 )) ; then + [[ "$VERBOSE" == "1" ]] && echo "Pruned $DELETED files in \"$PRUNE_PATH\"" >&2 else - echo "Nothing was pruned in \"$PRUNE_PATH\"!" + echo "Nothing was pruned in \"$PRUNE_PATH\"!" >&2 fi else - [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE% of capacity" + [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB)" >&2 fi - if [ $INTERVAL -gt 0 ] ; then - sleep $INTERVAL + if (( $INTERVAL > 0 )) ; then + for i in $(seq 1 $INTERVAL); do sleep 1; done else break fi From 83796551292386e879fe64ad2d0e8f6f542df01d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 14:56:05 -0600 Subject: [PATCH 45/98] for idaholab/Malcolm#453, allow specifying a maximum gigabytes threshold for prune_files.sh --- shared/bin/prune_files.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/shared/bin/prune_files.sh b/shared/bin/prune_files.sh index 64949be66..2d3576bfa 100755 --- a/shared/bin/prune_files.sh +++ b/shared/bin/prune_files.sh @@ -52,7 +52,6 @@ while true ; do # check initial disk capacity USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') USAGE_GB=$(du -sh --block-size=1G . | awk '{print $1}') - # du -sh --block-size=1G ~/download/ | awk '{print $1}' if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we have exceeded the threshold, see if there is something to prune @@ -85,7 +84,7 @@ while true ; do fi # file was rm'ed fi # file exists - + # exclude files in our Zeek live capture directory done < <(find . -xdev -mindepth 1 -maxdepth $DEPTH -ignore_readdir_race -type f \( ! -path '*/spool/*' -o -path '*/spool/tmp*' \) -printf '%T@ %s %p\0' 2>/dev/null | sort -zn 2>/dev/null) if (( $DELETED > 0 )) ; then From 9517b9a578a77d9b832711d80e04cde6ca0ccd1f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 8 Apr 2024 14:59:02 -0600 Subject: [PATCH 46/98] for idaholab/Malcolm#453, allow specifying a maximum gigabytes threshold for prune_files.sh --- Dockerfiles/file-monitor.Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 757238dc7..bb20281f9 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -230,6 +230,7 @@ RUN /usr/bin/freshclam freshclam --config-file=/etc/clamav/freshclam.conf USER root COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ +COPY --chmod=755 shared/bin/prune_files.sh /usr/local/bin/ COPY --chmod=755 shared/bin/service_check_passthrough.sh /usr/local/bin/ COPY --chmod=755 shared/bin/zeek_carve*.py /usr/local/bin/ COPY --chmod=755 shared/bin/extracted_files_http_server.py /usr/local/bin/ From 825057704d0c088158bddb7f4607a92ef2429855 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 9 Apr 2024 11:35:11 -0600 Subject: [PATCH 47/98] for idaholab/Malcolm#453, work in progress for pruning zeek extracted files.sh --- Dockerfiles/file-monitor.Dockerfile | 9 ++- config/zeek.env.example | 6 ++ docs/README.md | 2 + docs/hedgehog.md | 1 + docs/index-management.md | 3 +- docs/malcolm-config.md | 27 ++++++- docs/malcolm-hedgehog-e2e-iso-install.md | 17 ++++- file-monitor/supervisord.conf | 18 +++++ .../normal/0169-pip-installs.hook.chroot | 1 + scripts/install.py | 76 +++++++++++++++++-- shared/bin/prune_files.sh | 27 +++++-- 11 files changed, 166 insertions(+), 21 deletions(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index bb20281f9..98a953e96 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -34,6 +34,9 @@ ARG EXTRACTED_FILE_SCANNER_START_SLEEP=10 ARG EXTRACTED_FILE_LOGGER_START_SLEEP=5 ARG EXTRACTED_FILE_MIN_BYTES=64 ARG EXTRACTED_FILE_MAX_BYTES=134217728 +ARG EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE=1TB +ARG EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT=0 +ARG EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS=300 ARG VTOT_API2_KEY=0 ARG VTOT_REQUESTS_PER_MINUTE=4 ARG EXTRACTED_FILE_ENABLE_CLAMAV=false @@ -65,6 +68,9 @@ ENV EXTRACTED_FILE_SCANNER_START_SLEEP $EXTRACTED_FILE_SCANNER_START_SLEEP ENV EXTRACTED_FILE_LOGGER_START_SLEEP $EXTRACTED_FILE_LOGGER_START_SLEEP ENV EXTRACTED_FILE_MIN_BYTES $EXTRACTED_FILE_MIN_BYTES ENV EXTRACTED_FILE_MAX_BYTES $EXTRACTED_FILE_MAX_BYTES +ENV EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE $EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE +ENV EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT $EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT +ENV EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS $EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS ENV VTOT_API2_KEY $VTOT_API2_KEY ENV VTOT_REQUESTS_PER_MINUTE $VTOT_REQUESTS_PER_MINUTE ENV EXTRACTED_FILE_ENABLE_CLAMAV $EXTRACTED_FILE_ENABLE_CLAMAV @@ -134,7 +140,7 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour pkg-config \ tini \ unzip && \ - apt-get -y -q install \ + apt-get -y -q install \ inotify-tools \ libzmq5 \ psmisc \ @@ -148,6 +154,7 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour python3 -m pip install --break-system-packages --no-compile --no-cache-dir \ clamd \ dominate \ + humanfriendly \ psutil \ pycryptodome \ python-magic \ diff --git a/config/zeek.env.example b/config/zeek.env.example index 400362120..5a1a13412 100644 --- a/config/zeek.env.example +++ b/config/zeek.env.example @@ -32,6 +32,12 @@ EXTRACTED_FILE_PRESERVATION=quarantined EXTRACTED_FILE_MIN_BYTES=64 # The maximum size (in bytes) for files to be extracted by Zeek EXTRACTED_FILE_MAX_BYTES=134217728 +# Prune ./zeek-logs/extract_files/ when it exceeds this size... +EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE=1TB +# ... or when the *total* disk usage exceeds this percentage +EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT=0 +# Interval in seconds for checking whether to prune ./zeek-logs/extract_files/ +EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS=300 # Rate limiting for VirusTotal, ClamAV, YARA and capa with Zeek-extracted files VTOT_REQUESTS_PER_MINUTE=4 CLAMD_MAX_REQUESTS=8 diff --git a/docs/README.md b/docs/README.md index 4db0c10f3..82b5817f7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -30,6 +30,7 @@ Malcolm can also easily be deployed locally on an ordinary consumer workstation - [Malcolm Configuration](malcolm-config.md#ConfigAndTuning) + [Environment variable files](malcolm-config.md#MalcolmConfigEnvVars) + [Command-line arguments](malcolm-config.md#CommandLineConfig) + + [Managing disk usage](malcolm-config.md#DiskUsage) - [Configure authentication](authsetup.md#AuthSetup) + [Local account management](authsetup.md#AuthBasicAccountManagement) + [Lightweight Directory Access Protocol (LDAP) authentication](authsetup.md#AuthLDAP) @@ -41,6 +42,7 @@ Malcolm can also easily be deployed locally on an ordinary consumer workstation + [Linux host system configuration](host-config-linux.md#HostSystemConfigLinux) + [macOS host system configuration](host-config-macos.md#HostSystemConfigMac) + [Windows host system configuration](host-config-windows.md#HostSystemConfigWindows) + - [Managing disk usage](malcolm-config.md#DiskUsage) * [Running Malcolm](running.md#Running) - [OpenSearch and Elasticsearch instances](opensearch-instances.md#OpenSearchInstance) + [Authentication and authorization for remote data store clusters](opensearch-instances.md#OpenSearchAuth) diff --git a/docs/hedgehog.md b/docs/hedgehog.md index 5b417aaf4..dcee88c0e 100644 --- a/docs/hedgehog.md +++ b/docs/hedgehog.md @@ -31,6 +31,7 @@ Hedgehog Linux is a Debian-based operating system built to * [miscbeat](malcolm-hedgehog-e2e-iso-install.md#Hedgehogmiscbeat): System metrics forwarding * [acl-configure](malcolm-hedgehog-e2e-iso-install.md#HedgehogACL): Configure ACL for artifact reachback from Malcolm - [Autostart services](malcolm-hedgehog-e2e-iso-install.md#HedgehogConfigAutostart) + - [Managing disk usage](malcolm-hedgehog-e2e-iso-install.md#HedgehogDiskUsage) + [Zeek Intelligence Framework](hedgehog-config-zeek-intel.md#HedgehogZeekIntel) * [Appendix A - Generating the ISO](hedgehog-iso-build.md#HedgehogISOBuild) * [Appendix B - Generating a Raspberry Pi Image](hedgehog-raspi-build.md#HedgehogRaspiBuild) diff --git a/docs/index-management.md b/docs/index-management.md index 607dcd60d..0c7110ad4 100644 --- a/docs/index-management.md +++ b/docs/index-management.md @@ -2,9 +2,8 @@ Malcolm releases prior to v6.2.0 used environment variables to configure OpenSearch [Index State Management](https://opensearch.org/docs/latest/im-plugin/ism/index/) [policies](https://opensearch.org/docs/latest/im-plugin/ism/policies/). -Since then, OpenSearch Dashboards has developed and released plugins with UIs for [Index State Management](https://opensearch.org/docs/latest/im-plugin/ism/index/) and [Snapshot Management](https://opensearch.org/docs/latest/opensearch/snapshots/sm-dashboards/). Because these plugins provide a more comprehensive and user-friendly interface for these features, the old environment variable-based configuration code has been removed from Malcolm; with the exception of the code that uses the `OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT` and `OPENSEARCH_INDEX_SIZE_PRUNE_NAME_SORT` [variables in `dashboards-helper.env`](malcolm-config.md#MalcolmConfigEnvVars), which deals with deleting the oldest network session metadata indices when the database exceeds a certain size. +Since then, OpenSearch Dashboards has developed and released plugins with UIs for [Index State Management](https://opensearch.org/docs/latest/im-plugin/ism/index/) and [Snapshot Management](https://opensearch.org/docs/latest/opensearch/snapshots/sm-dashboards/). Because these plugins provide a more comprehensive and user-friendly interface for these features, the old environment variable-based configuration code has been removed from Malcolm, with a few exceptions. See [**Managing disk usage**](malcolm-config.md#DiskUsage) for more information. -Note that OpenSearch index state management and snapshot management only deals with disk space consumed by OpenSearch indices: it does not have anything to do with PCAP file storage. The `MANAGE_PCAP_FILES` environment variable in the [`arkime.env` file](malcolm-config.md#MalcolmConfigEnvVars) can be used to allow Arkime to prune old PCAP files based on available disk space. # Using ILM/ISM with Arkime diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 6631eb5ae..582865e76 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -13,7 +13,7 @@ Although the configuration script automates many of the following configuration - `ARKIME_PASSWORD_SECRET` - the password hash secret for the Arkime viewer cluster (see `passwordSecret` in [Arkime INI Settings](https://arkime.com/settings)) used to secure the connection used when Arkime viewer retrieves a PCAP payload for display in its user interface - `ARKIME_ROTATE_INDEX` - how often (based on network traffic timestamp) to [create a new index](https://arkime.com/settings#rotateIndex) in OpenSearch - `ARKIME_QUERY_ALL_INDICES` - whether or not Arkime should [query all indices](https://arkime.com/settings#queryAllIndices) instead of trying to calculate which ones pertain to the search time frame (default `false`) - - `MANAGE_PCAP_FILES` – if set to `true`, all PCAP files imported into Malcolm will be marked as available for deletion by Arkime if available storage space becomes too low (default `false`) + - `MANAGE_PCAP_FILES` and `ARKIME_FREESPACEG` - these variables deal with PCAP [deletion by Arkime](https://arkime.com/faq#pcap-deletion), see [**Managing disk usage**](#DiskUsage) below - `MAXMIND_GEOIP_DB_LICENSE_KEY` - Malcolm uses MaxMind's free GeoLite2 databases for GeoIP lookups. As of December 30, 2019, these databases are [no longer available](https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/) for download via a public URL. Instead, they must be downloaded using a MaxMind license key (available without charge [from MaxMind](https://www.maxmind.com/en/geolite2/signup)). The license key can be specified here for GeoIP database downloads during build- and run-time. - The following variables configure [Arkime's use](index-management.md#ArkimeIndexPolicies) of OpenSearch [Index State Management (ISM)](https://opensearch.org/docs/latest/im-plugin/ism/index/) or Elasticsearch [Index Lifecycle Management (ILM)](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html): + `INDEX_MANAGEMENT_ENABLED` - if set to `true`, Malcolm's instance of Arkime will [use these features](https://arkime.com/faq#ilm) when indexing data @@ -33,7 +33,9 @@ Although the configuration script automates many of the following configuration - `DASHBOARDS_URL` - used primarily when `OPENSEARCH_PRIMARY` is set to `elasticsearch-remote` (see [OpenSearch and Elasticsearch instances](opensearch-instances.md#OpenSearchInstance)), this variable stores the URL for the [Kibana](https://www.elastic.co/kibana) instance into which Malcolm's dashboard's and index templates will be imported - `DASHBOARDS_PREFIX` – a string to prepend to the titles of Malcolm's prebuilt [dashboards](dashboards.md#PrebuiltVisualizations) prior upon import during Malcolm's initialization (default is an empty string) - `DASHBOARDS_DARKMODE` – if set to `true`, [OpenSearch Dashboards](dashboards.md#DashboardsVisualizations) will be set to dark mode upon initialization (default `true`) + - `OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT` - the maximum cumulative size of OpenSearch indices are allowed to consume before the oldest indices are deleted, see [**Managing disk usage**](#DiskUsage) below * **`filebeat.env`** - settings specific to [Filebeat](https://www.elastic.co/products/beats/filebeat), particularly for how Filebeat watches for new log files to parse and how it receives and stores [third-Party logs](third-party-logs.md#ThirdPartyLogs) + - `LOG_CLEANUP_MINUTES` and `ZIP_CLEANUP_MINUTES` - these variables deal cleaning up already-processed log files, see [**Managing disk usage**](#DiskUsage) below * **`logstash.env`** - settings specific to [Logstash](https://www.elastic.co/products/logstash) - `LOGSTASH_OUI_LOOKUP` – if set to `true`, Logstash will map MAC addresses to vendors for all source and destination MAC addresses when analyzing Zeek logs (default `true`) - `LOGSTASH_REVERSE_DNS` – if set to `true`, Logstash will perform a reverse DNS lookup for all external source and destination IP address values when analyzing Zeek logs (default `false`) @@ -108,7 +110,7 @@ Although the configuration script automates many of the following configuration - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the decryption password for encrypted Zeek-extracted files in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) - `EXTRACTED_FILE_IGNORE_EXISTING` – if set to `true`, files extant in `./zeek-logs/extract_files/` directory will be ignored on startup rather than scanned - `EXTRACTED_FILE_PRESERVATION` – determines behavior for preservation of [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) - - `EXTRACTED_FILE_UPDATE_RULES` – if set to `true`, file scanner engines (e.g., ClamAV, Capa, Yara) will periodically update their rule definitions (default `false`) + - `EXTRACTED_FILE_UPDATE_RULES` – if set to `true`, file scanner engines (e.g., ClamAV, Capa, Yara) will periodically update their rule definitions (default `false`) - `EXTRACTED_FILE_YARA_CUSTOM_ONLY` – if set to `true`, Malcolm will bypass the default Yara rulesets ([Neo23x0/signature-base](https://github.com/Neo23x0/signature-base), [reversinglabs/reversinglabs-yara-rules](https://github.com/reversinglabs/reversinglabs-yara-rules), and [bartblaze/Yara-rules](https://github.com/bartblaze/Yara-rules)) and use only [user-defined rules](custom-rules.md#YARA) in `./yara/rules` - `VTOT_API2_KEY` – used to specify a [VirusTotal Public API v.20](https://www.virustotal.com/en/documentation/public-api/) key, which, if specified, will be used to submit hashes of [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) to VirusTotal - `ZEEK_AUTO_ANALYZE_PCAP_FILES` – if set to `true`, all PCAP files imported into Malcolm will automatically be analyzed by Zeek, and the resulting logs will also be imported (default `false`) @@ -125,6 +127,7 @@ Although the configuration script automates many of the following configuration - `ZEEK_LIVE_CAPTURE` - if set to `true`, Zeek will monitor live traffic on the local interface(s) defined by `PCAP_FILTER` - `ZEEK_LOCAL_NETS` - specifies the value for Zeek's [`Site::local_nets`](https://docs.zeek.org/en/master/scripts/base/utils/site.zeek.html#id-Site::local_nets) variable (and `networks.cfg` for live capture) (e.g., `1.2.3.0/24,5.6.7.0/24`); note that by default, Zeek considers IANA-registered private address space such as `10.0.0.0/8` and `192.168.0.0/16` site-local - `ZEEK_ROTATED_PCAP` - if set to `true`, Zeek can analyze captured PCAP files captured by `netsniff-ng` or `tcpdump` (see `PCAP_ENABLE_NETSNIFF` and `PCAP_ENABLE_TCPDUMP`, as well as `ZEEK_AUTO_ANALYZE_PCAP_FILES`); if `ZEEK_LIVE_CAPTURE` is `true`, this should be `false`; otherwise Zeek will see duplicate traffic + - See [**Managing disk usage**](#DiskUsage) below for a discussion of the variables control automatic threshold-based deletion of the oldest [Zeek-extracted files](file-scanning.md#ZeekFileExtraction). ## Command-line arguments @@ -148,4 +151,22 @@ options: Note that the value for **any** argument not specified on the command line will be reset to its default (as if for a new Malcolm installation) regardless of the setting's current value in the corresponding `.env` file. In other words, users who want to use the `--defaults` option should carefully review all available command-line options and choose all that apply. -Similarly, [authentication](authsetup.md#AuthSetup)-related settings can also be set noninteractively by using the [command-line arguments](authsetup.md#CommandLineConfig) for `./scripts/auth_setup`. \ No newline at end of file +Similarly, [authentication](authsetup.md#AuthSetup)-related settings can also be set noninteractively by using the [command-line arguments](authsetup.md#CommandLineConfig) for `./scripts/auth_setup`. + +## Managing disk usage + +In instances where Malcolm is deployed with the intention of running indefinitely, eventually the question arises of what to do when the file systems used for storing Malcolm's artifacts (e.g., PCAP files, raw logs, [OpenSearch indices](index-management.md), [extracted files](file-scanning.md#ZeekFileExtraction), etc.). Malcolm provides [options](#MalcolmConfigEnvVars) for tuning the "aging out" (deletion) of old artifacts to make room for newer data. + +* PCAP deletion is configured by environment variables in **`arkime.env`**: + - `MANAGE_PCAP_FILES` – if set to `true`, all PCAP files imported into Malcolm will be marked as available for [deletion by Arkime](https://arkime.com/faq#pcap-deletion) if available storage space becomes too low (default `false`) + - `ARKIME_FREESPACEG` - when `MANAGE_PCAP_FILES` is `true`, this value is [used by Arkime](https://arkime.com/settings#freespaceg) to determine when to delete the oldest PCAP files. Note that this variable represents the amount of free/unused/available desired on the file system: e.g., a value of `5%` means "delete PCAP files if the amount of unused storage on the file system falls below 5%" (default `10%`). +* Zeek logs and Suricata logs are temporarily stored on disk as they are parsed, enriched, and indexed, and afterwards are periodically [pruned]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/filebeat/scripts/clean-processed-folder.py) from the file system as they age, based on these variables in **`filebeat.env`**: + - `LOG_CLEANUP_MINUTES` - specifies the age, in minutes, at which already-processed log files should be deleted + - `ZIP_CLEANUP_MINUTES` - specifies the age, in minutes, at which the compressed archives containing already-processed log files should be deleted +* Files [extracted by Zeek](file-scanning.md#ZeekFileExtraction) stored in the `./zeek-logs/extract_files/` directory can be periodically [pruned]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/prune_files.sh) based on the following variables in **`zeek.env`**. If either of the two threshold limits defined here are met, the oldest extracted files will be deleted until the limit is no longer met. Setting either of the threshold limits to `0` disables that check. + - `EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE` - specifies the maximum size, specified either in gigabytes or as a human-readable data size (e.g., `250G`), that the `./zeek-logs/extract_files/` directory is allowed to contain before the prune condition triggers + - `EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT` - specifies a maximum fill percentage for the file system containing the `./zeek-logs/extract_files/`; in other words, if the disk is more than this percentage utilized, the prune condition triggers + - `EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS` - the interval between checking the prune conditions, in seconds (default `300`) +* [Index management policies](index-management.md) can be handled via plugins provided as part of the OpenSearch and Elasticsearch platforms, respectively. In addition to those tools, the `OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT` variable in **`dashboards-helper.env`** defines a maximum cumulative that OpenSearch indices are allowed to consume before the oldest indices [are deleted]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/opensearch_index_size_prune.py), specified as either as a human-readable data size (e.g., `250G`) or as a percentage of the total disk size (e.g., `70%`): e.g., a value of `500G` means "delete the oldest OpenSearch indices if the total space consumed by Malcolm's indices exceeds five hundred gigabytes." + +Similar settings exist on for managing disk usage [Hedgehog Linux](malcolm-hedgehog-e2e-iso-install.md#HedgehogDiskUsage). \ No newline at end of file diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 9f4abeb4f..b9600c62e 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -30,7 +30,8 @@ In contrast to using the ISO installer, Malcolm can also be installed "natively" * [filebeat](#Hedgehogfilebeat): Zeek and Suricata log forwarding * [miscbeat](#Hedgehogmiscbeat): System metrics forwarding * [acl-configure](#HedgehogACL): Configure ACL for artifact reachback from Malcolm - + [Autostart services](#HedgehogConfigAutostart) + - [Autostart services](#HedgehogConfigAutostart) + - [Managing disk usage](#HedgehogDiskUsage) * [Verifying Traffic Capture and Forwarding](#Verify) ## Obtaining the Installation ISOs @@ -483,7 +484,7 @@ Hedgehog Linux provides an extracted files directory listing to browse and downl ![Extracted file server configuration](./images/hedgehog/images/file_server_zip.png) -Finally, users will be presented with the list of configuration variables that will be used for capture, including the values which have been selected up to this point in this section. Upon choosing **OK** these values will be written back out to the sensor configuration file located at `/opt/sensor/sensor_ctl/control_vars.conf`. Editing this file manually is not recommended. After confirming these values, users will be presented with a confirmation that these settings have been written to the configuration file then returned to the welcome screen. +Finally, users will be presented with the list of configuration variables that will be used for capture, including the values which have been selected up to this point in this section. Upon choosing **OK** these values will be written back out to the sensor configuration file located at `/opt/sensor/sensor_ctl/control_vars.conf`. Editing this file manually should be done with care. After confirming these values, users will be presented with a confirmation that these settings have been written to the configuration file then returned to the welcome screen. ## Configure Forwarding @@ -657,6 +658,18 @@ zeek:yara RUNNING pid 6548, uptime 0:03:17 zeek:zeekctl RUNNING pid 6502, uptime 0:03:17 ``` +### Managing disk usage + +In instances where Hedgehog Linux is deployed with the intention of running indefinitely, eventually the question arises of what to do when the file systems used for storing Malcolm's artifacts (e.g., PCAP files, raw logs, [extracted files](file-scanning.md#ZeekFileExtraction), etc.). Hedgehog Linux provides options for tuning the "aging out" (deletion) of old artifacts to make room for newer data. These are configured during [Configure Capture](#HedgehogCapture) and are stored in the `/opt/sensor/sensor_ctl/control_vars.conf` configuration file. Editing this file manually should be done with care. + +* PCAP files can be periodically [pruned]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/prune_files.sh) according to these variables: + - `PCAP_MAX_DISK_FILL` - a maximum fill percentage for the file system containing the PCAP files; in other words, if the disk is more than this percentage utilized, the prune condition triggers + - `PCAP_PRUNE_CHECK_SECONDS` - the interval between checking the PCAP prune condition, in seconds + - `ARKIME_FREESPACEG` - this value is [used by Arkime](https://arkime.com/settings#freespaceg) to determine when to delete the oldest PCAP files. Note that this variable represents the amount of free/unused/available desired on the file system: e.g., a value of `5%` means "delete PCAP files if the amount of unused storage on the file system falls below 5%" (default `10%`). Observant users will note that there overlap in Arkime's PCAP deletion process and the process using the `PCAP_MAX_DISK_FILL` above: either process may delete old PCAP files depending on which conditions trigger first. +* Zeek logs, files [extracted by Zeek](file-scanning.md#ZeekFileExtraction), and Suricata logs are [pruned]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/prune_files.sh) according to these variables: + - `ZEEK_MAX_DISK_FILL` - a maximum fill percentage for the file system containing these artifacts; in other words, if the disk is more than this percentage utilized, the prune condition triggers + - `ZEEK_PRUNE_CHECK_SECONDS` - the interval between checking the prune condition for these artifacts, in seconds + ## Verifying Traffic Capture and Forwarding The easiest way to verify network traffic is being captured by the sensor and forwarded to Malcolm is through Malcolm's Arkime [Sessions](arkime.md#ArkimeSessions) interface. diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf index 4ca505d7a..4b8dbcea7 100644 --- a/file-monitor/supervisord.conf +++ b/file-monitor/supervisord.conf @@ -170,6 +170,24 @@ stdout_logfile=/dev/fd/1 stdout_logfile_maxbytes=0 redirect_stderr=true +[program:prune] +command=/usr/local/bin/prune_files.sh + -i %(ENV_EXTRACTED_FILE_PRUNE_INTERVAL_SECONDS)s + -m %(ENV_EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE)s + -t %(ENV_EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT)s + -p /zeek/extract_files + -r +autostart=true +autorestart=true +startsecs=0 +startretries=0 +stopasgroup=true +killasgroup=true +directory=/zeek/extract_files +stdout_logfile=/dev/fd/1 +stdout_logfile_maxbytes=0 +redirect_stderr=true + [program:cron] command=/usr/local/bin/supercronic -json "%(ENV_SUPERCRONIC_CRONTAB)s" autostart=true diff --git a/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot b/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot index 37bbf8d5c..981f3ffcb 100755 --- a/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot +++ b/hedgehog-iso/config/hooks/normal/0169-pip-installs.hook.chroot @@ -13,6 +13,7 @@ pip3 install --break-system-packages --no-compile --no-cache-dir --force-reinsta dateparser \ debinterface \ dominate \ + humanfriendly \ pymisp \ python-dotenv \ ruamel.yaml \ diff --git a/scripts/install.py b/scripts/install.py index 969367cd6..657ae8ac3 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -78,6 +78,7 @@ eprint, flatten, LoadFileIfJson, + remove_suffix, run_process, same_file_or_dir, str2bool, @@ -113,6 +114,8 @@ TrueOrFalseNoQuote = lambda x: 'true' if x else 'false' MaxAskForValueCount = 100 +str2percent = lambda val: max(min(100, int(remove_suffix(val, '%'))), 0) if val else 0 + ################################################################################################### # get interactive user response to Y/N question @@ -1086,6 +1089,8 @@ def tweak_malcolm_runtime(self, malcolm_install_path): indexPruneNameSort = False arkimeManagePCAP = False arkimeFreeSpaceG = '10%' + extractedFileMaxSizeThreshold = '1TB' + extractedFileMaxPercentThreshold = 0 indexManagementPolicy = False indexManagementHotWarm = False indexManagementOptimizationTimePeriod = '30d' @@ -1150,14 +1155,19 @@ def tweak_malcolm_runtime(self, malcolm_install_path): ): break - if InstallerYesOrNo( + diskUsageManagementPrompt = InstallerYesOrNo( ( - 'Should Malcolm delete the oldest database indices and/or PCAP files based on available storage?' + 'Should Malcolm delete the oldest database indices and capture artifacts based on available storage?' if ((opensearchPrimaryMode == DatabaseMode.OpenSearchLocal) and (malcolmProfile == PROFILE_MALCOLM)) - else 'Should Arkime delete PCAP files based on available storage (see https://arkime.com/faq#pcap-deletion)?' + else 'Should Malcolm delete the oldest capture artifacts based on available storage?' ), - default=args.arkimeManagePCAP or bool(args.indexPruneSizeLimit), - ): + default=args.arkimeManagePCAP + or bool(args.indexPruneSizeLimit) + or bool(args.extractedFileMaxSizeThreshold) + or (args.extractedFileMaxPercentThreshold > 0), + ) + if diskUsageManagementPrompt: + # delete oldest indexes based on index pattern size if ( (malcolmProfile == PROFILE_MALCOLM) @@ -1362,6 +1372,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path): ], ) if fileCarveMode and (fileCarveMode != 'none'): + loopBreaker = CountUntilException(MaxAskForValueCount, 'Invalid file preservation behavior') while filePreserveMode not in allowedFilePreserveModes and loopBreaker.increment(): filePreserveMode = InstallerChooseOne( @@ -1379,6 +1390,31 @@ def tweak_malcolm_runtime(self, malcolm_install_path): for x in allowedFilePreserveModes ], ) + + if diskUsageManagementPrompt: + loopBreaker = CountUntilException( + MaxAskForValueCount, 'Invalid Zeek extracted file prune threshold' + ) + extractedFilePruneThresholdTemp = '' + while ( + not re.match(r'^\d+%?$', extractedFilePruneThresholdTemp, flags=re.IGNORECASE) + ) and loopBreaker.increment(): + extractedFilePruneThresholdTemp = InstallerAskForString( + 'Enter maximum allowed space for Zeek-extracted files (e.g., 250GB) or file system fill threshold (e.g., 90%)', + default=( + args.extractedFileMaxPercentThreshold + if args.extractedFileMaxPercentThreshold + else args.extractedFileMaxSizeThreshold + ), + ) + if extractedFilePruneThresholdTemp: + if '%' in extractedFilePruneThresholdTemp: + extractedFileMaxPercentThreshold = str2percent(extractedFilePruneThresholdTemp) + extractedFileMaxSizeThreshold = '0' + else: + extractedFileMaxPercentThreshold = 0 + extractedFileMaxSizeThreshold = extractedFilePruneThresholdTemp + fileCarveHttpServer = (malcolmProfile == PROFILE_MALCOLM) and InstallerYesOrNo( 'Expose web interface for downloading preserved files?', default=args.fileCarveHttpServer ) @@ -1951,6 +1987,18 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'EXTRACTED_FILE_PRESERVATION', filePreserveMode, ), + # total disk fill threshold for pruning zeek extracted files + EnvValue( + os.path.join(args.configDir, 'zeek.env'), + 'EXTRACTED_FILE_PRUNE_THRESHOLD_TOTAL_DISK_USAGE_PERCENT', + extractedFileMaxPercentThreshold, + ), + # zeek extracted files maximum consumption threshold + EnvValue( + os.path.join(args.configDir, 'zeek.env'), + 'EXTRACTED_FILE_PRUNE_THRESHOLD_MAX_SIZE', + extractedFileMaxSizeThreshold, + ), # HTTP server for extracted files EnvValue( os.path.join(args.configDir, 'zeek.env'), @@ -3767,6 +3815,24 @@ def main(): default='', help=f'Threshold for Arkime PCAP deletion (see https://arkime.com/faq#pcap-deletion)', ) + storageArgGroup.add_argument( + '--extracted-file-max-size-threshold', + dest='extractedFileMaxSizeThreshold', + required=False, + metavar='', + type=str, + default='', + help=f'Delete zeek-extracted files when they consume this much disk space (e.g., 250GB, 1TB, etc.)', + ) + storageArgGroup.add_argument( + '--extracted-file-total-disk-usage-percent-threshold', + dest='extractedFileMaxPercentThreshold', + required=False, + metavar='', + type=str2percent, + default=0, + help=f'Delete zeek-extracted files when the file system exceeds this percentage full (e.g., 90%, etc.)', + ) storageArgGroup.add_argument( '--delete-index-threshold', dest='indexPruneSizeLimit', diff --git a/shared/bin/prune_files.sh b/shared/bin/prune_files.sh index 2d3576bfa..5873182a0 100755 --- a/shared/bin/prune_files.sh +++ b/shared/bin/prune_files.sh @@ -11,7 +11,8 @@ DEPTH=1 # THRESHOLD_PCT is an integer percentage between 1-100 ("prune when disk usage >= THRESHOLD_PCT%") THRESHOLD_PCT=0 -# MAXSIZE_GB is an integer representing gigabytes ("prune when path contents >= MAXSIZE_GB") +# MAXSIZE_GB is an integer representing gigabytes ("prune when path contents >= MAXSIZE_GB"), although +# it can be specified as a human-readable data size (e.g., 10G) if humanfriendly is available MAXSIZE_GB=0 # if specified, this script will check and prune every $INTERVAL seconds @@ -41,6 +42,14 @@ if [[ ! "$INTERVAL" =~ $INT_RE ]] || ! (( "$INTERVAL" >= 0 && "$INTERVAL" <= 864 exit 1 fi +if [[ ! "$MAXSIZE_GB" =~ $INT_RE ]] && command -v humanfriendly >/dev/null 2>&1; then + # convert max-size from a string (e.g., 1TB) to the number of gigabytes (1000) + MAXSIZE_BYTES="$(humanfriendly --parse-size "$MAXSIZE_GB" 2>/dev/null)" + if [[ -n "$MAXSIZE_BYTES" ]] && [[ "$MAXSIZE_BYTES" =~ $INT_RE ]]; then + MAXSIZE_GB="$(echo "$MAXSIZE_BYTES" | awk '{printf "%.0f\n", $1/1000/1000/1000}')" + fi +fi + if ( [[ -z "$THRESHOLD_PCT" ]] || [[ ! "$THRESHOLD_PCT" =~ $INT_RE ]] || ! (( "$THRESHOLD_PCT" >= 1 && "$THRESHOLD_PCT" <= 100)) ) && ( [[ -z "$MAXSIZE_GB" ]] || [[ ! "$MAXSIZE_GB" =~ $INT_RE ]] || ! (( "$MAXSIZE_GB" >= 1 )) ); then echo "Please specify at least one prune trigger: threshold (percentage, 1-100) with -t; or, maximum size (gigabytes, >= 1) with -m" >&2 @@ -51,14 +60,15 @@ while true ; do # check initial disk capacity USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - USAGE_GB=$(du -sh --block-size=1G . | awk '{print $1}') + USAGE_GB=$(du -sb . | awk '{printf "%.0f\n", $1/1000/1000/1000}') if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we have exceeded the threshold, see if there is something to prune [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB), pruning..." >&2 # read files by modification time, oldest first, deleting until we've dropped below the threshold - DELETED=0 + DELETED_FILES=0 + DELETED_BYTES=0 while IFS='' read -r -d ' ' FILE_TIME && IFS='' read -r -d ' ' FILE_SIZE && IFS='' read -r -d '' FILE_TO_DELETE; do FILE_SIZE_HUMAN=$(numfmt --to=iec-i --suffix=B $FILE_SIZE) @@ -66,13 +76,14 @@ while true ; do if [[ -f "$FILE_TO_DELETE" ]]; then if rm -f "$FILE_TO_DELETE" ; then - DELETED=$((DELETED+1)) + DELETED_FILES=$((DELETED_FILES+1)) + DELETED_BYTES=$((DELETED_BYTES+FILE_SIZE)) - echo "Pruned \"$FILE_TO_DELETE\" ($FILE_SIZE_HUMAN, $FILE_TIME_HUMAN)" >&2 + [[ "$VERBOSE" == "1" ]] && echo "Pruned \"$FILE_TO_DELETE\" ($FILE_SIZE_HUMAN, $FILE_TIME_HUMAN)" >&2 # re-check disk capacity USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - USAGE_GB=$(du -sh --block-size=1G . | awk '{print $1}') + USAGE_GB=$(du -sb . | awk '{printf "%.0f\n", $1/1000/1000/1000}') if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we still exceed the threshold, continue to loop [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB), pruning..." >&2 @@ -87,8 +98,8 @@ while true ; do # exclude files in our Zeek live capture directory done < <(find . -xdev -mindepth 1 -maxdepth $DEPTH -ignore_readdir_race -type f \( ! -path '*/spool/*' -o -path '*/spool/tmp*' \) -printf '%T@ %s %p\0' 2>/dev/null | sort -zn 2>/dev/null) - if (( $DELETED > 0 )) ; then - [[ "$VERBOSE" == "1" ]] && echo "Pruned $DELETED files in \"$PRUNE_PATH\"" >&2 + if (( $DELETED_FILES > 0 )) ; then + echo "Pruned $DELETED_FILES files ($(numfmt --to=iec-i --suffix=B $DELETED_BYTES)) in \"$PRUNE_PATH\"" else echo "Nothing was pruned in \"$PRUNE_PATH\"!" >&2 fi From 80cfb67a3231d84afbc5e18156116e2c5f1aa9ab Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 9 Apr 2024 13:18:43 -0600 Subject: [PATCH 48/98] bump beats and logstash to v8.13.2 --- Dockerfiles/filebeat.Dockerfile | 2 +- Dockerfiles/logstash.Dockerfile | 2 +- hedgehog-iso/build.sh | 2 +- hedgehog-raspi/sensor_install.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index b5a7824c4..63fad6110 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/beats/filebeat-oss:8.13.1 +FROM docker.elastic.co/beats/filebeat-oss:8.13.2 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile index f510c3856..e1a099207 100644 --- a/Dockerfiles/logstash.Dockerfile +++ b/Dockerfiles/logstash.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/logstash/logstash-oss:8.13.1 +FROM docker.elastic.co/logstash/logstash-oss:8.13.2 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' diff --git a/hedgehog-iso/build.sh b/hedgehog-iso/build.sh index bae938a10..52cc90750 100755 --- a/hedgehog-iso/build.sh +++ b/hedgehog-iso/build.sh @@ -5,7 +5,7 @@ IMAGE_PUBLISHER=idaholab IMAGE_VERSION=1.0.0 IMAGE_DISTRIBUTION=bookworm -BEATS_VER="8.13.1" +BEATS_VER="8.13.2" BEATS_OSS="-oss" BUILD_ERROR_CODE=1 diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index e74a4a309..9c22a0a1d 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -34,7 +34,7 @@ SENSOR_DIR='/opt/sensor' ARKIME_VERSION="5.1.0" -BEATS_VER="8.13.1" +BEATS_VER="8.13.2" BEATS_OSS="-oss" # Option to build from sources if desired From a0fcc31c97b943d09cd1a178432cbddd8308d061 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 9 Apr 2024 13:45:45 -0600 Subject: [PATCH 49/98] install.py tweaks --- scripts/install.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/install.py b/scripts/install.py index 657ae8ac3..a1ecff792 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1095,7 +1095,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path): indexManagementHotWarm = False indexManagementOptimizationTimePeriod = '30d' indexManagementSpiDataRetention = '90d' - indexManagementReplicas = 1 + indexManagementReplicas = 0 indexManagementHistoryInWeeks = 13 indexManagementOptimizeSessionSegments = 1 @@ -1397,7 +1397,9 @@ def tweak_malcolm_runtime(self, malcolm_install_path): ) extractedFilePruneThresholdTemp = '' while ( - not re.match(r'^\d+%?$', extractedFilePruneThresholdTemp, flags=re.IGNORECASE) + not re.match( + r'^\d+(\.\d+)?\s*[kmgtp%]?b?$', extractedFilePruneThresholdTemp, flags=re.IGNORECASE + ) ) and loopBreaker.increment(): extractedFilePruneThresholdTemp = InstallerAskForString( 'Enter maximum allowed space for Zeek-extracted files (e.g., 250GB) or file system fill threshold (e.g., 90%)', From 1a42db0808b2105e345b85c84a4e64eaf1585843 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 9 Apr 2024 13:55:55 -0600 Subject: [PATCH 50/98] documentation updates --- docs/kubernetes.md | 4 +++- docs/malcolm-hedgehog-e2e-iso-install.md | 6 ++++-- docs/ubuntu-install-example.md | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 67a2c136c..4ff314dcc 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -369,7 +369,7 @@ Select authentication method (Basic): 1 Enable index management policies (ILM/ISM) in Arkime? (y / N): n -Should Malcolm delete the oldest database indices and/or PCAP files based on available storage? (y / N): y +Should Malcolm delete the oldest database indices and capture artifacts based on available storage? (y / N): y Delete the oldest indices when the database exceeds a certain size? (y / N): y @@ -411,6 +411,8 @@ Select file extraction behavior (none): 5 3: none Select file preservation behavior (quarantined): 1 +Enter maximum allowed space for Zeek-extracted files (e.g., 250GB) or file system fill threshold (e.g., 90%): 100G + Expose web interface for downloading preserved files? (y / N): y ZIP downloaded preserved files? (y / N): y diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index b9600c62e..4a4d3feea 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -187,8 +187,8 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest - This defines how many additional copies of older session indices Arkime should store. - **How many weeks of history should Arkime keep?",** - This defines the retention period (in weeks) for `arkime-history` indices. -* **Should Malcolm delete the oldest database indices and/or PCAP files based on available storage?** - - Choose **Y** to proceed to the following related questions about managing the data storage used by Malcolm. +* **Should Malcolm delete the oldest database indices and capture artifacts based on available storage?** + - Choose **Y** to proceed to the following related questions about [managing the data storage](malcolm-config.md#DiskUsage) used by Malcolm. - **Delete the oldest indices when the database exceeds a certain size?** - Most of the configuration around OpenSearch [Index State Management](https://opensearch.org/docs/latest/im-plugin/ism/index/) and [Snapshot Management](https://opensearch.org/docs/latest/opensearch/snapshots/sm-dashboards/) can be done in OpenSearch Dashboards. In addition to (or instead of) the OpenSearch index state management operations, Malcolm can also be configured to delete the oldest network session metadata indices when the database exceeds a certain size to prevent filling up all available storage with OpenSearch indices. - **Should Arkime delete uploaded PCAP files based on available storage?** @@ -248,6 +248,8 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest + `quarantined`: preserve only flagged files in `./zeek-logs/extract_files/quarantine` + `all`: preserve flagged files in `./zeek-logs/extract_files/quarantine` and all other extracted files in `./zeek-logs/extract_files/preserved` + `none`: preserve no extracted files +* **Enter maximum allowed space for Zeek-extracted files (e.g., 250GB) or file system fill threshold (e.g., 90%)** + - Files [extracted by Zeek](file-scanning.md#ZeekFileExtraction) can be periodically pruned to ensure the disk storage they consume does not exceed a user-specified threshold. See the documentation on [managing Malcolm's disk usage](malcolm-config.md#DiskUsage) for more information. * **Expose web interface for downloading preserved files?** - Answering **Y** enables access to the Zeek-extracted files path through the means of a simple HTTPS directory server at **https:///extracted-files/**. Beware that Zeek-extracted files may contain malware. * **ZIP downloaded preserved files?** diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index f2488f950..34767dee9 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -134,7 +134,7 @@ Store PCAP, log and index files in /home/user/Malcolm? (Y / n): y Enable index management policies (ILM/ISM) in Arkime? (y / N): n -Should Malcolm delete the oldest database indices and/or PCAP files based on available storage? n +Should Malcolm delete the oldest database indices and capture artifacts based on available storage?? n Automatically analyze all PCAP files with Suricata? (Y / n): y From 97ebeef89c10dc1e8b8a1699064467d9372f0c77 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 09:17:12 -0600 Subject: [PATCH 51/98] for idaholab/Malcolm#456, adjustments to how Zeek intel files are generated in Malcolm containers * remove ZEEK_CRON variable * moved ZEEK_INTEL_REFRESH_CRON_EXPRESSION variable to zeek-offline.env for zeek-offline container only * added ZEEK_INTEL_REFRESH_ON_ENTRYPOINT=false and ZEEK_INTEL_REFRESH_ON_DEPLOY=false - ZEEK_INTEL_REFRESH_ON_ENTRYPOINT is set to true for the zeek-offline container only - ZEEK_INTEL_REFRESH_ON_DEPLOY is only set to true on Hedgehog Linux installations (where we're not using Docker), in control_vars.conf * zeek_intel_setup.sh now only sets up the crontab file for the container if ZEEK_INTEL_REFRESH_CRON_EXPRESSION is set * zeek_deploy.sh checks ZEEK_INTEL_REFRESH_ON_DEPLOY before running zeek_intel_setup.sh * zeek/scripts/docker_entrypoint.sh checks ZEEK_INTEL_REFRESH_ON_ENTRYPOINT before running zeek_intel_setup.sh * supercronic runs in both containers, but only actually gets set up for Zeek intel pull when ZEEK_INTEL_REFRESH_CRON_EXPRESSION is set - this is because there may be other things we want cron to do here in the future, for now with an empty crontab the zeek-live one will just sleep --- Dockerfiles/zeek.Dockerfile | 12 +++++++----- config/zeek-live.env.example | 1 - config/zeek-offline.env.example | 8 +++++++- config/zeek.env.example | 3 --- hedgehog-iso/interface/sensor_ctl/control_vars.conf | 1 + shared/bin/zeek_intel_setup.sh | 7 ++++--- shared/bin/zeekdeploy.sh | 9 ++++++--- zeek/scripts/docker_entrypoint.sh | 4 ++-- zeek/supervisord.conf | 4 ++-- 9 files changed, 29 insertions(+), 20 deletions(-) diff --git a/Dockerfiles/zeek.Dockerfile b/Dockerfiles/zeek.Dockerfile index 88765e104..18c179a6d 100644 --- a/Dockerfiles/zeek.Dockerfile +++ b/Dockerfiles/zeek.Dockerfile @@ -190,13 +190,14 @@ RUN mkdir -p /tmp/logs && \ ARG AUTO_TAG=true #Whether or not to start up the pcap_processor script to monitor pcaps ARG ZEEK_PCAP_PROCESSOR=true -#Whether or not to start up supercronic for updating intel definitions -ARG ZEEK_CRON=true #Whether or not to run "zeek -r XXXXX.pcap local" on each pcap file ARG ZEEK_AUTO_ANALYZE_PCAP_FILES=false ARG ZEEK_AUTO_ANALYZE_PCAP_THREADS=1 -ARG ZEEK_INTEL_ITEM_EXPIRATION=-1min +#Whether or not to refresh intel at various points during processing +ARG ZEEK_INTEL_REFRESH_ON_ENTRYPOINT=false +ARG ZEEK_INTEL_REFRESH_ON_DEPLOY=false ARG ZEEK_INTEL_REFRESH_CRON_EXPRESSION= +ARG ZEEK_INTEL_ITEM_EXPIRATION=-1min ARG ZEEK_INTEL_REFRESH_THREADS=2 ARG ZEEK_INTEL_FEED_SINCE= ARG ZEEK_INTEL_FEED_SSL_CERTIFICATE_VERIFICATION=false @@ -216,11 +217,12 @@ ARG PCAP_NODE_NAME=malcolm ENV AUTO_TAG $AUTO_TAG ENV ZEEK_PCAP_PROCESSOR $ZEEK_PCAP_PROCESSOR -ENV ZEEK_CRON $ZEEK_CRON +ENV ZEEK_INTEL_REFRESH_ON_ENTRYPOINT $ZEEK_INTEL_REFRESH_ON_ENTRYPOINT +ENV ZEEK_INTEL_REFRESH_ON_DEPLOY $ZEEK_INTEL_REFRESH_ON_DEPLOY +ENV ZEEK_INTEL_REFRESH_CRON_EXPRESSION $ZEEK_INTEL_REFRESH_CRON_EXPRESSION ENV ZEEK_AUTO_ANALYZE_PCAP_FILES $ZEEK_AUTO_ANALYZE_PCAP_FILES ENV ZEEK_AUTO_ANALYZE_PCAP_THREADS $ZEEK_AUTO_ANALYZE_PCAP_THREADS ENV ZEEK_INTEL_ITEM_EXPIRATION $ZEEK_INTEL_ITEM_EXPIRATION -ENV ZEEK_INTEL_REFRESH_CRON_EXPRESSION $ZEEK_INTEL_REFRESH_CRON_EXPRESSION ENV ZEEK_INTEL_REFRESH_THREADS $ZEEK_INTEL_REFRESH_THREADS ENV ZEEK_INTEL_FEED_SINCE $ZEEK_INTEL_FEED_SINCE eNV ZEEK_INTEL_FEED_SSL_CERTIFICATE_VERIFICATION $ZEEK_INTEL_FEED_SSL_CERTIFICATE_VERIFICATION diff --git a/config/zeek-live.env.example b/config/zeek-live.env.example index abf8c7a4d..7a233810e 100644 --- a/config/zeek-live.env.example +++ b/config/zeek-live.env.example @@ -5,6 +5,5 @@ ZEEK_LIVE_CAPTURE=false ZEEK_DISABLE_STATS=true ZEEK_PCAP_PROCESSOR=false -ZEEK_CRON=true ZEEK_LOG_PATH=/zeek/live EXTRACT_FILES_PATH=/zeek/extract_files \ No newline at end of file diff --git a/config/zeek-offline.env.example b/config/zeek-offline.env.example index f57f536b0..75c2e130a 100644 --- a/config/zeek-offline.env.example +++ b/config/zeek-offline.env.example @@ -10,4 +10,10 @@ ZEEK_AUTO_ANALYZE_PCAP_THREADS=1 ZEEK_ROTATED_PCAP=true ZEEK_PCAP_PROCESSOR=true -ZEEK_CRON=false \ No newline at end of file + +# Specifies whether or not to refresh Zeek Intelligence Framework files in +# the container entrypoint +ZEEK_INTEL_REFRESH_ON_ENTRYPOINT=true +# Specifies a cron expression indicating the refresh interval for generating the +# Zeek Intelligence Framework files (or blank to disable automatic refresh) +ZEEK_INTEL_REFRESH_CRON_EXPRESSION= \ No newline at end of file diff --git a/config/zeek.env.example b/config/zeek.env.example index 5a1a13412..66a04c0c6 100644 --- a/config/zeek.env.example +++ b/config/zeek.env.example @@ -13,9 +13,6 @@ ZEEK_INTEL_ITEM_EXPIRATION=-1min ZEEK_INTEL_FEED_SINCE= # Whether or not to require SSL certificate verification when querying a TAXII or MISP feed ZEEK_INTEL_FEED_SSL_CERTIFICATE_VERIFICATION=false -# Specifies a cron expression indicating the refresh interval for generating the -# Zeek Intelligence Framework files ('' disables automatic refresh) -ZEEK_INTEL_REFRESH_CRON_EXPRESSION= # Number of threads to use for querying feeds for generating Zeek Intelligence Framework files ZEEK_INTEL_REFRESH_THREADS=2 # Determines the file extraction behavior for file transfers detected by Zeek diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index aa412edd2..6d3a845d7 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -71,6 +71,7 @@ export ZEEK_AF_PACKET_BUFFER_SIZE=67108864 export ZEEK_LOCAL_NETS= export ZEEK_JSON= export ZEEK_RULESET=local +export ZEEK_INTEL_REFRESH_ON_DEPLOY=true export ZEEK_INTEL_ITEM_EXPIRATION=-1min export ZEEK_INTEL_FEED_SINCE= export ZEEK_EXTRACTOR_MODE=none diff --git a/shared/bin/zeek_intel_setup.sh b/shared/bin/zeek_intel_setup.sh index f2309e352..ff10a25bf 100755 --- a/shared/bin/zeek_intel_setup.sh +++ b/shared/bin/zeek_intel_setup.sh @@ -12,6 +12,7 @@ shopt -s nocasematch ENCODING="utf-8" SCRIPT_FILESPEC="$(realpath -e "${BASH_SOURCE[0]}")" +SCRIPT_FILESPEC_ESCAPED="$(printf '%s\n' "${SCRIPT_FILESPEC}" | sed -e 's/[\/&]/\\&/g')" ZEEK_DIR=${ZEEK_DIR:-"/opt/zeek"} ZEEK_INTEL_ITEM_EXPIRATION=${ZEEK_INTEL_ITEM_EXPIRATION:-"-1min"} ZEEK_INTEL_FEED_SINCE=${ZEEK_INTEL_FEED_SINCE:-""} @@ -131,10 +132,10 @@ fi # singleton lock check # $ZEEK_INTEL_REFRESH_CRON_EXPRESSION (e.g., 15 1 * * *) to execute this script set +u if [[ -n "${SUPERCRONIC_CRONTAB}" ]] && [[ -f "${SUPERCRONIC_CRONTAB}" ]]; then + touch "${SUPERCRONIC_CRONTAB}" + sed -i -e "/${SCRIPT_FILESPEC_ESCAPED}/d" "${SUPERCRONIC_CRONTAB}" if [[ -n "${ZEEK_INTEL_REFRESH_CRON_EXPRESSION}" ]]; then - echo "${ZEEK_INTEL_REFRESH_CRON_EXPRESSION} ${SCRIPT_FILESPEC} true" > "${SUPERCRONIC_CRONTAB}" - else - > "${SUPERCRONIC_CRONTAB}" + echo "${ZEEK_INTEL_REFRESH_CRON_EXPRESSION} ${SCRIPT_FILESPEC} true" >> "${SUPERCRONIC_CRONTAB}" fi # reload supercronic if it's running killall -s USR2 supercronic >/dev/null 2>&1 || true diff --git a/shared/bin/zeekdeploy.sh b/shared/bin/zeekdeploy.sh index 422d94549..8b10c1a33 100755 --- a/shared/bin/zeekdeploy.sh +++ b/shared/bin/zeekdeploy.sh @@ -67,6 +67,7 @@ fi [[ -z $WORKER_LB_PROCS ]] && WORKER_LB_PROCS="$ZEEK_LB_PROCS" [[ -z $ZEEK_LB_METHOD ]] && ZEEK_LB_METHOD="custom" [[ -z $ZEEK_AF_PACKET_BUFFER_SIZE ]] && ZEEK_AF_PACKET_BUFFER_SIZE="$(echo "64*1024*1024" | bc)" +[[ -z $ZEEK_INTEL_REFRESH_ON_DEPLOY ]] && ZEEK_INTEL_REFRESH_ON_DEPLOY="true" # if zeek log path is unspecified, write logs to pwd [[ -z $ZEEK_LOG_PATH ]] && ZEEK_LOG_PATH=. @@ -89,16 +90,18 @@ ZEEK_EXTRACTOR_SCRIPT="$ZEEK_INSTALL_PATH"/share/zeek/site/"$EXTRACTOR_ZEEK_SCRI [[ -n "$ZEEK_INTEL_PATH" ]] && INTEL_DIR="$ZEEK_INTEL_PATH" || INTEL_DIR=/opt/sensor/sensor_ctl/zeek/intel export INTEL_DIR mkdir -p "$INTEL_DIR"/STIX "$INTEL_DIR"/MISP -touch "$INTEL_DIR"/__load__.zeek || true +touch "$INTEL_DIR"/__load__.zeek 2>/dev/null || true # autoconfigure load directives for intel files -[[ -x "$ZEEK_INSTALL_PATH"/bin/zeek_intel_setup.sh ]] && "$ZEEK_INSTALL_PATH"/bin/zeek_intel_setup.sh /bin/true +[[ -x "$ZEEK_INSTALL_PATH"/bin/zeek_intel_setup.sh ]] && \ + [[ "$ZEEK_INTEL_REFRESH_ON_DEPLOY" == "true" ]] && \ + "$ZEEK_INSTALL_PATH"/bin/zeek_intel_setup.sh /bin/true INTEL_UPDATE_TIME_PREV=0 # make sure "custom" directory exists, even if empty [[ -n "$ZEEK_CUSTOM_PATH" ]] && CUSTOM_DIR="$ZEEK_CUSTOM_PATH" || CUSTOM_DIR=/opt/sensor/sensor_ctl/zeek/custom export CUSTOM_DIR mkdir -p "$CUSTOM_DIR" -touch "$CUSTOM_DIR"/__load__.zeek || true +touch "$CUSTOM_DIR"/__load__.zeek 2>/dev/null || true # configure zeek cfg files pushd "$ZEEK_INSTALL_PATH"/etc >/dev/null 2>&1 diff --git a/zeek/scripts/docker_entrypoint.sh b/zeek/scripts/docker_entrypoint.sh index 0ed78c9b0..548791ef5 100755 --- a/zeek/scripts/docker_entrypoint.sh +++ b/zeek/scripts/docker_entrypoint.sh @@ -6,8 +6,8 @@ ZEEK_DIR=${ZEEK_DIR:-"/opt/zeek"} setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/zeek || true setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/capstats || true -if [[ "${ZEEK_LIVE_CAPTURE:-false}" != "true" ]] && [[ -x "${ZEEK_DIR}"/bin/zeek_intel_setup.sh ]]; then - sleep 15 # give the "live" instance, if there is one, a chance to go first +if [[ "${ZEEK_INTEL_REFRESH_ON_ENTRYPOINT:-false}" == "true" ]] && \ + [[ -x "${ZEEK_DIR}"/bin/zeek_intel_setup.sh ]]; then if [[ "$(id -u)" == "0" ]] && [[ -n "$PUSER" ]]; then su -s /bin/bash -p ${PUSER} << EOF "${ZEEK_DIR}"/bin/zeek_intel_setup.sh /bin/true diff --git a/zeek/supervisord.conf b/zeek/supervisord.conf index 5ad1d49b7..89d94aa61 100644 --- a/zeek/supervisord.conf +++ b/zeek/supervisord.conf @@ -43,8 +43,8 @@ user=%(ENV_PUSER)s [program:cron] command=/usr/local/bin/supercronic -json "%(ENV_SUPERCRONIC_CRONTAB)s" -autostart=%(ENV_ZEEK_CRON)s -autorestart=%(ENV_ZEEK_CRON)s +autostart=true +autorestart=true stopasgroup=true killasgroup=true stdout_logfile=/dev/fd/1 From 3e18b88b4651b70e26b2c81fbd641af80cd2dfe4 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 09:35:20 -0600 Subject: [PATCH 52/98] handle ZEEK_INTEL_REFRESH_CRON_EXPRESSION on Hedgehog Linux installations to allow for refreshing zeek intel on hedgehog as well: related (somewhat) to idaholab/Malcolm#456 --- hedgehog-iso/interface/sensor_ctl/control_vars.conf | 1 + ...ercronic_populate.sh => suricata_update_cron_setup.sh} | 8 ++++++-- shared/bin/zeek_intel_setup.sh | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) rename hedgehog-iso/interface/sensor_ctl/supervisor.init/{supercronic_populate.sh => suricata_update_cron_setup.sh} (91%) diff --git a/hedgehog-iso/interface/sensor_ctl/control_vars.conf b/hedgehog-iso/interface/sensor_ctl/control_vars.conf index 6d3a845d7..bcef009a0 100644 --- a/hedgehog-iso/interface/sensor_ctl/control_vars.conf +++ b/hedgehog-iso/interface/sensor_ctl/control_vars.conf @@ -72,6 +72,7 @@ export ZEEK_LOCAL_NETS= export ZEEK_JSON= export ZEEK_RULESET=local export ZEEK_INTEL_REFRESH_ON_DEPLOY=true +export ZEEK_INTEL_REFRESH_CRON_EXPRESSION= export ZEEK_INTEL_ITEM_EXPIRATION=-1min export ZEEK_INTEL_FEED_SINCE= export ZEEK_EXTRACTOR_MODE=none diff --git a/hedgehog-iso/interface/sensor_ctl/supervisor.init/supercronic_populate.sh b/hedgehog-iso/interface/sensor_ctl/supervisor.init/suricata_update_cron_setup.sh similarity index 91% rename from hedgehog-iso/interface/sensor_ctl/supervisor.init/supercronic_populate.sh rename to hedgehog-iso/interface/sensor_ctl/supervisor.init/suricata_update_cron_setup.sh index a4eb73573..6df9390e2 100644 --- a/hedgehog-iso/interface/sensor_ctl/supervisor.init/supercronic_populate.sh +++ b/hedgehog-iso/interface/sensor_ctl/supervisor.init/suricata_update_cron_setup.sh @@ -4,9 +4,10 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -d "$SUPERVISOR_PATH"/supercronic ]]; then - # clear out supercronic crontab and repopulate based on autostart variables + # clear out suricata-update from crontab and repopulate based on autostart variables CRONTAB_PATH="$SUPERVISOR_PATH"/supercronic/crontab - > "$CRONTAB_PATH" + touch "$CRONTAB_PATH" + sed -i -e "/suricata-update/d" "$CRONTAB_PATH" # suricata updates if [[ "${AUTOSTART_SURICATA_UPDATES:-false}" == "true" ]] && \ @@ -47,4 +48,7 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -d "$SUPERVISOR_PATH"/supercronic ]]; then echo "${SURICATA_REFRESH_CRON_EXPRESSION:-15 2 * * *} /usr/bin/suricata-update --config \"$SURICATA_UPDATE_CONFIG_FILE\" --suricata-conf \"$SURICATA_CONFIG_FILE\" --data-dir \"${SURICATA_MANAGED_DIR:-/var/lib/suricata}\" $ETOPEN_FLAG" >> "$CRONTAB_PATH" fi # suricata updates + + # reload supercronic if it's running + killall -s USR2 supercronic >/dev/null 2>&1 || true fi diff --git a/shared/bin/zeek_intel_setup.sh b/shared/bin/zeek_intel_setup.sh index ff10a25bf..382661f3c 100755 --- a/shared/bin/zeek_intel_setup.sh +++ b/shared/bin/zeek_intel_setup.sh @@ -131,8 +131,13 @@ fi # singleton lock check # write a cron entry to $SUPERCRONIC_CRONTAB using the interval specified in # $ZEEK_INTEL_REFRESH_CRON_EXPRESSION (e.g., 15 1 * * *) to execute this script set +u +if [[ -z "${SUPERCRONIC_CRONTAB}" ]] && \ + [[ -n "${SUPERVISOR_PATH}" ]] && \ + [[ -d "${SUPERVISOR_PATH}"/supercronic ]]; then + SUPERCRONIC_CRONTAB = "${SUPERVISOR_PATH}"/supercronic/crontab + touch "${SUPERCRONIC_CRONTAB}" 2>/dev/null || true +fi if [[ -n "${SUPERCRONIC_CRONTAB}" ]] && [[ -f "${SUPERCRONIC_CRONTAB}" ]]; then - touch "${SUPERCRONIC_CRONTAB}" sed -i -e "/${SCRIPT_FILESPEC_ESCAPED}/d" "${SUPERCRONIC_CRONTAB}" if [[ -n "${ZEEK_INTEL_REFRESH_CRON_EXPRESSION}" ]]; then echo "${ZEEK_INTEL_REFRESH_CRON_EXPRESSION} ${SCRIPT_FILESPEC} true" >> "${SUPERCRONIC_CRONTAB}" From cc846a0d37705dde506a827e2567615bb2dbe4d3 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 09:42:07 -0600 Subject: [PATCH 53/98] documentation updates to go along with mmguero-dev/Malcolm@3e18b88b4651b70e26b2c81fbd641af80cd2dfe4 --- docs/hedgehog-config-zeek-intel.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/hedgehog-config-zeek-intel.md b/docs/hedgehog-config-zeek-intel.md index f817ae84e..c2e12b3ff 100644 --- a/docs/hedgehog-config-zeek-intel.md +++ b/docs/hedgehog-config-zeek-intel.md @@ -1,9 +1,6 @@ -# Zeek Intelligence Framework +# Zeek Intelligence Framework -To quote Zeek's [Intelligence Framework](https://docs.zeek.org/en/master/frameworks/intel.html) documentation, "The goals of Zeek’s Intelligence Framework are to consume intelligence data, make it available for matching, and provide infrastructure to improve performance and memory utilization. Data in the Intelligence Framework is an atomic piece of intelligence such as an IP address or an e-mail address. This atomic data will be packed with metadata such as a freeform source field, a freeform descriptive field, and a URL which might lead to more information about the specific item." Zeek [intelligence](https://docs.zeek.org/en/master/scripts/base/frameworks/intel/main.zeek.html) [indicator types](https://docs.zeek.org/en/master/scripts/base/frameworks/intel/main.zeek.html#type-Intel::Type) include IP addresses, URLs, file names, hashes, email addresses, and more. +Hedgehog Linux's management of intel files is identical to what is done by a Malcolm instance's Zeek docker containers. Please see [Zeek Intelligence Framework](zeek-intel.md#ZeekIntel) in the main Malcolm documentation for more information. For Hedgehog Linux, the only deviations from what is outlined in that document are that some of the file locations are different than they are on a Malcolm instance: -Hedgehog Linux doesn't come bundled with intelligence files from any particular feed, but they can be easily included into your local instance. On [startup]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/shared/bin/zeek_intel_setup.sh), The subdirectories under `/opt/sensor/sensor_ctl/zeek/intel` which contain their own `__load__.zeek` file will be `@load`-ed as-is, while subdirectories containing "loose" intelligence files will be [loaded](https://docs.zeek.org/en/master/frameworks/intel.html#loading-intelligence) automatically with a `redef Intel::read_files` directive. - -Note that Hedgehog Linux does not manage updates for these intelligence files. You should use the update mechanism suggested by your feeds' maintainers to keep them up to date. Adding and deleting intelligence files under this directory will take effect upon restarting Zeek. - -See [Zeek Intelligence Framework](zeek-intel.md#ZeekIntel) in the main Malcolm documentation for more information. +* the `ZEEK_INTEL_REFRESH_CRON_EXPRESSION` environment variable can be found in `/opt/sensor/sensor_ctl/control_vars.conf` +* the `./zeek/intel` directory is `/opt/sensor/sensor_ctl/zeek/intel` From b728879444c070c798de3449e8e6eaaadafb9365 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 09:55:45 -0600 Subject: [PATCH 54/98] documentation updates to go along with mmguero-dev/Malcolm@3e18b88b4651b70e26b2c81fbd641af80cd2dfe4 --- docs/hedgehog-config-zeek-intel.md | 1 + docs/zeek-intel.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/hedgehog-config-zeek-intel.md b/docs/hedgehog-config-zeek-intel.md index c2e12b3ff..e91d24ddc 100644 --- a/docs/hedgehog-config-zeek-intel.md +++ b/docs/hedgehog-config-zeek-intel.md @@ -4,3 +4,4 @@ Hedgehog Linux's management of intel files is identical to what is done by a Mal * the `ZEEK_INTEL_REFRESH_CRON_EXPRESSION` environment variable can be found in `/opt/sensor/sensor_ctl/control_vars.conf` * the `./zeek/intel` directory is `/opt/sensor/sensor_ctl/zeek/intel` +* to manually refresh the Zeek intel files instead of waiting for the interval specified by `ZEEK_INTEL_REFRESH_CRON_EXPRESSION`, run `/opt/zeek/bin/zeek_intel_setup.sh true` \ No newline at end of file diff --git a/docs/zeek-intel.md b/docs/zeek-intel.md index 1d853f66a..cf8c06a52 100644 --- a/docs/zeek-intel.md +++ b/docs/zeek-intel.md @@ -16,6 +16,8 @@ Adding and deleting intelligence files under this directory will take effect upo docker compose exec --user $(id -u) zeek /usr/local/bin/entrypoint.sh true ``` +As multiple instances of this container may be running in a Malcolm deployment (i.e., a `zeek-live` container for [monitoring local network interfaces](live-analysis.md#LocalPCAP) and a `zeek` container for scanning [uploaded PCAPs](upload.md#Upload)), only the non-live container is responsible for creating and managing the Zeek intel files, which are then shared and used by both types of container instances. + For a public example of Zeek intelligence files, see Critical Path Security's [repository](https://github.com/CriticalPathSecurity/Zeek-Intelligence-Feeds), which aggregates data from various other threat feeds into Zeek's format. ## STIX™ and TAXII™ From dd92cef9d768f4bd4908178515b42dc0b48a470c Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 10:20:30 -0600 Subject: [PATCH 55/98] documentation updates to go along with mmguero-dev/Malcolm@3e18b88b4651b70e26b2c81fbd641af80cd2dfe4 --- docs/zeek-intel.md | 2 +- zeek/scripts/docker_entrypoint.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/zeek-intel.md b/docs/zeek-intel.md index cf8c06a52..cf71d810c 100644 --- a/docs/zeek-intel.md +++ b/docs/zeek-intel.md @@ -13,7 +13,7 @@ Note that Malcolm does not manage updates for these intelligence files. Users us Adding and deleting intelligence files under this directory will take effect upon [restarting Malcolm](running.md#StopAndRestart). Alternately, users can use the `ZEEK_INTEL_REFRESH_CRON_EXPRESSION` environment variable containing a [cron expression](https://en.wikipedia.org/wiki/Cron#CRON_expression) to specify the interval at which the intel files should be refreshed. This can also be done manually without restarting Malcolm by running the following command from the Malcolm installation directory: ``` -docker compose exec --user $(id -u) zeek /usr/local/bin/entrypoint.sh true +docker compose exec --user $(id -u) zeek /usr/local/bin/docker_entrypoint.sh true ``` As multiple instances of this container may be running in a Malcolm deployment (i.e., a `zeek-live` container for [monitoring local network interfaces](live-analysis.md#LocalPCAP) and a `zeek` container for scanning [uploaded PCAPs](upload.md#Upload)), only the non-live container is responsible for creating and managing the Zeek intel files, which are then shared and used by both types of container instances. diff --git a/zeek/scripts/docker_entrypoint.sh b/zeek/scripts/docker_entrypoint.sh index 548791ef5..34aa5f82b 100755 --- a/zeek/scripts/docker_entrypoint.sh +++ b/zeek/scripts/docker_entrypoint.sh @@ -3,8 +3,8 @@ ZEEK_DIR=${ZEEK_DIR:-"/opt/zeek"} # ensure capabilities for capture -setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/zeek || true -setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/capstats || true +setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/zeek 2>/dev/null || true +setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' "${ZEEK_DIR}"/bin/capstats 2>/dev/null || true if [[ "${ZEEK_INTEL_REFRESH_ON_ENTRYPOINT:-false}" == "true" ]] && \ [[ -x "${ZEEK_DIR}"/bin/zeek_intel_setup.sh ]]; then From 154d3cddff677d8accb0864087114871a61b2553 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 10:48:28 -0600 Subject: [PATCH 56/98] for idaholab/Malcolm#456, use a unique string when generating the temporary zeek intel file --- shared/bin/zeek_intel_setup.sh | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/shared/bin/zeek_intel_setup.sh b/shared/bin/zeek_intel_setup.sh index 382661f3c..c212336f9 100755 --- a/shared/bin/zeek_intel_setup.sh +++ b/shared/bin/zeek_intel_setup.sh @@ -22,6 +22,7 @@ INTEL_DIR=${INTEL_DIR:-"${ZEEK_DIR}/share/zeek/site/intel"} INTEL_PRESEED_DIR=${INTEL_PRESEED_DIR:-"${ZEEK_DIR}/share/zeek/site/intel-preseed"} THREAT_FEED_TO_ZEEK_SCRIPT=${THREAT_FEED_TO_ZEEK_SCRIPT:-"${ZEEK_DIR}/bin/zeek_intel_from_threat_feed.py"} LOCK_DIR="${INTEL_DIR}/lock" +INSTANCE_UID="$(tr -dc A-Za-z0-9 /dev/null; then if [[ -d "${INTEL_DIR}" ]] && (( $(find "${INTEL_DIR}" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l) > 0 )); then pushd "${INTEL_DIR}" >/dev/null 2>&1 - cat > ./__load__.zeek.new << EOF + cat > ./__load__.zeek."${INSTANCE_UID}" << EOF # WARNING: This file is automatically generated. # Do not make direct modifications here. @load policy/integration/collective-intel @@ -82,7 +83,7 @@ EOF elif [[ -f "${DIR}"/__load__.zeek ]]; then # this intel feed has its own load directive and should take care of itself - echo "@load ${DIR}" >> ./__load__.zeek.new + echo "@load ${DIR}" >> ./__load__.zeek."${INSTANCE_UID}" else # this directory contains "loose" intel files we'll need to load explicitly while IFS= read -r line; do @@ -97,10 +98,10 @@ EOF --ssl-verify ${ZEEK_INTEL_FEED_SSL_CERTIFICATE_VERIFICATION} \ --since "${ZEEK_INTEL_FEED_SINCE}" \ --threads ${ZEEK_INTEL_REFRESH_THREADS} \ - --output ./.threat_autogen.zeek.new \ + --output ./.threat_autogen.zeek."${INSTANCE_UID}" \ --input "${THREAT_JSON_FILES[@]}" \ --input-file ./STIX/.stix_input.txt ./MISP/.misp_input.txt - mv --backup=simple --suffix=.old ./.threat_autogen.zeek.new ./.threat_autogen.zeek + mv --backup=simple --suffix=.old ./.threat_autogen.zeek."${INSTANCE_UID}" ./.threat_autogen.zeek rm -f ./.threat_autogen.zeek.old LOOSE_INTEL_FILES+=( "${INTEL_DIR}"/.threat_autogen.zeek ) else @@ -109,15 +110,15 @@ EOF # explicitly load all of the "loose" intel files in other subdirectories that didn't __load__ themselves if (( ${#LOOSE_INTEL_FILES[@]} )); then - echo >> ./__load__.zeek.new - echo 'redef Intel::read_files += {' >> ./__load__.zeek.new + echo >> ./__load__.zeek."${INSTANCE_UID}" + echo 'redef Intel::read_files += {' >> ./__load__.zeek."${INSTANCE_UID}" for INTEL_FILE in "${LOOSE_INTEL_FILES[@]}"; do - echo " \"${INTEL_FILE}\"," >> ./__load__.zeek.new + echo " \"${INTEL_FILE}\"," >> ./__load__.zeek."${INSTANCE_UID}" done - echo '};' >> ./__load__.zeek.new + echo '};' >> ./__load__.zeek."${INSTANCE_UID}" fi - mv --backup=simple --suffix=.old ./__load__.zeek.new ./__load__.zeek + mv --backup=simple --suffix=.old ./__load__.zeek."${INSTANCE_UID}" ./__load__.zeek rm -f ./__load__.zeek.old popd >/dev/null 2>&1 From f2f4615ebd8fb460ce31d0b9bc58c94175a46e5c Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 12:27:26 -0600 Subject: [PATCH 57/98] have zeek's crontab be in /opt/zeek so it can be edited in-place by non-root --- Dockerfiles/zeek.Dockerfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfiles/zeek.Dockerfile b/Dockerfiles/zeek.Dockerfile index 18c179a6d..f6fcace9d 100644 --- a/Dockerfiles/zeek.Dockerfile +++ b/Dockerfiles/zeek.Dockerfile @@ -31,12 +31,6 @@ ENV PGROUP "zeeker" # a final check in docker_entrypoint.sh before startup ENV PUSER_PRIV_DROP false -ENV SUPERCRONIC_VERSION "0.2.29" -ENV SUPERCRONIC_URL "https://github.com/aptible/supercronic/releases/download/v$SUPERCRONIC_VERSION/supercronic-linux-amd64" -ENV SUPERCRONIC "supercronic-linux-amd64" -ENV SUPERCRONIC_SHA1SUM "cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b" -ENV SUPERCRONIC_CRONTAB "/etc/crontab" - # for download and install ARG ZEEK_VERSION=6.2.0-0 ENV ZEEK_VERSION $ZEEK_VERSION @@ -53,6 +47,12 @@ ENV CCACHE_COMPRESS 1 ADD shared/bin/zeek-deb-download.sh /usr/local/bin/ ADD shared/bin/zeek_install_plugins.sh /usr/local/bin/ +ENV SUPERCRONIC_VERSION "0.2.29" +ENV SUPERCRONIC_URL "https://github.com/aptible/supercronic/releases/download/v$SUPERCRONIC_VERSION/supercronic-linux-amd64" +ENV SUPERCRONIC "supercronic-linux-amd64" +ENV SUPERCRONIC_SHA1SUM "cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b" +ENV SUPERCRONIC_CRONTAB "${ZEEK_DIR}/crontab" + # build and install system packages, zeek, spicy and plugins RUN export DEBARCH=$(dpkg --print-architecture) && \ apt-get -q update && \ From ea11612acec88045aec06a5e9d2ca8eeef4c9649 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 10 Apr 2024 16:05:58 -0600 Subject: [PATCH 58/98] little bit better cleanup for zeek_intel_setup.sh --- shared/bin/zeek_intel_setup.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/shared/bin/zeek_intel_setup.sh b/shared/bin/zeek_intel_setup.sh index c212336f9..7f7e2d556 100755 --- a/shared/bin/zeek_intel_setup.sh +++ b/shared/bin/zeek_intel_setup.sh @@ -22,11 +22,13 @@ INTEL_DIR=${INTEL_DIR:-"${ZEEK_DIR}/share/zeek/site/intel"} INTEL_PRESEED_DIR=${INTEL_PRESEED_DIR:-"${ZEEK_DIR}/share/zeek/site/intel-preseed"} THREAT_FEED_TO_ZEEK_SCRIPT=${THREAT_FEED_TO_ZEEK_SCRIPT:-"${ZEEK_DIR}/bin/zeek_intel_from_threat_feed.py"} LOCK_DIR="${INTEL_DIR}/lock" -INSTANCE_UID="$(tr -dc A-Za-z0-9 &2 + rmdir -- "${LOCK_DIR}" || echo "Failed to remove lock directory '${LOCK_DIR}'" >&2 + [[ -n "${INSTANCE_UID}" ]] && find "${INTEL_DIR}"/ -type f -name "*${INSTANCE_UID}*" -delete } mkdir -p -- "$(dirname "$LOCK_DIR")" @@ -135,7 +137,7 @@ set +u if [[ -z "${SUPERCRONIC_CRONTAB}" ]] && \ [[ -n "${SUPERVISOR_PATH}" ]] && \ [[ -d "${SUPERVISOR_PATH}"/supercronic ]]; then - SUPERCRONIC_CRONTAB = "${SUPERVISOR_PATH}"/supercronic/crontab + SUPERCRONIC_CRONTAB="${SUPERVISOR_PATH}"/supercronic/crontab touch "${SUPERCRONIC_CRONTAB}" 2>/dev/null || true fi if [[ -n "${SUPERCRONIC_CRONTAB}" ]] && [[ -f "${SUPERCRONIC_CRONTAB}" ]]; then From c0bae2997adab739880943758c2882d93cb329b7 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 11 Apr 2024 13:30:40 -0600 Subject: [PATCH 59/98] for idaholab/Malcolm#421, review and update Windows prep and installation documentation --- docs/host-config-windows.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/host-config-windows.md b/docs/host-config-windows.md index e14ffb561..b7bfc7213 100644 --- a/docs/host-config-windows.md +++ b/docs/host-config-windows.md @@ -1,16 +1,19 @@ # Windows host system configuration -## Installing and configuring Docker Desktop for Windows +Installing and configuring Docker to run under the Windows Subsystem for Linux (WSL) must be done manually, rather than through the `install.py` script as with Linux and macOS. -Installing and configuring [Docker to run under Windows](https://docs.docker.com/desktop/windows/wsl/) must be done manually, rather than through the `install.py` script as with Linux and macOS. +1. Make sure your Windows 10 or Windows 11 system is up-to-date with the current Windows cummulative update. +1. Open PowerShell or Windows Command Prompt in administrator mode by right-clicking the icon in the Start Menu and selecting **Run as administrator**. +1. Enter the command [`wsl --install`](https://learn.microsoft.com/en-us/windows/wsl/install) and wait for the installation to finish. +1. Reboot the system. +1. Upon rebooting, the Linux terminal will open automatically with **Installing, this may take a few minutes...**. Wait for this process to complete. +1. As prompted, create a default UNIX user account by providing a username and password. +1. Install Docker by running `curl -fsSL https://get.docker.com -o get-docker.sh` followed by `sudo sh get-docker.sh`. +1. Add the user account you just created to the `docker` group by running `sudo usermod -a -G docker username`, replacing `username` with the username you created before. +1. Verify Docker and Docker Compose are correctly installed by running `docker --version` and `docker compose version`. +1. If running Ubuntu 22.04 LTS, to ensure container networking works correctly, run `sudo update-alternatives --config iptables` and select the option for `iptables-legacy`. +1. Restart WSL by rebooting the system. +1. Upon rebooting, open the Start Menu and select the name of the Linux distribution you installed (**Ubuntu** is the default). +1. Continue with the Malcolm installation and configuration as described in the [**Quick start**](quickstart.md#QuickStart) documentation or illustrated with the **[Installation example using Ubuntu 22.04 LTS](ubuntu-install-example.md#InstallationExample)**. -1. Be running Windows 10, Version 1903 or higher -1. Prepare your system and [install WSL](https://docs.microsoft.com/en-us/windows/wsl/install) and a Linux distribution by running `wsl --install -d Debian` in PowerShell as Administrator (these instructions are tested with Debian, but may work with other distributions) -1. Install Docker Desktop for Windows either by downloading the installer from the [official Docker site](https://docs.docker.com/desktop/install/windows-install/) or installing it through [chocolatey](https://chocolatey.org/packages/docker-desktop). -1. Follow the [Docker Desktop WSL 2 backend](https://docs.docker.com/desktop/windows/wsl/) instructions to finish configuration and review best practices -1. Reboot -1. Open the WSL distribution's terminal and run `docker info` to ensure Docker is running - -## Finish Malcolm's configuration - -Once Docker is installed, configured, and running as described in the previous section, run [`./scripts/configure`](malcolm-config.md#ConfigAndTuning) to finish configuration of the local Malcolm installation. Malcolm will be controlled and run from within your WSL distribution's terminal environment. \ No newline at end of file +Once the configuration is complete, Malcolm will be started and stopped from within your WSL distribution's terminal environment as described in [**Running Malcolm**](running.md). From 2ce8914ebbd9e9d735dfccfbf9c33964174dbe9d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 12 Apr 2024 07:07:51 -0600 Subject: [PATCH 60/98] bump idna to 3.7 in hedgehog interface build --- hedgehog-iso/interface/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hedgehog-iso/interface/requirements.txt b/hedgehog-iso/interface/requirements.txt index 70bc6aa40..dd8c706e4 100644 --- a/hedgehog-iso/interface/requirements.txt +++ b/hedgehog-iso/interface/requirements.txt @@ -4,7 +4,7 @@ click==8.1.3 Flask==2.3.2 Flask-Cors==3.0.10 gunicorn==20.1.0 -idna==3.4 +idna==3.7 itsdangerous==2.1.2 Jinja2==3.1.3 MarkupSafe==2.1.2 From a12be91b22ad6b6621bf821f917b6a2323d07274 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 12 Apr 2024 12:07:56 -0600 Subject: [PATCH 61/98] bump fluent-bit to v3.0.2 --- scripts/third-party-logs/fluent-bit-setup.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/third-party-logs/fluent-bit-setup.ps1 b/scripts/third-party-logs/fluent-bit-setup.ps1 index cbb403816..bc0eb9c3f 100644 --- a/scripts/third-party-logs/fluent-bit-setup.ps1 +++ b/scripts/third-party-logs/fluent-bit-setup.ps1 @@ -9,7 +9,7 @@ ############################################################################### $fluent_bit_version = '3.0' -$fluent_bit_full_version = '3.0.1' +$fluent_bit_full_version = '3.0.2' ############################################################################### # select an item from a menu provided in an array From 641e0ef1eac2d85ff6762c0e90f7d63c22fa90f7 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 17 Apr 2024 14:24:52 -0600 Subject: [PATCH 62/98] bump gunicorn to 22.0.0 for CVE-2024-1135 --- api/requirements.txt | 2 +- hedgehog-iso/interface/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/requirements.txt b/api/requirements.txt index 0ae09a797..8b8148310 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,6 +1,6 @@ pytz==2021.3 Flask==2.3.2 -gunicorn==20.1.0 +gunicorn==22.0.0 opensearch-py==2.5.0 requests==2.31.0 regex==2022.3.2 diff --git a/hedgehog-iso/interface/requirements.txt b/hedgehog-iso/interface/requirements.txt index dd8c706e4..3f35620d4 100644 --- a/hedgehog-iso/interface/requirements.txt +++ b/hedgehog-iso/interface/requirements.txt @@ -3,7 +3,7 @@ chardet==5.1.0 click==8.1.3 Flask==2.3.2 Flask-Cors==3.0.10 -gunicorn==20.1.0 +gunicorn==22.0.0 idna==3.7 itsdangerous==2.1.2 Jinja2==3.1.3 From 7d4415354a094be04c4a146c2e4d9809cac0429f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 18 Apr 2024 09:34:08 -0600 Subject: [PATCH 63/98] for idaholab/Malcolm#456, use zeekctl deploy rather than just zeekctl restart when kicking over zeek after intel update --- shared/bin/zeekdeploy.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/bin/zeekdeploy.sh b/shared/bin/zeekdeploy.sh index 8b10c1a33..7f0d83f7d 100755 --- a/shared/bin/zeekdeploy.sh +++ b/shared/bin/zeekdeploy.sh @@ -265,8 +265,8 @@ while [ $("$ZEEK_CTL" status | tail -n +2 | grep -P "localhost\s+running\s+\d+" # check to see if intel feeds were updated, and if so, restart INTEL_UPDATE_TIME="$(stat -c %Y "$INTEL_DIR"/__load__.zeek 2>/dev/null || echo '0')" if (( $INTEL_UPDATE_TIME > $INTEL_UPDATE_TIME_PREV )); then - echo "Restarting via \"$ZEEK_CTL\" after intel update..." >&2 - "$ZEEK_CTL" restart + echo "Redeploying via \"$ZEEK_CTL deploy\" after intel update..." >&2 + "$ZEEK_CTL" deploy INTEL_UPDATE_TIME_PREV="$INTEL_UPDATE_TIME" fi From 5439f6cd1297b637847aa207619998c65f37a3de Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 18 Apr 2024 15:41:04 -0600 Subject: [PATCH 64/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- config/logstash.env.example | 2 +- logstash/pipelines/enrichment/21_netbox.conf | 67 +++-- logstash/ruby/netbox_enrich.rb | 284 +++++++++++-------- 3 files changed, 212 insertions(+), 141 deletions(-) diff --git a/config/logstash.env.example b/config/logstash.env.example index 9b3c97966..3db494a47 100644 --- a/config/logstash.env.example +++ b/config/logstash.env.example @@ -10,7 +10,7 @@ LOGSTASH_SEVERITY_SCORING=true # Whether or not Logstash will perform a reverse DNS lookup for external IP addresses LOGSTASH_REVERSE_DNS=false # Which types of logs will be enriched via NetBox (comma-separated list of provider.dataset, or the string all to enrich all logs) -LOGSTASH_NETBOX_ENRICHMENT_DATASETS=suricata.alert,zeek.conn,zeek.known_hosts,zeek.known_services,zeek.notice,zeek.signatures,zeek.software,zeek.weird +LOGSTASH_NETBOX_ENRICHMENT_DATASETS=suricata.alert,zeek.conn,zeek.dhcp,zeek.dns,zeek.known_hosts,zeek.known_services,zeek.ntlm,zeek.notice,zeek.signatures,zeek.software,zeek.weird # Zeek log types that will be ignored (dropped) by LogStash LOGSTASH_ZEEK_IGNORED_LOGS=analyzer,broker,cluster,config,loaded_scripts,packet_filter,png,print,prof,reporter,stderr,stdout # Logstash memory allowance and other Java options diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index 38bca294c..bac28ebdd 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -13,7 +13,7 @@ filter { ruby { id => "ruby_determine_netbox_suitability" # @logtypes = {"suricata"=>["alert"], "zeek"=>["conn", "known_hosts", "known_services", "notice", "signatures", "software", "weird"]} - init => "logtypesStr = ENV['LOGSTASH_NETBOX_ENRICHMENT_DATASETS'] || 'suricata.alert,zeek.conn,zeek.known_hosts,zeek.known_services,zeek.notice,zeek.signatures,zeek.software,zeek.weird' ; logtypesArr = logtypesStr.gsub(/\s+/, '').split(','); @logtypes = logtypesArr.group_by { |logtype| logtype.split('.').first }.transform_values { |values| values.map { |v| v.split('.')[1] } }" + init => "logtypesStr = ENV['LOGSTASH_NETBOX_ENRICHMENT_DATASETS'] || 'suricata.alert,zeek.conn,zeek.dhcp,zeek.dns,zeek.known_hosts,zeek.known_services,zeek.ntlm,zeek.notice,zeek.signatures,zeek.software,zeek.weird' ; logtypesArr = logtypesStr.gsub(/\s+/, '').split(','); @logtypes = logtypesArr.group_by { |logtype| logtype.split('.').first }.transform_values { |values| values.map { |v| v.split('.')[1] } }" code => " provider = event.get('[event][provider]').to_s dataset = event.get('[event][dataset]').to_s @@ -28,18 +28,48 @@ filter { } if ([@metadata][do_netbox_enrichment]) { + + if ([dns][question][name]) and ([dns][resolved_ip]) { + ruby { + id => "ruby_netbox_enrich_dns_ip_to_host" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + # the "planned" status indicates that while we'll create the device + # entry with an IP address and hostname, additional details (such + # as the manufacturer based on MAC address) will need to be updated + # later (also note the blank "target" which means this record will be + # used to populate the netbox database, but nothing will actually + # be stored in a field of the record itself as a result of this filter) + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[dns][resolved_ip]" + "source_hostname" => "[dns][question][name]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } + if ([source][ip]) and (([network][direction] == "internal") or ([network][direction] == "outbound")) { ruby { id => "ruby_netbox_enrich_source_ip_segment" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "source" => "[source][ip]" "target" => "[source][segment]" - "auto_prefix_env" => "NETBOX_AUTO_CREATE_PREFIX" "lookup_type" => "ip_prefix" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "auto_prefix_env" => "NETBOX_AUTO_CREATE_PREFIX" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -50,13 +80,15 @@ filter { id => "ruby_netbox_enrich_source_ip_device" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_type" => "ip_device" + "default_status" => "staged" "source" => "[source][ip]" "target" => "[source][device]" - "lookup_type" => "ip_device" + "source_oui" => "[source][oui]" + "source_mac" => "[source][mac]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "lookup_site_env" => "NETBOX_DEFAULT_SITE" - "lookup_service" => "false" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" "cache_ttl_env" => "NETBOX_CACHE_TTL" @@ -66,8 +98,6 @@ filter { "default_role_env" => "NETBOX_DEFAULT_ROLE" "autopopulate_fuzzy_threshold_env" => "NETBOX_DEFAULT_FUZZY_THRESHOLD" "autopopulate_create_manuf_env" => "NETBOX_DEFAULT_AUTOCREATE_MANUFACTURER" - "source_oui" => "[source][oui]" - "source_mac" => "[source][mac]" } } } @@ -77,12 +107,12 @@ filter { id => "ruby_netbox_enrich_destination_ip_segment" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_type" => "ip_prefix" "source" => "[destination][ip]" "target" => "[destination][segment]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "auto_prefix_env" => "NETBOX_AUTO_CREATE_PREFIX" - "lookup_type" => "ip_prefix" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -93,11 +123,14 @@ filter { id => "ruby_netbox_enrich_destination_ip_device" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_type" => "ip_device" + "default_status" => "staged" "source" => "[destination][ip]" "target" => "[destination][device]" - "lookup_type" => "ip_device" + "source_oui" => "[destination][oui]" + "source_mac" => "[destination][mac]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "lookup_service_env" => "NETBOX_ENRICHMENT_LOOKUP_SERVICE" "lookup_service_port_source" => "[destination][port]" @@ -110,8 +143,6 @@ filter { "default_role_env" => "NETBOX_DEFAULT_ROLE" "autopopulate_fuzzy_threshold_env" => "NETBOX_DEFAULT_FUZZY_THRESHOLD" "autopopulate_create_manuf_env" => "NETBOX_DEFAULT_AUTOCREATE_MANUFACTURER" - "source_oui" => "[destination][oui]" - "source_mac" => "[destination][mac]" } } } diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index d5d38d808..c099cc27e 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -129,6 +129,7 @@ def register( @source_oui = params["source_oui"] @source_mac = params["source_mac"] @source_segment = params["source_segment"] + @default_status = params.fetch("default_status", "active").to_sym # default manufacturer, role and device type if not specified, either specified directly or read from ENVs @default_manuf = params["default_manuf"] @@ -252,6 +253,13 @@ def register( @nb_headers = { 'Content-Type': 'application/json' }.freeze + # for ip_device hash lookups, if a device is pulled out that has this status then + # it should be *updated* instead of just created. this allows us to create even less-fleshed + # out device entries from things like DNS entries but then give more information (like + # manufacturer) later on when actual traffic is observed + # TODO: this part is not done yet + @hostname_only_device_status = 'planned'.freeze + end def filter( @@ -262,126 +270,44 @@ def filter( return [event] end - _key_ip = IPAddr.new(_key) rescue nil - _lookup_service_port = (@lookup_service ? event.get("#{@lookup_service_port_source}") : nil).to_i - _autopopulate_default_manuf = (@default_manuf.nil? || @default_manuf.empty?) ? "Unspecified" : @default_manuf - _autopopulate_default_role = (@default_role.nil? || @default_role.empty?) ? "Unspecified" : @default_role - _autopopulate_default_dtype = (@default_dtype.nil? || @default_dtype.empty?) ? "Unspecified" : @default_dtype - _autopopulate_default_site = (@lookup_site.nil? || @lookup_site.empty?) ? "default" : @lookup_site - _autopopulate_hostname = event.get("#{@source_hostname}") - _autopopulate_mac = event.get("#{@source_mac}") - _autopopulate_oui = event.get("#{@source_oui}") - - _result = @cache_hash.getset(@lookup_type){ - LruRedux::TTL::ThreadSafeCache.new(@cache_size, @cache_ttl) - }.getset(_key){ - - _nb = Faraday.new(@netbox_url) do |conn| - conn.request :authorization, 'Token', @netbox_token - conn.request :url_encoded - conn.response :json, :parser_options => { :symbolize_names => true } - end - - _lookup_result = nil - _autopopulate_device = nil - _autopopulate_role = nil - _autopopulate_dtype = nil - _autopopulate_manuf = nil - _autopopulate_site = nil - _prefixes = nil - _devices = nil - - # handle :ip_device first, because if we're doing autopopulate we're also going to use - # some of the logic from :ip_prefix - - if (@lookup_type == :ip_device) - ################################################################################# - # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. - # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each - # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or - # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) - _devices = lookup_devices(_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) - - if @autopopulate && (_devices.nil? || _devices.empty?) && _key_ip&.private? - # no results found, autopopulate enabled, private-space IP address... - # let's create an entry for this device - _autopopulate_device, - _autopopulate_role, - _autopopulate_dtype, - _autopopulate_oui, - _autopopulate_manuf, - _autopopulate_site = autopopulate_devices(_key, - _autopopulate_mac, - _autopopulate_oui, - _autopopulate_default_site, - _autopopulate_default_role, - _autopopulate_default_dtype, - _autopopulate_default_manuf, - _autopopulate_hostname, - _nb) - if !_autopopulate_device.nil? - # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - # we created a device, so send it back out as the result for the event as well - _devices = Array.new unless _devices.is_a?(Array) - _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), - :id => _autopopulate_device&.fetch(:id, nil), - :url => _autopopulate_device&.fetch(:url, nil), - :site => _autopopulate_site&.fetch(:name, nil), - :role => _autopopulate_role&.fetch(:name, nil), - :device_type => _autopopulate_dtype&.fetch(:name, nil), - :manufacturer => _autopopulate_manuf&.fetch(:name, nil), - :details => @verbose ? _autopopulate_device : nil } - end # _autopopulate_device was not nil (i.e., we autocreated a device) - end # _autopopulate turned on and no results found - - _devices = collect_values(crush(_devices)) - _devices.fetch(:service, [])&.flatten!&.uniq! - _lookup_result = _devices - end # @lookup_type == :ip_device - - # this || is because we are going to need to do the prefix lookup if we're autopopulating - # as well as if we're specifically requested to do that enrichment - - if (@lookup_type == :ip_prefix) || !_autopopulate_device.nil? - ################################################################################# - # retrieve the list of IP address prefixes containing the search key - _prefixes = lookup_prefixes(_key, @lookup_site, _nb) - - # TODO: ipv6? - if (_prefixes.nil? || _prefixes.empty?) && !_key_ip&.ipv6? && _key_ip&.private? && @autopopulate_create_prefix - # we didn't find a prefix containing this private-space IPv4 address and auto-create is true - _prefix_info = autopopulate_prefixes(_key_ip, _autopopulate_default_site, _nb) - _prefixes = Array.new unless _prefixes.is_a?(Array) - _prefixes << _prefix_info - end # if auto-create prefix - - _prefixes = collect_values(crush(_prefixes)) - _lookup_result = _prefixes unless (@lookup_type != :ip_prefix) - end # @lookup_type == :ip_prefix - - if !_autopopulate_device.nil? && _autopopulate_device.fetch(:id, nil)&.nonzero? - # device has been created, we need to create an interface for it - _autopopulate_device = create_device_interface(_key, - _autopopulate_device, - _autopopulate_manuf, - _autopopulate_mac, - _nb) - end # check if device was created and has ID - - # yield return value for cache_hash getset - _lookup_result - } - - if !_result.nil? && _result.has_key?(:url) && !_result[:url]&.empty? - _result[:url].map! { |u| u.delete_prefix(@netbox_url_base).gsub('/api/', '/') } - if (@lookup_type == :ip_device) && - (!_result.has_key?(:device_type) || _result[:device_type]&.empty?) && - _result[:url].any? { |u| u.include? "virtual-machines" } - then - _result[:device_type] = [ "Virtual Machine" ] - end + # _key might be an array of IP addresses, but we're only going to set the first _result into @target. + # this is still useful, though as autopopulation may happen for multiple IPs even if we only + # store the result of the first one found + if !_key.is_a?(Array) then + _newKey = Array.new + _newKey.push(_key) unless _key.nil? + _key = _newKey end - event.set("#{@target}", _result) unless _result.nil? || _result.empty? + _result_set = false + + _key.each do |ip_key| + _result = @cache_hash.getset(@lookup_type){ + LruRedux::TTL::ThreadSafeCache.new(@cache_size, @cache_ttl) + }.getset(ip_key){ + netbox_lookup(event, ip_key) + } + + if !_result.nil? + # if (@lookup_type == :ip_device) && + # _result.has_key?(:status) && + # (_result[:status] == @hostname_only_device_status) + # then + # end + if _result.has_key?(:url) && !_result[:url]&.empty? + _result[:url].map! { |u| u.delete_prefix(@netbox_url_base).gsub('/api/', '/') } + if (@lookup_type == :ip_device) && + (!_result.has_key?(:device_type) || _result[:device_type]&.empty?) && + _result[:url].any? { |u| u.include? "virtual-machines" } + then + _result[:device_type] = [ "Virtual Machine" ] + end + end + end + unless _result_set || _result.nil? || _result.empty? || @target.nil? || @target.empty? + event.set("#{@target}", _result) + _result_set = true + end + end # _key.each do |ip_key| [event] end @@ -703,6 +629,7 @@ def autopopulate_devices( autopopulate_default_dtype, autopopulate_default_manuf, autopopulate_hostname, + autopopulate_default_status, nb ) @@ -782,7 +709,7 @@ def autopopulate_devices( _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : "#{autopopulate_hostname} @ #{ip_str}" _device_data = { :name => _device_name, :site => _autopopulate_site[:id], - :status => "staged" } + :status => autopopulate_default_status } if (_device_create_response = nb.post('virtualization/virtual-machines/', _device_data.to_json, @nb_headers).body) && _device_create_response.is_a?(Hash) && _device_create_response.has_key?(:id) @@ -860,7 +787,7 @@ def autopopulate_devices( :device_type => _autopopulate_dtype[:id], :role => _autopopulate_role[:id], :site => _autopopulate_site[:id], - :status => "staged" } + :status => autopopulate_default_status } if (_device_create_response = nb.post('dcim/devices/', _device_data.to_json, @nb_headers).body) && _device_create_response.is_a?(Hash) && _device_create_response.has_key?(:id) @@ -901,6 +828,7 @@ def autopopulate_devices( def autopopulate_prefixes( ip_obj, autopopulate_default_site, + autopopulate_default_status, nb ) _prefix_data = nil @@ -916,7 +844,7 @@ def autopopulate_prefixes( _prefix_post = { :prefix => _new_prefix_name, :description => _new_prefix_name, :site => _autopopulate_site&.fetch(:id, nil), - :status => "active" } + :status => autopopulate_default_status } begin _new_prefix_create_response = nb.post('ipam/prefixes/', _prefix_post.to_json, @nb_headers).body if _new_prefix_create_response && @@ -995,6 +923,118 @@ def create_device_interface( _autopopulate_device end +def netbox_lookup( + event, + ip_key +) + + _nb = Faraday.new(@netbox_url) do |conn| + conn.request :authorization, 'Token', @netbox_token + conn.request :url_encoded + conn.response :json, :parser_options => { :symbolize_names => true } + end + + _key_ip = IPAddr.new(ip_key) rescue nil + _lookup_service_port = (@lookup_service ? event.get("#{@lookup_service_port_source}") : nil).to_i + _autopopulate_default_manuf = (@default_manuf.nil? || @default_manuf.empty?) ? "Unspecified" : @default_manuf + _autopopulate_default_role = (@default_role.nil? || @default_role.empty?) ? "Unspecified" : @default_role + _autopopulate_default_dtype = (@default_dtype.nil? || @default_dtype.empty?) ? "Unspecified" : @default_dtype + _autopopulate_default_site = (@lookup_site.nil? || @lookup_site.empty?) ? "default" : @lookup_site + _autopopulate_hostname = event.get("#{@source_hostname}") + _autopopulate_mac = event.get("#{@source_mac}") + _autopopulate_oui = event.get("#{@source_oui}") + + _lookup_result = nil + _autopopulate_device = nil + _autopopulate_role = nil + _autopopulate_dtype = nil + _autopopulate_manuf = nil + _autopopulate_site = nil + _prefixes = nil + _devices = nil + + # handle :ip_device first, because if we're doing autopopulate we're also going to use + # some of the logic from :ip_prefix + + if (@lookup_type == :ip_device) + ################################################################################# + # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. + # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each + # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or + # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + + if @autopopulate && (_devices.nil? || _devices.empty?) && _key_ip&.private? + # no results found, autopopulate enabled, private-space IP address... + # let's create an entry for this device + _autopopulate_device, + _autopopulate_role, + _autopopulate_dtype, + _autopopulate_oui, + _autopopulate_manuf, + _autopopulate_site = autopopulate_devices(ip_key, + _autopopulate_mac, + _autopopulate_oui, + _autopopulate_default_site, + _autopopulate_default_role, + _autopopulate_default_dtype, + _autopopulate_default_manuf, + _autopopulate_hostname, + @default_status, + _nb) + if !_autopopulate_device.nil? + # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) + # we created a device, so send it back out as the result for the event as well + _devices = Array.new unless _devices.is_a?(Array) + _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), + :id => _autopopulate_device&.fetch(:id, nil), + :url => _autopopulate_device&.fetch(:url, nil), + :site => _autopopulate_site&.fetch(:name, nil), + :role => _autopopulate_role&.fetch(:name, nil), + :device_type => _autopopulate_dtype&.fetch(:name, nil), + :manufacturer => _autopopulate_manuf&.fetch(:name, nil), + :details => @verbose ? _autopopulate_device : nil } + end # _autopopulate_device was not nil (i.e., we autocreated a device) + end # _autopopulate turned on and no results found + + _devices = collect_values(crush(_devices)) + _devices.fetch(:service, [])&.flatten!&.uniq! + _lookup_result = _devices + end # @lookup_type == :ip_device + + # this || is because we are going to need to do the prefix lookup if we're autopopulating + # as well as if we're specifically requested to do that enrichment + + if (@lookup_type == :ip_prefix) || !_autopopulate_device.nil? + ################################################################################# + # retrieve the list of IP address prefixes containing the search key + _prefixes = lookup_prefixes(ip_key, @lookup_site, _nb) + + # TODO: ipv6? + if (_prefixes.nil? || _prefixes.empty?) && !_key_ip&.ipv6? && _key_ip&.private? && @autopopulate_create_prefix + # we didn't find a prefix containing this private-space IPv4 address and auto-create is true + _prefix_info = autopopulate_prefixes(_key_ip, _autopopulate_default_site, @default_status, _nb) + _prefixes = Array.new unless _prefixes.is_a?(Array) + _prefixes << _prefix_info + end # if auto-create prefix + + _prefixes = collect_values(crush(_prefixes)) + _lookup_result = _prefixes unless (@lookup_type != :ip_prefix) + end # @lookup_type == :ip_prefix + + if !_autopopulate_device.nil? && _autopopulate_device.fetch(:id, nil)&.nonzero? + # device has been created, we need to create an interface for it + _autopopulate_device = create_device_interface(ip_key, + _autopopulate_device, + _autopopulate_manuf, + _autopopulate_mac, + _nb) + end # check if device was created and has ID + + # yield return value for cache_hash getset + _lookup_result +end + ############################################################################### # tests From 43f90878e989808943d66571becab6bb7933689f Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 18 Apr 2024 16:00:33 -0600 Subject: [PATCH 65/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 202 +++++++++++++++++---------------- 1 file changed, 102 insertions(+), 100 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index c099cc27e..1f8f548bc 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -927,109 +927,111 @@ def netbox_lookup( event, ip_key ) - - _nb = Faraday.new(@netbox_url) do |conn| - conn.request :authorization, 'Token', @netbox_token - conn.request :url_encoded - conn.response :json, :parser_options => { :symbolize_names => true } - end + _lookup_result = nil _key_ip = IPAddr.new(ip_key) rescue nil - _lookup_service_port = (@lookup_service ? event.get("#{@lookup_service_port_source}") : nil).to_i - _autopopulate_default_manuf = (@default_manuf.nil? || @default_manuf.empty?) ? "Unspecified" : @default_manuf - _autopopulate_default_role = (@default_role.nil? || @default_role.empty?) ? "Unspecified" : @default_role - _autopopulate_default_dtype = (@default_dtype.nil? || @default_dtype.empty?) ? "Unspecified" : @default_dtype - _autopopulate_default_site = (@lookup_site.nil? || @lookup_site.empty?) ? "default" : @lookup_site - _autopopulate_hostname = event.get("#{@source_hostname}") - _autopopulate_mac = event.get("#{@source_mac}") - _autopopulate_oui = event.get("#{@source_oui}") + if !_key_ip.nil? && _key_ip&.private? - _lookup_result = nil - _autopopulate_device = nil - _autopopulate_role = nil - _autopopulate_dtype = nil - _autopopulate_manuf = nil - _autopopulate_site = nil - _prefixes = nil - _devices = nil - - # handle :ip_device first, because if we're doing autopopulate we're also going to use - # some of the logic from :ip_prefix - - if (@lookup_type == :ip_device) - ################################################################################# - # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. - # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each - # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or - # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) - - if @autopopulate && (_devices.nil? || _devices.empty?) && _key_ip&.private? - # no results found, autopopulate enabled, private-space IP address... - # let's create an entry for this device - _autopopulate_device, - _autopopulate_role, - _autopopulate_dtype, - _autopopulate_oui, - _autopopulate_manuf, - _autopopulate_site = autopopulate_devices(ip_key, - _autopopulate_mac, - _autopopulate_oui, - _autopopulate_default_site, - _autopopulate_default_role, - _autopopulate_default_dtype, - _autopopulate_default_manuf, - _autopopulate_hostname, - @default_status, - _nb) - if !_autopopulate_device.nil? - # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - # we created a device, so send it back out as the result for the event as well - _devices = Array.new unless _devices.is_a?(Array) - _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), - :id => _autopopulate_device&.fetch(:id, nil), - :url => _autopopulate_device&.fetch(:url, nil), - :site => _autopopulate_site&.fetch(:name, nil), - :role => _autopopulate_role&.fetch(:name, nil), - :device_type => _autopopulate_dtype&.fetch(:name, nil), - :manufacturer => _autopopulate_manuf&.fetch(:name, nil), - :details => @verbose ? _autopopulate_device : nil } - end # _autopopulate_device was not nil (i.e., we autocreated a device) - end # _autopopulate turned on and no results found - - _devices = collect_values(crush(_devices)) - _devices.fetch(:service, [])&.flatten!&.uniq! - _lookup_result = _devices - end # @lookup_type == :ip_device - - # this || is because we are going to need to do the prefix lookup if we're autopopulating - # as well as if we're specifically requested to do that enrichment - - if (@lookup_type == :ip_prefix) || !_autopopulate_device.nil? - ################################################################################# - # retrieve the list of IP address prefixes containing the search key - _prefixes = lookup_prefixes(ip_key, @lookup_site, _nb) - - # TODO: ipv6? - if (_prefixes.nil? || _prefixes.empty?) && !_key_ip&.ipv6? && _key_ip&.private? && @autopopulate_create_prefix - # we didn't find a prefix containing this private-space IPv4 address and auto-create is true - _prefix_info = autopopulate_prefixes(_key_ip, _autopopulate_default_site, @default_status, _nb) - _prefixes = Array.new unless _prefixes.is_a?(Array) - _prefixes << _prefix_info - end # if auto-create prefix - - _prefixes = collect_values(crush(_prefixes)) - _lookup_result = _prefixes unless (@lookup_type != :ip_prefix) - end # @lookup_type == :ip_prefix - - if !_autopopulate_device.nil? && _autopopulate_device.fetch(:id, nil)&.nonzero? - # device has been created, we need to create an interface for it - _autopopulate_device = create_device_interface(ip_key, - _autopopulate_device, - _autopopulate_manuf, - _autopopulate_mac, - _nb) - end # check if device was created and has ID + _nb = Faraday.new(@netbox_url) do |conn| + conn.request :authorization, 'Token', @netbox_token + conn.request :url_encoded + conn.response :json, :parser_options => { :symbolize_names => true } + end + + _lookup_service_port = (@lookup_service ? event.get("#{@lookup_service_port_source}") : nil).to_i + _autopopulate_default_manuf = (@default_manuf.nil? || @default_manuf.empty?) ? "Unspecified" : @default_manuf + _autopopulate_default_role = (@default_role.nil? || @default_role.empty?) ? "Unspecified" : @default_role + _autopopulate_default_dtype = (@default_dtype.nil? || @default_dtype.empty?) ? "Unspecified" : @default_dtype + _autopopulate_default_site = (@lookup_site.nil? || @lookup_site.empty?) ? "default" : @lookup_site + _autopopulate_hostname = event.get("#{@source_hostname}") + _autopopulate_mac = event.get("#{@source_mac}") + _autopopulate_oui = event.get("#{@source_oui}") + + _autopopulate_device = nil + _autopopulate_role = nil + _autopopulate_dtype = nil + _autopopulate_manuf = nil + _autopopulate_site = nil + _prefixes = nil + _devices = nil + + # handle :ip_device first, because if we're doing autopopulate we're also going to use + # some of the logic from :ip_prefix + + if (@lookup_type == :ip_device) + ################################################################################# + # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. + # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each + # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or + # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + + if @autopopulate && (_devices.nil? || _devices.empty?) + # no results found, autopopulate enabled, private-space IP address... + # let's create an entry for this device + _autopopulate_device, + _autopopulate_role, + _autopopulate_dtype, + _autopopulate_oui, + _autopopulate_manuf, + _autopopulate_site = autopopulate_devices(ip_key, + _autopopulate_mac, + _autopopulate_oui, + _autopopulate_default_site, + _autopopulate_default_role, + _autopopulate_default_dtype, + _autopopulate_default_manuf, + _autopopulate_hostname, + @default_status, + _nb) + if !_autopopulate_device.nil? + # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) + # we created a device, so send it back out as the result for the event as well + _devices = Array.new unless _devices.is_a?(Array) + _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), + :id => _autopopulate_device&.fetch(:id, nil), + :url => _autopopulate_device&.fetch(:url, nil), + :site => _autopopulate_site&.fetch(:name, nil), + :role => _autopopulate_role&.fetch(:name, nil), + :device_type => _autopopulate_dtype&.fetch(:name, nil), + :manufacturer => _autopopulate_manuf&.fetch(:name, nil), + :details => @verbose ? _autopopulate_device : nil } + end # _autopopulate_device was not nil (i.e., we autocreated a device) + end # _autopopulate turned on and no results found + + _devices = collect_values(crush(_devices)) + _devices.fetch(:service, [])&.flatten!&.uniq! + _lookup_result = _devices + end # @lookup_type == :ip_device + + # this || is because we are going to need to do the prefix lookup if we're autopopulating + # as well as if we're specifically requested to do that enrichment + + if (@lookup_type == :ip_prefix) || !_autopopulate_device.nil? + ################################################################################# + # retrieve the list of IP address prefixes containing the search key + _prefixes = lookup_prefixes(ip_key, @lookup_site, _nb) + + if (_prefixes.nil? || _prefixes.empty?) && @autopopulate_create_prefix + # we didn't find a prefix containing this private-space IPv4 address and auto-create is true + _prefix_info = autopopulate_prefixes(_key_ip, _autopopulate_default_site, @default_status, _nb) + _prefixes = Array.new unless _prefixes.is_a?(Array) + _prefixes << _prefix_info + end # if auto-create prefix + + _prefixes = collect_values(crush(_prefixes)) + _lookup_result = _prefixes unless (@lookup_type != :ip_prefix) + end # @lookup_type == :ip_prefix + + if !_autopopulate_device.nil? && _autopopulate_device.fetch(:id, nil)&.nonzero? + # device has been created, we need to create an interface for it + _autopopulate_device = create_device_interface(ip_key, + _autopopulate_device, + _autopopulate_manuf, + _autopopulate_mac, + _nb) + end # check if device was created and has ID + end # IP address is private IP # yield return value for cache_hash getset _lookup_result From d24177bd6a7157ca826088560ba5a21bcec12597 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 18 Apr 2024 16:23:09 -0600 Subject: [PATCH 66/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/pipelines/enrichment/21_netbox.conf | 135 ++++++++++++++++++- logstash/ruby/netbox_enrich.rb | 2 +- 2 files changed, 130 insertions(+), 7 deletions(-) diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index bac28ebdd..1c3b5cf57 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -29,16 +29,21 @@ filter { if ([@metadata][do_netbox_enrichment]) { + # ################################################################################################ + # before we do the actual enrichments, we've got a few log types we can use to map IP addresses + # to hostnames in autopopulation + + # the "planned" status indicates that while we'll create the device + # entry with an IP address and hostname, additional details (such + # as the manufacturer based on MAC address) will need to be updated + # later (also note the blank "target" which means this record will be + # used to populate the netbox database, but nothing will actually + # be stored in a field of the record itself as a result of this filter) + if ([dns][question][name]) and ([dns][resolved_ip]) { ruby { id => "ruby_netbox_enrich_dns_ip_to_host" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" - # the "planned" status indicates that while we'll create the device - # entry with an IP address and hostname, additional details (such - # as the manufacturer based on MAC address) will need to be updated - # later (also note the blank "target" which means this record will be - # used to populate the netbox database, but nothing will actually - # be stored in a field of the record itself as a result of this filter) script_params => { "lookup_type" => "ip_device" "default_status" => "planned" @@ -58,6 +63,124 @@ filter { } } + if ([zeek][ntlm][hostname]) and ([source][ip]) { + ruby { + id => "ruby_netbox_enrich_ntlm_hostname_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[source][ip]" + "source_hostname" => "[zeek][ntlm][hostname]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } + + if ([zeek][ntlm]) and ([destination][ip]) { + if ([zeek][ntlm][server_nb_computer_name]) { + ruby { + id => "ruby_netbox_enrich_ntlm_server_nb_computer_name_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[destination][ip]" + "source_hostname" => "[zeek][ntlm][server_nb_computer_name]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } else if ([zeek][ntlm][server_dns_computer_name]) { + ruby { + id => "ruby_netbox_enrich_ntlm_server_dns_computer_name_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[destination][ip]" + "source_hostname" => "[zeek][ntlm][server_dns_computer_name]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } + } + + if ([zeek][dhcp][assigned_addr]) { + if ([zeek][dhcp][client_fqdn]) { + ruby { + id => "ruby_netbox_enrich_dhcp_client_fqdn_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[zeek][dhcp][assigned_addr]" + "source_hostname" => "[zeek][dhcp][client_fqdn]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } else if ([zeek][dhcp][host_name]) { + ruby { + id => "ruby_netbox_enrich_dhcp_host_name_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "default_status" => "planned" + "source" => "[zeek][dhcp][assigned_addr]" + "source_hostname" => "[zeek][dhcp][host_name]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } + } + + # ################################################################################################ + # now we're doing the actual enrichment lookups (i.e., we have a target) + if ([source][ip]) and (([network][direction] == "internal") or ([network][direction] == "outbound")) { ruby { diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 1f8f548bc..08027677f 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -930,7 +930,7 @@ def netbox_lookup( _lookup_result = nil _key_ip = IPAddr.new(ip_key) rescue nil - if !_key_ip.nil? && _key_ip&.private? + if !_key_ip.nil? && _key_ip&.private? && (@autopopulate || (!@target.nil? && !@target.empty?)) _nb = Faraday.new(@netbox_url) do |conn| conn.request :authorization, 'Token', @netbox_token From 7f8bc5b0bec2acce82f624a92885e9492d3b63ab Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 10:57:00 -0600 Subject: [PATCH 67/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- docs/asset-interaction-analysis.md | 2 +- logstash/pipelines/enrichment/21_netbox.conf | 20 +++++----------- logstash/ruby/netbox_enrich.rb | 24 ++++++++++++++++---- netbox/preload/tags.yml | 9 ++++++++ 4 files changed, 36 insertions(+), 19 deletions(-) create mode 100644 netbox/preload/tags.yml diff --git a/docs/asset-interaction-analysis.md b/docs/asset-interaction-analysis.md index 6f7b451f0..0c80ae593 100644 --- a/docs/asset-interaction-analysis.md +++ b/docs/asset-interaction-analysis.md @@ -98,7 +98,7 @@ If the `NETBOX_AUTO_POPULATE` [environment variable in `./config/netbox-common.e However, careful consideration should be made before enabling this feature: the purpose of an asset management system is to document the intended state of a network: with Malcolm configured to populate NetBox with the live network state, a network misconfiguration fault could result in an **incorrect documented configuration**. -Devices created using this autopopulate method will have their `status` field set to `staged`. It is recommended that users periodically review automatically-created devices for correctness and to fill in known details that couldn't be determined from network traffic. For example, the `manufacturer` field for automatically-created devices will be set based on the organizational unique identifier (OUI) determined from the first three bytes of the observed MAC address, which may not be accurate if the device's traffic was observed across a router. If possible, observed hostnames will be used in the naming of the automatically-created devices, falling back to the device manufacturer otherwise (e.g., `MYHOSTNAME @ 10.10.0.123` vs. `Schweitzer Engineering @ 10.10.0.123`). +Devices created using this autopopulate method will include a `tags` value of `Autopopulated`. It is recommended that users periodically review automatically-created devices for correctness and to fill in known details that couldn't be determined from network traffic. For example, the `manufacturer` field for automatically-created devices will be set based on the organizational unique identifier (OUI) determined from the first three bytes of the observed MAC address, which may not be accurate if the device's traffic was observed across a router. If possible, observed hostnames will be used in the naming of the automatically-created devices, falling back to the device manufacturer otherwise (e.g., `MYHOSTNAME @ 10.10.0.123` vs. `Schweitzer Engineering @ 10.10.0.123`). Since device autocreation is based on IP address, information about network segments (IP [prefixes](https://docs.netbox.dev/en/stable/models/ipam/prefix/)) must be first [manually specified](#NetBoxPopManual) in NetBox in order for devices to be automatically populated. Users should populate the `description` field in the NetBox IPAM Prefixes data model to specify a name to be used for NetBox network segment autopopulation and enrichment, otherwise the IP prefix itself will be used. diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index 1c3b5cf57..f8428753d 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -33,12 +33,12 @@ filter { # before we do the actual enrichments, we've got a few log types we can use to map IP addresses # to hostnames in autopopulation - # the "planned" status indicates that while we'll create the device - # entry with an IP address and hostname, additional details (such - # as the manufacturer based on MAC address) will need to be updated - # later (also note the blank "target" which means this record will be - # used to populate the netbox database, but nothing will actually - # be stored in a field of the record itself as a result of this filter) + # for these ones while we'll create the device entry with an IP address + # and hostname, additional details (such as the manufacturer based + # on MAC address) will need to be updated later (also note the blank + # "target" which means this record will be used to populate the netbox + # database, but nothing will actually be stored in a field of the + # record itself as a result of this filter) if ([dns][question][name]) and ([dns][resolved_ip]) { ruby { @@ -46,7 +46,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[dns][resolved_ip]" "source_hostname" => "[dns][question][name]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -69,7 +68,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[source][ip]" "source_hostname" => "[zeek][ntlm][hostname]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -93,7 +91,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[destination][ip]" "source_hostname" => "[zeek][ntlm][server_nb_computer_name]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -114,7 +111,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[destination][ip]" "source_hostname" => "[zeek][ntlm][server_dns_computer_name]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -139,7 +135,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[zeek][dhcp][assigned_addr]" "source_hostname" => "[zeek][dhcp][client_fqdn]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -160,7 +155,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "planned" "source" => "[zeek][dhcp][assigned_addr]" "source_hostname" => "[zeek][dhcp][host_name]" "enabled_env" => "NETBOX_ENRICHMENT" @@ -204,7 +198,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "staged" "source" => "[source][ip]" "target" => "[source][device]" "source_oui" => "[source][oui]" @@ -247,7 +240,6 @@ filter { path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "default_status" => "staged" "source" => "[destination][ip]" "target" => "[destination][device]" "source_oui" => "[destination][oui]" diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 08027677f..8675dc8a3 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -253,12 +253,14 @@ def register( @nb_headers = { 'Content-Type': 'application/json' }.freeze - # for ip_device hash lookups, if a device is pulled out that has this status then + @device_tag_autopopulated = { 'slug': 'malcolm-autopopulated' }.freeze + # for ip_device hash lookups, if a device is pulled out that has one of these tags # it should be *updated* instead of just created. this allows us to create even less-fleshed # out device entries from things like DNS entries but then give more information (like - # manufacturer) later on when actual traffic is observed - # TODO: this part is not done yet - @hostname_only_device_status = 'planned'.freeze + # manufacturer) later on when actual traffic is observed. these values should match + # what's in netbox/preload/tags.yml + @device_tag_manufacturer_unknown = { 'slug': 'manufacturer-unknown' }.freeze + @device_tag_hostname_unknown = { 'slug': 'hostname-unknown' }.freeze end @@ -639,6 +641,7 @@ def autopopulate_devices( _autopopulate_oui = autopopulate_oui _autopopulate_manuf = nil _autopopulate_site = nil + _autopopulate_tags = [ @device_tag_autopopulated ] # if MAC is set but OUI is not, do a quick lookup if (!autopopulate_mac.nil? && !autopopulate_mac.empty?) && @@ -691,9 +694,15 @@ def autopopulate_devices( :match => 0.0, :vm => false, :id => nil} + _autopopulate_tags << @device_tag_manufacturer_unknown end # puts('2. %{key}: %{found}' % { key: _autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) + + if autopopulate_hostname.to_s.empty? + _autopopulate_tags << @device_tag_hostname_unknown + end + # make sure the site and role exists _autopopulate_site = lookup_or_create_site(autopopulate_default_site_name, nb) _autopopulate_role = lookup_or_create_role(autopopulate_default_role_name, nb) @@ -709,6 +718,7 @@ def autopopulate_devices( _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : "#{autopopulate_hostname} @ #{ip_str}" _device_data = { :name => _device_name, :site => _autopopulate_site[:id], + :tags => _autopopulate_tags, :status => autopopulate_default_status } if (_device_create_response = nb.post('virtualization/virtual-machines/', _device_data.to_json, @nb_headers).body) && _device_create_response.is_a?(Hash) && @@ -739,6 +749,7 @@ def autopopulate_devices( if !_autopopulate_manuf.fetch(:id, nil)&.nonzero? # the manufacturer is still not found, create it _manuf_data = { :name => _autopopulate_manuf[:name], + :tags => _autopopulate_tags, :slug => _autopopulate_manuf[:name].to_url } if (_manuf_create_response = nb.post('dcim/manufacturers/', _manuf_data.to_json, @nb_headers).body) && _manuf_create_response.is_a?(Hash) @@ -769,6 +780,7 @@ def autopopulate_devices( # the device type is not found, create it _dtype_data = { :manufacturer => _autopopulate_manuf[:id], :model => autopopulate_default_dtype, + :tags => _autopopulate_tags, :slug => autopopulate_default_dtype.to_url } if (_dtype_create_response = nb.post('dcim/device-types/', _dtype_data.to_json, @nb_headers).body) && _dtype_create_response.is_a?(Hash) && @@ -787,6 +799,7 @@ def autopopulate_devices( :device_type => _autopopulate_dtype[:id], :role => _autopopulate_role[:id], :site => _autopopulate_site[:id], + :tags => _autopopulate_tags, :status => autopopulate_default_status } if (_device_create_response = nb.post('dcim/devices/', _device_data.to_json, @nb_headers).body) && _device_create_response.is_a?(Hash) && @@ -831,6 +844,8 @@ def autopopulate_prefixes( autopopulate_default_status, nb ) + _autopopulate_tags = [ @device_tag_autopopulated ] + _prefix_data = nil # TODO: IPv6? _private_ip_subnet = @private_ip_subnets.find { |subnet| subnet.include?(ip_obj) } @@ -843,6 +858,7 @@ def autopopulate_prefixes( _autopopulate_site = lookup_or_create_site(autopopulate_default_site, nb) _prefix_post = { :prefix => _new_prefix_name, :description => _new_prefix_name, + :tags => _autopopulate_tags, :site => _autopopulate_site&.fetch(:id, nil), :status => autopopulate_default_status } begin diff --git a/netbox/preload/tags.yml b/netbox/preload/tags.yml new file mode 100644 index 000000000..00aaea094 --- /dev/null +++ b/netbox/preload/tags.yml @@ -0,0 +1,9 @@ +- name: Autopopulated + slug: malcolm-autopopulated + color: Light Blue +- name: Manufacturer Unknown + slug: manufacturer-unknown + color: Light Grey +- name: Hostname Unknown + slug: hostname-unknown + color: Light Grey From 9c44fa9a58042d21e7bfd9ac496042aebdd78e3d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 11:52:33 -0600 Subject: [PATCH 68/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 36 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 8675dc8a3..b0dcfcf21 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -290,11 +290,11 @@ def filter( } if !_result.nil? - # if (@lookup_type == :ip_device) && - # _result.has_key?(:status) && - # (_result[:status] == @hostname_only_device_status) - # then - # end + if (_tags = _result&.delete(:tags)) && + (@lookup_type == :ip_device) + then + # puts('%{tags}' % { tags: JSON.generate(_tags) }) + end if _result.has_key?(:url) && !_result[:url]&.empty? _result[:url].map! { |u| u.delete_prefix(@netbox_url_base).gsub('/api/', '/') } if (@lookup_type == :ip_device) && @@ -443,8 +443,7 @@ def lookup_manuf( :id => _manuf.fetch(:id, nil), :url => _manuf.fetch(:url, nil), :match => _tmp_distance, - :vm => false - } + :vm => false } end end _query[:offset] += _tmp_manufs.length() @@ -487,11 +486,12 @@ def lookup_prefixes( _prefixName = p.fetch(:display, p.fetch(:prefix, nil)) end prefixes << { :name => _prefixName, - :id => p.fetch(:id, nil), - :site => ((_site = p.fetch(:site, nil)) && _site&.has_key?(:name)) ? _site[:name] : _site&.fetch(:display, nil), - :tenant => ((_tenant = p.fetch(:tenant, nil)) && _tenant&.has_key?(:name)) ? _tenant[:name] : _tenant&.fetch(:display, nil), - :url => p.fetch(:url, p.fetch(:url, nil)), - :details => @verbose ? p : nil } + :id => p.fetch(:id, nil), + :site => ((_site = p.fetch(:site, nil)) && _site&.has_key?(:name)) ? _site[:name] : _site&.fetch(:display, nil), + :tenant => ((_tenant = p.fetch(:tenant, nil)) && _tenant&.has_key?(:name)) ? _tenant[:name] : _tenant&.fetch(:display, nil), + :url => p.fetch(:url, nil), + :tags => p.fetch(:tags, nil), + :details => @verbose ? p : nil } end _query[:offset] += _tmp_prefixes.length() break unless (_tmp_prefixes.length() >= @page_size) @@ -600,6 +600,7 @@ def lookup_devices( _devices << { :name => _device.fetch(:name, _device.fetch(:display, nil)), :id => _device_id, :url => _device.fetch(:url, nil), + :tags => _device.fetch(:tags, nil), :service => _device.fetch(:service, []).map {|s| s.fetch(:name, s.fetch(:display, nil)) }, :site => _device_site, :role => ((_role = _device.fetch(:role, nil)) && _role&.has_key?(:name)) ? _role[:name] : _role&.fetch(:display, nil), @@ -694,11 +695,9 @@ def autopopulate_devices( :match => 0.0, :vm => false, :id => nil} - _autopopulate_tags << @device_tag_manufacturer_unknown end # puts('2. %{key}: %{found}' % { key: _autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - if autopopulate_hostname.to_s.empty? _autopopulate_tags << @device_tag_hostname_unknown end @@ -763,6 +762,11 @@ def autopopulate_devices( # at this point we *must* have the manufacturer ID if _autopopulate_manuf.fetch(:id, nil)&.nonzero? + # never figured out the manufacturer, so tag it as such + if (_autopopulate_manuf.fetch(:name, autopopulate_default_manuf) == autopopulate_default_manuf) + _autopopulate_tags << @device_tag_manufacturer_unknown + end + # make sure the desired device type also exists, look it up first _query = { :offset => 0, :limit => 1, @@ -871,7 +875,8 @@ def autopopulate_prefixes( :id => _new_prefix_create_response.fetch(:id, nil), :site => ((_site = _new_prefix_create_response.fetch(:site, nil)) && _site&.has_key?(:name)) ? _site[:name] : _site&.fetch(:display, nil), :tenant => ((_tenant = _new_prefix_create_response.fetch(:tenant, nil)) && _tenant&.has_key?(:name)) ? _tenant[:name] : _tenant&.fetch(:display, nil), - :url => _new_prefix_create_response.fetch(:url, _new_prefix_create_response.fetch(:url, nil)), + :url => _new_prefix_create_response.fetch(:url, nil), + :tags => _new_prefix_create_response.fetch(:tags, nil), :details => @verbose ? _new_prefix_create_response : nil } end rescue Faraday::Error @@ -1007,6 +1012,7 @@ def netbox_lookup( _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), :id => _autopopulate_device&.fetch(:id, nil), :url => _autopopulate_device&.fetch(:url, nil), + :tags => _autopopulate_device&.fetch(:tags, nil), :site => _autopopulate_site&.fetch(:name, nil), :role => _autopopulate_role&.fetch(:name, nil), :device_type => _autopopulate_dtype&.fetch(:name, nil), From 0a6ac3fb7b6efeaf6323d7ebc494a5867f9a34c9 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 14:13:45 -0600 Subject: [PATCH 69/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 189 +++++++++++++++++++++++---------- 1 file changed, 134 insertions(+), 55 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index b0dcfcf21..187cf2aa0 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -262,6 +262,8 @@ def register( @device_tag_manufacturer_unknown = { 'slug': 'manufacturer-unknown' }.freeze @device_tag_hostname_unknown = { 'slug': 'hostname-unknown' }.freeze + @virtual_machine_device_type_name = "Virtual Machine".freeze + end def filter( @@ -283,25 +285,49 @@ def filter( _result_set = false _key.each do |ip_key| - _result = @cache_hash.getset(@lookup_type){ - LruRedux::TTL::ThreadSafeCache.new(@cache_size, @cache_ttl) - }.getset(ip_key){ - netbox_lookup(event, ip_key) - } + + _lookup_hash = @cache_hash.getset(@lookup_type){ LruRedux::TTL::ThreadSafeCache.new(@cache_size, @cache_ttl) } + _result = _lookup_hash.getset(ip_key){ netbox_lookup(:event=>event, :ip_key=>ip_key) } if !_result.nil? - if (_tags = _result&.delete(:tags)) && - (@lookup_type == :ip_device) + + if (_tags = _result.fetch(:tags, nil)) && + @autopopulate && + (@lookup_type == :ip_device) && + _tags.is_a?(Array) && + _tags.flatten! && + _tags.all? { |item| item.is_a?(Hash) } && + _tags.any? {|tag| tag[:slug] == @device_tag_autopopulated[:slug]} then - # puts('%{tags}' % { tags: JSON.generate(_tags) }) + _updated_result = nil + if _tags.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} && + _autopopulate_hostname = event.get("#{@source_hostname}") && + !_autopopulate_hostname.to_s.empty? + then + # the hostname-unknown tag is set, but we appear to have a hostname + # from the event. we need to update the record in netbox (set the new hostname + # from this value and remove the tag) and in the result + _updated_result = netbox_lookup(:event=>event, :ip_key=>ip_key, :previous_result=>_result) + # puts('tried to update (1): %{result}' % { result: JSON.generate(_updated_result) }) + end + if _tags.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} + # the manufacturer-unknown tag is set, but we appear to have an OUI or MAC address + # from the event. we need to update the record in netbox (determine the manufacturer + # from this value and remove the tag) and in the result + _updated_result = netbox_lookup(:event=>event, :ip_key=>ip_key, :previous_result=>_result) + # puts('tried to update (2): %{result}' % { result: JSON.generate(_updated_result) }) + end + _lookup_hash[ip_key] = (_result = _updated_result) if _updated_result end + _result.delete(:tags) + if _result.has_key?(:url) && !_result[:url]&.empty? _result[:url].map! { |u| u.delete_prefix(@netbox_url_base).gsub('/api/', '/') } if (@lookup_type == :ip_device) && (!_result.has_key?(:device_type) || _result[:device_type]&.empty?) && _result[:url].any? { |u| u.include? "virtual-machines" } then - _result[:device_type] = [ "Virtual Machine" ] + _result[:device_type] = [ @virtual_machine_device_type_name ] end end end @@ -945,8 +971,9 @@ def create_device_interface( end def netbox_lookup( - event, - ip_key + event:, + ip_key:, + previous_result: nil ) _lookup_result = nil @@ -980,50 +1007,102 @@ def netbox_lookup( # some of the logic from :ip_prefix if (@lookup_type == :ip_device) - ################################################################################# - # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. - # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each - # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or - # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) - - if @autopopulate && (_devices.nil? || _devices.empty?) - # no results found, autopopulate enabled, private-space IP address... - # let's create an entry for this device - _autopopulate_device, - _autopopulate_role, - _autopopulate_dtype, - _autopopulate_oui, - _autopopulate_manuf, - _autopopulate_site = autopopulate_devices(ip_key, - _autopopulate_mac, - _autopopulate_oui, - _autopopulate_default_site, - _autopopulate_default_role, - _autopopulate_default_dtype, - _autopopulate_default_manuf, - _autopopulate_hostname, - @default_status, - _nb) - if !_autopopulate_device.nil? - # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - # we created a device, so send it back out as the result for the event as well - _devices = Array.new unless _devices.is_a?(Array) - _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), - :id => _autopopulate_device&.fetch(:id, nil), - :url => _autopopulate_device&.fetch(:url, nil), - :tags => _autopopulate_device&.fetch(:tags, nil), - :site => _autopopulate_site&.fetch(:name, nil), - :role => _autopopulate_role&.fetch(:name, nil), - :device_type => _autopopulate_dtype&.fetch(:name, nil), - :manufacturer => _autopopulate_manuf&.fetch(:name, nil), - :details => @verbose ? _autopopulate_device : nil } - end # _autopopulate_device was not nil (i.e., we autocreated a device) - end # _autopopulate turned on and no results found - - _devices = collect_values(crush(_devices)) - _devices.fetch(:service, [])&.flatten!&.uniq! - _lookup_result = _devices + + if (previous_result.nil? || previous_result.empty?) + ################################################################################# + # retrieve the list of IP addresses where address matches the search key, limited to "assigned" addresses. + # then, for those IP addresses, search for devices pertaining to the interfaces assigned to each + # IP address (e.g., ipam.ip_address -> dcim.interface -> dcim.device, or + # ipam.ip_address -> virtualization.interface -> virtualization.virtual_machine) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + + if @autopopulate && (_devices.nil? || _devices.empty?) + # no results found, autopopulate enabled, private-space IP address... + # let's create an entry for this device + _autopopulate_device, + _autopopulate_role, + _autopopulate_dtype, + _autopopulate_oui, + _autopopulate_manuf, + _autopopulate_site = autopopulate_devices(ip_key, + _autopopulate_mac, + _autopopulate_oui, + _autopopulate_default_site, + _autopopulate_default_role, + _autopopulate_default_dtype, + _autopopulate_default_manuf, + _autopopulate_hostname, + @default_status, + _nb) + if !_autopopulate_device.nil? + # puts('5. %{key}: %{found}' % { key: autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) + # we created a device, so send it back out as the result for the event as well + _devices = Array.new unless _devices.is_a?(Array) + _devices << { :name => _autopopulate_device&.fetch(:name, _autopopulate_device&.fetch(:display, nil)), + :id => _autopopulate_device&.fetch(:id, nil), + :url => _autopopulate_device&.fetch(:url, nil), + :tags => _autopopulate_device&.fetch(:tags, nil), + :site => _autopopulate_site&.fetch(:name, nil), + :role => _autopopulate_role&.fetch(:name, nil), + :device_type => _autopopulate_dtype&.fetch(:name, nil), + :manufacturer => _autopopulate_manuf&.fetch(:name, nil), + :details => @verbose ? _autopopulate_device : nil } + end # _autopopulate_device was not nil (i.e., we autocreated a device) + end # _autopopulate turned on and no results found + + elsif @autopopulate + ################################################################################# + # update with new information on an existing device (i.e., from a previous call to netbox_lookup) + _patched_device_data = {} + + # get existing tags to update them to remove "unkown-..." values if needed + _tags = previous_result.fetch(:tags, nil)&.flatten&.map{ |hash| { slug: hash[:slug] } }&.uniq + + # API endpoint is different for VM vs real device + _is_vm = (previous_result.fetch(:device_type, nil)&.flatten&.any? {|dt| dt == @virtual_machine_device_type_name} || + (previous_result.has_key?(:url) && !previous_result[:url]&.empty? && previous_result[:url].any? { |u| u.include? "virtual-machines" })) + + # get previous device ID (should only be dealing with a single device) + _previous_device_id = previous_result.fetch(:id, nil)&.flatten&.uniq + if _previous_device_id.is_a?(Array) && + (_previous_device_id.length() == 1) && + (_previous_device_id = _previous_device_id.first) + then + + if !_autopopulate_hostname.to_s.empty? && + _tags&.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} + then + # a hostname field was specified, which means we're going to overwrite the device name previously created + # which was probably something like "Dell @ 192.168.10.100" and also remove the "unknown hostname" tag + _patched_device_data = { :name => _autopopulate_hostname } + _tags = _tags.filter{|tag| tag[:slug] != @device_tag_hostname_unknown[:slug]} + end + + if _tags&.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} + # TODO: handle device_tag_manufacturer_unknown + _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} + end + + if !_patched_device_data.empty? # we've got changes to make, so do it + _patched_device_data[:tags] = _tags + if (_patched_device_response = _nb.patch("#{_is_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && + _patched_device_response.is_a?(Hash) && + _patched_device_response.has_key?(:id) + then + # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data + # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + end # _nb.patch succeeded + end # check _patched_device_data + + end # check previous device ID is valid + end # check on previous_result function argument + + if !_devices.nil? + _devices = collect_values(crush(_devices)) + _devices.fetch(:service, [])&.flatten!&.uniq! + _lookup_result = _devices + end end # @lookup_type == :ip_device # this || is because we are going to need to do the prefix lookup if we're autopopulating From fd2fbaaa896a62dca07ba4d40c7c39983e9b10b4 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 14:17:13 -0600 Subject: [PATCH 70/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 187cf2aa0..3c3868fe0 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1080,7 +1080,7 @@ def netbox_lookup( if _tags&.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} # TODO: handle device_tag_manufacturer_unknown - _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} + # _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} end if !_patched_device_data.empty? # we've got changes to make, so do it From 4ca6d87b3920f4deb6bb2112efd4506a769fe149 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 14:32:20 -0600 Subject: [PATCH 71/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 3c3868fe0..9de1c098e 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -740,7 +740,7 @@ def autopopulate_devices( if _autopopulate_manuf[:vm] # a virtual machine - _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : "#{autopopulate_hostname} @ #{ip_str}" + _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : autopopulate_hostname _device_data = { :name => _device_name, :site => _autopopulate_site[:id], :tags => _autopopulate_tags, @@ -824,7 +824,7 @@ def autopopulate_devices( if _autopopulate_dtype&.fetch(:id, nil)&.nonzero? # create the device - _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : "#{autopopulate_hostname} @ #{ip_str}" + _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : autopopulate_hostname _device_data = { :name => _device_name, :device_type => _autopopulate_dtype[:id], :role => _autopopulate_role[:id], From 6647c1f05f4c51d005f7396d260cc27502387b2d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 16:22:23 -0600 Subject: [PATCH 72/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 470 ++++++++++++++++++--------------- 1 file changed, 260 insertions(+), 210 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 9de1c098e..d2c6fbd6c 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -346,6 +346,34 @@ def mac_string_to_integer( string.tr('.:-','').to_i(16) end +def mac_to_oui_lookup( + mac +) + _oui = nil + + case mac + when String + if @macregex.match?(mac) + _macint = mac_string_to_integer(mac) + _vendor = @macarray.bsearch{ |_vendormac| (_macint < _vendormac[0]) ? -1 : ((_macint > _vendormac[1]) ? 1 : 0)} + _oui = _vendor[2] unless _vendor.nil? + end # mac matches @macregex + when Array + mac.each do |_addr| + if @macregex.match?(_addr) + _macint = mac_string_to_integer(_addr) + _vendor = @macarray.bsearch{ |_vendormac| (_macint < _vendormac[0]) ? -1 : ((_macint > _vendormac[1]) ? 1 : 0)} + if !_vendor.nil? + _oui = _vendor[2] + break + end # !_vendor.nil? + end # _addr matches @macregex + end # mac.each do + end # case statement mac String vs. Array + + _oui +end + def psych_load_yaml( filename ) @@ -407,40 +435,44 @@ def lookup_or_create_site( site_name, nb ) - @site_hash.getset(site_name) { - begin - _site = nil - - # look it up first - _query = { :offset => 0, - :limit => 1, - :name => site_name } - if (_sites_response = nb.get('dcim/sites/', _query).body) && - _sites_response.is_a?(Hash) && - (_tmp_sites = _sites_response.fetch(:results, [])) && - (_tmp_sites.length() > 0) - then - _site = _tmp_sites.first - end - - if _site.nil? - # the device site is not found, create it - _site_data = { :name => site_name, - :slug => site_name.to_url, - :status => "active" } - if (_site_create_response = nb.post('dcim/sites/', _site_data.to_json, @nb_headers).body) && - _site_create_response.is_a?(Hash) && - _site_create_response.has_key?(:id) + if !site_name.to_s.empty? + @site_hash.getset(site_name) { + begin + _site = nil + + # look it up first + _query = { :offset => 0, + :limit => 1, + :name => site_name } + if (_sites_response = nb.get('dcim/sites/', _query).body) && + _sites_response.is_a?(Hash) && + (_tmp_sites = _sites_response.fetch(:results, [])) && + (_tmp_sites.length() > 0) then - _site = _site_create_response + _site = _tmp_sites.first end - end - rescue Faraday::Error - # give up aka do nothing - end - _site - } + if _site.nil? + # the device site is not found, create it + _site_data = { :name => site_name, + :slug => site_name.to_url, + :status => "active" } + if (_site_create_response = nb.post('dcim/sites/', _site_data.to_json, @nb_headers).body) && + _site_create_response.is_a?(Hash) && + _site_create_response.has_key?(:id) + then + _site = _site_create_response + end + end + + rescue Faraday::Error + # give up aka do nothing + end + _site + } + else + nil + end end def lookup_manuf( @@ -487,6 +519,111 @@ def lookup_manuf( } end +def lookup_or_create_manuf_and_dtype( + oui, + default_manuf, + default_dtype, + nb +) + _oui = oui + _dtype = nil + _manuf = nil + + # match/look up manufacturer based on OUI + if !_oui.nil? && !_oui.empty? + _oui = _oui.first() unless !_oui.is_a?(Array) + # does it look like a VM or a regular device? + if @vm_namesarray.include?(_oui.downcase) + # looks like this is probably a virtual machine + _manuf = { :name => _oui, + :match => 1.0, + :vm => true, + :id => nil } + else + # looks like this is not a virtual machine (or we can't tell) so assume it's a regular device + _manuf = lookup_manuf(_oui, nb) + end # virtual machine vs. regular device + end # oui specified + + # puts('1. %{key}: %{found}' % { key: oui, found: JSON.generate(_manuf) }) + if !_manuf.is_a?(Hash) + # no match was found at ANY match level (empty database or no OUI specified), set default ("unspecified") manufacturer + _manuf = { :name => (@autopopulate_create_manuf && !_oui.nil? && !_oui.empty?) ? _oui : default_manuf, + :match => 0.0, + :vm => false, + :id => nil} + end + # puts('2. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) + + if !_manuf[:vm] + + if !_manuf.fetch(:id, nil)&.nonzero? + # the manufacturer was default (not found) so look it up first + _query = { :offset => 0, + :limit => 1, + :name => _manuf[:name] } + if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && + _manufs_response.is_a?(Hash) && + (_tmp_manufs = _manufs_response.fetch(:results, [])) && + (_tmp_manufs.length() > 0) + then + _manuf[:id] = _tmp_manufs.first.fetch(:id, nil) + _manuf[:match] = 1.0 + end + end + # puts('3. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) + + if !_manuf.fetch(:id, nil)&.nonzero? + # the manufacturer is still not found, create it + _manuf_data = { :name => _manuf[:name], + :tags => [ @device_tag_autopopulated ], + :slug => _manuf[:name].to_url } + if (_manuf_create_response = nb.post('dcim/manufacturers/', _manuf_data.to_json, @nb_headers).body) && + _manuf_create_response.is_a?(Hash) + then + _manuf[:id] = _manuf_create_response.fetch(:id, nil) + _manuf[:match] = 1.0 + end + # puts('4. %{key}: %{created}' % { key: _manuf, created: JSON.generate(_manuf_create_response) }) + end + + # at this point we *must* have the manufacturer ID + if _manuf.fetch(:id, nil)&.nonzero? + + # make sure the desired device type also exists, look it up first + _query = { :offset => 0, + :limit => 1, + :manufacturer_id => _manuf[:id], + :model => default_dtype } + if (_dtypes_response = nb.get('dcim/device-types/', _query).body) && + _dtypes_response.is_a?(Hash) && + (_tmp_dtypes = _dtypes_response.fetch(:results, [])) && + (_tmp_dtypes.length() > 0) + then + _dtype = _tmp_dtypes.first + end + + if _dtype.nil? + # the device type is not found, create it + _dtype_data = { :manufacturer => _manuf[:id], + :model => default_dtype, + :tags => [ @device_tag_autopopulated ], + :slug => default_dtype.to_url } + if (_dtype_create_response = nb.post('dcim/device-types/', _dtype_data.to_json, @nb_headers).body) && + _dtype_create_response.is_a?(Hash) && + _dtype_create_response.has_key?(:id) + then + _dtype = _dtype_create_response + end + end + + end # _manuf :id check + end # _manuf is not a VM + + return _dtype, _manuf + +end # def lookup_or_create_manuf_and_dtype + def lookup_prefixes( ip_str, lookup_site, @@ -536,40 +673,44 @@ def lookup_or_create_role( role_name, nb ) - @role_hash.getset(role_name) { - begin - _role = nil - - # look it up first - _query = { :offset => 0, - :limit => 1, - :name => role_name } - if (_roles_response = nb.get('dcim/device-roles/', _query).body) && - _roles_response.is_a?(Hash) && - (_tmp_roles = _roles_response.fetch(:results, [])) && - (_tmp_roles.length() > 0) - then - _role = _tmp_roles.first - end - - if _role.nil? - # the role is not found, create it - _role_data = { :name => role_name, - :slug => role_name.to_url, - :color => "d3d3d3" } - if (_role_create_response = nb.post('dcim/device-roles/', _role_data.to_json, @nb_headers).body) && - _role_create_response.is_a?(Hash) && - _role_create_response.has_key?(:id) + if !role_name.to_s.empty? + @role_hash.getset(role_name) { + begin + _role = nil + + # look it up first + _query = { :offset => 0, + :limit => 1, + :name => role_name } + if (_roles_response = nb.get('dcim/device-roles/', _query).body) && + _roles_response.is_a?(Hash) && + (_tmp_roles = _roles_response.fetch(:results, [])) && + (_tmp_roles.length() > 0) then - _role = _role_create_response + _role = _tmp_roles.first end - end - rescue Faraday::Error - # give up aka do nothing - end - _role - } + if _role.nil? + # the role is not found, create it + _role_data = { :name => role_name, + :slug => role_name.to_url, + :color => "d3d3d3" } + if (_role_create_response = nb.post('dcim/device-roles/', _role_data.to_json, @nb_headers).body) && + _role_create_response.is_a?(Hash) && + _role_create_response.has_key?(:id) + then + _role = _role_create_response + end + end + + rescue Faraday::Error + # give up aka do nothing + end + _role + } + else + nil + end end def lookup_devices( @@ -664,73 +805,26 @@ def autopopulate_devices( _autopopulate_device = nil _autopopulate_role = nil - _autopopulate_dtype = nil _autopopulate_oui = autopopulate_oui - _autopopulate_manuf = nil _autopopulate_site = nil _autopopulate_tags = [ @device_tag_autopopulated ] + _autopopulate_tags << @device_tag_hostname_unknown if autopopulate_hostname.to_s.empty? # if MAC is set but OUI is not, do a quick lookup if (!autopopulate_mac.nil? && !autopopulate_mac.empty?) && (_autopopulate_oui.nil? || _autopopulate_oui.empty?) then - case autopopulate_mac - when String - if @macregex.match?(autopopulate_mac) - _macint = mac_string_to_integer(autopopulate_mac) - _vendor = @macarray.bsearch{ |_vendormac| (_macint < _vendormac[0]) ? -1 : ((_macint > _vendormac[1]) ? 1 : 0)} - _autopopulate_oui = _vendor[2] unless _vendor.nil? - end # autopopulate_mac matches @macregex - when Array - autopopulate_mac.each do |_addr| - if @macregex.match?(_addr) - _macint = mac_string_to_integer(_addr) - _vendor = @macarray.bsearch{ |_vendormac| (_macint < _vendormac[0]) ? -1 : ((_macint > _vendormac[1]) ? 1 : 0)} - if !_vendor.nil? - _autopopulate_oui = _vendor[2] - break - end # !_vendor.nil? - end # _addr matches @macregex - end # autopopulate_mac.each do - end # case statement autopopulate_mac String vs. Array - end # MAC is populated but OUI is not - - # match/look up manufacturer based on OUI - if !_autopopulate_oui.nil? && !_autopopulate_oui.empty? - - _autopopulate_oui = _autopopulate_oui.first() unless !_autopopulate_oui.is_a?(Array) - - # does it look like a VM or a regular device? - if @vm_namesarray.include?(_autopopulate_oui.downcase) - # looks like this is probably a virtual machine - _autopopulate_manuf = { :name => _autopopulate_oui, - :match => 1.0, - :vm => true, - :id => nil } - - else - # looks like this is not a virtual machine (or we can't tell) so assume its' a regular device - _autopopulate_manuf = lookup_manuf(_autopopulate_oui, nb) - end # virtual machine vs. regular device - end # _autopopulate_oui specified - - # puts('1. %{key}: %{found}' % { key: _autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - if !_autopopulate_manuf.is_a?(Hash) - # no match was found at ANY match level (empty database or no OUI specified), set default ("unspecified") manufacturer - _autopopulate_manuf = { :name => (@autopopulate_create_manuf && !_autopopulate_oui.nil? && !_autopopulate_oui.empty?) ? _autopopulate_oui : autopopulate_default_manuf, - :match => 0.0, - :vm => false, - :id => nil} - end - # puts('2. %{key}: %{found}' % { key: _autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - - if autopopulate_hostname.to_s.empty? - _autopopulate_tags << @device_tag_hostname_unknown + _autopopulate_oui = mac_to_oui_lookup(autopopulate_mac) end - # make sure the site and role exists + # make sure the site, role, manufacturer and device type exist _autopopulate_site = lookup_or_create_site(autopopulate_default_site_name, nb) _autopopulate_role = lookup_or_create_role(autopopulate_default_role_name, nb) + _autopopulate_dtype, + _autopopulate_manuf = lookup_or_create_manuf_and_dtype(_autopopulate_oui, + autopopulate_default_manuf, + autopopulate_default_dtype, + nb) # we should have found or created the autopopulate role and site begin @@ -753,105 +847,43 @@ def autopopulate_devices( end else - # a regular non-vm device - - if !_autopopulate_manuf.fetch(:id, nil)&.nonzero? - # the manufacturer was default (not found) so look it up first - _query = { :offset => 0, - :limit => 1, - :name => _autopopulate_manuf[:name] } - if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && - _manufs_response.is_a?(Hash) && - (_tmp_manufs = _manufs_response.fetch(:results, [])) && - (_tmp_manufs.length() > 0) - then - _autopopulate_manuf[:id] = _tmp_manufs.first.fetch(:id, nil) - _autopopulate_manuf[:match] = 1.0 - end - end - # puts('3. %{key}: %{found}' % { key: _autopopulate_oui, found: JSON.generate(_autopopulate_manuf) }) - - if !_autopopulate_manuf.fetch(:id, nil)&.nonzero? - # the manufacturer is still not found, create it - _manuf_data = { :name => _autopopulate_manuf[:name], - :tags => _autopopulate_tags, - :slug => _autopopulate_manuf[:name].to_url } - if (_manuf_create_response = nb.post('dcim/manufacturers/', _manuf_data.to_json, @nb_headers).body) && - _manuf_create_response.is_a?(Hash) - then - _autopopulate_manuf[:id] = _manuf_create_response.fetch(:id, nil) - _autopopulate_manuf[:match] = 1.0 - end - # puts('4. %{key}: %{created}' % { key: _autopopulate_manuf, created: JSON.generate(_manuf_create_response) }) - end - - # at this point we *must* have the manufacturer ID - if _autopopulate_manuf.fetch(:id, nil)&.nonzero? + # a regular non-vm device: at this point we *must* have the manufacturer ID and device type ID + if _autopopulate_manuf.fetch(:id, nil)&.nonzero? && + _autopopulate_dtype&.fetch(:id, nil)&.nonzero? + then - # never figured out the manufacturer, so tag it as such - if (_autopopulate_manuf.fetch(:name, autopopulate_default_manuf) == autopopulate_default_manuf) + # never figured out the manufacturer (actually, we were never even given the fields to do so), so tag it as such + if ((_autopopulate_manuf.fetch(:name, autopopulate_default_manuf) == autopopulate_default_manuf) && + autopopulate_mac.to_s.empty? && _autopopulate_oui.to_s.empty?) + then _autopopulate_tags << @device_tag_manufacturer_unknown end - # make sure the desired device type also exists, look it up first - _query = { :offset => 0, - :limit => 1, - :manufacturer_id => _autopopulate_manuf[:id], - :model => autopopulate_default_dtype } - if (_dtypes_response = nb.get('dcim/device-types/', _query).body) && - _dtypes_response.is_a?(Hash) && - (_tmp_dtypes = _dtypes_response.fetch(:results, [])) && - (_tmp_dtypes.length() > 0) + # create the device + _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : autopopulate_hostname + _device_data = { :name => _device_name, + :device_type => _autopopulate_dtype[:id], + :role => _autopopulate_role[:id], + :site => _autopopulate_site[:id], + :tags => _autopopulate_tags, + :status => autopopulate_default_status } + if (_device_create_response = nb.post('dcim/devices/', _device_data.to_json, @nb_headers).body) && + _device_create_response.is_a?(Hash) && + _device_create_response.has_key?(:id) then - _autopopulate_dtype = _tmp_dtypes.first - end - - if _autopopulate_dtype.nil? - # the device type is not found, create it - _dtype_data = { :manufacturer => _autopopulate_manuf[:id], - :model => autopopulate_default_dtype, - :tags => _autopopulate_tags, - :slug => autopopulate_default_dtype.to_url } - if (_dtype_create_response = nb.post('dcim/device-types/', _dtype_data.to_json, @nb_headers).body) && - _dtype_create_response.is_a?(Hash) && - _dtype_create_response.has_key?(:id) - then - _autopopulate_dtype = _dtype_create_response - end + _autopopulate_device = _device_create_response end - # # now we must also have the device type ID - if _autopopulate_dtype&.fetch(:id, nil)&.nonzero? - - # create the device - _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : autopopulate_hostname - _device_data = { :name => _device_name, - :device_type => _autopopulate_dtype[:id], - :role => _autopopulate_role[:id], - :site => _autopopulate_site[:id], - :tags => _autopopulate_tags, - :status => autopopulate_default_status } - if (_device_create_response = nb.post('dcim/devices/', _device_data.to_json, @nb_headers).body) && - _device_create_response.is_a?(Hash) && - _device_create_response.has_key?(:id) - then - _autopopulate_device = _device_create_response - end - - else - # didn't figure out the device type ID, make sure we're not setting something half-populated - _autopopulate_dtype = nil - end # _autopopulate_dtype[:id] is valid - else - # didn't figure out the manufacturer ID, make sure we're not setting something half-populated + # didn't figure out the manufacturer ID and/or device type ID, make sure we're not setting something half-populated _autopopulate_manuf = nil - end # _autopopulate_manuf[:id] is valid + _autopopulate_dtype = nil + end # _autopopulate_manuf[:id] is valid and _autopopulate_dtype[:id] is valid end # virtual machine vs. regular device else - # didn't figure out the IDs, make sure we're not setting something half-populated + # didn't figure out the site and/or role IDs, make sure we're not setting something half-populated _autopopulate_site = nil _autopopulate_role = nil end # site and role are valid @@ -1053,7 +1085,7 @@ def netbox_lookup( elsif @autopopulate ################################################################################# # update with new information on an existing device (i.e., from a previous call to netbox_lookup) - _patched_device_data = {} + _patched_device_data = Hash.new # get existing tags to update them to remove "unkown-..." values if needed _tags = previous_result.fetch(:tags, nil)&.flatten&.map{ |hash| { slug: hash[:slug] } }&.uniq @@ -1072,15 +1104,33 @@ def netbox_lookup( if !_autopopulate_hostname.to_s.empty? && _tags&.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} then - # a hostname field was specified, which means we're going to overwrite the device name previously created - # which was probably something like "Dell @ 192.168.10.100" and also remove the "unknown hostname" tag - _patched_device_data = { :name => _autopopulate_hostname } + # a hostname field was specified where before we had none, which means we're going to overwrite + # the device name previously created which was probably something like "Dell @ 192.168.10.100" + # and also remove the "unknown hostname" tag + _patched_device_data[:name] = _autopopulate_hostname _tags = _tags.filter{|tag| tag[:slug] != @device_tag_hostname_unknown[:slug]} end - if _tags&.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} - # TODO: handle device_tag_manufacturer_unknown - # _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} + if ((!_autopopulate_mac.to_s.empty? || !_autopopulate_oui.to_s.empty?) && + _tags&.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]}) + # if MAC is set but OUI is not, do a quick lookup + if (!_autopopulate_mac.nil? && !_autopopulate_mac.empty?) && + (_autopopulate_oui.nil? || _autopopulate_oui.empty?) + then + _autopopulate_oui = mac_to_oui_lookup(_autopopulate_mac) + end + # a MAC address or OUI field was specified where before we had none, which means we're going to overwrite + # the device manufacturer previously created which was probably something like "Unspecified" + # and also remove the "unknown manufacturer" tag + _autopopulate_dtype, + _autopopulate_manuf = lookup_or_create_manuf_and_dtype(_autopopulate_oui, + autopopulate_default_manuf, + autopopulate_default_dtype, + _nb) + if _autopopulate_dtype&.fetch(:id, nil)&.nonzero? + _patched_device_data[:device_type] = _autopopulate_dtype[:id] + end + _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} end if !_patched_device_data.empty? # we've got changes to make, so do it From 827227a12436eeaf49078d90e8c31c5f2f2891bc Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 22 Apr 2024 16:30:01 -0600 Subject: [PATCH 73/98] for idaholab/Malcolm#415, beginning work on using DNS for populating hostnames in netbox (work in progress, probably broken) --- logstash/ruby/netbox_enrich.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index d2c6fbd6c..5ac89f362 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1124,8 +1124,8 @@ def netbox_lookup( # and also remove the "unknown manufacturer" tag _autopopulate_dtype, _autopopulate_manuf = lookup_or_create_manuf_and_dtype(_autopopulate_oui, - autopopulate_default_manuf, - autopopulate_default_dtype, + _autopopulate_default_manuf, + _autopopulate_default_dtype, _nb) if _autopopulate_dtype&.fetch(:id, nil)&.nonzero? _patched_device_data[:device_type] = _autopopulate_dtype[:id] From b6692378c7a1307107e3e4118bc4597ab3dd010d Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 23 Apr 2024 08:19:03 -0600 Subject: [PATCH 74/98] documentation updates --- docs/asset-interaction-analysis.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/asset-interaction-analysis.md b/docs/asset-interaction-analysis.md index 0c80ae593..aa75820f8 100644 --- a/docs/asset-interaction-analysis.md +++ b/docs/asset-interaction-analysis.md @@ -98,7 +98,7 @@ If the `NETBOX_AUTO_POPULATE` [environment variable in `./config/netbox-common.e However, careful consideration should be made before enabling this feature: the purpose of an asset management system is to document the intended state of a network: with Malcolm configured to populate NetBox with the live network state, a network misconfiguration fault could result in an **incorrect documented configuration**. -Devices created using this autopopulate method will include a `tags` value of `Autopopulated`. It is recommended that users periodically review automatically-created devices for correctness and to fill in known details that couldn't be determined from network traffic. For example, the `manufacturer` field for automatically-created devices will be set based on the organizational unique identifier (OUI) determined from the first three bytes of the observed MAC address, which may not be accurate if the device's traffic was observed across a router. If possible, observed hostnames will be used in the naming of the automatically-created devices, falling back to the device manufacturer otherwise (e.g., `MYHOSTNAME @ 10.10.0.123` vs. `Schweitzer Engineering @ 10.10.0.123`). +Devices created using this autopopulate method will include a `tags` value of `Autopopulated`. It is recommended that users periodically review automatically-created devices for correctness and to fill in known details that couldn't be determined from network traffic. For example, the `manufacturer` field for automatically-created devices will be set based on the organizational unique identifier (OUI) determined from the first three bytes of the observed MAC address, which may not be accurate if the device's traffic was observed across a router. If possible, observed hostnames (extracted from logs that provide a mapping of IP address to host name, such as Zeek's `dns.log`, `ntlm.log`, and `dhcp.log`) will be used in the naming of the automatically-created devices, falling back to the device manufacturer otherwise (e.g., `MYHOSTNAME` vs. `Schweitzer Engineering @ 10.10.0.123`). Since device autocreation is based on IP address, information about network segments (IP [prefixes](https://docs.netbox.dev/en/stable/models/ipam/prefix/)) must be first [manually specified](#NetBoxPopManual) in NetBox in order for devices to be automatically populated. Users should populate the `description` field in the NetBox IPAM Prefixes data model to specify a name to be used for NetBox network segment autopopulation and enrichment, otherwise the IP prefix itself will be used. From 9d720511d5f03cc439e62df5a6f09b12683f7ef7 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Tue, 23 Apr 2024 12:42:32 -0600 Subject: [PATCH 75/98] for idaholab/Malcolm#415, work on using DNS for populating hostnames in netbox --- logstash/pipelines/enrichment/21_netbox.conf | 2 ++ logstash/ruby/netbox_enrich.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index f8428753d..93b53930c 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -202,6 +202,7 @@ filter { "target" => "[source][device]" "source_oui" => "[source][oui]" "source_mac" => "[source][mac]" + "source_hostname" => "[source][ip_reverse_dns]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "lookup_site_env" => "NETBOX_DEFAULT_SITE" @@ -244,6 +245,7 @@ filter { "target" => "[destination][device]" "source_oui" => "[destination][oui]" "source_mac" => "[destination][mac]" + "source_hostname" => "[destination][ip_reverse_dns]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "lookup_site_env" => "NETBOX_DEFAULT_SITE" diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 5ac89f362..2984aa92e 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -995,7 +995,7 @@ def create_device_interface( _ip_primary_reponse.is_a?(Hash) && _ip_primary_reponse.has_key?(:id) then - _autopopulate_device = _ip_create_reponse + _autopopulate_device = _ip_primary_reponse end end # check if the IP address was created and has an ID From dc6bd916376dc4e0b6c20273e6bf1a4c84713f87 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 24 Apr 2024 08:57:08 -0600 Subject: [PATCH 76/98] quiet a few warnings --- hedgehog-iso/interface/sensor_ctl/clean.sh | 4 ++-- shared/bin/prune_files.sh | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hedgehog-iso/interface/sensor_ctl/clean.sh b/hedgehog-iso/interface/sensor_ctl/clean.sh index 047b1d220..2d253f975 100755 --- a/hedgehog-iso/interface/sensor_ctl/clean.sh +++ b/hedgehog-iso/interface/sensor_ctl/clean.sh @@ -11,11 +11,11 @@ CONTROL_VARS_FILE="control_vars.conf" source "$CONTROL_VARS_FILE" if [ -n "$PCAP_PATH" ] && [ "$PCAP_PATH" != "/" ] && [ -d "$PCAP_PATH" ] ; then - PCAP_SIZE="$(du -sh "$PCAP_PATH"/ | cut -f1)" + PCAP_SIZE="$(du -sh "$PCAP_PATH"/ 2>/dev/null | cut -f1)" rm -rf "$PCAP_PATH"/* && echo "Removed $PCAP_SIZE from packet capture path" fi if [ -n "$ZEEK_LOG_PATH" ] && [ "$ZEEK_LOG_PATH" != "/" ] && [ -d "$ZEEK_LOG_PATH" ] ; then - ZEEK_SIZE="$(du -sh "$ZEEK_LOG_PATH"/ | cut -f1)" + ZEEK_SIZE="$(du -sh "$ZEEK_LOG_PATH"/ 2>/dev/null | cut -f1)" rm -rf "$ZEEK_LOG_PATH"/* && echo "Removed $ZEEK_SIZE from Zeek log path" fi diff --git a/shared/bin/prune_files.sh b/shared/bin/prune_files.sh index 5873182a0..0e94ee305 100755 --- a/shared/bin/prune_files.sh +++ b/shared/bin/prune_files.sh @@ -59,8 +59,8 @@ fi while true ; do # check initial disk capacity - USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - USAGE_GB=$(du -sb . | awk '{printf "%.0f\n", $1/1000/1000/1000}') + USAGE_PCT=$(df -k . 2>/dev/null | awk '{gsub("%",""); capacity=$5}; END {print capacity}') + USAGE_GB=$(du -sb . 2>/dev/null | awk '{printf "%.0f\n", $1/1000/1000/1000}') if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we have exceeded the threshold, see if there is something to prune @@ -82,8 +82,8 @@ while true ; do [[ "$VERBOSE" == "1" ]] && echo "Pruned \"$FILE_TO_DELETE\" ($FILE_SIZE_HUMAN, $FILE_TIME_HUMAN)" >&2 # re-check disk capacity - USAGE_PCT=$(df -k . | awk '{gsub("%",""); capacity=$5}; END {print capacity}') - USAGE_GB=$(du -sb . | awk '{printf "%.0f\n", $1/1000/1000/1000}') + USAGE_PCT=$(df -k . 2>/dev/null | awk '{gsub("%",""); capacity=$5}; END {print capacity}') + USAGE_GB=$(du -sb . 2>/dev/null | awk '{printf "%.0f\n", $1/1000/1000/1000}') if ( (( $THRESHOLD_PCT > 0 )) && (( $USAGE_PCT > $THRESHOLD_PCT )) ) || ( (( $MAXSIZE_GB > 0 )) && (( $USAGE_GB > $MAXSIZE_GB )) ); then # we still exceed the threshold, continue to loop [[ "$VERBOSE" == "1" ]] && echo "\"$PRUNE_PATH\" is at $USAGE_PCT% of capacity ($USAGE_GB GB), pruning..." >&2 From 12d32eb394b4d033241dbe17322c905f1832c057 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Wed, 24 Apr 2024 19:08:53 -0600 Subject: [PATCH 77/98] set category fields in default anomaly detectors to give a better breakdown of contributors, idaholab/Malcolm##464 --- dashboards/anomaly_detectors/action_result_user.json | 9 +++++---- dashboards/anomaly_detectors/file_mime_type.json | 5 ++++- dashboards/anomaly_detectors/network_protocol.json | 5 ++++- dashboards/anomaly_detectors/total_bytes.json | 6 +++++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/dashboards/anomaly_detectors/action_result_user.json b/dashboards/anomaly_detectors/action_result_user.json index 86bf8457b..d948bd810 100644 --- a/dashboards/anomaly_detectors/action_result_user.json +++ b/dashboards/anomaly_detectors/action_result_user.json @@ -5,9 +5,6 @@ "indices": [ "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], - "category_field": [ - "network.protocol" - ], "feature_attributes": [ { "feature_name": "event_action", @@ -81,5 +78,9 @@ "interval": 10, "unit": "MINUTES" } - } + }, + "category_field": [ + "event.action", + "event.result" + ] } \ No newline at end of file diff --git a/dashboards/anomaly_detectors/file_mime_type.json b/dashboards/anomaly_detectors/file_mime_type.json index 9f3e45afe..95bd6d6b0 100644 --- a/dashboards/anomaly_detectors/file_mime_type.json +++ b/dashboards/anomaly_detectors/file_mime_type.json @@ -43,5 +43,8 @@ "interval": 1, "unit": "Minutes" } - } + }, + "category_field": [ + "file.mime_type" + ] } diff --git a/dashboards/anomaly_detectors/network_protocol.json b/dashboards/anomaly_detectors/network_protocol.json index 770223aa9..833b7a3cc 100644 --- a/dashboards/anomaly_detectors/network_protocol.json +++ b/dashboards/anomaly_detectors/network_protocol.json @@ -43,5 +43,8 @@ "interval": 1, "unit": "Minutes" } - } + }, + "category_field": [ + "network.protocol" + ] } diff --git a/dashboards/anomaly_detectors/total_bytes.json b/dashboards/anomaly_detectors/total_bytes.json index c66a125bb..b2f4ba7ec 100644 --- a/dashboards/anomaly_detectors/total_bytes.json +++ b/dashboards/anomaly_detectors/total_bytes.json @@ -43,5 +43,9 @@ "interval": 1, "unit": "Minutes" } - } + }, + "category_field": [ + "source.ip", + "destination.ip" + ] } \ No newline at end of file From 212c5908624e757c8e1a2a05cd865dc72b80fb00 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 08:28:52 -0600 Subject: [PATCH 78/98] for idaholab/Malcolm#415, added exception debugging for for populating hostnames in netbox --- logstash/pipelines/enrichment/21_netbox.conf | 10 + logstash/ruby/netbox_enrich.rb | 291 +++++++++++-------- 2 files changed, 179 insertions(+), 122 deletions(-) diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index 93b53930c..bfc240131 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -50,6 +50,7 @@ filter { "source_hostname" => "[dns][question][name]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -72,6 +73,7 @@ filter { "source_hostname" => "[zeek][ntlm][hostname]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -95,6 +97,7 @@ filter { "source_hostname" => "[zeek][ntlm][server_nb_computer_name]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -115,6 +118,7 @@ filter { "source_hostname" => "[zeek][ntlm][server_dns_computer_name]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -139,6 +143,7 @@ filter { "source_hostname" => "[zeek][dhcp][client_fqdn]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -159,6 +164,7 @@ filter { "source_hostname" => "[zeek][dhcp][host_name]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -186,6 +192,7 @@ filter { "lookup_type" => "ip_prefix" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "auto_prefix_env" => "NETBOX_AUTO_CREATE_PREFIX" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" @@ -205,6 +212,7 @@ filter { "source_hostname" => "[source][ip_reverse_dns]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" "cache_size_env" => "NETBOX_CACHE_SIZE" @@ -229,6 +237,7 @@ filter { "target" => "[destination][segment]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "auto_prefix_env" => "NETBOX_AUTO_CREATE_PREFIX" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "netbox_token_env" => "SUPERUSER_API_TOKEN" @@ -248,6 +257,7 @@ filter { "source_hostname" => "[destination][ip_reverse_dns]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" "lookup_site_env" => "NETBOX_DEFAULT_SITE" "lookup_service_env" => "NETBOX_ENRICHMENT_LOOKUP_SERVICE" "lookup_service_port_source" => "[destination][port]" diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 2984aa92e..7fe3dc19d 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -95,6 +95,13 @@ def register( end @verbose = [1, true, '1', 'true', 't', 'on', 'enabled'].include?(_verbose_str.to_s.downcase) + _debug_str = params["debug"] + _debug_env = params["debug_env"] + if _debug_str.nil? && !_debug_env.nil? + _debug_str = ENV[_debug_env] + end + @debug = [1, true, '1', 'true', 't', 'on', 'enabled'].include?(_debug_str.to_s.downcase) + # connection URL for netbox @netbox_url = params.fetch("netbox_url", "http://netbox:8080/netbox/api").delete_suffix("/") @netbox_url_suffix = "/netbox/api" @@ -462,11 +469,14 @@ def lookup_or_create_site( _site_create_response.has_key?(:id) then _site = _site_create_response + elsif @debug + puts('lookup_or_create_site (%{name}): _site_create_response: %{result}' % { name: site_name, result: JSON.generate(_site_create_response) }) end end - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "lookup_or_create_site (#{site_name}): #{e.message}" if @debug end _site } @@ -479,44 +489,49 @@ def lookup_manuf( oui, nb ) - @manuf_hash.getset(oui) { - _fuzzy_matcher = FuzzyStringMatch::JaroWinkler.create( :pure ) - _oui_cleaned = clean_manuf_string(oui.to_s) - _manufs = Array.new - # fetch the manufacturers to do the comparison. this is a lot of work - # and not terribly fast but once the hash it populated it shouldn't happen too often - _query = { :offset => 0, - :limit => @page_size } - begin - while true do - if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && - _manufs_response.is_a?(Hash) - then - _tmp_manufs = _manufs_response.fetch(:results, []) - _tmp_manufs.each do |_manuf| - _tmp_name = _manuf.fetch(:name, _manuf.fetch(:display, nil)) - _tmp_distance = _fuzzy_matcher.getDistance(clean_manuf_string(_tmp_name.to_s), _oui_cleaned) - if (_tmp_distance >= @autopopulate_fuzzy_threshold) then - _manufs << { :name => _tmp_name, - :id => _manuf.fetch(:id, nil), - :url => _manuf.fetch(:url, nil), - :match => _tmp_distance, - :vm => false } + if !oui.to_s.empty? + @manuf_hash.getset(oui) { + _fuzzy_matcher = FuzzyStringMatch::JaroWinkler.create( :pure ) + _oui_cleaned = clean_manuf_string(oui.to_s) + _manufs = Array.new + # fetch the manufacturers to do the comparison. this is a lot of work + # and not terribly fast but once the hash it populated it shouldn't happen too often + _query = { :offset => 0, + :limit => @page_size } + begin + while true do + if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && + _manufs_response.is_a?(Hash) + then + _tmp_manufs = _manufs_response.fetch(:results, []) + _tmp_manufs.each do |_manuf| + _tmp_name = _manuf.fetch(:name, _manuf.fetch(:display, nil)) + _tmp_distance = _fuzzy_matcher.getDistance(clean_manuf_string(_tmp_name.to_s), _oui_cleaned) + if (_tmp_distance >= @autopopulate_fuzzy_threshold) then + _manufs << { :name => _tmp_name, + :id => _manuf.fetch(:id, nil), + :url => _manuf.fetch(:url, nil), + :match => _tmp_distance, + :vm => false } + end end + _query[:offset] += _tmp_manufs.length() + break unless (_tmp_manufs.length() >= @page_size) + else + break end - _query[:offset] += _tmp_manufs.length() - break unless (_tmp_manufs.length() >= @page_size) - else - break end + rescue Faraday::Error => e + # give up aka do nothing + puts "lookup_manuf (#{oui}): #{e.message}" if @debug end - rescue Faraday::Error - # give up aka do nothing - end - # return the manuf with the highest match - # puts('0. %{key}: %{matches}' % { key: _autopopulate_oui_cleaned, matches: JSON.generate(_manufs) })-] - !_manufs&.empty? ? _manufs.max_by{|k| k[:match] } : nil - } + # return the manuf with the highest match + # puts('0. %{key}: %{matches}' % { key: _autopopulate_oui_cleaned, matches: JSON.generate(_manufs) })-] + !_manufs&.empty? ? _manufs.max_by{|k| k[:match] } : nil + } + else + nil + end end def lookup_or_create_manuf_and_dtype( @@ -529,96 +544,106 @@ def lookup_or_create_manuf_and_dtype( _dtype = nil _manuf = nil - # match/look up manufacturer based on OUI - if !_oui.nil? && !_oui.empty? - _oui = _oui.first() unless !_oui.is_a?(Array) - # does it look like a VM or a regular device? - if @vm_namesarray.include?(_oui.downcase) - # looks like this is probably a virtual machine - _manuf = { :name => _oui, - :match => 1.0, - :vm => true, - :id => nil } - else - # looks like this is not a virtual machine (or we can't tell) so assume it's a regular device - _manuf = lookup_manuf(_oui, nb) - end # virtual machine vs. regular device - end # oui specified - - # puts('1. %{key}: %{found}' % { key: oui, found: JSON.generate(_manuf) }) - if !_manuf.is_a?(Hash) - # no match was found at ANY match level (empty database or no OUI specified), set default ("unspecified") manufacturer - _manuf = { :name => (@autopopulate_create_manuf && !_oui.nil? && !_oui.empty?) ? _oui : default_manuf, - :match => 0.0, - :vm => false, - :id => nil} - end - # puts('2. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) - - if !_manuf[:vm] - - if !_manuf.fetch(:id, nil)&.nonzero? - # the manufacturer was default (not found) so look it up first - _query = { :offset => 0, - :limit => 1, - :name => _manuf[:name] } - if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && - _manufs_response.is_a?(Hash) && - (_tmp_manufs = _manufs_response.fetch(:results, [])) && - (_tmp_manufs.length() > 0) - then - _manuf[:id] = _tmp_manufs.first.fetch(:id, nil) - _manuf[:match] = 1.0 - end - end - # puts('3. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) - - if !_manuf.fetch(:id, nil)&.nonzero? - # the manufacturer is still not found, create it - _manuf_data = { :name => _manuf[:name], - :tags => [ @device_tag_autopopulated ], - :slug => _manuf[:name].to_url } - if (_manuf_create_response = nb.post('dcim/manufacturers/', _manuf_data.to_json, @nb_headers).body) && - _manuf_create_response.is_a?(Hash) - then - _manuf[:id] = _manuf_create_response.fetch(:id, nil) - _manuf[:match] = 1.0 - end - # puts('4. %{key}: %{created}' % { key: _manuf, created: JSON.generate(_manuf_create_response) }) + begin + # match/look up manufacturer based on OUI + if !_oui.nil? && !_oui.empty? + _oui = _oui.first() unless !_oui.is_a?(Array) + # does it look like a VM or a regular device? + if @vm_namesarray.include?(_oui.downcase) + # looks like this is probably a virtual machine + _manuf = { :name => _oui, + :match => 1.0, + :vm => true, + :id => nil } + else + # looks like this is not a virtual machine (or we can't tell) so assume it's a regular device + _manuf = lookup_manuf(_oui, nb) + end # virtual machine vs. regular device + end # oui specified + + # puts('1. %{key}: %{found}' % { key: oui, found: JSON.generate(_manuf) }) + if !_manuf.is_a?(Hash) + # no match was found at ANY match level (empty database or no OUI specified), set default ("unspecified") manufacturer + _manuf = { :name => (@autopopulate_create_manuf && !_oui.nil? && !_oui.empty?) ? _oui : default_manuf, + :match => 0.0, + :vm => false, + :id => nil} end + # puts('2. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) - # at this point we *must* have the manufacturer ID - if _manuf.fetch(:id, nil)&.nonzero? + if !_manuf[:vm] - # make sure the desired device type also exists, look it up first - _query = { :offset => 0, - :limit => 1, - :manufacturer_id => _manuf[:id], - :model => default_dtype } - if (_dtypes_response = nb.get('dcim/device-types/', _query).body) && - _dtypes_response.is_a?(Hash) && - (_tmp_dtypes = _dtypes_response.fetch(:results, [])) && - (_tmp_dtypes.length() > 0) - then - _dtype = _tmp_dtypes.first + if !_manuf.fetch(:id, nil)&.nonzero? + # the manufacturer was default (not found) so look it up first + _query = { :offset => 0, + :limit => 1, + :name => _manuf[:name] } + if (_manufs_response = nb.get('dcim/manufacturers/', _query).body) && + _manufs_response.is_a?(Hash) && + (_tmp_manufs = _manufs_response.fetch(:results, [])) && + (_tmp_manufs.length() > 0) + then + _manuf[:id] = _tmp_manufs.first.fetch(:id, nil) + _manuf[:match] = 1.0 + end end + # puts('3. %{key}: %{found}' % { key: _oui, found: JSON.generate(_manuf) }) - if _dtype.nil? - # the device type is not found, create it - _dtype_data = { :manufacturer => _manuf[:id], - :model => default_dtype, + if !_manuf.fetch(:id, nil)&.nonzero? + # the manufacturer is still not found, create it + _manuf_data = { :name => _manuf[:name], :tags => [ @device_tag_autopopulated ], - :slug => default_dtype.to_url } - if (_dtype_create_response = nb.post('dcim/device-types/', _dtype_data.to_json, @nb_headers).body) && - _dtype_create_response.is_a?(Hash) && - _dtype_create_response.has_key?(:id) + :slug => _manuf[:name].to_url } + if (_manuf_create_response = nb.post('dcim/manufacturers/', _manuf_data.to_json, @nb_headers).body) && + _manuf_create_response.is_a?(Hash) then - _dtype = _dtype_create_response + _manuf[:id] = _manuf_create_response.fetch(:id, nil) + _manuf[:match] = 1.0 + elsif @debug + puts('lookup_or_create_manuf_and_dtype (%{name}): _manuf_create_response: %{result}' % { name: _manuf[:name], result: JSON.generate(_manuf_create_response) }) end + # puts('4. %{key}: %{created}' % { key: _manuf, created: JSON.generate(_manuf_create_response) }) end - end # _manuf :id check - end # _manuf is not a VM + # at this point we *must* have the manufacturer ID + if _manuf.fetch(:id, nil)&.nonzero? + + # make sure the desired device type also exists, look it up first + _query = { :offset => 0, + :limit => 1, + :manufacturer_id => _manuf[:id], + :model => default_dtype } + if (_dtypes_response = nb.get('dcim/device-types/', _query).body) && + _dtypes_response.is_a?(Hash) && + (_tmp_dtypes = _dtypes_response.fetch(:results, [])) && + (_tmp_dtypes.length() > 0) + then + _dtype = _tmp_dtypes.first + end + + if _dtype.nil? + # the device type is not found, create it + _dtype_data = { :manufacturer => _manuf[:id], + :model => default_dtype, + :tags => [ @device_tag_autopopulated ], + :slug => default_dtype.to_url } + if (_dtype_create_response = nb.post('dcim/device-types/', _dtype_data.to_json, @nb_headers).body) && + _dtype_create_response.is_a?(Hash) && + _dtype_create_response.has_key?(:id) + then + _dtype = _dtype_create_response + elsif @debug + puts('lookup_or_create_manuf_and_dtype (%{name}: _dtype_create_response: %{result}' % { name: default_dtype, result: JSON.generate(_dtype_create_response) }) + end + end + + end # _manuf :id check + end # _manuf is not a VM + + rescue Faraday::Error => e + # give up aka do nothing + puts "lookup_or_create_manuf_and_dtype (#{oui}): #{e.message}" if @debug + end return _dtype, _manuf @@ -662,8 +687,9 @@ def lookup_prefixes( break end end - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "lookup_prefixes (#{ip_str}): #{e.message}" if @debug end prefixes @@ -700,11 +726,14 @@ def lookup_or_create_role( _role_create_response.has_key?(:id) then _role = _role_create_response + elsif @debug + puts('lookup_or_create_role (%{name}): _role_create_response: %{result}' % { name: role_name, result: JSON.generate(_role_create_response) }) end end - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "lookup_or_create_role (#{role_name}): #{e.message}" if @debug end _role } @@ -784,8 +813,9 @@ def lookup_devices( break end end # while true - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "lookup_devices (#{ip_str}, #{lookup_site}): #{e.message}" if @debug end _devices end @@ -832,7 +862,7 @@ def autopopulate_devices( _autopopulate_role&.fetch(:id, nil)&.nonzero? then - if _autopopulate_manuf[:vm] + if _autopopulate_manuf&.fetch(:vm, false) # a virtual machine _device_name = autopopulate_hostname.to_s.empty? ? "#{_autopopulate_manuf[:name]} @ #{ip_str}" : autopopulate_hostname _device_data = { :name => _device_name, @@ -844,11 +874,13 @@ def autopopulate_devices( _device_create_response.has_key?(:id) then _autopopulate_device = _device_create_response + elsif @debug + puts('autopopulate_devices (VM: %{name}): _device_create_response: %{result}' % { name: _device_name, result: JSON.generate(_device_create_response) }) end else # a regular non-vm device: at this point we *must* have the manufacturer ID and device type ID - if _autopopulate_manuf.fetch(:id, nil)&.nonzero? && + if _autopopulate_manuf&.fetch(:id, nil)&.nonzero? && _autopopulate_dtype&.fetch(:id, nil)&.nonzero? then @@ -872,6 +904,8 @@ def autopopulate_devices( _device_create_response.has_key?(:id) then _autopopulate_device = _device_create_response + elsif @debug + puts('autopopulate_devices (%{name}): _device_create_response: %{result}' % { name: _device_name, result: JSON.generate(_device_create_response) }) end else @@ -888,8 +922,9 @@ def autopopulate_devices( _autopopulate_role = nil end # site and role are valid - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "autopopulate_devices (#{ip_str}): #{e.message}" if @debug end return _autopopulate_device, @@ -936,9 +971,12 @@ def autopopulate_prefixes( :url => _new_prefix_create_response.fetch(:url, nil), :tags => _new_prefix_create_response.fetch(:tags, nil), :details => @verbose ? _new_prefix_create_response : nil } + elsif @debug + puts('autopopulate_prefixes: _new_prefix_create_response: %{result}' % { result: JSON.generate(_device_create_response) }) end - rescue Faraday::Error + rescue Faraday::Error => e # give up aka do nothing + puts "autopopulate_prefixes (#{ip_obj.to_s}): #{e.message}" if @debug end end _prefix_data @@ -968,6 +1006,8 @@ def create_device_interface( _interface_create_reponse.has_key?(:id) then _autopopulate_interface = _interface_create_reponse + elsif @debug + puts('create_device_interface (%{name}): _interface_create_reponse: %{result}' % { name: ip_str, result: JSON.generate(_interface_create_reponse) }) end if !_autopopulate_interface.nil? && _autopopulate_interface.fetch(:id, nil)&.nonzero? @@ -985,6 +1025,8 @@ def create_device_interface( _ip_create_reponse.has_key?(:id) then _autopopulate_ip = _ip_create_reponse + elsif @debug + puts('create_device_interface (%{name}): _ip_create_reponse: %{result}' % { name: _interface_address, result: JSON.generate(_ip_create_reponse) }) end end # check if interface was created and has ID @@ -996,6 +1038,8 @@ def create_device_interface( _ip_primary_reponse.has_key?(:id) then _autopopulate_device = _ip_primary_reponse + elsif @debug + puts('create_device_interface (%{name}): _ip_primary_reponse: %{result}' % { name: _interface_address, result: JSON.generate(_ip_primary_reponse) }) end end # check if the IP address was created and has an ID @@ -1024,6 +1068,7 @@ def netbox_lookup( _autopopulate_default_dtype = (@default_dtype.nil? || @default_dtype.empty?) ? "Unspecified" : @default_dtype _autopopulate_default_site = (@lookup_site.nil? || @lookup_site.empty?) ? "default" : @lookup_site _autopopulate_hostname = event.get("#{@source_hostname}") + _autopopulate_hostname = nil if _autopopulate_hostname.to_s.end_with?('.in-addr.arpa') _autopopulate_mac = event.get("#{@source_mac}") _autopopulate_oui = event.get("#{@source_oui}") @@ -1142,6 +1187,8 @@ def netbox_lookup( # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + elsif @debug + puts('netbox_lookup (%{name}): _patched_device_response: %{result}' % { name: _previous_device_id, result: JSON.generate(_patched_device_response) }) end # _nb.patch succeeded end # check _patched_device_data From b60715d4c27031c3f129d8c1eeeda0c5e71637aa Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 09:35:50 -0600 Subject: [PATCH 79/98] bump transform OSD version to 2.13.0 --- Dockerfiles/dashboards.Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile index 1a4b84340..7e0b7ebed 100644 --- a/Dockerfiles/dashboards.Dockerfile +++ b/Dockerfiles/dashboards.Dockerfile @@ -20,7 +20,7 @@ ENV PUSER_PRIV_DROP true ENV TERM xterm ENV TINI_VERSION v0.19.0 -ENV OSD_TRANSFORM_VIS_VERSION 2.12.0 +ENV OSD_TRANSFORM_VIS_VERSION 2.13.0 ARG NODE_OPTIONS="--max_old_space_size=4096" ENV NODE_OPTIONS $NODE_OPTIONS @@ -39,10 +39,10 @@ RUN yum upgrade -y && \ # Malcolm manages authentication and encryption via NGINX reverse proxy /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin remove securityDashboards --allow-root && \ cd /tmp && \ - unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ - sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ - sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/package.json && \ - zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ + # unzip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ + # sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/opensearch_dashboards.json && \ + # sed -i "s/2\.12\.0/2\.13\.0/g" opensearch-dashboards/transformVis/package.json && \ + # zip transformVis.zip opensearch-dashboards/transformVis/opensearch_dashboards.json opensearch-dashboards/transformVis/package.json && \ cd /usr/share/opensearch-dashboards/plugins && \ /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin install file:///tmp/transformVis.zip --allow-root && \ rm -rf /tmp/transformVis /tmp/opensearch-dashboards && \ From b7c674f2cccde63c2137722d8d19e2edea50d635 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 12:24:49 -0600 Subject: [PATCH 80/98] for idaholab/Malcolm#415, realizing there's an issue with devices vs. VMs --- logstash/ruby/netbox_enrich.rb | 67 ++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 7fe3dc19d..b053d3a55 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -307,22 +307,24 @@ def filter( _tags.any? {|tag| tag[:slug] == @device_tag_autopopulated[:slug]} then _updated_result = nil - if _tags.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} && - _autopopulate_hostname = event.get("#{@source_hostname}") && - !_autopopulate_hostname.to_s.empty? + _autopopulate_hostname = event.get("#{@source_hostname}").to_s + _autopopulate_mac = event.get("#{@source_mac}").to_s.downcase + _autopopulate_oui = event.get("#{@source_oui}").to_s + if ((_tags.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} && + (!_autopopulate_hostname.empty? && !_autopopulate_hostname.end_with?('.in-addr.arpa'))) || + (_tags.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} && + ((!_autopopulate_mac.empty? && (_autopopulate_mac != 'ff:ff:ff:ff:ff:ff') && (_autopopulate_mac != '00:00:00:00:00:00')) || + !_autopopulate_oui.empty?))) then # the hostname-unknown tag is set, but we appear to have a hostname # from the event. we need to update the record in netbox (set the new hostname # from this value and remove the tag) and in the result - _updated_result = netbox_lookup(:event=>event, :ip_key=>ip_key, :previous_result=>_result) - # puts('tried to update (1): %{result}' % { result: JSON.generate(_updated_result) }) - end - if _tags.any? {|tag| tag[:slug] == @device_tag_manufacturer_unknown[:slug]} + # OR # the manufacturer-unknown tag is set, but we appear to have an OUI or MAC address # from the event. we need to update the record in netbox (determine the manufacturer # from this value and remove the tag) and in the result _updated_result = netbox_lookup(:event=>event, :ip_key=>ip_key, :previous_result=>_result) - # puts('tried to update (2): %{result}' % { result: JSON.generate(_updated_result) }) + puts('tried to patch %{name}: %{result}' % { name: ip_key, result: JSON.generate(_updated_result) }) if @debug end _lookup_hash[ip_key] = (_result = _updated_result) if _updated_result end @@ -972,7 +974,7 @@ def autopopulate_prefixes( :tags => _new_prefix_create_response.fetch(:tags, nil), :details => @verbose ? _new_prefix_create_response : nil } elsif @debug - puts('autopopulate_prefixes: _new_prefix_create_response: %{result}' % { result: JSON.generate(_device_create_response) }) + puts('autopopulate_prefixes: _new_prefix_create_response: %{result}' % { result: JSON.generate(_new_prefix_create_response) }) end rescue Faraday::Error => e # give up aka do nothing @@ -1135,9 +1137,9 @@ def netbox_lookup( # get existing tags to update them to remove "unkown-..." values if needed _tags = previous_result.fetch(:tags, nil)&.flatten&.map{ |hash| { slug: hash[:slug] } }&.uniq - # API endpoint is different for VM vs real device - _is_vm = (previous_result.fetch(:device_type, nil)&.flatten&.any? {|dt| dt == @virtual_machine_device_type_name} || - (previous_result.has_key?(:url) && !previous_result[:url]&.empty? && previous_result[:url].any? { |u| u.include? "virtual-machines" })) + # API endpoints are different for VM vs real device + _was_vm = (previous_result.fetch(:device_type, nil)&.flatten&.any? {|dt| dt == @virtual_machine_device_type_name} || + (previous_result.has_key?(:url) && !previous_result[:url]&.empty? && previous_result[:url].any? { |u| u.include? "virtual-machines" })) # get previous device ID (should only be dealing with a single device) _previous_device_id = previous_result.fetch(:id, nil)&.flatten&.uniq @@ -1179,17 +1181,36 @@ def netbox_lookup( end if !_patched_device_data.empty? # we've got changes to make, so do it - _patched_device_data[:tags] = _tags - if (_patched_device_response = _nb.patch("#{_is_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && - _patched_device_response.is_a?(Hash) && - _patched_device_response.has_key?(:id) - then - # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data - # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) - elsif @debug - puts('netbox_lookup (%{name}): _patched_device_response: %{result}' % { name: _previous_device_id, result: JSON.generate(_patched_device_response) }) - end # _nb.patch succeeded + + puts('netbox_lookup patching %{name} (%{id}, VM old/new: %{oldvm}/%{newvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { + name: ip_key, + id: _previous_device_id, + oldvm: _was_vm, + newvm: _is_vm, + tags: _tags.join('|'), + host: _autopopulate_hostname.to_s, + mac: _autopopulate_mac.to_s, + oui: _autopopulate_oui.to_s, + changes: JSON.generate(_patched_device_data) }) if @debug + + # what if we *thought* this was a real device before (created with hostname only) but now we realize it's a VM instead? + _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) + if (_is_vm != _was_vm) + puts('netbox_lookup cannot yet convert between VM and device: %{name}' % {name: ip_key}) if @debug + + else + _patched_device_data[:tags] = _tags + if (_patched_device_response = _nb.patch("#{_was_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && + _patched_device_response.is_a?(Hash) && + _patched_device_response.has_key?(:id) + then + # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data + # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + elsif @debug + puts('netbox_lookup (%{name}): _patched_device_response: %{result}' % { name: _previous_device_id, result: JSON.generate(_patched_device_response) }) + end # _nb.patch succeeded + end # _is_vm vs _was_vm check end # check _patched_device_data end # check previous device ID is valid From 4acf58f3359b76bf9d1aa428c18d786e5f9b51e9 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 13:07:36 -0600 Subject: [PATCH 81/98] for idaholab/Malcolm#415, added debugging for for populating hostnames in netbox --- logstash/ruby/netbox_enrich.rb | 36 ++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index b053d3a55..623dd6482 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -298,6 +298,8 @@ def filter( if !_result.nil? + # we've done a lookup and got (or autopopulated) our answer, however, if this is a device lookup and + # either the hostname-unknown or manufacturer-unknown is set, we should see if we can update it if (_tags = _result.fetch(:tags, nil)) && @autopopulate && (@lookup_type == :ip_device) && @@ -324,7 +326,13 @@ def filter( # from the event. we need to update the record in netbox (determine the manufacturer # from this value and remove the tag) and in the result _updated_result = netbox_lookup(:event=>event, :ip_key=>ip_key, :previous_result=>_result) - puts('tried to patch %{name}: %{result}' % { name: ip_key, result: JSON.generate(_updated_result) }) if @debug + puts('filter tried to patch %{name} for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{result}' % { + name: ip_key, + tags: _tags.map{ |hash| hash[:slug] }.join('|'), + host: _autopopulate_hostname, + mac: _autopopulate_mac, + oui: _autopopulate_oui, + result: JSON.generate(_updated_result) }) if @debug end _lookup_hash[ip_key] = (_result = _updated_result) if _updated_result end @@ -1182,8 +1190,12 @@ def netbox_lookup( if !_patched_device_data.empty? # we've got changes to make, so do it - puts('netbox_lookup patching %{name} (%{id}, VM old/new: %{oldvm}/%{newvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { + # what if we *thought* this was a real device before (created with hostname only) but now we realize it's a VM instead? + _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) + + puts('netbox_lookup patching %{name} @ %{site} (%{id}, VM old/new: %{oldvm}/%{newvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { name: ip_key, + site: [previous_result.fetch(:site, nil)].flatten.uniq.first, id: _previous_device_id, oldvm: _was_vm, newvm: _is_vm, @@ -1193,11 +1205,27 @@ def netbox_lookup( oui: _autopopulate_oui.to_s, changes: JSON.generate(_patched_device_data) }) if @debug - # what if we *thought* this was a real device before (created with hostname only) but now we realize it's a VM instead? - _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) if (_is_vm != _was_vm) + # A device can't have been autopopulated as a VM and then later "become" a device, since the only + # reason we'd have created it as a VM would be because we saw the OUI (from real traffic) in + # @vm_namesarray. However, we could have created a device (without mac/OUI) based on hostname, + # and now only realize that it's actually a VM. If this is the case, we need to create the + # VM and delete the device. puts('netbox_lookup cannot yet convert between VM and device: %{name}' % {name: ip_key}) if @debug + # _device_data = { :name => _patched_device_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, + # :site => _autopopulate_site[:id], + # :tags => _tags, + # :status => @default_status } + # if (_device_create_response = _nb.post('virtualization/virtual-machines/', _device_data.to_json, @nb_headers).body) && + # _device_create_response.is_a?(Hash) && + # _device_create_response.has_key?(:id) + # then + # _autopopulate_device = _device_create_response + # elsif @debug + # puts('autopopulate_devices (VM: %{name}): _device_create_response: %{result}' % { name: _device_name, result: JSON.generate(_device_create_response) }) + # end + else _patched_device_data[:tags] = _tags if (_patched_device_response = _nb.patch("#{_was_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && From 263525b5574841e984de48284cdf2c0906d96496 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 15:22:11 -0600 Subject: [PATCH 82/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 74 ++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 623dd6482..c20c4e496 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -294,7 +294,7 @@ def filter( _key.each do |ip_key| _lookup_hash = @cache_hash.getset(@lookup_type){ LruRedux::TTL::ThreadSafeCache.new(@cache_size, @cache_ttl) } - _result = _lookup_hash.getset(ip_key){ netbox_lookup(:event=>event, :ip_key=>ip_key) } + _result = _lookup_hash.getset(ip_key){ netbox_lookup(:event=>event, :ip_key=>ip_key) }.dup if !_result.nil? @@ -489,7 +489,7 @@ def lookup_or_create_site( puts "lookup_or_create_site (#{site_name}): #{e.message}" if @debug end _site - } + }.dup else nil end @@ -538,7 +538,7 @@ def lookup_manuf( # return the manuf with the highest match # puts('0. %{key}: %{matches}' % { key: _autopopulate_oui_cleaned, matches: JSON.generate(_manufs) })-] !_manufs&.empty? ? _manufs.max_by{|k| k[:match] } : nil - } + }.dup else nil end @@ -746,7 +746,7 @@ def lookup_or_create_role( puts "lookup_or_create_role (#{role_name}): #{e.message}" if @debug end _role - } + }.dup else nil end @@ -1138,6 +1138,7 @@ def netbox_lookup( end # _autopopulate turned on and no results found elsif @autopopulate + ################################################################################# # update with new information on an existing device (i.e., from a previous call to netbox_lookup) _patched_device_data = Hash.new @@ -1151,10 +1152,21 @@ def netbox_lookup( # get previous device ID (should only be dealing with a single device) _previous_device_id = previous_result.fetch(:id, nil)&.flatten&.uniq + + puts('netbox_lookup maybe patching %{name} (%{id}, VM old: %{oldvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}")' % { + name: ip_key, + id: _previous_device_id, + oldvm: _was_vm, + tags: _tags.is_a?(Array) ? _tags.map{ |hash| hash[:slug] }.join('|') : '', + host: _autopopulate_hostname.to_s, + mac: _autopopulate_mac.to_s, + oui: _autopopulate_oui.to_s }) if @debug + if _previous_device_id.is_a?(Array) && (_previous_device_id.length() == 1) && (_previous_device_id = _previous_device_id.first) then + _previous_device_site = [previous_result.fetch(:site, nil)].flatten.uniq.first if !_autopopulate_hostname.to_s.empty? && _tags&.any? {|tag| tag[:slug] == @device_tag_hostname_unknown[:slug]} @@ -1190,12 +1202,13 @@ def netbox_lookup( if !_patched_device_data.empty? # we've got changes to make, so do it + _device_written = false # what if we *thought* this was a real device before (created with hostname only) but now we realize it's a VM instead? _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) puts('netbox_lookup patching %{name} @ %{site} (%{id}, VM old/new: %{oldvm}/%{newvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { name: ip_key, - site: [previous_result.fetch(:site, nil)].flatten.uniq.first, + site: _previous_device_site, id: _previous_device_id, oldvm: _was_vm, newvm: _is_vm, @@ -1205,40 +1218,51 @@ def netbox_lookup( oui: _autopopulate_oui.to_s, changes: JSON.generate(_patched_device_data) }) if @debug - if (_is_vm != _was_vm) + if (_was_vm == false) && (_is_vm == true) # A device can't have been autopopulated as a VM and then later "become" a device, since the only # reason we'd have created it as a VM would be because we saw the OUI (from real traffic) in # @vm_namesarray. However, we could have created a device (without mac/OUI) based on hostname, # and now only realize that it's actually a VM. If this is the case, we need to create the # VM and delete the device. - puts('netbox_lookup cannot yet convert between VM and device: %{name}' % {name: ip_key}) if @debug - - # _device_data = { :name => _patched_device_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, - # :site => _autopopulate_site[:id], - # :tags => _tags, - # :status => @default_status } - # if (_device_create_response = _nb.post('virtualization/virtual-machines/', _device_data.to_json, @nb_headers).body) && - # _device_create_response.is_a?(Hash) && - # _device_create_response.has_key?(:id) - # then - # _autopopulate_device = _device_create_response - # elsif @debug - # puts('autopopulate_devices (VM: %{name}): _device_create_response: %{result}' % { name: _device_name, result: JSON.generate(_device_create_response) }) - # end - - else + _vm_data = { :name => _patched_vm_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, + :site => _previous_device_site, + :tags => _tags, + :status => @default_status } + if (_vm_create_response = _nb.post('virtualization/virtual-machines/', _vm_data.to_json, @nb_headers).body) && + _vm_create_response.is_a?(Hash) && + _vm_create_response.has_key?(:id) + then + _device_written = true + _autopopulate_device = _vm_create_response + # we've created the device as a VM, create_device_interface will be called below to create its interface + + # now delete the old device entry + _old_device_delete_response = _nb.delete("dcim/devices/#{_previous_device_id}/") + puts('netbox_lookup (%{name}: dev.%{oldid} -> vm.%{newid}): _old_device_delete_response: %{result}' % { + name: _vm_data[:name], + oldid: _previous_device_id, + newid: _vm_create_response[:id], + result: JSON.generate(_old_device_delete_response) }) if @debug + elsif @debug + puts('netbox_lookup (%{name}): _vm_create_response: %{result}' % { name: _vm_data[:name], result: JSON.generate(_vm_create_response) }) + end + + elsif (_is_vm == _was_vm) _patched_device_data[:tags] = _tags if (_patched_device_response = _nb.patch("#{_was_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && _patched_device_response.is_a?(Hash) && _patched_device_response.has_key?(:id) then - # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data - # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + _device_written = true elsif @debug puts('netbox_lookup (%{name}): _patched_device_response: %{result}' % { name: _previous_device_id, result: JSON.generate(_patched_device_response) }) end # _nb.patch succeeded end # _is_vm vs _was_vm check + + # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data + # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) if _device_written + end # check _patched_device_data end # check previous device ID is valid From fad73723c50a6393460111dfae9262a331a504e9 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 15:38:01 -0600 Subject: [PATCH 83/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index c20c4e496..236cae972 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1200,30 +1200,30 @@ def netbox_lookup( _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} end - if !_patched_device_data.empty? # we've got changes to make, so do it - + # We could have created a device (without mac/OUI) based on hostname, and now only realize that + # it's actually a VM. However, a device can't have been autopopulated as a VM and then later + # "become" a device, since the only reason we'd have created it as a VM would be because + # we saw the OUI (from real traffic) in @vm_namesarray in the first place. + _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) + _device_to_vm = ((_was_vm == false) && (_is_vm == true)) + + if !_patched_device_data.empty? || _device_to_vm + # we've got changes to make, so do it _device_written = false - # what if we *thought* this was a real device before (created with hostname only) but now we realize it's a VM instead? - _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) - puts('netbox_lookup patching %{name} @ %{site} (%{id}, VM old/new: %{oldvm}/%{newvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { + puts('netbox_lookup patching %{name} @ %{site} (%{id}, dev->vm: %{dev2vm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { name: ip_key, site: _previous_device_site, id: _previous_device_id, - oldvm: _was_vm, - newvm: _is_vm, + dev2vm: _device_to_vm, tags: _tags.join('|'), host: _autopopulate_hostname.to_s, mac: _autopopulate_mac.to_s, oui: _autopopulate_oui.to_s, changes: JSON.generate(_patched_device_data) }) if @debug - if (_was_vm == false) && (_is_vm == true) - # A device can't have been autopopulated as a VM and then later "become" a device, since the only - # reason we'd have created it as a VM would be because we saw the OUI (from real traffic) in - # @vm_namesarray. However, we could have created a device (without mac/OUI) based on hostname, - # and now only realize that it's actually a VM. If this is the case, we need to create the - # VM and delete the device. + if _device_to_vm + # you can't "convert" a device to a VM, so we have to create a new VM then delete the old device _vm_data = { :name => _patched_vm_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, :site => _previous_device_site, :tags => _tags, @@ -1248,6 +1248,7 @@ def netbox_lookup( end elsif (_is_vm == _was_vm) + # the type of object (vm vs. device) is the same as it was before, so we're just doing an update _patched_device_data[:tags] = _tags if (_patched_device_response = _nb.patch("#{_was_vm ? 'virtualization/virtual-machines' : 'dcim/devices'}/#{_previous_device_id}/", _patched_device_data.to_json, @nb_headers).body) && _patched_device_response.is_a?(Hash) && @@ -1261,10 +1262,11 @@ def netbox_lookup( # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) if _device_written + if _device_written + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) + end #_device_written end # check _patched_device_data - end # check previous device ID is valid end # check on previous_result function argument From faabbcf92cbe81a822f3476ee7162b3b168da362 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 15:52:32 -0600 Subject: [PATCH 84/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 236cae972..41d50362e 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1200,23 +1200,23 @@ def netbox_lookup( _tags = _tags.filter{|tag| tag[:slug] != @device_tag_manufacturer_unknown[:slug]} end - # We could have created a device (without mac/OUI) based on hostname, and now only realize that + # We could have created a device (without mac/OUI) based on hostname, and now only realize that # it's actually a VM. However, a device can't have been autopopulated as a VM and then later # "become" a device, since the only reason we'd have created it as a VM would be because # we saw the OUI (from real traffic) in @vm_namesarray in the first place. - _is_vm = _autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) + _is_vm = _was_vm || (_autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) _device_to_vm = ((_was_vm == false) && (_is_vm == true)) if !_patched_device_data.empty? || _device_to_vm # we've got changes to make, so do it _device_written = false - puts('netbox_lookup patching %{name} @ %{site} (%{id}, dev->vm: %{dev2vm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { + puts('netbox_lookup patching %{name} @ %{site} (%{id}, VM: %{wasvm}->%{isvm}) ("%{host}", "%{mac}", "%{oui}"): %{changes}' % { name: ip_key, site: _previous_device_site, id: _previous_device_id, - dev2vm: _device_to_vm, - tags: _tags.join('|'), + wasvm: _was_vm, + isvm: _is_vm, host: _autopopulate_hostname.to_s, mac: _autopopulate_mac.to_s, oui: _autopopulate_oui.to_s, @@ -1262,11 +1262,10 @@ def netbox_lookup( # we've made the change to netbox, do a call to lookup_devices to get the formatted/updated data # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) - if _device_written - _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) - end #_device_written + _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) if _device_written end # check _patched_device_data + end # check previous device ID is valid end # check on previous_result function argument From 57c21bc7c6e0de66967bbfe2b6401b67fb329671 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 15:55:08 -0600 Subject: [PATCH 85/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 41d50362e..f13c484fe 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1204,7 +1204,7 @@ def netbox_lookup( # it's actually a VM. However, a device can't have been autopopulated as a VM and then later # "become" a device, since the only reason we'd have created it as a VM would be because # we saw the OUI (from real traffic) in @vm_namesarray in the first place. - _is_vm = _was_vm || (_autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true) + _is_vm = _was_vm || (_autopopulate_manuf.is_a?(Hash) && (_autopopulate_manuf.fetch(:vm, false) == true)) _device_to_vm = ((_was_vm == false) && (_is_vm == true)) if !_patched_device_data.empty? || _device_to_vm @@ -1264,7 +1264,7 @@ def netbox_lookup( # (yeah, this is a *little* inefficient, but this should really only happen one extra time per device at most) _devices = lookup_devices(ip_key, @lookup_site, _lookup_service_port, @netbox_url_base, @netbox_url_suffix, _nb) if _device_written - end # check _patched_device_data + end # check _patched_device_data, _device_to_vm end # check previous device ID is valid end # check on previous_result function argument From 197c4a16c9a99a50526d3cb6176ba8956aafa23e Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Thu, 25 Apr 2024 16:01:55 -0600 Subject: [PATCH 86/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index f13c484fe..bdebcd305 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1224,7 +1224,7 @@ def netbox_lookup( if _device_to_vm # you can't "convert" a device to a VM, so we have to create a new VM then delete the old device - _vm_data = { :name => _patched_vm_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, + _vm_data = { :name => _patched_device_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, :site => _previous_device_site, :tags => _tags, :status => @default_status } From 2e16a9d7c6c2e8609de2a60633abbb422b46b412 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 26 Apr 2024 08:22:02 -0600 Subject: [PATCH 87/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- logstash/ruby/netbox_enrich.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index bdebcd305..443c5ef5b 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1225,7 +1225,9 @@ def netbox_lookup( if _device_to_vm # you can't "convert" a device to a VM, so we have to create a new VM then delete the old device _vm_data = { :name => _patched_device_data.fetch(:name, [previous_result.fetch(:name, nil)])&.flatten&.uniq.first, - :site => _previous_device_site, + :site => ((_previous_device_site_obj = lookup_or_create_site(_previous_device_site, _nb)) && + _previous_device_site_obj.is_a?(Hash) && + _previous_device_site_obj.has_key?(:id)) ? _previous_device_site_obj[:id] : { :slug => _previous_device_site.to_url }, :tags => _tags, :status => @default_status } if (_vm_create_response = _nb.post('virtualization/virtual-machines/', _vm_data.to_json, @nb_headers).body) && @@ -1238,11 +1240,11 @@ def netbox_lookup( # now delete the old device entry _old_device_delete_response = _nb.delete("dcim/devices/#{_previous_device_id}/") - puts('netbox_lookup (%{name}: dev.%{oldid} -> vm.%{newid}): _old_device_delete_response: %{result}' % { + puts('netbox_lookup (%{name}: dev.%{oldid} -> vm.%{newid}): _old_device_delete_response: %{success}' % { name: _vm_data[:name], oldid: _previous_device_id, newid: _vm_create_response[:id], - result: JSON.generate(_old_device_delete_response) }) if @debug + success: _old_device_delete_response.success? }) if @debug elsif @debug puts('netbox_lookup (%{name}): _vm_create_response: %{result}' % { name: _vm_data[:name], result: JSON.generate(_vm_create_response) }) end From 653a644b7b636269f3d5425ff1b1339909455b7b Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 26 Apr 2024 08:35:28 -0600 Subject: [PATCH 88/98] make debug just a bit less verbose --- logstash/ruby/netbox_enrich.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/logstash/ruby/netbox_enrich.rb b/logstash/ruby/netbox_enrich.rb index 443c5ef5b..1a7d07684 100644 --- a/logstash/ruby/netbox_enrich.rb +++ b/logstash/ruby/netbox_enrich.rb @@ -1153,14 +1153,14 @@ def netbox_lookup( # get previous device ID (should only be dealing with a single device) _previous_device_id = previous_result.fetch(:id, nil)&.flatten&.uniq - puts('netbox_lookup maybe patching %{name} (%{id}, VM old: %{oldvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}")' % { - name: ip_key, - id: _previous_device_id, - oldvm: _was_vm, - tags: _tags.is_a?(Array) ? _tags.map{ |hash| hash[:slug] }.join('|') : '', - host: _autopopulate_hostname.to_s, - mac: _autopopulate_mac.to_s, - oui: _autopopulate_oui.to_s }) if @debug + # puts('netbox_lookup maybe patching %{name} (%{id}, VM old: %{oldvm}) for "%{tags}" ("%{host}", "%{mac}", "%{oui}")' % { + # name: ip_key, + # id: _previous_device_id, + # oldvm: _was_vm, + # tags: _tags.is_a?(Array) ? _tags.map{ |hash| hash[:slug] }.join('|') : '', + # host: _autopopulate_hostname.to_s, + # mac: _autopopulate_mac.to_s, + # oui: _autopopulate_oui.to_s }) if @debug if _previous_device_id.is_a?(Array) && (_previous_device_id.length() == 1) && From df9123a77498138792f3d811b437c9451c516f6b Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 26 Apr 2024 08:54:15 -0600 Subject: [PATCH 89/98] bump arkime to v5.1.2 (https://github.com/arkime/arkime/releases) --- Dockerfiles/arkime.Dockerfile | 2 +- hedgehog-iso/arkime/Dockerfile | 2 +- hedgehog-raspi/sensor_install.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile index 74db6fd1a..bdcfc335b 100644 --- a/Dockerfiles/arkime.Dockerfile +++ b/Dockerfiles/arkime.Dockerfile @@ -7,7 +7,7 @@ ENV TERM xterm ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -ENV ARKIME_VERSION "v5.1.0" +ENV ARKIME_VERSION "v5.1.2" ENV ARKIME_DIR "/opt/arkime" ENV ARKIME_URL "https://github.com/arkime/arkime.git" ENV ARKIME_LOCALELASTICSEARCH no diff --git a/hedgehog-iso/arkime/Dockerfile b/hedgehog-iso/arkime/Dockerfile index e66b161f8..6e72fc713 100644 --- a/hedgehog-iso/arkime/Dockerfile +++ b/hedgehog-iso/arkime/Dockerfile @@ -6,7 +6,7 @@ LABEL maintainer="malcolm@inl.gov" ENV DEBIAN_FRONTEND noninteractive -ENV ARKIME_VERSION "5.1.0" +ENV ARKIME_VERSION "5.1.2" ENV ARKIME_DIR "/opt/arkime" RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sources && \ diff --git a/hedgehog-raspi/sensor_install.sh b/hedgehog-raspi/sensor_install.sh index 9c22a0a1d..548069db8 100644 --- a/hedgehog-raspi/sensor_install.sh +++ b/hedgehog-raspi/sensor_install.sh @@ -32,7 +32,7 @@ SHARED_DIR='/opt/buildshared' WORK_DIR="$(mktemp -d -t hedgehog-XXXXXX)" SENSOR_DIR='/opt/sensor' -ARKIME_VERSION="5.1.0" +ARKIME_VERSION="5.1.2" BEATS_VER="8.13.2" BEATS_OSS="-oss" From 41f8bd63fbbf1fea016bace3f8e958969a596b33 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 26 Apr 2024 11:42:37 -0600 Subject: [PATCH 90/98] for idaholab/Malcolm#415, work in progress on converting devices -> vms --- .../2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 4 +- logstash/pipelines/enrichment/21_netbox.conf | 102 +++++++++--------- 2 files changed, 55 insertions(+), 51 deletions(-) diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index 403f16059..cfe10cc20 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -260,7 +260,7 @@ "version": "WzMzNSwxXQ==", "attributes": { "title": "DHCP - IP to MAC Assignment", - "visState": "{\"title\":\"DHCP - IP to MAC Assignment\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"zeek.dhcp.assigned_ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Assigned IP Address\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"zeek.dhcp.mac\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"MAC Address\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"source.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Source IP Address\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"destination.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Destination IP Address\"}}]}", + "visState": "{\"title\":\"DHCP - IP to MAC Assignment\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"zeek.dhcp.assigned_ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Assigned IP Address\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"source.mac\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"MAC Address\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"source.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Source IP Address\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"destination.ip\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":100,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Destination IP Address\"}}]}", "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", "description": "", "version": 1, @@ -353,7 +353,7 @@ "description": "", "hits": 0, "columns": [ - "zeek.dhcp.mac", + "source.mac", "zeek.dhcp.assigned_ip", "destination.ip", "zeek.dhcp.host_name", diff --git a/logstash/pipelines/enrichment/21_netbox.conf b/logstash/pipelines/enrichment/21_netbox.conf index bfc240131..72b5be7d6 100644 --- a/logstash/pipelines/enrichment/21_netbox.conf +++ b/logstash/pipelines/enrichment/21_netbox.conf @@ -63,38 +63,16 @@ filter { } } - if ([zeek][ntlm][hostname]) and ([source][ip]) { - ruby { - id => "ruby_netbox_enrich_ntlm_hostname_to_ip" - path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" - script_params => { - "lookup_type" => "ip_device" - "source" => "[source][ip]" - "source_hostname" => "[zeek][ntlm][hostname]" - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" - "debug_env" => "NETBOX_ENRICHMENT_DEBUG" - "lookup_site_env" => "NETBOX_DEFAULT_SITE" - "netbox_token_env" => "SUPERUSER_API_TOKEN" - "cache_size_env" => "NETBOX_CACHE_SIZE" - "cache_ttl_env" => "NETBOX_CACHE_TTL" - "autopopulate_env" => "NETBOX_AUTO_POPULATE" - "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" - "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" - "default_role_env" => "NETBOX_DEFAULT_ROLE" - } - } - } + if ([zeek][ntlm]) { - if ([zeek][ntlm]) and ([destination][ip]) { - if ([zeek][ntlm][server_nb_computer_name]) { + if ([zeek][ntlm][host]) and ([source][ip]) { ruby { - id => "ruby_netbox_enrich_ntlm_server_nb_computer_name_to_ip" + id => "ruby_netbox_enrich_ntlm_host_to_ip" path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" script_params => { "lookup_type" => "ip_device" - "source" => "[destination][ip]" - "source_hostname" => "[zeek][ntlm][server_nb_computer_name]" + "source" => "[source][ip]" + "source_hostname" => "[zeek][ntlm][host]" "enabled_env" => "NETBOX_ENRICHMENT" "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" "debug_env" => "NETBOX_ENRICHMENT_DEBUG" @@ -108,31 +86,57 @@ filter { "default_role_env" => "NETBOX_DEFAULT_ROLE" } } - } else if ([zeek][ntlm][server_dns_computer_name]) { - ruby { - id => "ruby_netbox_enrich_ntlm_server_dns_computer_name_to_ip" - path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" - script_params => { - "lookup_type" => "ip_device" - "source" => "[destination][ip]" - "source_hostname" => "[zeek][ntlm][server_dns_computer_name]" - "enabled_env" => "NETBOX_ENRICHMENT" - "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" - "debug_env" => "NETBOX_ENRICHMENT_DEBUG" - "lookup_site_env" => "NETBOX_DEFAULT_SITE" - "netbox_token_env" => "SUPERUSER_API_TOKEN" - "cache_size_env" => "NETBOX_CACHE_SIZE" - "cache_ttl_env" => "NETBOX_CACHE_TTL" - "autopopulate_env" => "NETBOX_AUTO_POPULATE" - "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" - "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" - "default_role_env" => "NETBOX_DEFAULT_ROLE" + } # ([zeek][ntlm][host]) and ([source][ip]) + + if ([destination][ip]) { + if ([zeek][ntlm][server_nb_computer]) { + ruby { + id => "ruby_netbox_enrich_ntlm_server_nb_computer_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "source" => "[destination][ip]" + "source_hostname" => "[zeek][ntlm][server_nb_computer]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } + } + } else if ([zeek][ntlm][server_dns_computer]) { + ruby { + id => "ruby_netbox_enrich_ntlm_server_dns_computer_to_ip" + path => "/usr/share/logstash/malcolm-ruby/netbox_enrich.rb" + script_params => { + "lookup_type" => "ip_device" + "source" => "[destination][ip]" + "source_hostname" => "[zeek][ntlm][server_dns_computer]" + "enabled_env" => "NETBOX_ENRICHMENT" + "verbose_env" => "NETBOX_ENRICHMENT_VERBOSE" + "debug_env" => "NETBOX_ENRICHMENT_DEBUG" + "lookup_site_env" => "NETBOX_DEFAULT_SITE" + "netbox_token_env" => "SUPERUSER_API_TOKEN" + "cache_size_env" => "NETBOX_CACHE_SIZE" + "cache_ttl_env" => "NETBOX_CACHE_TTL" + "autopopulate_env" => "NETBOX_AUTO_POPULATE" + "default_manuf_env" => "NETBOX_DEFAULT_MANUFACTURER" + "default_dtype_env" => "NETBOX_DEFAULT_DEVICE_TYPE" + "default_role_env" => "NETBOX_DEFAULT_ROLE" + } } } - } - } + } # [destination][ip] + } # ntlm + - if ([zeek][dhcp][assigned_addr]) { + if ([zeek][dhcp][assigned_ip]) { if ([zeek][dhcp][client_fqdn]) { ruby { id => "ruby_netbox_enrich_dhcp_client_fqdn_to_ip" From 8ca5572ac1d965a3aa635023702858639a11e270 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Fri, 26 Apr 2024 12:33:14 -0600 Subject: [PATCH 91/98] fix verbosity of logs for netbox --- scripts/malcolm_common.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/malcolm_common.py b/scripts/malcolm_common.py index 326842b93..b0a45bee0 100644 --- a/scripts/malcolm_common.py +++ b/scripts/malcolm_common.py @@ -739,7 +739,7 @@ def DownloadToFile(url, local_filename, debug=False): | failed\s+to\s+get\s+tcp6?\s+stats\s+from\s+/proc | GET\s+/(_cat/health|api/status|sessions2-|arkime_\w+).+HTTP/[\d\.].+\b200\b | GET\s+/\s+.+\b200\b.+ELB-HealthChecker - | (GET|POST|PATCH)\s+/netbox/.+HTTP/[\d\.].+\b20[01]\b + | (GET|POST|PATCH|DELETE)\s+/netbox/.+HTTP/[\d\.]+.+\b20[\d]\b | (GET|POST)\s+/(fields|get|valueActions|views|fieldActions)\b.+bytes\s+[\d\.]+\s+ms | loaded\s+config\s+'/etc/netbox/config/ | LOG:\s+checkpoint\s+(complete|starting) From 354060b2ea4e2dff33899efb0fbf461c42bfeb6e Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 07:38:09 -0600 Subject: [PATCH 92/98] fluent bit 3.0.3 --- scripts/third-party-logs/fluent-bit-setup.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/third-party-logs/fluent-bit-setup.ps1 b/scripts/third-party-logs/fluent-bit-setup.ps1 index bc0eb9c3f..8bc7af735 100644 --- a/scripts/third-party-logs/fluent-bit-setup.ps1 +++ b/scripts/third-party-logs/fluent-bit-setup.ps1 @@ -9,7 +9,7 @@ ############################################################################### $fluent_bit_version = '3.0' -$fluent_bit_full_version = '3.0.2' +$fluent_bit_full_version = '3.0.3' ############################################################################### # select an item from a menu provided in an array From d348266c3367fdda81edc691e1bb04a39a38b990 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 13:10:09 -0600 Subject: [PATCH 93/98] work in progress for idaholab/Malcolm#208, improvements to creation of templates, component templates, and dashboards on startup --- Dockerfiles/dashboards-helper.Dockerfile | 2 +- .../024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 4 +- .../03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 4 +- .../05e3e000-f118-11e9-acda-83a8e29e1a24.json | 4 +- .../078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 4 +- .../0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 4 +- .../0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 4 +- .../0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 4 +- .../0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json | 4 +- .../11be6381-beef-40a7-bdce-88c5398392fc.json | 4 +- .../11ddd980-e388-11e9-b568-cf17de8e860c.json | 4 +- .../12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json | 4 +- .../152f29dc-51a2-4f53-93e9-6e92765567b8.json | 4 +- .../1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 4 +- .../1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 4 +- .../29a1b290-eb98-11e9-a384-0fcf32210194.json | 4 +- .../2bec1490-eb94-11e9-a384-0fcf32210194.json | 4 +- .../2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 4 +- .../2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json | 4 +- .../2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 4 +- .../32587740-ef88-11e9-b38a-2db3ee640e88.json | 4 +- .../36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json | 4 +- .../37041ee1-79c0-4684-a436-3173b0e89876.json | 4 +- .../39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../42e831b9-41a9-4f35-8b7d-e1566d368773.json | 4 +- .../432af556-c5c0-4cc3-8166-b274b4e3a406.json | 4 +- .../4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 4 +- .../4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 4 +- .../4e5f106e-c60a-4226-8f64-d534abb912ab.json | 4 +- .../50ced171-1b10-4c3f-8b67-2db9635661a6.json | 4 +- .../543118a9-02d7-43fe-b669-b8652177fc37.json | 4 +- .../55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 4 +- .../60d78fbd-471c-4f59-a9e3-189b33a13644.json | 4 +- .../665d1610-523d-11e9-a30e-e3576242f3ed.json | 4 +- .../677ee170-809e-11ed-8d5b-07069f823b6f.json | 4 +- .../76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 4 +- .../77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 4 +- .../7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 4 +- .../82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 4 +- .../870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 4 +- .../87a32f90-ef58-11e9-974e-9d600036d105.json | 4 +- .../87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 4 +- .../89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 4 +- .../92985909-dc29-4533-9e80-d3182a0ecf1d.json | 4 +- .../95479950-41f2-11ea-88fa-7151df485405.json | 4 +- .../9ee51f94-3316-4fc5-bd89-93a52af69714.json | 4 +- .../a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 4 +- .../a7514350-eba6-11e9-a384-0fcf32210194.json | 4 +- .../abdd7550-2c7c-40dc-947e-f6d186a158c4.json | 4 +- .../ae79b7d1-4281-4095-b2f6-fa7eafda9970.json | 4 +- .../af5df620-eeb6-11e9-bdef-65a192b7f586.json | 4 +- .../b50c8d17-6ed3-4de6-aed4-5181032810b2.json | 4 +- .../b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 4 +- .../bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 4 +- .../0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json | 2 +- .../3768ef70-d819-11ee-820d-dd9fd73a3921.json | 4 +- .../4ca94c70-d7da-11ee-9ed3-e7afff29e59a.json | 4 +- .../79202ee0-d811-11ee-820d-dd9fd73a3921.json | 4 +- .../7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json | 4 +- .../903f42c0-f634-11ec-828d-2fb7a4a26e1f.json | 4 +- .../dashboards/beats/Filebeat-nginx-logs.json | 7 +- .../beats/Filebeat-nginx-overview.json | 4 +- .../beats/Metricbeat-host-overview.json | 4 +- .../beats/Metricbeat-system-overview.json | 4 +- .../f6600310-9943-11ee-a029-e973f4774355.json | 4 +- .../bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 4 +- .../bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 4 +- .../c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 4 +- .../ca5799a0-56b5-11eb-b749-576de068f8ad.json | 4 +- .../caef3ade-d289-4d05-a511-149f3e97f238.json | 4 +- .../d2dd0180-06b1-11ec-8c6b-353266ade330.json | 4 +- .../d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 4 +- .../d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 4 +- .../dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 4 +- .../e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 4 +- .../e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 4 +- .../ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 4 +- .../f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 4 +- .../f394057d-1b16-4174-b994-7045f423a416.json | 4 +- .../f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 4 +- .../fa141950-ef89-11e9-b38a-2db3ee640e88.json | 4 +- .../fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 4 +- dashboards/scripts/docker_entrypoint.sh | 2 + ...ons-index.sh => shared-object-creation.sh} | 210 ++++++++++++++---- 88 files changed, 338 insertions(+), 217 deletions(-) rename dashboards/scripts/{create-arkime-sessions-index.sh => shared-object-creation.sh} (52%) diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index 3286b7b37..e9af4c061 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -95,7 +95,7 @@ RUN apk update --no-cache && \ /opt/templates && \ chmod 755 /data/*.sh /data/*.py /data/init && \ chmod 400 /opt/maps/* && \ - (echo -e "*/2 * * * * /data/create-arkime-sessions-index.sh\n0 10 * * * /data/index-refresh.py --index MALCOLM_NETWORK_INDEX_PATTERN --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index MALCOLM_OTHER_INDEX_PATTERN --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB}) + (echo -e "*/2 * * * * /data/shared-object-creation.sh\n0 10 * * * /data/index-refresh.py --index MALCOLM_NETWORK_INDEX_PATTERN --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index MALCOLM_OTHER_INDEX_PATTERN --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB}) EXPOSE $OFFLINE_REGION_MAPS_PORT diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json index 8c6ea75d6..8f7da041a 100644 --- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json +++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-10-12T18:27:47.478Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzg4MywxXQ==", "attributes": { "title": "X.509", @@ -608,4 +608,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json index 830b701bf..f445b4a93 100644 --- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json +++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-05-10T16:42:42.241Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEyMTAsMV0=", "attributes": { "title": "GENISYS", @@ -381,4 +381,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json index d7f067053..4c106482e 100644 --- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json +++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-05-11T13:57:03.753Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE1OTcsMV0=", "attributes": { "title": "LDAP", @@ -478,4 +478,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json index 5f58138a1..4b746f808 100644 --- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json +++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T15:29:57.350Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE5MDYsMV0=", "attributes": { "title": "FTP", @@ -382,4 +382,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json index 2a6bfa266..287971fc9 100644 --- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json +++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-11-16T21:13:35.008Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEzMzEsMV0=", "attributes": { "title": "PE", @@ -389,4 +389,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index 75ddb6bdd..9e911124e 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-05-04T20:30:33.149Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEzNjIsMV0=", "attributes": { "title": "Overview", @@ -467,4 +467,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json index a35d26d64..1055983d2 100644 --- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json +++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:10.810Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEzMSwxXQ==", "attributes": { "title": "Connections - Destination - Top Connection Duration", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json index 2a17f5301..f66753a14 100644 --- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json +++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:02:01.961Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzMxNDEsMV0=", "attributes": { "title": "SIP", @@ -524,4 +524,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json index b9a5a8126..d4e930578 100644 --- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json +++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T19:07:48.772Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM4MjQsMV0=", "attributes": { "title": "Tunnels", @@ -349,4 +349,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json index b277bfedb..87707105f 100644 --- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json +++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T16:02:59.762Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIzNjUsMV0=", "attributes": { "title": "QUIC", @@ -383,4 +383,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json index ebed9bfb7..4e1b49d2b 100644 --- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json +++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-10-25T21:21:24.534Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzkwNiwxXQ==", "attributes": { "title": "ICS Best Guess", @@ -338,4 +338,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json index 09deb82f8..4ce8a4986 100644 --- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json +++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-11-10T19:05:19.809Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1NywxXQ==", "attributes": { "title": "Modbus", @@ -848,4 +848,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json index 81b246aa5..a5acadef3 100644 --- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json +++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-11-30T18:12:05.004Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE0MDYsMV0=", "attributes": { "title": "OSPF", @@ -419,4 +419,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json index b8206ee94..7a8144e6b 100644 --- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:16.017Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIzOCwxXQ==", "attributes": { "title": "Connections - Source - Sum of Total Bytes (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json index 758b41493..56d07e97b 100644 --- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json +++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-05-04T17:52:19.656Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE2MSwxXQ==", "attributes": { "title": "Zeek Weird", @@ -278,4 +278,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json index 1917c8766..699d27535 100644 --- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-02-14T15:38:50.396Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwNDMsMV0=", "attributes": { "title": "EtherNet/IP", @@ -526,4 +526,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json index 8f9f90ff6..e0839bf26 100644 --- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-07-18T21:25:43.221Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1NiwxXQ==", "attributes": { "title": "BACnet", @@ -585,4 +585,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json index afeba696d..4a86908eb 100644 --- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json +++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-04-26T19:48:24.081Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1MSwxXQ==", "attributes": { "title": "Synchrophasor", @@ -638,4 +638,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json index 9283cd75d..0e7b1f874 100644 --- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json +++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-05-11T14:11:53.521Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE3OTQsMV0=", "attributes": { "title": "DNS", @@ -522,4 +522,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index cfe10cc20..cfe29e051 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:21.144Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzMyOCwxXQ==", "attributes": { "title": "DHCP", @@ -386,4 +386,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json index 486cfa584..12fb191c4 100644 --- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:52:27.963Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM2NDEsMV0=", "attributes": { "title": "Tabular Data Stream - RPC", @@ -278,4 +278,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json index 379ddd8b6..2a24f8c6f 100644 --- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json +++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-01-12T18:32:51.293Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwMjMsMV0=", "attributes": { "title": "Zeek Intelligence", @@ -455,4 +455,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json index 7bcce0a43..4af306a73 100644 --- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json +++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-11-14T19:40:46.803Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1NCwxXQ==", "attributes": { "title": "HTTP", @@ -656,4 +656,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json index 0494646a7..8ab4c8316 100644 --- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:25.340Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzQxNCwxXQ==", "attributes": { "title": "Connections - Source - Top Connection Duration (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json index 431a69e37..4c8648984 100644 --- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json +++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-11-12T20:12:35.920Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEyMzMsMV0=", "attributes": { "title": "SMB", @@ -531,4 +531,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json index d6e17e227..28a8701da 100644 --- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json +++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T15:16:14.488Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE4MjcsMV0=", "attributes": { "title": "DCE/RPC", @@ -454,4 +454,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json index a9c3d9f39..b3f97f28b 100644 --- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json +++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-05-11T19:19:14.565Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzE1OTcsMV0=", "attributes": { "title": "EtherCAT", @@ -352,4 +352,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json index 43b5060a6..3dc0fcd3c 100644 --- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json +++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:28.484Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzQ0OCwxXQ==", "attributes": { "title": "ICS/IoT Security Overview", @@ -504,4 +504,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json index 367b791b7..7233c114b 100644 --- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json +++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-11-14T19:36:48.975Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1MiwxXQ==", "attributes": { "title": "SNMP", @@ -377,4 +377,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json index 57d8d5167..393cf9b03 100644 --- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json +++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T15:59:01.107Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIzMTEsMV0=", "attributes": { "title": "MySQL", @@ -243,4 +243,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json index 18437071d..7e0fa30c3 100644 --- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json +++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T15:55:44.537Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIyNDcsMV0=", "attributes": { "title": "NTLM", @@ -456,4 +456,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json index bb8112815..36af6edf3 100644 --- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:32.623Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzQ5MiwxXQ==", "attributes": { "title": "Connections - Destination - Originator Bytes (region map)", @@ -135,4 +135,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index b7819873a..f4adf4eb5 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-01-08T22:17:37.689Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1MSwxXQ==", "attributes": { "title": "Suricata Alerts", @@ -449,4 +449,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json index 41106a81e..3a7cd647f 100644 --- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json +++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:33.654Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzQ5NiwxXQ==", "attributes": { "title": "Connections - Destination - Sum of Total Bytes", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json index 76adbfa48..3e8662243 100644 --- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json +++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-05-04T18:24:09.052Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzExNTEsMV0=", "attributes": { "title": "Signatures", @@ -311,4 +311,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json index 73790187f..eed00cbbe 100644 --- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json +++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-11-14T20:55:46.977Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1MSwxXQ==", "attributes": { "title": "Asset Interaction Analysis", @@ -629,4 +629,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json index acc870ea1..86a365dd9 100644 --- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json +++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:36.060Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzUwOSwxXQ==", "attributes": { "title": "IRC", @@ -349,4 +349,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json index 0086705a9..1249ff6ec 100644 --- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:37.074Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzUxOSwxXQ==", "attributes": { "title": "Connections - Destination - Responder Bytes (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json index 5102c24a3..b96a1c91a 100644 --- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json +++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T16:29:37.280Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzI4NjEsMV0=", "attributes": { "title": "RDP", @@ -421,4 +421,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json index 532bab29e..1c0850afb 100644 --- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json +++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-10-12T14:50:34.705Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzg4MCwxXQ==", "attributes": { "title": "SSL", @@ -708,4 +708,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json index b53c6fb58..07761f046 100644 --- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json +++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T15:46:19.291Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIxMjUsMV0=", "attributes": { "title": "Kerberos", @@ -524,4 +524,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json index 1e4e7d37c..9dc23a03f 100644 --- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json +++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:41.140Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzU3NCwxXQ==", "attributes": { "title": "DNP3", @@ -512,4 +512,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json index 2f145ac22..bb9f14d4a 100644 --- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json +++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:42.154Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzU4OCwxXQ==", "attributes": { "title": "MQTT", @@ -546,4 +546,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json index 92073bf69..216a106ac 100644 --- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json +++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:43.189Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzYwMywxXQ==", "attributes": { "title": "Software", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index 99ba19a25..cb87d474d 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-01-20T16:56:59.255Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk0MCwxXQ==", "attributes": { "title": "Zeek Known Summary", @@ -587,4 +587,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json index 76ebf9b3b..4a835cd38 100644 --- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json +++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:46:32.487Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM1OTUsMV0=", "attributes": { "title": "Syslog", @@ -384,4 +384,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json index f93317e30..d455fac20 100644 --- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json +++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-09-14T19:51:11.803Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk0OSwxXQ==", "attributes": { "title": "Security Overview", @@ -566,4 +566,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 96c5f820f..72bf0b5a0 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-04-02T21:20:03.561Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEyODYsMV0=", "attributes": { "title": "Files", @@ -409,4 +409,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json index 76a377638..978533c62 100644 --- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:47.256Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzY0NywxXQ==", "attributes": { "title": "Connections - Destination - Sum of Total Bytes (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json index a72f9975b..eb8d566c3 100644 --- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json +++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-11-14T20:25:52.249Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk2MSwxXQ==", "attributes": { "title": "Actions and Results", @@ -333,4 +333,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json index 96953438f..ae4c59a3c 100644 --- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-02-27T18:15:37.621Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk5MywxXQ==", "attributes": { "title": "PROFINET", @@ -452,4 +452,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json index 898c5e6ac..721d05ca0 100644 --- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json +++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-04-29T20:10:44.437Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEzMjMsMV0=", "attributes": { "title": "Connections", @@ -938,4 +938,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json index 2c618e78f..0ad2e7dcd 100644 --- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json +++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-11-12T20:01:32.314Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwMzgsMV0=", "attributes": { "title": "RADIUS", @@ -385,4 +385,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json index b50436548..4be6d0d60 100644 --- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json +++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T16:00:05.351Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzIzMzIsMV0=", "attributes": { "title": "NTP", @@ -385,4 +385,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json index 95f1d4f00..2fcdd0ac2 100644 --- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json +++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:53.414Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzcyNCwxXQ==", "attributes": { "title": "Connections - Source - Originator Bytes", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json index 2bb713c01..8fdfd7e83 100644 --- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:54.429Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzczMCwxXQ==", "attributes": { "title": "Connections - Destination - Top Connection Duration (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json index e290c789b..53c5090eb 100644 --- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json +++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:17:41.430Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzMyNzUsMV0=", "attributes": { "title": "SMTP", @@ -524,4 +524,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json index 983bfdaa0..e365adb8c 100644 --- a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json +++ b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-13T14:30:49.985Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzkxMSwyXQ==", "attributes": { "title": "Hardware Temperature", diff --git a/dashboards/dashboards/beats/3768ef70-d819-11ee-820d-dd9fd73a3921.json b/dashboards/dashboards/beats/3768ef70-d819-11ee-820d-dd9fd73a3921.json index d7de484d4..5de33dce4 100644 --- a/dashboards/dashboards/beats/3768ef70-d819-11ee-820d-dd9fd73a3921.json +++ b/dashboards/dashboards/beats/3768ef70-d819-11ee-820d-dd9fd73a3921.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-03-01T22:15:31.047Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzExMTEsMV0=", "attributes": { "title": "Linux Kernel Messages", @@ -138,4 +138,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/4ca94c70-d7da-11ee-9ed3-e7afff29e59a.json b/dashboards/dashboards/beats/4ca94c70-d7da-11ee-9ed3-e7afff29e59a.json index d2bc33ddb..2e63054dc 100644 --- a/dashboards/dashboards/beats/4ca94c70-d7da-11ee-9ed3-e7afff29e59a.json +++ b/dashboards/dashboards/beats/4ca94c70-d7da-11ee-9ed3-e7afff29e59a.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-03-13T15:10:41.120Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwNjUsMV0=", "attributes": { "title": "Packet Capture Statistics", @@ -547,4 +547,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/79202ee0-d811-11ee-820d-dd9fd73a3921.json b/dashboards/dashboards/beats/79202ee0-d811-11ee-820d-dd9fd73a3921.json index db57994e6..ab860c502 100644 --- a/dashboards/dashboards/beats/79202ee0-d811-11ee-820d-dd9fd73a3921.json +++ b/dashboards/dashboards/beats/79202ee0-d811-11ee-820d-dd9fd73a3921.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2024-03-01T22:03:46.831Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwOTgsMV0=", "attributes": { "title": "Windows Events", @@ -346,4 +346,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json index 127289332..bae5dba1c 100644 --- a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json +++ b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-10T18:15:34.515Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzkyNSwxXQ==", "attributes": { "title": "Malcolm Sensor Audit Logs", @@ -275,4 +275,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json index 98f29a82d..1e1551281 100644 --- a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json +++ b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-27T19:43:07.018Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk0NywxXQ==", "attributes": { "title": "Malcolm Sensor File/Directory Integrity", @@ -210,4 +210,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/Filebeat-nginx-logs.json b/dashboards/dashboards/beats/Filebeat-nginx-logs.json index 879a0ae00..b2ad0dc32 100644 --- a/dashboards/dashboards/beats/Filebeat-nginx-logs.json +++ b/dashboards/dashboards/beats/Filebeat-nginx-logs.json @@ -7,13 +7,12 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-01T19:53:27.884Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwMTgsMV0=", "attributes": { "title": "nginx Access and Error Logs", - "description": "nginx Access and Error logs, including from Malcolm's own nginx instance", - "hits": 0, "description": "", + "hits": 0, "panelsJSON": "[{\"version\":\"2.0.0\",\"gridData\":{\"x\":0,\"y\":16,\"w\":48,\"h\":15,\"i\":\"11\"},\"panelIndex\":\"11\",\"embeddableConfig\":{\"columns\":[\"log.level\",\"error.message\"],\"sort\":[\"@timestamp\",\"desc\"]},\"panelRefName\":\"panel_0\"},{\"version\":\"2.0.0\",\"gridData\":{\"x\":0,\"y\":31,\"w\":48,\"h\":23,\"i\":\"16\"},\"panelIndex\":\"16\",\"embeddableConfig\":{\"columns\":[\"url.original\",\"http.request.method\",\"http.response.status_code\",\"http.response.body.bytes\"],\"sort\":[\"@timestamp\",\"desc\"]},\"panelRefName\":\"panel_1\"},{\"version\":\"2.0.0\",\"gridData\":{\"x\":0,\"y\":4,\"w\":48,\"h\":12,\"i\":\"18\"},\"panelIndex\":\"18\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.0.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":48,\"h\":4,\"i\":\"19\"},\"panelIndex\":\"19\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"}]", "optionsJSON": "{\"darkTheme\":false}", "version": 1, @@ -173,4 +172,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/Filebeat-nginx-overview.json b/dashboards/dashboards/beats/Filebeat-nginx-overview.json index 73e3fe9c5..7690a08a8 100644 --- a/dashboards/dashboards/beats/Filebeat-nginx-overview.json +++ b/dashboards/dashboards/beats/Filebeat-nginx-overview.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-01T19:41:23.453Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzg0NywxXQ==", "attributes": { "description": "nginx logs, including from Malcolm's own nginx instance", @@ -312,4 +312,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/Metricbeat-host-overview.json b/dashboards/dashboards/beats/Metricbeat-host-overview.json index 74c3ad39a..e700b9905 100644 --- a/dashboards/dashboards/beats/Metricbeat-host-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-host-overview.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-30T17:54:04.824Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwMzgsMV0=", "attributes": { "title": "Resources - Hosts Overview", @@ -504,4 +504,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/Metricbeat-system-overview.json b/dashboards/dashboards/beats/Metricbeat-system-overview.json index eea8dd158..8d88d63d0 100644 --- a/dashboards/dashboards/beats/Metricbeat-system-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-system-overview.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-06-30T17:45:03.314Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk2NCwxXQ==", "attributes": { "title": "Resources - System Overview", @@ -320,4 +320,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json index 0ce72ec85..9947bb6c2 100644 --- a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json +++ b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-12-14T22:33:38.334Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzkzOCwxXQ==", "attributes": { "title": "Journald Logs", @@ -248,4 +248,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json index 8f866e4ef..547645d61 100644 --- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:47:53.333Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM2MjYsMV0=", "attributes": { "title": "Tabular Data Stream", @@ -319,4 +319,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json index 5d42165b4..ba71a5441 100644 --- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json +++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-15T14:24:54.745Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzU3NiwxXQ==", "attributes": { "title": "TFTP", @@ -351,4 +351,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json index 58f3c21cf..676478426 100644 --- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json +++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T19:01:48.690Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM3MzksMV0=", "attributes": { "title": "Telnet, rlogin and rsh", @@ -315,4 +315,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json index 7797d09f2..62abc2fb5 100644 --- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json +++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:24:59.492Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzc3NCwxXQ==", "attributes": { "title": "BSAP", @@ -483,4 +483,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json index 0788ca9de..60cc062ec 100644 --- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json +++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:33:44.355Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM0MzgsMV0=", "attributes": { "title": "SSH", @@ -490,4 +490,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json index 7804e79d6..2960f9192 100644 --- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json +++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-09-02T18:26:13.166Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzMwMTksMV0=", "attributes": { "title": "Severity", @@ -685,4 +685,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json index 0c7cbab75..3d8a21438 100644 --- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:25:01.513Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzgwMiwxXQ==", "attributes": { "title": "Connections - Source - Originator Bytes (region map)", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json index b70adb2a3..7787b478e 100644 --- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json +++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:25:02.530Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzgwOCwxXQ==", "attributes": { "title": "Connections - Destination - Responder Bytes", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json index df44ee0a6..6bd425e30 100644 --- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json +++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2023-01-26T15:54:12.963Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzk1MiwxXQ==", "attributes": { "title": "OPCUA Binary", @@ -525,4 +525,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json index 56993492a..034ea94da 100644 --- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json +++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:25:03.541Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzgxNCwxXQ==", "attributes": { "title": "Connections - Source - Top Connection Duration", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json index 56bd82823..6126054a3 100644 --- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-10-10T19:24:43.925Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzkwNiwxXQ==", "attributes": { "title": "S7comm / S7comm Plus", @@ -503,4 +503,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json index 0fc1cd719..707531d3f 100644 --- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:25:05.562Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzgzMywxXQ==", "attributes": { "title": "Connections - Source - Responder Bytes (region map)", @@ -135,4 +135,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json index 776cdd97a..85b2c2530 100644 --- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json +++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2022-05-04T17:53:11.078Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzczOSwxXQ==", "attributes": { "title": "Zeek Notices", @@ -523,4 +523,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json index 345c38ac8..39e46a257 100644 --- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json +++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-10T21:25:07.590Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "Wzg1MSwxXQ==", "attributes": { "title": "Connections - Source - Sum of Total Bytes", @@ -207,4 +207,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json index 5e089e539..6f9aef4b0 100644 --- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json +++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T17:56:05.373Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzMwNTMsMV0=", "attributes": { "title": "RFB", @@ -490,4 +490,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json index 69d4a8c49..84ed8892a 100644 --- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-02-11T18:59:12.130Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzM3MjIsMV0=", "attributes": { "title": "Tabular Data Stream - SQL", @@ -313,4 +313,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json index 790cbd570..72bf72a0e 100644 --- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json +++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json @@ -7,7 +7,7 @@ "namespaces": [ "default" ], - "updated_at": "2021-10-14T16:32:23.695Z", + "updated_at": "2024-04-29T15:49:16.000Z", "version": "WzEwOTIsMV0=", "attributes": { "title": "STUN", @@ -541,4 +541,4 @@ } } ] -} \ No newline at end of file +} diff --git a/dashboards/scripts/docker_entrypoint.sh b/dashboards/scripts/docker_entrypoint.sh index 38c054e10..baa386eb1 100755 --- a/dashboards/scripts/docker_entrypoint.sh +++ b/dashboards/scripts/docker_entrypoint.sh @@ -42,5 +42,7 @@ if [[ -f "$ORIG_YML" ]]; then chmod 600 "$FINAL_YML" fi +rm -f /tmp/shared-objects-created + # start the default dashboards entrypoint exec "$@" diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/shared-object-creation.sh similarity index 52% rename from dashboards/scripts/create-arkime-sessions-index.sh rename to dashboards/scripts/shared-object-creation.sh index 87a8c259c..5c40cfcfe 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/shared-object-creation.sh @@ -29,6 +29,8 @@ ISM_SNAPSHOT_COMPRESSED=${ISM_SNAPSHOT_COMPRESSED:-"false"} OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"} OPENSEARCH_SECONDARY=${OPENSEARCH_SECONDARY:-""} +STARTUP_IMPORT_PERFORMED_FILE=/tmp/shared-objects-created + function DoReplacersInFile() { # Index pattern and time field name may be specified via environment variable, but need # to be reflected in dashboards, templates, anomaly detectors, etc. @@ -51,12 +53,49 @@ function DoReplacersForDir() { fi } +# store in an associative array the id, title, and .updated_at timestamp of a JSON file representing a dashboard +# arguments: +# 1 - the name of an associative array hash into which to insert the data +# 2 - the filename of the JSON file to check +# 3 - if the timestamp is not found, the fallback timestamp to use +function GetDashboardJsonInfo() { + local -n RESULT_HASH=$1 + local JSON_FILE_TO_IMPORT="$2" + local FALLBACK_TIMESTAMP="$3" + + DASHBOARD_TO_IMPORT_BASE="$(basename "$JSON_FILE_TO_IMPORT")" + DASHBOARD_TO_IMPORT_ID= + DASHBOARD_TO_IMPORT_TITLE= + DASHBOARD_TO_IMPORT_TIMESTAMP= + + if [[ -f "$JSON_FILE_TO_IMPORT" ]]; then + set +e + DASHBOARD_TO_IMPORT_ID="$(jq -r '.objects[] | select(.type == "dashboard") | .id' < "$JSON_FILE_TO_IMPORT" 2>/dev/null | head -n 1)" + DASHBOARD_TO_IMPORT_TITLE="$(jq -r '.objects[] | select(.type == "dashboard") | .attributes.title' < "$JSON_FILE_TO_IMPORT" 2>/dev/null | head -n 1)" + DASHBOARD_TO_IMPORT_TIMESTAMP="$(jq -r '.objects[] | select(.type == "dashboard") | .updated_at' < "$JSON_FILE_TO_IMPORT" 2>/dev/null | sort | tail -n 1)" + set -e + fi + + ( [[ -z "${DASHBOARD_TO_IMPORT_ID}" ]] || [[ "${DASHBOARD_TO_IMPORT_ID}" == "null" ]] ) && DASHBOARD_TO_IMPORT_ID="${DASHBOARD_TO_IMPORT_BASE%.*}" + ( [[ -z "${DASHBOARD_TO_IMPORT_TITLE}" ]] || [[ "${DASHBOARD_TO_IMPORT_TITLE}" == "null" ]] ) && DASHBOARD_TO_IMPORT_TITLE="${DASHBOARD_TO_IMPORT_BASE%.*}" + ( [[ -z "${DASHBOARD_TO_IMPORT_TIMESTAMP}" ]] || [[ "${DASHBOARD_TO_IMPORT_TIMESTAMP}" == "null" ]] ) && DASHBOARD_TO_IMPORT_TIMESTAMP="$FALLBACK_TIMESTAMP" + + RESULT_HASH["id"]="${DASHBOARD_TO_IMPORT_ID}" + RESULT_HASH["title"]="${DASHBOARD_TO_IMPORT_TITLE}" + RESULT_HASH["timestamp"]="${DASHBOARD_TO_IMPORT_TIMESTAMP}" +} + # is the argument to automatically create this index enabled? -if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then +if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # give OpenSearch time to start and Arkime to get its own template created before configuring dashboards /data/opensearch_status.sh -l arkime_sessions3_template >/dev/null 2>&1 + CURRENT_ISO_UNIX_SECS="$(date -u +%s)" + CURRENT_ISO_TIMESTAMP="$(date -u +"%Y-%m-%dT%H:%M:%SZ" -d@${CURRENT_ISO_UNIX_SECS} | sed "s/Z$/.000Z/")" + EPOCH_ISO_TIMESTAMP="$(date -u +"%Y-%m-%dT%H:%M:%SZ" -d @0 | sed "s/Z$/.000Z/")" + LAST_IMPORT_CHECK_TIME="$(stat -c %Y "${STARTUP_IMPORT_PERFORMED_FILE}" 2>/dev/null || echo '0')" + for LOOP in primary secondary; do if [[ "$LOOP" == "primary" ]]; then @@ -104,10 +143,10 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then fi # is the Dashboards process server up and responding to requests? - if [[ "$LOOP" != "primary" ]] || curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/status" ; then + if [[ "$LOOP" != "primary" ]] || curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --fail -XGET "$DASHB_URL/api/status" ; then - # have we not not already created the index pattern? - if [[ "$LOOP" != "primary" ]] || ! curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" ; then + # has it been a while since we did a full import check (or have we never done one)? + if [[ "$LOOP" != "primary" ]] || (( (${CURRENT_ISO_UNIX_SECS} - ${LAST_IMPORT_CHECK_TIME}) >= ${CREATE_OS_ARKIME_SESSION_INDEX_CHECK_INTERVAL_SEC:-3600} )); then echo "$DATASTORE_TYPE ($LOOP) is running at \"${OPENSEARCH_URL_TO_USE}\"!" @@ -121,6 +160,11 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then || true fi + ############################################################################################################################# + # Templates + # - a sha256 sum of the combined templates is calculated and the templates are imported if the previously stored hash + # (if any) does not match the files we see currently. + TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)" rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/ DoReplacersForDir "$TEMPLATES_IMPORT_DIR" @@ -135,9 +179,6 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then TEMPLATE_HASH_OLD="$(curl "${CURL_CONFIG_PARAMS[@]}" -sSL --fail -XGET -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" 2>/dev/null | jq --raw-output '.index_templates[]|select(.name=="malcolm_template")|.index_template._meta.hash' 2>/dev/null)" set -e - # information about other index patterns will be obtained during template import - OTHER_INDEX_PATTERNS=() - # proceed only if the current template HASH doesn't match the previously imported one, or if there # was an error calculating or storing either if [[ "$TEMPLATE_HASH" != "$TEMPLATE_HASH_OLD" ]] || [[ -z "$TEMPLATE_HASH_OLD" ]] || [[ -z "$TEMPLATE_HASH" ]]; then @@ -179,17 +220,13 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" \ "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" -d "@$MALCOLM_TEMPLATE_FILE" 2>&1 - # import other templates as well (and get info for creating their index patterns) + # import other templates as well for i in "$TEMPLATES_IMPORT_DIR"/*.json; do TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then echo "Importing template \"$TEMP_FILENAME\"..." - if curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1; then - for TEMPLATE_INDEX_PATTERN in $(jq '.index_patterns[]' "$i" | tr -d '"'); do - OTHER_INDEX_PATTERNS+=("$TEMPLATE_INDEX_PATTERN;$TEMPLATE_INDEX_PATTERN;@timestamp") - done - fi + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1 || true fi done @@ -197,21 +234,41 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then echo "malcolm_template ($TEMPLATE_HASH) already exists ($LOOP) at \"${OPENSEARCH_URL_TO_USE}\"" fi # TEMPLATE_HASH check + + # get info for creating the index patterns of "other" templates + OTHER_INDEX_PATTERNS=() + for i in "$TEMPLATES_IMPORT_DIR"/*.json; do + TEMP_BASENAME="$(basename "$i")" + TEMP_FILENAME="${TEMP_BASENAME%.*}" + if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then + for TEMPLATE_INDEX_PATTERN in $(jq -r '.index_patterns[]' "$i"); do + OTHER_INDEX_PATTERNS+=("$TEMPLATE_INDEX_PATTERN;$TEMPLATE_INDEX_PATTERN;@timestamp") + done + fi + done + rm -rf "${TEMPLATES_IMPORT_DIR}" + # end Templates + ############################################################################################################################# + if [[ "$LOOP" == "primary" ]]; then + + ############################################################################################################################# + # Index pattern(s) + # - TODO: how do I check to make sure it really needs to be updated? Or maybe it doesn't matter? echo "Importing index pattern..." # From https://github.com/elastic/kibana/issues/3709 # Create index pattern - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" \ -d"{\"attributes\":{\"title\":\"$INDEX_PATTERN\",\"timeFieldName\":\"$INDEX_TIME_FIELD\"}}" 2>&1 || true echo "Setting default index pattern..." # Make it the default index - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultIndex" \ -d"{\"value\":\"$INDEX_PATTERN\"}" || true @@ -220,28 +277,52 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then IDX_NAME="$(echo "$i" | cut -d';' -f2)" IDX_TIME_FIELD="$(echo "$i" | cut -d';' -f3)" echo "Creating index pattern \"$IDX_NAME\"..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/saved_objects/index-pattern/$IDX_ID" \ -d"{\"attributes\":{\"title\":\"$IDX_NAME\",\"timeFieldName\":\"$IDX_TIME_FIELD\"}}" 2>&1 || true done + # end Index pattern + ############################################################################################################################# + echo "Importing $DATASTORE_TYPE Dashboards saved objects..." - # install default dashboards + ############################################################################################################################# + # Dashboards + # - Dashboard JSON files have an .updated_at field with an ISO 8601-formatted date (e.g., "2024-04-29T15:49:16.000Z"). + # For each dashboard, query to see if the object exists and get the .updated_at field for the .type == "dashboard" + # objects. If the dashboard doesn't already exist, or if the file-to-be-imported date is newer than the old one, + # then import the dashboard. + DASHBOARDS_IMPORT_DIR="$(mktemp -d -t dashboards-XXXXXX)" rsync -a /opt/dashboards/ "$DASHBOARDS_IMPORT_DIR"/ DoReplacersForDir "$DASHBOARDS_IMPORT_DIR"/ for i in "${DASHBOARDS_IMPORT_DIR}"/*.json; do - if [[ "$DATASTORE_TYPE" == "elasticsearch" ]]; then - # strip out Arkime and NetBox links from dashboards' navigation pane when doing Kibana import (idaholab/Malcolm#286) - sed -i 's/ \\\\n\[↪ NetBox\](\/netbox\/) \\\\n\[↪ Arkime\](\/arkime)//' "$i" - # take care of a few other substitutions - sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i" - fi - # prepend $DASHBOARDS_PREFIX to dashboards' titles - [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" - # import the dashboard - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + + # get info about the dashboard to be imported + declare -A NEW_DASHBOARD_INFO + GetDashboardJsonInfo NEW_DASHBOARD_INFO "$i" "$CURRENT_ISO_TIMESTAMP" + + # get the old dashboard JSON and its info + curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true + declare -A OLD_DASHBOARD_INFO + GetDashboardJsonInfo OLD_DASHBOARD_INFO "${i}_old" "$EPOCH_ISO_TIMESTAMP" + rm -f "${i}_old" + + # compare the timestamps and import if it's newer + if [[ "${NEW_DASHBOARD_INFO["timestamp"]}" > "${OLD_DASHBOARD_INFO["timestamp"]}" ]]; then + if [[ "$DATASTORE_TYPE" == "elasticsearch" ]]; then + # strip out Arkime and NetBox links from dashboards' navigation pane when doing Kibana import (idaholab/Malcolm#286) + sed -i 's/ \\\\n\[↪ NetBox\](\/netbox\/) \\\\n\[↪ Arkime\](\/arkime)//' "$i" + # take care of a few other substitutions + sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i" + fi + # prepend $DASHBOARDS_PREFIX to dashboards' titles + [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" + # import the dashboard + echo "Importing dashboard \"${NEW_DASHBOARD_INFO["title"]}\" (${NEW_DASHBOARD_INFO["timestamp"]} > ${OLD_DASHBOARD_INFO["timestamp"]}) ..." + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + fi # timestamp check done rm -rf "${DASHBOARDS_IMPORT_DIR}" @@ -253,42 +334,69 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then rsync -a /opt/dashboards/beats/ "$BEATS_DASHBOARDS_IMPORT_DIR"/ DoReplacersForDir "$BEATS_DASHBOARDS_IMPORT_DIR" for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do - # prepend $DASHBOARDS_PREFIX to dashboards' titles - [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" - # import the dashboard - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + + # get info about the dashboard to be imported + declare -A NEW_DASHBOARD_INFO + GetDashboardJsonInfo NEW_DASHBOARD_INFO "$i" "$CURRENT_ISO_TIMESTAMP" + + # get the old dashboard JSON and its info + curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true + declare -A OLD_DASHBOARD_INFO + GetDashboardJsonInfo OLD_DASHBOARD_INFO "${i}_old" "$EPOCH_ISO_TIMESTAMP" + rm -f "${i}_old" + + # compare the timestamps and import if it's newer + if [[ "${NEW_DASHBOARD_INFO["timestamp"]}" > "${OLD_DASHBOARD_INFO["timestamp"]}" ]]; then + # prepend $DASHBOARDS_PREFIX to dashboards' titles + [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" + # import the dashboard + echo "Importing dashboard \"${NEW_DASHBOARD_INFO["title"]}\" (${NEW_DASHBOARD_INFO["timestamp"]} > ${OLD_DASHBOARD_INFO["timestamp"]}) ..." + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + fi # timestamp check done rm -rf "${BEATS_DASHBOARDS_IMPORT_DIR}" echo "$DATASTORE_TYPE Dashboards saved objects import complete!" + # end Dashboards + ############################################################################################################################# + if [[ "$DATASTORE_TYPE" == "opensearch" ]]; then # some features and tweaks like anomaly detection, alerting, etc. only exist in opensearch + ############################################################################################################################# + # OpenSearch Tweaks + # set dark theme (or not) [[ "$DARK_MODE" == "true" ]] && DARK_MODE_ARG='{"value":true}' || DARK_MODE_ARG='{"value":false}' - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/theme:darkMode" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "$DARK_MODE_ARG" + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/theme:darkMode" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "$DARK_MODE_ARG" # set default dashboard - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultRoute" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{\"value\":\"/app/dashboards#/view/${DEFAULT_DASHBOARD}\"}" + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultRoute" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{\"value\":\"/app/dashboards#/view/${DEFAULT_DASHBOARD}\"}" # set default query time range - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d \ + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d \ '{"changes":{"timepicker:timeDefaults":"{\n \"from\": \"now-24h\",\n \"to\": \"now\",\n \"mode\": \"quick\"}"}}' # turn off telemetry - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/telemetry/v2/optIn" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"enabled":false}' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/telemetry/v2/optIn" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"enabled":false}' # pin filters by default - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/filters:pinnedByDefault" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/filters:pinnedByDefault" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' # enable in-session storage - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/state:storeInSessionStorage" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/state:storeInSessionStorage" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' + + # end OpenSearch Tweaks + ############################################################################################################################# # before we go on to create the anomaly detectors, we need to wait for actual network log documents /data/opensearch_status.sh -w >/dev/null 2>&1 sleep 60 + ############################################################################################################################# + # OpenSearch anomaly detectors + echo "Creating $DATASTORE_TYPE anomaly detectors..." # Create anomaly detectors here @@ -296,7 +404,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then rsync -a /opt/anomaly_detectors/ "$ANOMALY_IMPORT_DIR"/ DoReplacersForDir "$ANOMALY_IMPORT_DIR" for i in "${ANOMALY_IMPORT_DIR}"/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" done rm -rf "${ANOMALY_IMPORT_DIR}" @@ -310,26 +418,32 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then DUMMY_DETECTOR_ID="" until [[ -n "$DUMMY_DETECTOR_ID" ]]; do sleep 5 - DUMMY_DETECTOR_ID="$(curl "${CURL_CONFIG_PARAMS[@]}" -L --fail --silent --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/_search" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{ \"query\": { \"match\": { \"name\": \"$DUMMY_DETECTOR_NAME\" } } }" | jq '.. | ._id? // empty' 2>/dev/null | head -n 1 | tr -d '"')" + DUMMY_DETECTOR_ID="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/_search" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{ \"query\": { \"match\": { \"name\": \"$DUMMY_DETECTOR_NAME\" } } }" | jq '.. | ._id? // empty' 2>/dev/null | head -n 1 | tr -d '"')" done set -e if [[ -n "$DUMMY_DETECTOR_ID" ]]; then - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_start" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_start" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' sleep 10 - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_stop" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_stop" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' sleep 10 - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XDELETE "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XDELETE "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' fi echo "$DATASTORE_TYPE anomaly detectors creation complete!" + # end OpenSearch anomaly detectors + ############################################################################################################################# + + ############################################################################################################################# + # OpenSearch alerting + echo "Creating $DATASTORE_TYPE alerting objects..." # Create notification/alerting objects here # notification channels for i in /opt/notifications/channels/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_notifications/configs" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_notifications/configs" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" done # monitors @@ -337,15 +451,21 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then rsync -a /opt/alerting/monitors/ "$ALERTING_IMPORT_DIR"/ DoReplacersForDir "$ALERTING_IMPORT_DIR" for i in "${ALERTING_IMPORT_DIR}"/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" done rm -rf "${ALERTING_IMPORT_DIR}" echo "$DATASTORE_TYPE alerting objects creation complete!" + # end OpenSearch alerting + ############################################################################################################################# + fi # DATASTORE_TYPE == opensearch fi # stuff to only do for primary - fi # index pattern not already created check + + touch "${STARTUP_IMPORT_PERFORMED_FILE}" + fi # LAST_IMPORT_CHECK_TIME interval check + fi # dashboards is running done # primary vs. secondary fi # CREATE_OS_ARKIME_SESSION_INDEX is true From 276502e31fe43f89a7b2c2989b474738b7b9b749 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 13:28:16 -0600 Subject: [PATCH 94/98] work in progress for idaholab/Malcolm#208, improvements to creation of templates, component templates, and dashboards on startup --- dashboards/scripts/shared-object-creation.sh | 22 +++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/dashboards/scripts/shared-object-creation.sh b/dashboards/scripts/shared-object-creation.sh index 5c40cfcfe..d6df991a7 100755 --- a/dashboards/scripts/shared-object-creation.sh +++ b/dashboards/scripts/shared-object-creation.sh @@ -146,7 +146,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then if [[ "$LOOP" != "primary" ]] || curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --fail -XGET "$DASHB_URL/api/status" ; then # has it been a while since we did a full import check (or have we never done one)? - if [[ "$LOOP" != "primary" ]] || (( (${CURRENT_ISO_UNIX_SECS} - ${LAST_IMPORT_CHECK_TIME}) >= ${CREATE_OS_ARKIME_SESSION_INDEX_CHECK_INTERVAL_SEC:-3600} )); then + if [[ "$LOOP" != "primary" ]] || (( (${CURRENT_ISO_UNIX_SECS} - ${LAST_IMPORT_CHECK_TIME}) >= ${CREATE_OS_ARKIME_SESSION_INDEX_CHECK_INTERVAL_SEC:-86400} )); then echo "$DATASTORE_TYPE ($LOOP) is running at \"${OPENSEARCH_URL_TO_USE}\"!" @@ -165,6 +165,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # - a sha256 sum of the combined templates is calculated and the templates are imported if the previously stored hash # (if any) does not match the files we see currently. + TEMPLATES_IMPORTED=false TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)" rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/ DoReplacersForDir "$TEMPLATES_IMPORT_DIR" @@ -230,9 +231,10 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then fi done + TEMPLATES_IMPORTED=true + else echo "malcolm_template ($TEMPLATE_HASH) already exists ($LOOP) at \"${OPENSEARCH_URL_TO_USE}\"" - fi # TEMPLATE_HASH check # get info for creating the index patterns of "other" templates @@ -256,29 +258,30 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # Index pattern(s) - # - TODO: how do I check to make sure it really needs to be updated? Or maybe it doesn't matter? + # - Only set overwrite=true if we actually updated the templates above, otherwise overwrite=false and fail silently + # if they already exist (http result code 409) echo "Importing index pattern..." - # From https://github.com/elastic/kibana/issues/3709 # Create index pattern - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ - "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + "$DASHB_URL/api/saved_objects/index-pattern/${INDEX_PATTERN}?overwrite=${TEMPLATES_IMPORTED}" \ -d"{\"attributes\":{\"title\":\"$INDEX_PATTERN\",\"timeFieldName\":\"$INDEX_TIME_FIELD\"}}" 2>&1 || true echo "Setting default index pattern..." # Make it the default index - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultIndex" \ -d"{\"value\":\"$INDEX_PATTERN\"}" || true + # import other index patterns from other templates discovered above for i in ${OTHER_INDEX_PATTERNS[@]}; do IDX_ID="$(echo "$i" | cut -d';' -f1)" IDX_NAME="$(echo "$i" | cut -d';' -f2)" IDX_TIME_FIELD="$(echo "$i" | cut -d';' -f3)" echo "Creating index pattern \"$IDX_NAME\"..." curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ - "$DASHB_URL/api/saved_objects/index-pattern/$IDX_ID" \ + "$DASHB_URL/api/saved_objects/index-pattern/${IDX_ID}?overwrite=${TEMPLATES_IMPORTED}" \ -d"{\"attributes\":{\"title\":\"$IDX_NAME\",\"timeFieldName\":\"$IDX_TIME_FIELD\"}}" 2>&1 || true done @@ -366,6 +369,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch Tweaks + # - TODO: only do these if they've NEVER been done before? # set dark theme (or not) [[ "$DARK_MODE" == "true" ]] && DARK_MODE_ARG='{"value":true}' || DARK_MODE_ARG='{"value":false}' @@ -396,6 +400,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch anomaly detectors + # - TODO: only do these if they're newer than the ones that already exist? echo "Creating $DATASTORE_TYPE anomaly detectors..." @@ -436,6 +441,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch alerting + # - TODO: only do these if they're newer than the ones that already exist? echo "Creating $DATASTORE_TYPE alerting objects..." From 4a74e7ee296bb9e035d5002a6f6b8d2ecd653297 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 13:33:15 -0600 Subject: [PATCH 95/98] work in progress for idaholab/Malcolm#208, improvements to creation of templates, component templates, and dashboards on startup --- dashboards/scripts/shared-object-creation.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/dashboards/scripts/shared-object-creation.sh b/dashboards/scripts/shared-object-creation.sh index d6df991a7..c1499122e 100755 --- a/dashboards/scripts/shared-object-creation.sh +++ b/dashboards/scripts/shared-object-creation.sh @@ -155,7 +155,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then echo "Registering index snapshot repository..." curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -H "Accept: application/json" \ -H "Content-type: application/json" \ - -XPUT -fsSL "$OPENSEARCH_URL_TO_USE/_snapshot/$ISM_SNAPSHOT_REPO" \ + -XPUT --location --fail --silent --output /dev/null --show-error "$OPENSEARCH_URL_TO_USE/_snapshot/$ISM_SNAPSHOT_REPO" \ -d "{ \"type\": \"fs\", \"settings\": { \"location\": \"$ISM_SNAPSHOT_REPO\", \"compress\": $ISM_SNAPSHOT_COMPRESSED } }" \ || true fi @@ -177,7 +177,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # get the previous stored template hash (if any) to avoid importing if it's already been imported set +e - TEMPLATE_HASH_OLD="$(curl "${CURL_CONFIG_PARAMS[@]}" -sSL --fail -XGET -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" 2>/dev/null | jq --raw-output '.index_templates[]|select(.name=="malcolm_template")|.index_template._meta.hash' 2>/dev/null)" + TEMPLATE_HASH_OLD="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error -XGET -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" 2>/dev/null | jq --raw-output '.index_templates[]|select(.name=="malcolm_template")|.index_template._meta.hash' 2>/dev/null)" set -e # proceed only if the current template HASH doesn't match the previously imported one, or if there @@ -190,7 +190,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" echo "Importing ECS composable template $TEMP_FILENAME ..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/ecs_$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/ecs_$TEMP_FILENAME" -d "@$i" 2>&1 || true done fi @@ -200,7 +200,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" echo "Importing custom ECS composable template $TEMP_FILENAME ..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/custom_$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/custom_$TEMP_FILENAME" -d "@$i" 2>&1 || true done fi @@ -218,7 +218,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then rm -f "$MALCOLM_TEMPLATE_FILE_TEMP" # load malcolm_template containing malcolm data source field type mappings (merged from /opt/templates/malcolm_template.json to /data/init/malcolm_template.json in dashboard-helpers on startup) - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" \ "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" -d "@$MALCOLM_TEMPLATE_FILE" 2>&1 # import other templates as well @@ -227,7 +227,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_FILENAME="${TEMP_BASENAME%.*}" if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then echo "Importing template \"$TEMP_FILENAME\"..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL --fail -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1 || true fi done From 43954a85a2364b3296a7581237612ebc7f5cb7c3 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 14:02:42 -0600 Subject: [PATCH 96/98] work in progress for idaholab/Malcolm#208, improvements to creation of templates, component templates, and dashboards on startup --- dashboards/scripts/shared-object-creation.sh | 92 +++++++++++++++----- 1 file changed, 69 insertions(+), 23 deletions(-) diff --git a/dashboards/scripts/shared-object-creation.sh b/dashboards/scripts/shared-object-creation.sh index c1499122e..3dc05e5a0 100755 --- a/dashboards/scripts/shared-object-creation.sh +++ b/dashboards/scripts/shared-object-creation.sh @@ -190,7 +190,8 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" echo "Importing ECS composable template $TEMP_FILENAME ..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/ecs_$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" \ + "$OPENSEARCH_URL_TO_USE/_component_template/ecs_$TEMP_FILENAME" -d "@$i" 2>&1 || true done fi @@ -200,7 +201,8 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" echo "Importing custom ECS composable template $TEMP_FILENAME ..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_component_template/custom_$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" \ + "$OPENSEARCH_URL_TO_USE/_component_template/custom_$TEMP_FILENAME" -d "@$i" 2>&1 || true done fi @@ -227,7 +229,8 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then TEMP_FILENAME="${TEMP_BASENAME%.*}" if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then echo "Importing template \"$TEMP_FILENAME\"..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1 || true + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" \ + "$OPENSEARCH_URL_TO_USE/_index_template/$TEMP_FILENAME" -d "@$i" 2>&1 || true fi done @@ -261,16 +264,17 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # - Only set overwrite=true if we actually updated the templates above, otherwise overwrite=false and fail silently # if they already exist (http result code 409) echo "Importing index pattern..." + [[ "${TEMPLATES_IMPORTED}" == "true" ]] && SHOW_IMPORT_ERROR="--show-error" || SHOW_IMPORT_ERROR= # Create index pattern - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null ${SHOW_IMPORT_ERROR} -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/saved_objects/index-pattern/${INDEX_PATTERN}?overwrite=${TEMPLATES_IMPORTED}" \ -d"{\"attributes\":{\"title\":\"$INDEX_PATTERN\",\"timeFieldName\":\"$INDEX_TIME_FIELD\"}}" 2>&1 || true echo "Setting default index pattern..." # Make it the default index - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null ${SHOW_IMPORT_ERROR} -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultIndex" \ -d"{\"value\":\"$INDEX_PATTERN\"}" || true @@ -280,7 +284,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then IDX_NAME="$(echo "$i" | cut -d';' -f2)" IDX_TIME_FIELD="$(echo "$i" | cut -d';' -f3)" echo "Creating index pattern \"$IDX_NAME\"..." - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null --show-error -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --fail --silent --output /dev/null ${SHOW_IMPORT_ERROR} -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/saved_objects/index-pattern/${IDX_ID}?overwrite=${TEMPLATES_IMPORTED}" \ -d"{\"attributes\":{\"title\":\"$IDX_NAME\",\"timeFieldName\":\"$IDX_TIME_FIELD\"}}" 2>&1 || true done @@ -307,7 +311,9 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then GetDashboardJsonInfo NEW_DASHBOARD_INFO "$i" "$CURRENT_ISO_TIMESTAMP" # get the old dashboard JSON and its info - curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true + curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" \ + -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true declare -A OLD_DASHBOARD_INFO GetDashboardJsonInfo OLD_DASHBOARD_INFO "${i}_old" "$EPOCH_ISO_TIMESTAMP" rm -f "${i}_old" @@ -324,7 +330,9 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" # import the dashboard echo "Importing dashboard \"${NEW_DASHBOARD_INFO["title"]}\" (${NEW_DASHBOARD_INFO["timestamp"]} > ${OLD_DASHBOARD_INFO["timestamp"]}) ..." - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" fi # timestamp check done rm -rf "${DASHBOARDS_IMPORT_DIR}" @@ -343,7 +351,9 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then GetDashboardJsonInfo NEW_DASHBOARD_INFO "$i" "$CURRENT_ISO_TIMESTAMP" # get the old dashboard JSON and its info - curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true + curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error --output "${i}_old" \ + -XGET "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/export?dashboard=$DASHBOARD_TO_IMPORT_ID" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' || true declare -A OLD_DASHBOARD_INFO GetDashboardJsonInfo OLD_DASHBOARD_INFO "${i}_old" "$EPOCH_ISO_TIMESTAMP" rm -f "${i}_old" @@ -354,7 +364,9 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then [[ -n "$DASHBOARDS_PREFIX" ]] && jq ".objects |= map(if .type == \"dashboard\" then .attributes.title |= \"${DASHBOARDS_PREFIX} \" + . else . end)" < "$i" | sponge "$i" # import the dashboard echo "Importing dashboard \"${NEW_DASHBOARD_INFO["title"]}\" (${NEW_DASHBOARD_INFO["timestamp"]} > ${OLD_DASHBOARD_INFO["timestamp"]}) ..." - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/dashboards/import?force=true" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" fi # timestamp check done rm -rf "${BEATS_DASHBOARDS_IMPORT_DIR}" @@ -370,26 +382,45 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch Tweaks # - TODO: only do these if they've NEVER been done before? + echo "Updating $DATASTORE_TYPE UI settings..." # set dark theme (or not) [[ "$DARK_MODE" == "true" ]] && DARK_MODE_ARG='{"value":true}' || DARK_MODE_ARG='{"value":false}' - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/theme:darkMode" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "$DARK_MODE_ARG" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/theme:darkMode" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "$DARK_MODE_ARG" # set default dashboard - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultRoute" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{\"value\":\"/app/dashboards#/view/${DEFAULT_DASHBOARD}\"}" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultRoute" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d "{\"value\":\"/app/dashboards#/view/${DEFAULT_DASHBOARD}\"}" # set default query time range - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d \ - '{"changes":{"timepicker:timeDefaults":"{\n \"from\": \"now-24h\",\n \"to\": \"now\",\n \"mode\": \"quick\"}"}}' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d '{"changes":{"timepicker:timeDefaults":"{\n \"from\": \"now-24h\",\n \"to\": \"now\",\n \"mode\": \"quick\"}"}}' # turn off telemetry - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/telemetry/v2/optIn" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"enabled":false}' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/telemetry/v2/optIn" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d '{"enabled":false}' # pin filters by default - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/filters:pinnedByDefault" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/filters:pinnedByDefault" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d '{"value":true}' # enable in-session storage - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/state:storeInSessionStorage" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d '{"value":true}' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/state:storeInSessionStorage" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d '{"value":true}' + + echo "$DATASTORE_TYPE settings tweak complete!" # end OpenSearch Tweaks ############################################################################################################################# @@ -409,7 +440,10 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then rsync -a /opt/anomaly_detectors/ "$ANOMALY_IMPORT_DIR"/ DoReplacersForDir "$ANOMALY_IMPORT_DIR" for i in "${ANOMALY_IMPORT_DIR}"/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d "@$i" done rm -rf "${ANOMALY_IMPORT_DIR}" @@ -427,11 +461,17 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then done set -e if [[ -n "$DUMMY_DETECTOR_ID" ]]; then - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_start" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error -XPOST \ + "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_start" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' sleep 10 - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_stop" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID/_stop" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' sleep 10 - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XDELETE "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XDELETE "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DUMMY_DETECTOR_ID" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' fi echo "$DATASTORE_TYPE anomaly detectors creation complete!" @@ -449,7 +489,10 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # notification channels for i in /opt/notifications/channels/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_notifications/configs" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_notifications/configs" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d "@$i" done # monitors @@ -457,7 +500,10 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then rsync -a /opt/alerting/monitors/ "$ALERTING_IMPORT_DIR"/ DoReplacersForDir "$ALERTING_IMPORT_DIR" for i in "${ALERTING_IMPORT_DIR}"/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" --location --silent --output /dev/null --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "@$i" + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_alerting/monitors" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d "@$i" done rm -rf "${ALERTING_IMPORT_DIR}" From f0104f73f7e1a6509a64b48b18d26c5d55b19038 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 14:50:01 -0600 Subject: [PATCH 97/98] work in progress for idaholab/Malcolm#208, improvements to creation of templates, component templates, and dashboards on startup --- .../anomaly_detectors/action_result_user.json | 1 + .../anomaly_detectors/file_mime_type.json | 1 + .../anomaly_detectors/network_protocol.json | 1 + dashboards/anomaly_detectors/total_bytes.json | 1 + dashboards/scripts/shared-object-creation.sh | 40 ++++++++++++++----- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/dashboards/anomaly_detectors/action_result_user.json b/dashboards/anomaly_detectors/action_result_user.json index d948bd810..da4996f34 100644 --- a/dashboards/anomaly_detectors/action_result_user.json +++ b/dashboards/anomaly_detectors/action_result_user.json @@ -79,6 +79,7 @@ "unit": "MINUTES" } }, + "last_update_time": 1714421906634, "category_field": [ "event.action", "event.result" diff --git a/dashboards/anomaly_detectors/file_mime_type.json b/dashboards/anomaly_detectors/file_mime_type.json index 95bd6d6b0..662f456ba 100644 --- a/dashboards/anomaly_detectors/file_mime_type.json +++ b/dashboards/anomaly_detectors/file_mime_type.json @@ -44,6 +44,7 @@ "unit": "Minutes" } }, + "last_update_time": 1714421906634, "category_field": [ "file.mime_type" ] diff --git a/dashboards/anomaly_detectors/network_protocol.json b/dashboards/anomaly_detectors/network_protocol.json index 833b7a3cc..9b0f8fd11 100644 --- a/dashboards/anomaly_detectors/network_protocol.json +++ b/dashboards/anomaly_detectors/network_protocol.json @@ -44,6 +44,7 @@ "unit": "Minutes" } }, + "last_update_time": 1714421906634, "category_field": [ "network.protocol" ] diff --git a/dashboards/anomaly_detectors/total_bytes.json b/dashboards/anomaly_detectors/total_bytes.json index b2f4ba7ec..e7cbb680d 100644 --- a/dashboards/anomaly_detectors/total_bytes.json +++ b/dashboards/anomaly_detectors/total_bytes.json @@ -44,6 +44,7 @@ "unit": "Minutes" } }, + "last_update_time": 1714421906634, "category_field": [ "source.ip", "destination.ip" diff --git a/dashboards/scripts/shared-object-creation.sh b/dashboards/scripts/shared-object-creation.sh index 3dc05e5a0..8abf9b6cd 100755 --- a/dashboards/scripts/shared-object-creation.sh +++ b/dashboards/scripts/shared-object-creation.sh @@ -177,7 +177,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then # get the previous stored template hash (if any) to avoid importing if it's already been imported set +e - TEMPLATE_HASH_OLD="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error -XGET -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" 2>/dev/null | jq --raw-output '.index_templates[]|select(.name=="malcolm_template")|.index_template._meta.hash' 2>/dev/null)" + TEMPLATE_HASH_OLD="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent -XGET -H "Content-Type: application/json" "$OPENSEARCH_URL_TO_USE/_index_template/malcolm_template" 2>/dev/null | jq --raw-output '.index_templates[]|select(.name=="malcolm_template")|.index_template._meta.hash' 2>/dev/null)" set -e # proceed only if the current template HASH doesn't match the previously imported one, or if there @@ -420,7 +420,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ -d '{"value":true}' - echo "$DATASTORE_TYPE settings tweak complete!" + echo "$DATASTORE_TYPE settings updates complete!" # end OpenSearch Tweaks ############################################################################################################################# @@ -431,7 +431,8 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch anomaly detectors - # - TODO: only do these if they're newer than the ones that already exist? + # - the .anomaly_detector.last_update_time field in the anomaly detector definition JSON is used to check + # whether or not the anomaly detector needs to be updated echo "Creating $DATASTORE_TYPE anomaly detectors..." @@ -440,10 +441,31 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then rsync -a /opt/anomaly_detectors/ "$ANOMALY_IMPORT_DIR"/ DoReplacersForDir "$ANOMALY_IMPORT_DIR" for i in "${ANOMALY_IMPORT_DIR}"/*.json; do - curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ - -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" \ - -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ - -d "@$i" + # identify the name of the anomaly detector, and, if it already exists, its + # ID and previous update time, as well as the update time of the file to import + set +e + DETECTOR_NAME="$(jq -r '.name' 2>/dev/null < "$i")" + + DETECTOR_NEW_UPDATE_TIME="$(jq -r '.anomaly_detector.last_update_time' 2>/dev/null < "$i")" + ( [[ -z "${DETECTOR_NEW_UPDATE_TIME}" ]] || [[ "${DETECTOR_NEW_UPDATE_TIME}" == "null" ]] ) && DETECTOR_NEW_UPDATE_TIME=$CURRENT_ISO_UNIX_SECS + + DETECTOR_EXISTING_UPDATE_TIME=0 + DETECTOR_EXISTING_ID="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/_search" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{ \"query\": { \"match\": { \"name\": \"$DETECTOR_NAME\" } } }" | jq '.. | ._id? // empty' 2>/dev/null | head -n 1 | tr -d '"')" + if [[ -n "${DETECTOR_EXISTING_ID}" ]]; then + DETECTOR_EXISTING_UPDATE_TIME="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent -XGET "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/$DETECTOR_EXISTING_ID" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' | jq -r '.anomaly_detector.last_update_time')" + ( [[ -z "${DETECTOR_EXISTING_UPDATE_TIME}" ]] || [[ "${DETECTOR_EXISTING_UPDATE_TIME}" == "null" ]] ) && DETECTOR_EXISTING_UPDATE_TIME=0 + fi + set -e + + # if the file to import is newer than the existing anomaly detector, then update it + if (( $DETECTOR_NEW_UPDATE_TIME > $DETECTOR_EXISTING_UPDATE_TIME )); then + [[ "$DETECTOR_NAME" != "$DUMMY_DETECTOR_NAME" ]] && \ + echo "Importing detector \"${DETECTOR_NAME}\" ($DETECTOR_NEW_UPDATE_TIME > $DETECTOR_EXISTING_UPDATE_TIME) ..." + curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" --location --silent --output /dev/null --show-error \ + -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors" \ + -H "$XSRF_HEADER:true" -H 'Content-type:application/json' \ + -d "@$i" + fi done rm -rf "${ANOMALY_IMPORT_DIR}" @@ -457,7 +479,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then DUMMY_DETECTOR_ID="" until [[ -n "$DUMMY_DETECTOR_ID" ]]; do sleep 5 - DUMMY_DETECTOR_ID="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent --show-error -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/_search" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{ \"query\": { \"match\": { \"name\": \"$DUMMY_DETECTOR_NAME\" } } }" | jq '.. | ._id? // empty' 2>/dev/null | head -n 1 | tr -d '"')" + DUMMY_DETECTOR_ID="$(curl "${CURL_CONFIG_PARAMS[@]}" --location --fail --silent -XPOST "$OPENSEARCH_URL_TO_USE/_plugins/_anomaly_detection/detectors/_search" -H "$XSRF_HEADER:true" -H 'Content-type:application/json' -d "{ \"query\": { \"match\": { \"name\": \"$DUMMY_DETECTOR_NAME\" } } }" | jq '.. | ._id? // empty' 2>/dev/null | head -n 1 | tr -d '"')" done set -e if [[ -n "$DUMMY_DETECTOR_ID" ]]; then @@ -481,7 +503,7 @@ if [[ "${CREATE_OS_ARKIME_SESSION_INDEX:-true}" = "true" ]] ; then ############################################################################################################################# # OpenSearch alerting - # - TODO: only do these if they're newer than the ones that already exist? + # - always attempt to write the default Malcolm alerting objects, regardless of whether they exist or not echo "Creating $DATASTORE_TYPE alerting objects..." From a7368de710d77722bcdcbf629ea250547ab73de6 Mon Sep 17 00:00:00 2001 From: Seth Grover Date: Mon, 29 Apr 2024 15:49:14 -0600 Subject: [PATCH 98/98] restore image refererces for kubernetes --- kubernetes/03-opensearch.yml | 4 ++-- kubernetes/04-dashboards.yml | 2 +- kubernetes/05-upload.yml | 4 ++-- kubernetes/06-pcap-monitor.yml | 4 ++-- kubernetes/07-arkime.yml | 4 ++-- kubernetes/08-api.yml | 2 +- kubernetes/09-dashboards-helper.yml | 2 +- kubernetes/10-zeek.yml | 4 ++-- kubernetes/11-suricata.yml | 4 ++-- kubernetes/12-file-monitor.yml | 4 ++-- kubernetes/13-filebeat.yml | 4 ++-- kubernetes/14-logstash.yml | 4 ++-- kubernetes/15-netbox-redis.yml | 4 ++-- kubernetes/16-netbox-redis-cache.yml | 2 +- kubernetes/17-netbox-postgres.yml | 4 ++-- kubernetes/18-netbox.yml | 4 ++-- kubernetes/19-htadmin.yml | 4 ++-- kubernetes/20-pcap-capture.yml | 4 ++-- kubernetes/21-zeek-live.yml | 4 ++-- kubernetes/22-suricata-live.yml | 4 ++-- kubernetes/23-arkime-live.yml | 4 ++-- kubernetes/24-freq.yml | 2 +- kubernetes/98-nginx-proxy.yml | 4 ++-- 23 files changed, 41 insertions(+), 41 deletions(-) diff --git a/kubernetes/03-opensearch.yml b/kubernetes/03-opensearch.yml index 4a14aaeed..66444a731 100644 --- a/kubernetes/03-opensearch.yml +++ b/kubernetes/03-opensearch.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: opensearch-container - image: ghcr.io/mmguero-dev/malcolm/opensearch:development + image: ghcr.io/idaholab/malcolm/opensearch:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -71,7 +71,7 @@ spec: subPath: "opensearch" initContainers: - name: opensearch-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/04-dashboards.yml b/kubernetes/04-dashboards.yml index cfbb8b422..07f1abe6a 100644 --- a/kubernetes/04-dashboards.yml +++ b/kubernetes/04-dashboards.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: dashboards-container - image: ghcr.io/mmguero-dev/malcolm/dashboards:development + image: ghcr.io/idaholab/malcolm/dashboards:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/05-upload.yml b/kubernetes/05-upload.yml index 7631d405f..66d8440fd 100644 --- a/kubernetes/05-upload.yml +++ b/kubernetes/05-upload.yml @@ -34,7 +34,7 @@ spec: spec: containers: - name: upload-container - image: ghcr.io/mmguero-dev/malcolm/file-upload:development + image: ghcr.io/idaholab/malcolm/file-upload:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -73,7 +73,7 @@ spec: subPath: "upload" initContainers: - name: upload-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/06-pcap-monitor.yml b/kubernetes/06-pcap-monitor.yml index 70da6fc02..e73861876 100644 --- a/kubernetes/06-pcap-monitor.yml +++ b/kubernetes/06-pcap-monitor.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: pcap-monitor-container - image: ghcr.io/mmguero-dev/malcolm/pcap-monitor:development + image: ghcr.io/idaholab/malcolm/pcap-monitor:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -70,7 +70,7 @@ spec: name: pcap-monitor-zeek-volume initContainers: - name: pcap-monitor-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/07-arkime.yml b/kubernetes/07-arkime.yml index e050e6036..4cf5aeffc 100644 --- a/kubernetes/07-arkime.yml +++ b/kubernetes/07-arkime.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: arkime-container - image: ghcr.io/mmguero-dev/malcolm/arkime:development + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -79,7 +79,7 @@ spec: name: arkime-pcap-volume initContainers: - name: arkime-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/08-api.yml b/kubernetes/08-api.yml index dff8c4274..3a5312a12 100644 --- a/kubernetes/08-api.yml +++ b/kubernetes/08-api.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: api-container - image: ghcr.io/mmguero-dev/malcolm/api:development + image: ghcr.io/idaholab/malcolm/api:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/09-dashboards-helper.yml b/kubernetes/09-dashboards-helper.yml index 3c1292517..91dc8fc08 100644 --- a/kubernetes/09-dashboards-helper.yml +++ b/kubernetes/09-dashboards-helper.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: dashboards-helper-container - image: ghcr.io/mmguero-dev/malcolm/dashboards-helper:development + image: ghcr.io/idaholab/malcolm/dashboards-helper:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/10-zeek.yml b/kubernetes/10-zeek.yml index daa925943..f8dfba8c1 100644 --- a/kubernetes/10-zeek.yml +++ b/kubernetes/10-zeek.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: zeek-offline-container - image: ghcr.io/mmguero-dev/malcolm/zeek:development + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -64,7 +64,7 @@ spec: subPath: "zeek/intel" initContainers: - name: zeek-offline-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/11-suricata.yml b/kubernetes/11-suricata.yml index 5bdf9472f..b8ed268a7 100644 --- a/kubernetes/11-suricata.yml +++ b/kubernetes/11-suricata.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: suricata-offline-container - image: ghcr.io/mmguero-dev/malcolm/suricata:development + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -55,7 +55,7 @@ spec: name: suricata-offline-custom-configs-volume initContainers: - name: suricata-offline-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/12-file-monitor.yml b/kubernetes/12-file-monitor.yml index 4925d67ba..44071e816 100644 --- a/kubernetes/12-file-monitor.yml +++ b/kubernetes/12-file-monitor.yml @@ -33,7 +33,7 @@ spec: spec: containers: - name: file-monitor-container - image: ghcr.io/mmguero-dev/malcolm/file-monitor:development + image: ghcr.io/idaholab/malcolm/file-monitor:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: name: file-monitor-yara-rules-custom-volume initContainers: - name: file-monitor-live-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/13-filebeat.yml b/kubernetes/13-filebeat.yml index da45a94d1..de2290c40 100644 --- a/kubernetes/13-filebeat.yml +++ b/kubernetes/13-filebeat.yml @@ -33,7 +33,7 @@ spec: spec: containers: - name: filebeat-container - image: ghcr.io/mmguero-dev/malcolm/filebeat-oss:development + image: ghcr.io/idaholab/malcolm/filebeat-oss:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: subPath: "nginx" initContainers: - name: filebeat-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/14-logstash.yml b/kubernetes/14-logstash.yml index 0cb84994b..dda6ca561 100644 --- a/kubernetes/14-logstash.yml +++ b/kubernetes/14-logstash.yml @@ -49,7 +49,7 @@ spec: # topologyKey: "kubernetes.io/hostname" containers: - name: logstash-container - image: ghcr.io/mmguero-dev/malcolm/logstash-oss:development + image: ghcr.io/idaholab/malcolm/logstash-oss:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -115,7 +115,7 @@ spec: subPath: "logstash" initContainers: - name: logstash-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/15-netbox-redis.yml b/kubernetes/15-netbox-redis.yml index 922f54f1d..5c8d1b2e1 100644 --- a/kubernetes/15-netbox-redis.yml +++ b/kubernetes/15-netbox-redis.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-redis-container - image: ghcr.io/mmguero-dev/malcolm/redis:development + image: ghcr.io/idaholab/malcolm/redis:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -83,7 +83,7 @@ spec: subPath: netbox/redis initContainers: - name: netbox-redis-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/16-netbox-redis-cache.yml b/kubernetes/16-netbox-redis-cache.yml index 0fef1bbf0..5a03e6595 100644 --- a/kubernetes/16-netbox-redis-cache.yml +++ b/kubernetes/16-netbox-redis-cache.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-redis-cache-container - image: ghcr.io/mmguero-dev/malcolm/redis:development + image: ghcr.io/idaholab/malcolm/redis:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/17-netbox-postgres.yml b/kubernetes/17-netbox-postgres.yml index 55a066358..3e8b801ca 100644 --- a/kubernetes/17-netbox-postgres.yml +++ b/kubernetes/17-netbox-postgres.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: netbox-postgres-container - image: ghcr.io/mmguero-dev/malcolm/postgresql:development + image: ghcr.io/idaholab/malcolm/postgresql:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -74,7 +74,7 @@ spec: subPath: netbox/postgres initContainers: - name: netbox-postgres-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/18-netbox.yml b/kubernetes/18-netbox.yml index f81438018..29e9d3ff5 100644 --- a/kubernetes/18-netbox.yml +++ b/kubernetes/18-netbox.yml @@ -36,7 +36,7 @@ spec: spec: containers: - name: netbox-container - image: ghcr.io/mmguero-dev/malcolm/netbox:development + image: ghcr.io/idaholab/malcolm/netbox:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -88,7 +88,7 @@ spec: subPath: netbox/media initContainers: - name: netbox-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/19-htadmin.yml b/kubernetes/19-htadmin.yml index de5293761..165f90cbb 100644 --- a/kubernetes/19-htadmin.yml +++ b/kubernetes/19-htadmin.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: htadmin-container - image: ghcr.io/mmguero-dev/malcolm/htadmin:development + image: ghcr.io/idaholab/malcolm/htadmin:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -63,7 +63,7 @@ spec: subPath: "htadmin" initContainers: - name: htadmin-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/20-pcap-capture.yml b/kubernetes/20-pcap-capture.yml index 2e0f46fca..e7a8fe24c 100644 --- a/kubernetes/20-pcap-capture.yml +++ b/kubernetes/20-pcap-capture.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: pcap-capture-container - image: ghcr.io/mmguero-dev/malcolm/pcap-capture:development + image: ghcr.io/idaholab/malcolm/pcap-capture:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -50,7 +50,7 @@ spec: subPath: "upload" initContainers: - name: pcap-capture-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/21-zeek-live.yml b/kubernetes/21-zeek-live.yml index 2575cfdc3..f28c3b4ff 100644 --- a/kubernetes/21-zeek-live.yml +++ b/kubernetes/21-zeek-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: zeek-live-container - image: ghcr.io/mmguero-dev/malcolm/zeek:development + image: ghcr.io/idaholab/malcolm/zeek:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -61,7 +61,7 @@ spec: subPath: "zeek/intel" initContainers: - name: zeek-live-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/22-suricata-live.yml b/kubernetes/22-suricata-live.yml index 3fbca4d03..6c1cf5d3b 100644 --- a/kubernetes/22-suricata-live.yml +++ b/kubernetes/22-suricata-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: suricata-live-container - image: ghcr.io/mmguero-dev/malcolm/suricata:development + image: ghcr.io/idaholab/malcolm/suricata:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -56,7 +56,7 @@ spec: name: suricata-live-custom-configs-volume initContainers: - name: suricata-live-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/23-arkime-live.yml b/kubernetes/23-arkime-live.yml index 79b4bc4d3..21e0b8c83 100644 --- a/kubernetes/23-arkime-live.yml +++ b/kubernetes/23-arkime-live.yml @@ -16,7 +16,7 @@ spec: spec: containers: - name: arkime-live-container - image: ghcr.io/mmguero-dev/malcolm/arkime:development + image: ghcr.io/idaholab/malcolm/arkime:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -62,7 +62,7 @@ spec: name: arkime-live-pcap-volume initContainers: - name: arkime-live-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/24-freq.yml b/kubernetes/24-freq.yml index b9dc580df..2e0630b2d 100644 --- a/kubernetes/24-freq.yml +++ b/kubernetes/24-freq.yml @@ -30,7 +30,7 @@ spec: spec: containers: - name: freq-container - image: ghcr.io/mmguero-dev/malcolm/freq:development + image: ghcr.io/idaholab/malcolm/freq:24.04.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/98-nginx-proxy.yml b/kubernetes/98-nginx-proxy.yml index 212c3eca9..11c2bfca8 100644 --- a/kubernetes/98-nginx-proxy.yml +++ b/kubernetes/98-nginx-proxy.yml @@ -39,7 +39,7 @@ spec: spec: containers: - name: nginx-proxy-container - image: ghcr.io/mmguero-dev/malcolm/nginx-proxy:development + image: ghcr.io/idaholab/malcolm/nginx-proxy:24.04.0 imagePullPolicy: Always stdin: false tty: true @@ -99,7 +99,7 @@ spec: subPath: "nginx" initContainers: - name: nginx-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.04.0 imagePullPolicy: Always stdin: false tty: true

aQI|gwCVDz!3cV`nQ3m77vV!o^F$Y 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 mg5ze_%C>q>H75!lq%}3s#j~mQE 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 z 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%0A3gkE@A|K~{zn%0A3gkE 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%0AZYAyoCh@gXZgjg(yHt!vqGXcltcLPd< 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