From 08283ac13774ba6bd70305f05f00aef8ad27090c Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 12:14:15 -0700 Subject: [PATCH 01/88] bump development for v24.01.0 --- docker-compose-standalone.yml | 46 +++++----- docker-compose.yml | 46 +++++----- docs/contributing-pcap.md | 2 +- docs/download.md | 4 +- 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, 175 insertions(+), 175 deletions(-) diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml index 697718674..0d670754a 100644 --- a/docker-compose-standalone.yml +++ b/docker-compose-standalone.yml @@ -12,7 +12,7 @@ x-logging: services: opensearch: - image: ghcr.io/idaholab/malcolm/opensearch:23.12.1 + image: ghcr.io/idaholab/malcolm/opensearch:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/dashboards-helper:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/dashboards:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/logstash-oss:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/filebeat-oss:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/arkime:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/arkime:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/zeek:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/zeek:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/suricata:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/suricata:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/file-monitor:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -407,7 +407,7 @@ services: retries: 3 start_period: 60s pcap-capture: - image: ghcr.io/idaholab/malcolm/pcap-capture:23.12.1 + image: ghcr.io/idaholab/malcolm/pcap-capture:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -436,7 +436,7 @@ services: - ./nginx/ca-trust:/var/local/ca-trust:ro - ./pcap/upload:/pcap pcap-monitor: - image: ghcr.io/idaholab/malcolm/pcap-monitor:23.12.1 + image: ghcr.io/idaholab/malcolm/pcap-monitor:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -464,7 +464,7 @@ services: retries: 3 start_period: 90s upload: - image: ghcr.io/idaholab/malcolm/file-upload:23.12.1 + image: ghcr.io/idaholab/malcolm/file-upload:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -491,7 +491,7 @@ services: retries: 3 start_period: 60s htadmin: - image: ghcr.io/idaholab/malcolm/htadmin:23.12.1 + image: ghcr.io/idaholab/malcolm/htadmin:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -518,7 +518,7 @@ services: retries: 3 start_period: 60s freq: - image: ghcr.io/idaholab/malcolm/freq:23.12.1 + image: ghcr.io/idaholab/malcolm/freq:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -542,7 +542,7 @@ services: retries: 3 start_period: 60s netbox: - image: ghcr.io/idaholab/malcolm/netbox:23.12.1 + image: ghcr.io/idaholab/malcolm/netbox:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -576,7 +576,7 @@ services: retries: 3 start_period: 120s netbox-postgres: - image: ghcr.io/idaholab/malcolm/postgresql:23.12.1 + image: ghcr.io/idaholab/malcolm/postgresql:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -602,7 +602,7 @@ services: retries: 3 start_period: 45s netbox-redis: - image: ghcr.io/idaholab/malcolm/redis:23.12.1 + image: ghcr.io/idaholab/malcolm/redis:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -632,7 +632,7 @@ services: retries: 3 start_period: 45s netbox-redis-cache: - image: ghcr.io/idaholab/malcolm/redis:23.12.1 + image: ghcr.io/idaholab/malcolm/redis:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -661,7 +661,7 @@ services: retries: 3 start_period: 45s api: - image: ghcr.io/idaholab/malcolm/api:23.12.1 + image: ghcr.io/idaholab/malcolm/api:24.01.0 profiles: ["malcolm"] logging: *default-logging command: gunicorn --bind 0:5000 manage:app @@ -688,7 +688,7 @@ services: retries: 3 start_period: 60s nginx-proxy: - image: ghcr.io/idaholab/malcolm/nginx-proxy:23.12.1 + image: ghcr.io/idaholab/malcolm/nginx-proxy:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" diff --git a/docker-compose.yml b/docker-compose.yml index 3bc8b9014..b72ace183 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: build: context: . dockerfile: Dockerfiles/opensearch.Dockerfile - image: ghcr.io/idaholab/malcolm/opensearch:23.12.1 + image: ghcr.io/idaholab/malcolm/opensearch:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/dashboards-helper:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/dashboards:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/logstash-oss:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/filebeat-oss:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/arkime:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/arkime:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/zeek:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/zeek:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/suricata:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/suricata:24.01.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:23.12.1 + image: ghcr.io/idaholab/malcolm/file-monitor:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -457,7 +457,7 @@ services: build: context: . dockerfile: Dockerfiles/pcap-capture.Dockerfile - image: ghcr.io/idaholab/malcolm/pcap-capture:23.12.1 + image: ghcr.io/idaholab/malcolm/pcap-capture:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -489,7 +489,7 @@ services: build: context: . dockerfile: Dockerfiles/pcap-monitor.Dockerfile - image: ghcr.io/idaholab/malcolm/pcap-monitor:23.12.1 + image: ghcr.io/idaholab/malcolm/pcap-monitor:24.01.0 profiles: ["malcolm", "hedgehog"] logging: *default-logging restart: "no" @@ -520,7 +520,7 @@ services: build: context: . dockerfile: Dockerfiles/file-upload.Dockerfile - image: ghcr.io/idaholab/malcolm/file-upload:23.12.1 + image: ghcr.io/idaholab/malcolm/file-upload:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" @@ -547,7 +547,7 @@ services: retries: 3 start_period: 60s htadmin: - image: ghcr.io/idaholab/malcolm/htadmin:23.12.1 + image: ghcr.io/idaholab/malcolm/htadmin:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -577,7 +577,7 @@ services: retries: 3 start_period: 60s freq: - image: ghcr.io/idaholab/malcolm/freq:23.12.1 + image: ghcr.io/idaholab/malcolm/freq:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -604,7 +604,7 @@ services: retries: 3 start_period: 60s netbox: - image: ghcr.io/idaholab/malcolm/netbox:23.12.1 + image: ghcr.io/idaholab/malcolm/netbox:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -641,7 +641,7 @@ services: retries: 3 start_period: 120s netbox-postgres: - image: ghcr.io/idaholab/malcolm/postgresql:23.12.1 + image: ghcr.io/idaholab/malcolm/postgresql:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -670,7 +670,7 @@ services: retries: 3 start_period: 45s netbox-redis: - image: ghcr.io/idaholab/malcolm/redis:23.12.1 + image: ghcr.io/idaholab/malcolm/redis:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -703,7 +703,7 @@ services: retries: 3 start_period: 45s netbox-redis-cache: - image: ghcr.io/idaholab/malcolm/redis:23.12.1 + image: ghcr.io/idaholab/malcolm/redis:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -735,7 +735,7 @@ services: retries: 3 start_period: 45s api: - image: ghcr.io/idaholab/malcolm/api:23.12.1 + image: ghcr.io/idaholab/malcolm/api:24.01.0 profiles: ["malcolm"] logging: *default-logging build: @@ -768,7 +768,7 @@ services: build: context: . dockerfile: Dockerfiles/nginx.Dockerfile - image: ghcr.io/idaholab/malcolm/nginx-proxy:23.12.1 + image: ghcr.io/idaholab/malcolm/nginx-proxy:24.01.0 profiles: ["malcolm"] logging: *default-logging restart: "no" diff --git a/docs/contributing-pcap.md b/docs/contributing-pcap.md index f9ed21c54..62ed8e26b 100644 --- a/docs/contributing-pcap.md +++ b/docs/contributing-pcap.md @@ -1,6 +1,6 @@ # <a name="PCAP"></a>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 [v23.12.1 release]({{ site.github.repository_url }}/releases/tag/v23.12.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.01.0 release]({{ site.github.repository_url }}/releases/tag/v24.01.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/download.md b/docs/download.md index 588fc90ef..ba86b6edd 100644 --- a/docs/download.md +++ b/docs/download.md @@ -16,7 +16,7 @@ While official downloads of the Malcolm installer ISO are not provided, an **uno | ISO | SHA256 | |---|---| -| [malcolm-23.12.1.iso](/iso/malcolm-23.12.1.iso) (5.2GiB) | [`a3dd7dbcaa78322f1ae62b93efd4d95e3644a1b52b65ba24dd1bccf4ac6b173a`](/iso/malcolm-23.12.1.iso.sha256.txt) | +| [malcolm-24.01.0.iso](/iso/malcolm-24.01.0.iso) (5.2GiB) | [`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`](/iso/malcolm-24.01.0.iso.sha256.txt) | ## Hedgehog Linux @@ -26,7 +26,7 @@ While official downloads of the Malcolm installer ISO are not provided, an **uno | ISO | SHA256 | |---|---| -| [hedgehog-23.12.1.iso](/iso/hedgehog-23.12.1.iso) (2.4GiB) | [`009e67d61ae6e8ffa53e8e134091263b91c0f7a442a0717594434761db60b1b5`](/iso/hedgehog-23.12.1.iso.sha256.txt) | +| [hedgehog-24.01.0.iso](/iso/hedgehog-24.01.0.iso) (2.4GiB) | [`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`](/iso/hedgehog-24.01.0.iso.sha256.txt) | ## Warning diff --git a/docs/hedgehog-iso-build.md b/docs/hedgehog-iso-build.md index a97d0d283..4b228dc12 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-23.12.1.iso" +Finished, created "/sensor-build/hedgehog-24.01.0.iso" … ``` diff --git a/docs/kubernetes.md b/docs/kubernetes.md index b1b351d50..2c232ba4a 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:23.12.1 | -file-monitor-deployment-855646bd75-vk7st | Running | 10.42.2.16 | ReplicaSet | agent1 | 8.47m | 1.46Gi | file-monitor-container:0 | file-monitor:23.12.1 | -zeek-live-deployment-64b69d4b6f-947vr | Running | 10.42.2.17 | ReplicaSet | agent1 | 0.02m | 12.44Mi | zeek-live-container:0 | zeek:23.12.1 | -dashboards-helper-deployment-69dc54f6b6-ln4sq | Running | 10.42.2.15 | ReplicaSet | agent1 | 10.77m | 38.43Mi | dashboards-helper-container:0 | dashboards-helper:23.12.1 | -upload-deployment-586568844b-4jnk9 | Running | 10.42.2.18 | ReplicaSet | agent1 | 0.15m | 29.78Mi | upload-container:0 | file-upload:23.12.1 | -filebeat-deployment-6ff8bc444f-t7h49 | Running | 10.42.2.20 | ReplicaSet | agent1 | 2.84m | 70.71Mi | filebeat-container:0 | filebeat-oss:23.12.1 | -zeek-offline-deployment-844f4865bd-g2sdm | Running | 10.42.2.21 | ReplicaSet | agent1 | 0.17m | 41.92Mi | zeek-offline-container:0 | zeek:23.12.1 | -logstash-deployment-6fbc9fdcd5-hwx8s | Running | 10.42.2.22 | ReplicaSet | agent1 | 85.55m | 2.91Gi | logstash-container:0 | logstash-oss:23.12.1 | -netbox-deployment-cdcff4977-hbbw5 | Running | 10.42.2.23 | ReplicaSet | agent1 | 807.64m | 702.86Mi | netbox-container:0 | netbox:23.12.1 | -suricata-offline-deployment-6ccdb89478-z5696 | Running | 10.42.2.19 | ReplicaSet | agent1 | 0.22m | 34.88Mi | suricata-offline-container:0 | suricata:23.12.1 | -dashboards-deployment-69b5465db-vz88g | Running | 10.42.1.14 | ReplicaSet | agent2 | 0.94m | 100.12Mi | dashboards-container:0 | dashboards:23.12.1 | -netbox-redis-cache-deployment-5f77d47b8b-z7t2z | Running | 10.42.1.15 | ReplicaSet | agent2 | 3.57m | 7.36Mi | netbox-redis-cache-container:0 | redis:23.12.1 | -suricata-live-deployment-6494c77759-9rlnt | Running | 10.42.1.16 | ReplicaSet | agent2 | 0.02m | 9.69Mi | suricata-live-container:0 | suricata:23.12.1 | -freq-deployment-cfd84fd97-dnngf | Running | 10.42.1.17 | ReplicaSet | agent2 | 0.2m | 26.36Mi | freq-container:0 | freq:23.12.1 | -arkime-deployment-56999cdd66-s98pp | Running | 10.42.1.18 | ReplicaSet | agent2 | 4.15m | 113.07Mi | arkime-container:0 | arkime:23.12.1 | -pcap-monitor-deployment-594ff674c4-fsm7m | Running | 10.42.1.19 | ReplicaSet | agent2 | 1.24m | 48.44Mi | pcap-monitor-container:0 | pcap-monitor:23.12.1 | -pcap-capture-deployment-7c8bf6957-jzpzn | Running | 10.42.1.20 | ReplicaSet | agent2 | 0.02m | 9.64Mi | pcap-capture-container:0 | pcap-capture:23.12.1 | -netbox-postgres-deployment-5879b8dffc-kkt56 | Running | 10.42.1.21 | ReplicaSet | agent2 | 70.91m | 33.02Mi | netbox-postgres-container:0 | postgresql:23.12.1 | -htadmin-deployment-6fc46888b9-sq6ln | Running | 10.42.1.23 | ReplicaSet | agent2 | 0.14m | 30.53Mi | htadmin-container:0 | htadmin:23.12.1 | -netbox-redis-deployment-5bcd8f6c96-j5xpf | Running | 10.42.1.24 | ReplicaSet | agent2 | 1.46m | 7.34Mi | netbox-redis-container:0 | redis:23.12.1 | -nginx-proxy-deployment-69fcc4968d-f68tq | Running | 10.42.1.22 | ReplicaSet | agent2 | 0.31m | 22.63Mi | nginx-proxy-container:0 | nginx-proxy:23.12.1 | -opensearch-deployment-75498799f6-4zmwd | Running | 10.42.1.25 | ReplicaSet | agent2 | 89.8m | 11.03Gi | opensearch-container:0 | opensearch:23.12.1 | +api-deployment-6f4686cf59-bn286 | Running | 10.42.2.14 | ReplicaSet | agent1 | 0.11m | 59.62Mi | api-container:0 | api:24.01.0 | +file-monitor-deployment-855646bd75-vk7st | Running | 10.42.2.16 | ReplicaSet | agent1 | 8.47m | 1.46Gi | file-monitor-container:0 | file-monitor:24.01.0 | +zeek-live-deployment-64b69d4b6f-947vr | Running | 10.42.2.17 | ReplicaSet | agent1 | 0.02m | 12.44Mi | zeek-live-container:0 | zeek:24.01.0 | +dashboards-helper-deployment-69dc54f6b6-ln4sq | Running | 10.42.2.15 | ReplicaSet | agent1 | 10.77m | 38.43Mi | dashboards-helper-container:0 | dashboards-helper:24.01.0 | +upload-deployment-586568844b-4jnk9 | Running | 10.42.2.18 | ReplicaSet | agent1 | 0.15m | 29.78Mi | upload-container:0 | file-upload:24.01.0 | +filebeat-deployment-6ff8bc444f-t7h49 | Running | 10.42.2.20 | ReplicaSet | agent1 | 2.84m | 70.71Mi | filebeat-container:0 | filebeat-oss:24.01.0 | +zeek-offline-deployment-844f4865bd-g2sdm | Running | 10.42.2.21 | ReplicaSet | agent1 | 0.17m | 41.92Mi | zeek-offline-container:0 | zeek:24.01.0 | +logstash-deployment-6fbc9fdcd5-hwx8s | Running | 10.42.2.22 | ReplicaSet | agent1 | 85.55m | 2.91Gi | logstash-container:0 | logstash-oss:24.01.0 | +netbox-deployment-cdcff4977-hbbw5 | Running | 10.42.2.23 | ReplicaSet | agent1 | 807.64m | 702.86Mi | netbox-container:0 | netbox:24.01.0 | +suricata-offline-deployment-6ccdb89478-z5696 | Running | 10.42.2.19 | ReplicaSet | agent1 | 0.22m | 34.88Mi | suricata-offline-container:0 | suricata:24.01.0 | +dashboards-deployment-69b5465db-vz88g | Running | 10.42.1.14 | ReplicaSet | agent2 | 0.94m | 100.12Mi | dashboards-container:0 | dashboards:24.01.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.01.0 | +suricata-live-deployment-6494c77759-9rlnt | Running | 10.42.1.16 | ReplicaSet | agent2 | 0.02m | 9.69Mi | suricata-live-container:0 | suricata:24.01.0 | +freq-deployment-cfd84fd97-dnngf | Running | 10.42.1.17 | ReplicaSet | agent2 | 0.2m | 26.36Mi | freq-container:0 | freq:24.01.0 | +arkime-deployment-56999cdd66-s98pp | Running | 10.42.1.18 | ReplicaSet | agent2 | 4.15m | 113.07Mi | arkime-container:0 | arkime:24.01.0 | +pcap-monitor-deployment-594ff674c4-fsm7m | Running | 10.42.1.19 | ReplicaSet | agent2 | 1.24m | 48.44Mi | pcap-monitor-container:0 | pcap-monitor:24.01.0 | +pcap-capture-deployment-7c8bf6957-jzpzn | Running | 10.42.1.20 | ReplicaSet | agent2 | 0.02m | 9.64Mi | pcap-capture-container:0 | pcap-capture:24.01.0 | +netbox-postgres-deployment-5879b8dffc-kkt56 | Running | 10.42.1.21 | ReplicaSet | agent2 | 70.91m | 33.02Mi | netbox-postgres-container:0 | postgresql:24.01.0 | +htadmin-deployment-6fc46888b9-sq6ln | Running | 10.42.1.23 | ReplicaSet | agent2 | 0.14m | 30.53Mi | htadmin-container:0 | htadmin:24.01.0 | +netbox-redis-deployment-5bcd8f6c96-j5xpf | Running | 10.42.1.24 | ReplicaSet | agent2 | 1.46m | 7.34Mi | netbox-redis-container:0 | redis:24.01.0 | +nginx-proxy-deployment-69fcc4968d-f68tq | Running | 10.42.1.22 | ReplicaSet | agent2 | 0.31m | 22.63Mi | nginx-proxy-container:0 | nginx-proxy:24.01.0 | +opensearch-deployment-75498799f6-4zmwd | Running | 10.42.1.25 | ReplicaSet | agent2 | 89.8m | 11.03Gi | opensearch-container:0 | opensearch:24.01.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. @@ -555,28 +555,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:23.12.1 | -netbox-redis-deployment-5bcd8f6c96-bkzmh | Running | 10.42.2.5 | ReplicaSet | agent2 | 1.62m | 7.52Mi | netbox-redis-container:0 | redis:23.12.1 | -dashboards-helper-deployment-69dc54f6b6-ks7ps | Running | 10.42.2.4 | ReplicaSet | agent2 | 12.95m | 40.75Mi | dashboards-helper-container:0 | dashboards-helper:23.12.1 | -freq-deployment-cfd84fd97-5bwp6 | Running | 10.42.2.8 | ReplicaSet | agent2 | 0.11m | 26.33Mi | freq-container:0 | freq:23.12.1 | -pcap-capture-deployment-7c8bf6957-hkvkn | Running | 10.42.2.12 | ReplicaSet | agent2 | 0.02m | 9.21Mi | pcap-capture-container:0 | pcap-capture:23.12.1 | -nginx-proxy-deployment-69fcc4968d-m57rz | Running | 10.42.2.10 | ReplicaSet | agent2 | 0.91m | 22.72Mi | nginx-proxy-container:0 | nginx-proxy:23.12.1 | -htadmin-deployment-6fc46888b9-vpt7l | Running | 10.42.2.7 | ReplicaSet | agent2 | 0.16m | 30.21Mi | htadmin-container:0 | htadmin:23.12.1 | -opensearch-deployment-75498799f6-5v92w | Running | 10.42.2.13 | ReplicaSet | agent2 | 139.2m | 10.86Gi | opensearch-container:0 | opensearch:23.12.1 | -zeek-live-deployment-64b69d4b6f-fcb6n | Running | 10.42.2.9 | ReplicaSet | agent2 | 0.02m | 109.55Mi | zeek-live-container:0 | zeek:23.12.1 | -dashboards-deployment-69b5465db-kgsqk | Running | 10.42.2.3 | ReplicaSet | agent2 | 14.98m | 108.85Mi | dashboards-container:0 | dashboards:23.12.1 | -arkime-deployment-56999cdd66-xxpw9 | Running | 10.42.2.11 | ReplicaSet | agent2 | 208.95m | 78.42Mi | arkime-container:0 | arkime:23.12.1 | -api-deployment-6f4686cf59-xt9md | Running | 10.42.1.3 | ReplicaSet | agent1 | 0.14m | 56.88Mi | api-container:0 | api:23.12.1 | -netbox-postgres-deployment-5879b8dffc-lb4qm | Running | 10.42.1.6 | ReplicaSet | agent1 | 141.2m | 48.02Mi | netbox-postgres-container:0 | postgresql:23.12.1 | -pcap-monitor-deployment-594ff674c4-fwq7g | Running | 10.42.1.12 | ReplicaSet | agent1 | 3.93m | 46.44Mi | pcap-monitor-container:0 | pcap-monitor:23.12.1 | -suricata-offline-deployment-6ccdb89478-j5fgj | Running | 10.42.1.10 | ReplicaSet | agent1 | 10.42m | 35.12Mi | suricata-offline-container:0 | suricata:23.12.1 | -suricata-live-deployment-6494c77759-rpt48 | Running | 10.42.1.8 | ReplicaSet | agent1 | 0.01m | 9.62Mi | suricata-live-container:0 | suricata:23.12.1 | -netbox-deployment-cdcff4977-7ns2q | Running | 10.42.1.7 | ReplicaSet | agent1 | 830.47m | 530.7Mi | netbox-container:0 | netbox:23.12.1 | -zeek-offline-deployment-844f4865bd-7x68b | Running | 10.42.1.9 | ReplicaSet | agent1 | 1.44m | 43.66Mi | zeek-offline-container:0 | zeek:23.12.1 | -filebeat-deployment-6ff8bc444f-pdgzj | Running | 10.42.1.11 | ReplicaSet | agent1 | 0.78m | 75.25Mi | filebeat-container:0 | filebeat-oss:23.12.1 | -file-monitor-deployment-855646bd75-nbngq | Running | 10.42.1.4 | ReplicaSet | agent1 | 1.69m | 1.46Gi | file-monitor-container:0 | file-monitor:23.12.1 | -upload-deployment-586568844b-9s7f5 | Running | 10.42.1.13 | ReplicaSet | agent1 | 0.14m | 29.62Mi | upload-container:0 | file-upload:23.12.1 | -logstash-deployment-6fbc9fdcd5-2hhx8 | Running | 10.42.1.5 | ReplicaSet | agent1 | 3236.29m | 357.36Mi | logstash-container:0 | logstash-oss:23.12.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.01.0 | +netbox-redis-deployment-5bcd8f6c96-bkzmh | Running | 10.42.2.5 | ReplicaSet | agent2 | 1.62m | 7.52Mi | netbox-redis-container:0 | redis:24.01.0 | +dashboards-helper-deployment-69dc54f6b6-ks7ps | Running | 10.42.2.4 | ReplicaSet | agent2 | 12.95m | 40.75Mi | dashboards-helper-container:0 | dashboards-helper:24.01.0 | +freq-deployment-cfd84fd97-5bwp6 | Running | 10.42.2.8 | ReplicaSet | agent2 | 0.11m | 26.33Mi | freq-container:0 | freq:24.01.0 | +pcap-capture-deployment-7c8bf6957-hkvkn | Running | 10.42.2.12 | ReplicaSet | agent2 | 0.02m | 9.21Mi | pcap-capture-container:0 | pcap-capture:24.01.0 | +nginx-proxy-deployment-69fcc4968d-m57rz | Running | 10.42.2.10 | ReplicaSet | agent2 | 0.91m | 22.72Mi | nginx-proxy-container:0 | nginx-proxy:24.01.0 | +htadmin-deployment-6fc46888b9-vpt7l | Running | 10.42.2.7 | ReplicaSet | agent2 | 0.16m | 30.21Mi | htadmin-container:0 | htadmin:24.01.0 | +opensearch-deployment-75498799f6-5v92w | Running | 10.42.2.13 | ReplicaSet | agent2 | 139.2m | 10.86Gi | opensearch-container:0 | opensearch:24.01.0 | +zeek-live-deployment-64b69d4b6f-fcb6n | Running | 10.42.2.9 | ReplicaSet | agent2 | 0.02m | 109.55Mi | zeek-live-container:0 | zeek:24.01.0 | +dashboards-deployment-69b5465db-kgsqk | Running | 10.42.2.3 | ReplicaSet | agent2 | 14.98m | 108.85Mi | dashboards-container:0 | dashboards:24.01.0 | +arkime-deployment-56999cdd66-xxpw9 | Running | 10.42.2.11 | ReplicaSet | agent2 | 208.95m | 78.42Mi | arkime-container:0 | arkime:24.01.0 | +api-deployment-6f4686cf59-xt9md | Running | 10.42.1.3 | ReplicaSet | agent1 | 0.14m | 56.88Mi | api-container:0 | api:24.01.0 | +netbox-postgres-deployment-5879b8dffc-lb4qm | Running | 10.42.1.6 | ReplicaSet | agent1 | 141.2m | 48.02Mi | netbox-postgres-container:0 | postgresql:24.01.0 | +pcap-monitor-deployment-594ff674c4-fwq7g | Running | 10.42.1.12 | ReplicaSet | agent1 | 3.93m | 46.44Mi | pcap-monitor-container:0 | pcap-monitor:24.01.0 | +suricata-offline-deployment-6ccdb89478-j5fgj | Running | 10.42.1.10 | ReplicaSet | agent1 | 10.42m | 35.12Mi | suricata-offline-container:0 | suricata:24.01.0 | +suricata-live-deployment-6494c77759-rpt48 | Running | 10.42.1.8 | ReplicaSet | agent1 | 0.01m | 9.62Mi | suricata-live-container:0 | suricata:24.01.0 | +netbox-deployment-cdcff4977-7ns2q | Running | 10.42.1.7 | ReplicaSet | agent1 | 830.47m | 530.7Mi | netbox-container:0 | netbox:24.01.0 | +zeek-offline-deployment-844f4865bd-7x68b | Running | 10.42.1.9 | ReplicaSet | agent1 | 1.44m | 43.66Mi | zeek-offline-container:0 | zeek:24.01.0 | +filebeat-deployment-6ff8bc444f-pdgzj | Running | 10.42.1.11 | ReplicaSet | agent1 | 0.78m | 75.25Mi | filebeat-container:0 | filebeat-oss:24.01.0 | +file-monitor-deployment-855646bd75-nbngq | Running | 10.42.1.4 | ReplicaSet | agent1 | 1.69m | 1.46Gi | file-monitor-container:0 | file-monitor:24.01.0 | +upload-deployment-586568844b-9s7f5 | Running | 10.42.1.13 | ReplicaSet | agent1 | 0.14m | 29.62Mi | upload-container:0 | file-upload:24.01.0 | +logstash-deployment-6fbc9fdcd5-2hhx8 | Running | 10.42.1.5 | ReplicaSet | agent1 | 3236.29m | 357.36Mi | logstash-container:0 | logstash-oss:24.01.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 640276d77..fff839df5 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-23.12.1.iso" +Finished, created "/malcolm-build/malcolm-iso/malcolm-24.01.0.iso" … ``` diff --git a/docs/quickstart.md b/docs/quickstart.md index 91adf3d93..acf540722 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 23.12.1 xxxxxxxxxxxx 3 days ago 158MB -ghcr.io/idaholab/malcolm/arkime 23.12.1 xxxxxxxxxxxx 3 days ago 816MB -ghcr.io/idaholab/malcolm/dashboards 23.12.1 xxxxxxxxxxxx 3 days ago 1.02GB -ghcr.io/idaholab/malcolm/dashboards-helper 23.12.1 xxxxxxxxxxxx 3 days ago 184MB -ghcr.io/idaholab/malcolm/file-monitor 23.12.1 xxxxxxxxxxxx 3 days ago 588MB -ghcr.io/idaholab/malcolm/file-upload 23.12.1 xxxxxxxxxxxx 3 days ago 259MB -ghcr.io/idaholab/malcolm/filebeat-oss 23.12.1 xxxxxxxxxxxx 3 days ago 624MB -ghcr.io/idaholab/malcolm/freq 23.12.1 xxxxxxxxxxxx 3 days ago 132MB -ghcr.io/idaholab/malcolm/htadmin 23.12.1 xxxxxxxxxxxx 3 days ago 242MB -ghcr.io/idaholab/malcolm/logstash-oss 23.12.1 xxxxxxxxxxxx 3 days ago 1.35GB -ghcr.io/idaholab/malcolm/netbox 23.12.1 xxxxxxxxxxxx 3 days ago 1.01GB -ghcr.io/idaholab/malcolm/nginx-proxy 23.12.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/opensearch 23.12.1 xxxxxxxxxxxx 3 days ago 1.17GB -ghcr.io/idaholab/malcolm/pcap-capture 23.12.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/pcap-monitor 23.12.1 xxxxxxxxxxxx 3 days ago 213MB -ghcr.io/idaholab/malcolm/postgresql 23.12.1 xxxxxxxxxxxx 3 days ago 268MB -ghcr.io/idaholab/malcolm/redis 23.12.1 xxxxxxxxxxxx 3 days ago 34.2MB -ghcr.io/idaholab/malcolm/suricata 23.12.1 xxxxxxxxxxxx 3 days ago 278MB -ghcr.io/idaholab/malcolm/zeek 23.12.1 xxxxxxxxxxxx 3 days ago 1GB +ghcr.io/idaholab/malcolm/api 24.01.0 xxxxxxxxxxxx 3 days ago 158MB +ghcr.io/idaholab/malcolm/arkime 24.01.0 xxxxxxxxxxxx 3 days ago 816MB +ghcr.io/idaholab/malcolm/dashboards 24.01.0 xxxxxxxxxxxx 3 days ago 1.02GB +ghcr.io/idaholab/malcolm/dashboards-helper 24.01.0 xxxxxxxxxxxx 3 days ago 184MB +ghcr.io/idaholab/malcolm/file-monitor 24.01.0 xxxxxxxxxxxx 3 days ago 588MB +ghcr.io/idaholab/malcolm/file-upload 24.01.0 xxxxxxxxxxxx 3 days ago 259MB +ghcr.io/idaholab/malcolm/filebeat-oss 24.01.0 xxxxxxxxxxxx 3 days ago 624MB +ghcr.io/idaholab/malcolm/freq 24.01.0 xxxxxxxxxxxx 3 days ago 132MB +ghcr.io/idaholab/malcolm/htadmin 24.01.0 xxxxxxxxxxxx 3 days ago 242MB +ghcr.io/idaholab/malcolm/logstash-oss 24.01.0 xxxxxxxxxxxx 3 days ago 1.35GB +ghcr.io/idaholab/malcolm/netbox 24.01.0 xxxxxxxxxxxx 3 days ago 1.01GB +ghcr.io/idaholab/malcolm/nginx-proxy 24.01.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/opensearch 24.01.0 xxxxxxxxxxxx 3 days ago 1.17GB +ghcr.io/idaholab/malcolm/pcap-capture 24.01.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/pcap-monitor 24.01.0 xxxxxxxxxxxx 3 days ago 213MB +ghcr.io/idaholab/malcolm/postgresql 24.01.0 xxxxxxxxxxxx 3 days ago 268MB +ghcr.io/idaholab/malcolm/redis 24.01.0 xxxxxxxxxxxx 3 days ago 34.2MB +ghcr.io/idaholab/malcolm/suricata 24.01.0 xxxxxxxxxxxx 3 days ago 278MB +ghcr.io/idaholab/malcolm/zeek 24.01.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 389a0ad39..4e2d0c652 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -252,25 +252,25 @@ Pulling zeek ... done user@host:~/Malcolm$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE -ghcr.io/idaholab/malcolm/api 23.12.1 xxxxxxxxxxxx 3 days ago 158MB -ghcr.io/idaholab/malcolm/arkime 23.12.1 xxxxxxxxxxxx 3 days ago 816MB -ghcr.io/idaholab/malcolm/dashboards 23.12.1 xxxxxxxxxxxx 3 days ago 1.02GB -ghcr.io/idaholab/malcolm/dashboards-helper 23.12.1 xxxxxxxxxxxx 3 days ago 184MB -ghcr.io/idaholab/malcolm/file-monitor 23.12.1 xxxxxxxxxxxx 3 days ago 588MB -ghcr.io/idaholab/malcolm/file-upload 23.12.1 xxxxxxxxxxxx 3 days ago 259MB -ghcr.io/idaholab/malcolm/filebeat-oss 23.12.1 xxxxxxxxxxxx 3 days ago 624MB -ghcr.io/idaholab/malcolm/freq 23.12.1 xxxxxxxxxxxx 3 days ago 132MB -ghcr.io/idaholab/malcolm/htadmin 23.12.1 xxxxxxxxxxxx 3 days ago 242MB -ghcr.io/idaholab/malcolm/logstash-oss 23.12.1 xxxxxxxxxxxx 3 days ago 1.35GB -ghcr.io/idaholab/malcolm/netbox 23.12.1 xxxxxxxxxxxx 3 days ago 1.01GB -ghcr.io/idaholab/malcolm/nginx-proxy 23.12.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/opensearch 23.12.1 xxxxxxxxxxxx 3 days ago 1.17GB -ghcr.io/idaholab/malcolm/pcap-capture 23.12.1 xxxxxxxxxxxx 3 days ago 121MB -ghcr.io/idaholab/malcolm/pcap-monitor 23.12.1 xxxxxxxxxxxx 3 days ago 213MB -ghcr.io/idaholab/malcolm/postgresql 23.12.1 xxxxxxxxxxxx 3 days ago 268MB -ghcr.io/idaholab/malcolm/redis 23.12.1 xxxxxxxxxxxx 3 days ago 34.2MB -ghcr.io/idaholab/malcolm/suricata 23.12.1 xxxxxxxxxxxx 3 days ago 278MB -ghcr.io/idaholab/malcolm/zeek 23.12.1 xxxxxxxxxxxx 3 days ago 1GB +ghcr.io/idaholab/malcolm/api 24.01.0 xxxxxxxxxxxx 3 days ago 158MB +ghcr.io/idaholab/malcolm/arkime 24.01.0 xxxxxxxxxxxx 3 days ago 816MB +ghcr.io/idaholab/malcolm/dashboards 24.01.0 xxxxxxxxxxxx 3 days ago 1.02GB +ghcr.io/idaholab/malcolm/dashboards-helper 24.01.0 xxxxxxxxxxxx 3 days ago 184MB +ghcr.io/idaholab/malcolm/file-monitor 24.01.0 xxxxxxxxxxxx 3 days ago 588MB +ghcr.io/idaholab/malcolm/file-upload 24.01.0 xxxxxxxxxxxx 3 days ago 259MB +ghcr.io/idaholab/malcolm/filebeat-oss 24.01.0 xxxxxxxxxxxx 3 days ago 624MB +ghcr.io/idaholab/malcolm/freq 24.01.0 xxxxxxxxxxxx 3 days ago 132MB +ghcr.io/idaholab/malcolm/htadmin 24.01.0 xxxxxxxxxxxx 3 days ago 242MB +ghcr.io/idaholab/malcolm/logstash-oss 24.01.0 xxxxxxxxxxxx 3 days ago 1.35GB +ghcr.io/idaholab/malcolm/netbox 24.01.0 xxxxxxxxxxxx 3 days ago 1.01GB +ghcr.io/idaholab/malcolm/nginx-proxy 24.01.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/opensearch 24.01.0 xxxxxxxxxxxx 3 days ago 1.17GB +ghcr.io/idaholab/malcolm/pcap-capture 24.01.0 xxxxxxxxxxxx 3 days ago 121MB +ghcr.io/idaholab/malcolm/pcap-monitor 24.01.0 xxxxxxxxxxxx 3 days ago 213MB +ghcr.io/idaholab/malcolm/postgresql 24.01.0 xxxxxxxxxxxx 3 days ago 268MB +ghcr.io/idaholab/malcolm/redis 24.01.0 xxxxxxxxxxxx 3 days ago 34.2MB +ghcr.io/idaholab/malcolm/suricata 24.01.0 xxxxxxxxxxxx 3 days ago 278MB +ghcr.io/idaholab/malcolm/zeek 24.01.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 97ef53dfe..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:23.12.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:23.12.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 8481d5d6c..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:23.12.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 44b281c0a..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:23.12.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:23.12.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 fb7a356c5..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:23.12.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:23.12.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 70cdf1e56..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:23.12.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:23.12.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 34b6a62a3..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:23.12.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 35ecffa08..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:23.12.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 60041dd52..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:23.12.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:23.12.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 41c126f2e..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:23.12.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:23.12.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 8f8140a47..9cf768a47 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:23.12.1 + image: ghcr.io/mmguero-dev/malcolm/file-monitor:development imagePullPolicy: Always stdin: false tty: true @@ -81,7 +81,7 @@ spec: name: file-monitor-yara-rules-custom-volume initContainers: - name: file-monitor-live-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:23.12.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 9681fbb7b..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:23.12.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:23.12.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 6f6ee2b2a..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:23.12.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:23.12.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 6062e0098..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:23.12.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:23.12.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 091e49ada..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:23.12.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 2d04687ba..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:23.12.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:23.12.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 83f9db69b..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:23.12.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:23.12.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 c4a9b3ebb..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:23.12.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:23.12.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 66014d9c8..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:23.12.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:23.12.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 c63a9acb8..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:23.12.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:23.12.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 1b373130f..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:23.12.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:23.12.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 41f508378..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:23.12.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:23.12.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 32e834237..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:23.12.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 c8e208b56..94e7861e2 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:23.12.1 + image: ghcr.io/mmguero-dev/malcolm/nginx-proxy:development imagePullPolicy: Always stdin: false tty: true @@ -95,7 +95,7 @@ spec: subPath: "nginx" initContainers: - name: nginx-dirinit-container - image: ghcr.io/idaholab/malcolm/dirinit:23.12.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 f6a3d87fd..b95ebc41b 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": "v23.12.1", + "malcolm_tag": "v24.01.0", "malcolm_repo": "idaholab/Malcolm", "malcolm_uid": "1000", "ssh_username": "ec2-user", From 7bb5c1d83a5dbea7a528e3945eeda4b18fd221df Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 13:36:01 -0700 Subject: [PATCH 02/88] for idaholab/Malcolm#288, file carve download with password-protected zip file --- Dockerfiles/file-monitor.Dockerfile | 15 ++++- config/zeek-secret.env.example | 6 +- config/zeek.env.example | 2 + docs/file-scanning.md | 2 +- docs/kubernetes.md | 4 +- docs/malcolm-config.md | 5 +- docs/malcolm-hedgehog-e2e-iso-install.md | 6 +- docs/ubuntu-install-example.md | 4 +- file-monitor/supervisord.conf | 1 + scripts/install.py | 30 ++++++++- shared/bin/zeek_carved_http_server.py | 85 ++++++++++++++++++++---- 11 files changed, 134 insertions(+), 26 deletions(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 6ed4d539e..39b6bed8c 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -50,7 +50,8 @@ ARG EXTRACTED_FILE_CAPA_VERBOSE=false ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false ARG EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=false -ARG EXTRACTED_FILE_HTTP_SERVER_KEY=quarantined +ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=false +ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440 ENV ZEEK_EXTRACTOR_PATH $ZEEK_EXTRACTOR_PATH @@ -90,6 +91,7 @@ ENV CAPA_BIN "${CAPA_DIR}/capa" ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE ENV EXTRACTED_FILE_HTTP_SERVER_ENCRYPT $EXTRACTED_FILE_HTTP_SERVER_ENCRYPT +ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT @@ -137,7 +139,16 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour python3-requests \ python3-zmq \ rsync && \ - python3 -m pip install --break-system-packages --no-compile --no-cache-dir clamd supervisor yara-python python-magic psutil pycryptodome watchdog && \ + python3 -m pip install --break-system-packages --no-compile --no-cache-dir \ + clamd \ + psutil \ + pycryptodome \ + pyminizip \ + python-magic \ + stream-zip \ + supervisor \ + watchdog \ + yara-python && \ curl -fsSLO "$SUPERCRONIC_URL" && \ echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - && \ chmod +x "$SUPERCRONIC" && \ diff --git a/config/zeek-secret.env.example b/config/zeek-secret.env.example index 8ce2739c6..ad56a4987 100644 --- a/config/zeek-secret.env.example +++ b/config/zeek-secret.env.example @@ -1,5 +1,7 @@ # A VirusTotal Public API v.20 used to submit hashes of Zeek-extracted files VTOT_API2_KEY=0 -# Specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files served over HTTP -EXTRACTED_FILE_HTTP_SERVER_KEY=quarantined +# 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 K8S_SECRET=True \ No newline at end of file diff --git a/config/zeek.env.example b/config/zeek.env.example index 7e0e64249..a70fab119 100644 --- a/config/zeek.env.example +++ b/config/zeek.env.example @@ -49,6 +49,8 @@ EXTRACTED_FILE_UPDATE_RULES=false EXTRACTED_FILE_PIPELINE_VERBOSITY= # Whether or not to serve the directory containing Zeek-extracted over HTTP at ./extracted-files/ EXTRACTED_FILE_HTTP_SERVER_ENABLE=false +# Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file +EXTRACTED_FILE_HTTP_SERVER_ZIP=false # Whether or not Zeek-extracted files served over HTTP will be AES-256-CBC-encrypted EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=true # Environment variables for tweaking Zeek at runtime (see local.zeek) diff --git a/docs/file-scanning.md b/docs/file-scanning.md index e7c3908c5..f373c7862 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -25,4 +25,4 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c * `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 -The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally encrypted upon download (and decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) +The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 2c232ba4a..38e14b911 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -410,7 +410,9 @@ Select file preservation behavior (quarantined): 1 Expose web interface for downloading preserved files? (y / N): y -Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted): quarantined +ZIP downloaded preserved files? (y / N): y + +Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected): infected Scan extracted files with ClamAV? (Y / n): y diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 94ee44959..6f4df8ee4 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -81,8 +81,9 @@ Although the configuration script automates many of the following configuration - `EXTRACTED_FILE_ENABLE_CLAMAV` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [ClamAV](https://www.clamav.net/) - `EXTRACTED_FILE_ENABLE_YARA` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [Yara](https://github.com/VirusTotal/yara) - `EXTRACTED_FILE_HTTP_SERVER_ENABLE` – if set to `true`, the directory containing [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be served over HTTP at `./extracted-files/` (e.g., **https://localhost/extracted-files/** if connecting locally) - - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) - - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files; used in conjunction with `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` + - `EXTRACTED_FILE_HTTP_SERVER_ZIP` – if to `true`, the Zeek-extracted files will be archived in a ZIP file upon download + - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download + - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files if `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` is `true` - `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`) diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index cc756826a..61c6822bb 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -235,8 +235,10 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest + `none`: preserve no extracted files * **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://<Malcolm host or IP address>/extracted-files/**. Beware that Zeek-extracted files may contain malware. -* **Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)** - - If a password is specified here, Zeek-extracted files downloaded as described under the previous question will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`). +* **ZIP downloaded preserved files?** + - Answering **Y** will cause that Zeek-extracted files downloaded as described under the previous question will be archived using the ZIP file format. +* **Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected)** and **Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)** + - A non-blank value will be used as either the ZIP archive file password (if the previous question was answered **Y**) or as the encryption key for the file to be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`). * **Scan extracted files with ClamAV?** - Answer **Y** to scan extracted files with [ClamAV](https://www.clamav.net/), an antivirus engine. * **Scan extracted files with Yara?** diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 4e2d0c652..c7fe7ea91 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -169,7 +169,9 @@ Select file preservation behavior (quarantined): 1 Expose web interface for downloading preserved files? (y / N): y -Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted): decryptme +ZIP downloaded preserved files? (y / N): y + +Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected): infected Scan extracted files with ClamAV? (y / N): y diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf index 78cf4d79b..979612f2b 100644 --- a/file-monitor/supervisord.conf +++ b/file-monitor/supervisord.conf @@ -152,6 +152,7 @@ redirect_stderr=true [program:fileserve] command=/usr/local/bin/zeek_carved_http_server.py --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s + --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s --encrypt %(ENV_EXTRACTED_FILE_HTTP_SERVER_ENCRYPT)s --directory /zeek/extract_files autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s diff --git a/scripts/install.py b/scripts/install.py index 0b341bcae..d7cda08cf 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1197,6 +1197,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path): clamAvScan = False fileScanRuleUpdate = False fileCarveHttpServer = False + fileCarveHttpServerZip = False fileCarveHttpServeEncryptKey = '' if InstallerYesOrNo('Enable file extraction with Zeek?', default=bool(fileCarveModeDefault)): @@ -1229,8 +1230,13 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'Expose web interface for downloading preserved files?', default=args.fileCarveHttpServer ) if fileCarveHttpServer: + fileCarveHttpServerZip = InstallerYesOrNo( + 'ZIP downloaded preserved files?', default=args.fileCarveHttpServerZip + ) fileCarveHttpServeEncryptKey = InstallerAskForString( - 'Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)', + 'Enter ZIP archive password for downloaded preserved files (or leave blank for unprotected)' + if fileCarveHttpServerZip + else 'Enter AES-256-CBC encryption password for downloaded preserved files (or leave blank for unencrypted)', default=args.fileCarveHttpServeEncryptKey, ) if fileCarveMode is not None: @@ -1774,11 +1780,19 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'EXTRACTED_FILE_HTTP_SERVER_ENABLE', TrueOrFalseNoQuote(fileCarveHttpServer), ), + # ZIP HTTP server for extracted files + EnvValue( + os.path.join(args.configDir, 'zeek.env'), + 'EXTRACTED_FILE_HTTP_SERVER_ZIP', + TrueOrFalseNoQuote(fileCarveHttpServerZip), + ), # encrypt HTTP server for extracted files EnvValue( os.path.join(args.configDir, 'zeek.env'), 'EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', - TrueOrFalseNoQuote(fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0)), + TrueOrFalseNoQuote( + fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0) and (not fileCarveHttpServerZip) + ), ), # key for encrypted HTTP-served extracted files (' -> '' for escaping in YAML) EnvValue( @@ -3703,6 +3717,16 @@ def main(): default=False, help='Expose web interface for downloading preserved files', ) + fileCarveArgGroup.add_argument( + '--extracted-file-server-zip', + dest='fileCarveHttpServerZip', + type=str2bool, + metavar="true|false", + nargs='?', + const=True, + default=False, + help='ZIP downloaded preserved files', + ) fileCarveArgGroup.add_argument( '--extracted-file-server-password', dest='fileCarveHttpServeEncryptKey', @@ -3710,7 +3734,7 @@ def main(): metavar='<string>', type=str, default='', - help='AES-256-CBC encryption password for downloaded preserved files (blank for unencrypted)', + help='ZIP archive or AES-256-CBC encryption password for downloaded preserved files (blank for unencrypted)', ) fileCarveArgGroup.add_argument( '--extracted-file-clamav', diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py index 8b385c9de..2c0707a09 100755 --- a/shared/bin/zeek_carved_http_server.py +++ b/shared/bin/zeek_carved_http_server.py @@ -9,14 +9,26 @@ import argparse import hashlib import os +import pyminizip import sys -from threading import Thread -from socketserver import ThreadingMixIn -from http.server import HTTPServer, SimpleHTTPRequestHandler from Crypto.Cipher import AES +from datetime import datetime +from http.server import HTTPServer, SimpleHTTPRequestHandler +from socketserver import ThreadingMixIn +from stat import S_IFREG +from stream_zip import ZIP_32, stream_zip +from threading import Thread -from malcolm_utils import str2bool, eprint, EVP_KEY_SIZE, PKCS5_SALT_LEN, OPENSSL_ENC_MAGIC, EVP_BytesToKey +from malcolm_utils import ( + str2bool, + eprint, + temporary_filename, + EVP_KEY_SIZE, + PKCS5_SALT_LEN, + OPENSSL_ENC_MAGIC, + EVP_BytesToKey, +) ################################################################################################### args = None @@ -26,6 +38,19 @@ orig_path = os.getcwd() +################################################################################################### +# +def LocalFilesForZip(names): + now = datetime.now() + + def contents(name): + with open(name, 'rb') as f: + while chunk := f.read(65536): + yield chunk + + return ((os.path.join('.', os.path.basename(name)), now, S_IFREG | 0o600, ZIP_32, contents(name)) for name in names) + + ################################################################################################### # class HTTPHandler(SimpleHTTPRequestHandler): @@ -43,13 +68,33 @@ def do_GET(self): fullpath = self.translate_path(self.path) - if (not args.encrypt) or os.path.isdir(fullpath): - # unencrypted, just use default implementation + if os.path.isdir(fullpath): + # directory listing SimpleHTTPRequestHandler.do_GET(self) - else: - # encrypt file transfers - if os.path.isfile(fullpath) or os.path.islink(fullpath): + elif os.path.isfile(fullpath) or os.path.islink(fullpath): + if args.zip: + # ZIP file + self.send_response(200) + self.send_header('Content-type', "application/zip") + self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip') + self.end_headers() + + if args.encrypt: + # password-protected ZIP file (temporarily persisted to disk) + with temporary_filename(suffix='.zip') as tmpFileName: + pyminizip.compress(fullpath, None, tmpFileName, args.key, 1) + with open(tmpFileName, 'rb') as f: + while chunk := f.read(65536): + self.wfile.write(chunk) + + else: + # encrypted ZIP file (streamed) + for chunk in stream_zip(LocalFilesForZip([fullpath])): + self.wfile.write(chunk) + + elif args.encrypt: + # encrypted file self.send_response(200) self.send_header('Content-type', 'application/octet-stream') self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted') @@ -73,7 +118,11 @@ def do_GET(self): break else: - self.send_error(404, "Not Found") + # unencrypted file + SimpleHTTPRequestHandler.do_GET(self) + + else: + self.send_error(404, "Not Found") ################################################################################################### @@ -101,8 +150,9 @@ def main(): defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false') defaultEncrypt = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', 'false') + defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false') defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440)) - defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'quarantined') + defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected') defaultDir = os.getenv('EXTRACTED_FILE_HTTP_SERVER_PATH', orig_path) parser = argparse.ArgumentParser( @@ -146,7 +196,7 @@ def main(): const=True, default=defaultEncrypt, metavar='true|false', - help=f"Encrypt files with aes-256-cbc ({defaultEncrypt})", + help=f"Encrypt files (with -z/--zip, or with aes-256-cbc) ({defaultEncrypt})", ) parser.add_argument( '-k', @@ -157,6 +207,17 @@ def main(): type=str, default=defaultKey, ) + parser.add_argument( + '-z', + '--zip', + dest='zip', + type=str2bool, + nargs='?', + const=True, + default=defaultZip, + metavar='true|false', + help=f"Zip file ({defaultZip})", + ) try: parser.error = parser.exit args = parser.parse_args() From 34aeea01ca7498eb3602968b59aa29fc3ae339bc Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 15:41:14 -0700 Subject: [PATCH 03/88] for idaholab/Malcolm#288, file carve download with password-protected zip file --- shared/bin/zeek_carved_http_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py index 2c0707a09..e1373c294 100755 --- a/shared/bin/zeek_carved_http_server.py +++ b/shared/bin/zeek_carved_http_server.py @@ -80,7 +80,7 @@ def do_GET(self): self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip') self.end_headers() - if args.encrypt: + if args.key: # password-protected ZIP file (temporarily persisted to disk) with temporary_filename(suffix='.zip') as tmpFileName: pyminizip.compress(fullpath, None, tmpFileName, args.key, 1) From 46672911f3b5457d8716631cdf49bea8a35d1bf2 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 15:53:44 -0700 Subject: [PATCH 04/88] simplified by removing EXTRACTED_FILE_HTTP_SERVER_ENCRYPT variable, just base it off of whether or not EXTRACTED_FILE_HTTP_SERVER_KEY is set (idaholab/Malcolm#288) --- Dockerfiles/file-monitor.Dockerfile | 4 +--- config/zeek.env.example | 2 -- docs/malcolm-config.md | 3 +-- file-monitor/supervisord.conf | 1 - .../demo/amazon_linux_2_malcolm_demo_setup.sh | 1 - scripts/install.py | 8 ------- shared/bin/zeek_carved_http_server.py | 23 +++++-------------- 7 files changed, 8 insertions(+), 34 deletions(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 39b6bed8c..088db2906 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -49,8 +49,7 @@ ARG EXTRACTED_FILE_ENABLE_CAPA=false ARG EXTRACTED_FILE_CAPA_VERBOSE=false ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false -ARG EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=false -ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=false +ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=true ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440 @@ -90,7 +89,6 @@ ENV CAPA_DIR "/opt/capa" ENV CAPA_BIN "${CAPA_DIR}/capa" ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE -ENV EXTRACTED_FILE_HTTP_SERVER_ENCRYPT $EXTRACTED_FILE_HTTP_SERVER_ENCRYPT ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT diff --git a/config/zeek.env.example b/config/zeek.env.example index a70fab119..142445c9f 100644 --- a/config/zeek.env.example +++ b/config/zeek.env.example @@ -51,8 +51,6 @@ EXTRACTED_FILE_PIPELINE_VERBOSITY= EXTRACTED_FILE_HTTP_SERVER_ENABLE=false # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file EXTRACTED_FILE_HTTP_SERVER_ZIP=false -# Whether or not Zeek-extracted files served over HTTP will be AES-256-CBC-encrypted -EXTRACTED_FILE_HTTP_SERVER_ENCRYPT=true # Environment variables for tweaking Zeek at runtime (see local.zeek) # Set to any non-blank value to disable the corresponding feature ZEEK_DISABLE_HASH_ALL_FILES= diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 6f4df8ee4..4e7c8eed6 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -82,8 +82,7 @@ Although the configuration script automates many of the following configuration - `EXTRACTED_FILE_ENABLE_YARA` – if set to `true`, [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be scanned with [Yara](https://github.com/VirusTotal/yara) - `EXTRACTED_FILE_HTTP_SERVER_ENABLE` – if set to `true`, the directory containing [Zeek-extracted files](file-scanning.md#ZeekFileExtraction) will be served over HTTP at `./extracted-files/` (e.g., **https://localhost/extracted-files/** if connecting locally) - `EXTRACTED_FILE_HTTP_SERVER_ZIP` – if to `true`, the Zeek-extracted files will be archived in a ZIP file upon download - - `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` – if to `true`, the Zeek-extracted files will be AES-256-CBC-encrypted in an `openssl enc`-compatible format (e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download - - `EXTRACTED_FILE_HTTP_SERVER_KEY` – specifies the password for the ZIP archive if `EXTRACTED_FILE_HTTP_SERVER_ZIP` is `true`; otherwise, this specifies the AES-256-CBC decryption password for encrypted Zeek-extracted files if `EXTRACTED_FILE_HTTP_SERVER_ENCRYPT` is `true` + - `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`) diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf index 979612f2b..81eb7383f 100644 --- a/file-monitor/supervisord.conf +++ b/file-monitor/supervisord.conf @@ -153,7 +153,6 @@ redirect_stderr=true command=/usr/local/bin/zeek_carved_http_server.py --port %(ENV_EXTRACTED_FILE_HTTP_SERVER_PORT)s --zip %(ENV_EXTRACTED_FILE_HTTP_SERVER_ZIP)s - --encrypt %(ENV_EXTRACTED_FILE_HTTP_SERVER_ENCRYPT)s --directory /zeek/extract_files autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s diff --git a/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh b/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh index 41dd9bd90..8a6be38d2 100755 --- a/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh +++ b/scripts/demo/amazon_linux_2_malcolm_demo_setup.sh @@ -553,7 +553,6 @@ function InstallMalcolm { "EXTRACTED_FILE_ENABLE_CLAMAV:'true'" "EXTRACTED_FILE_ENABLE_YARA:'true'" "EXTRACTED_FILE_HTTP_SERVER_ENABLE:'true'" - "EXTRACTED_FILE_HTTP_SERVER_ENCRYPT:'false'" "EXTRACTED_FILE_IGNORE_EXISTING:'true'" "EXTRACTED_FILE_PRESERVATION:'all'" "FREQ_LOOKUP:'true'" diff --git a/scripts/install.py b/scripts/install.py index d7cda08cf..a3f1d09c1 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1786,14 +1786,6 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'EXTRACTED_FILE_HTTP_SERVER_ZIP', TrueOrFalseNoQuote(fileCarveHttpServerZip), ), - # encrypt HTTP server for extracted files - EnvValue( - os.path.join(args.configDir, 'zeek.env'), - 'EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', - TrueOrFalseNoQuote( - fileCarveHttpServer and (len(fileCarveHttpServeEncryptKey) > 0) and (not fileCarveHttpServerZip) - ), - ), # key for encrypted HTTP-served extracted files (' -> '' for escaping in YAML) EnvValue( os.path.join(args.configDir, 'zeek-secret.env'), diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py index e1373c294..d92cf89dd 100755 --- a/shared/bin/zeek_carved_http_server.py +++ b/shared/bin/zeek_carved_http_server.py @@ -3,7 +3,8 @@ # Multithreaded simple HTTP directory server. # -# The files can optionally be aes-256-cbc encrypted in a way that's compatible with: +# The files can optionally be archived in a ZIP file, with or without a password, or +# 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 argparse @@ -89,12 +90,12 @@ def do_GET(self): self.wfile.write(chunk) else: - # encrypted ZIP file (streamed) + # unprotected ZIP file (streamed) for chunk in stream_zip(LocalFilesForZip([fullpath])): self.wfile.write(chunk) - elif args.encrypt: - # encrypted file + elif args.key: + # openssl-compatible encrypted file self.send_response(200) self.send_header('Content-type', 'application/octet-stream') self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted') @@ -149,7 +150,6 @@ def main(): global orig_path defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false') - defaultEncrypt = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ENCRYPT', 'false') defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false') defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440)) defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected') @@ -187,22 +187,11 @@ def main(): type=str, default=defaultDir, ) - parser.add_argument( - '-e', - '--encrypt', - dest='encrypt', - type=str2bool, - nargs='?', - const=True, - default=defaultEncrypt, - metavar='true|false', - help=f"Encrypt files (with -z/--zip, or with aes-256-cbc) ({defaultEncrypt})", - ) parser.add_argument( '-k', '--key', dest='key', - help="File encryption key", + help="File encryption key (for ZIP file if -z/--zip, otherwise openssl-compatible encryption", metavar='<str>', type=str, default=defaultKey, From 575bc3895bbc59e0f28d1106f89ebf14c895d7dd Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 16:02:24 -0700 Subject: [PATCH 05/88] updated documentation for carved file download (idaholab/Malcolm#288) --- docs/file-scanning.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/file-scanning.md b/docs/file-scanning.md index f373c7862..3e8988a3e 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -25,4 +25,21 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c * `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 -The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. +The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words: + +* to disable the extracted files server: + - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false` +* to enable the extracted file server: + - `EXTRACTED_FILE_HTTP_SERVER_ZIP=true` + - downloaded files are zipped, without a password: + + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true` + + `EXTRACTED_FILE_HTTP_SERVER_KEY=` + - downloaded files are zipped, with a password: + + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true` + + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx` + - downloaded files are OpenSSL AES-256-CBC-compatibly encrypted: + + `EXTRACTED_FILE_HTTP_SERVER_ZIP=false` + + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx` + - downloaded files are downloaded as-is, without archival or compression: + + `EXTRACTED_FILE_HTTP_SERVER_ZIP=false` + + `EXTRACTED_FILE_HTTP_SERVER_KEY=` From d045cb24fe7899b665aab2f1837d77ad28b88039 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 21 Dec 2023 16:14:28 -0700 Subject: [PATCH 06/88] updated documentation for carved file download (idaholab/Malcolm#288) --- docs/file-scanning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/file-scanning.md b/docs/file-scanning.md index 3e8988a3e..a511f43a3 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -25,7 +25,7 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c * `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 -The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words: +The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words: * to disable the extracted files server: - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false` From dfaf9a46c0beb45608f7d9ba5e565abe05ec3020 Mon Sep 17 00:00:00 2001 From: n8hacks <dunnsnathan@gmail.com> Date: Tue, 14 Nov 2023 13:55:00 -0700 Subject: [PATCH 07/88] Add Landing Page Information --- Dockerfiles/nginx.Dockerfile | 2 + docker-compose-standalone.yml | 1 + docker-compose.yml | 1 + .../landingpage/assets/css/bootstrap.min.css | 7 + .../Arkime_Logo_FullGradientWhite_Square.png | Bin 0 -> 45103 bytes nginx/landingpage/assets/imgs/CISA.svg | 2 + .../assets/imgs/Malcolm_banner.png | Bin 0 -> 45303 bytes .../assets/imgs/Malcolm_banner_white.png | Bin 0 -> 45426 bytes nginx/landingpage/assets/imgs/api.png | Bin 0 -> 13065 bytes nginx/landingpage/assets/imgs/cyberchef.svg | 146 ++++++++++++++++++ .../assets/imgs/github-mark-white.svg | 1 + nginx/landingpage/assets/imgs/icon.png | Bin 0 -> 89100 bytes nginx/landingpage/assets/imgs/lock.png | Bin 0 -> 6031 bytes nginx/landingpage/assets/imgs/markdown.png | Bin 0 -> 14943 bytes nginx/landingpage/assets/imgs/netbox_icon.svg | 20 +++ nginx/landingpage/assets/imgs/opensearch.png | Bin 0 -> 10327 bytes .../assets/js/bootstrap.bundle.min.js | 7 + nginx/landingpage/index.html | 136 ++++++++++++++++ nginx/nginx.conf | 9 +- nginx/nginx_readonly.conf | 15 +- scripts/control.py | 3 +- 21 files changed, 347 insertions(+), 3 deletions(-) create mode 100644 nginx/landingpage/assets/css/bootstrap.min.css create mode 100644 nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png create mode 100644 nginx/landingpage/assets/imgs/CISA.svg create mode 100755 nginx/landingpage/assets/imgs/Malcolm_banner.png create mode 100644 nginx/landingpage/assets/imgs/Malcolm_banner_white.png create mode 100644 nginx/landingpage/assets/imgs/api.png create mode 100644 nginx/landingpage/assets/imgs/cyberchef.svg create mode 100644 nginx/landingpage/assets/imgs/github-mark-white.svg create mode 100755 nginx/landingpage/assets/imgs/icon.png create mode 100644 nginx/landingpage/assets/imgs/lock.png create mode 100644 nginx/landingpage/assets/imgs/markdown.png create mode 100755 nginx/landingpage/assets/imgs/netbox_icon.svg create mode 100755 nginx/landingpage/assets/imgs/opensearch.png create mode 100644 nginx/landingpage/assets/js/bootstrap.bundle.min.js create mode 100755 nginx/landingpage/index.html diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 32428d198..d59b6a22f 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -221,6 +221,8 @@ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/ngi COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ COPY --from=docbuild /site/_site /usr/share/nginx/html/readme +RUN mkdir -p /usr/share/nginx/html/landingpage +COPY nginx/landingpage /usr/share/nginx/html/landingpage COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml index 0d670754a..9d054329c 100644 --- a/docker-compose-standalone.yml +++ b/docker-compose-standalone.yml @@ -720,6 +720,7 @@ services: - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro - ./nginx/certs:/etc/nginx/certs:ro - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro + - ./nginx/landingpage:/usr/share/nginx:ro healthcheck: test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"] interval: 30s diff --git a/docker-compose.yml b/docker-compose.yml index b72ace183..f031a1aa8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -800,6 +800,7 @@ services: - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro - ./nginx/certs:/etc/nginx/certs:ro - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro + - ./nginx/landingpage:/usr/share/nginx/:ro healthcheck: test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"] interval: 30s diff --git a/nginx/landingpage/assets/css/bootstrap.min.css b/nginx/landingpage/assets/css/bootstrap.min.css new file mode 100644 index 000000000..edfbbb03b --- /dev/null +++ b/nginx/landingpage/assets/css/bootstrap.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * Bootstrap v5.0.2 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png b/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6f62d629549475cc4a5f57f6ee6fabe278616c GIT binary patch literal 45103 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%0D%}pS} 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 Q1_k+3Q`T0hRj`WuKb@+%djJ3c literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/CISA.svg b/nginx/landingpage/assets/imgs/CISA.svg new file mode 100644 index 000000000..c26f681d5 --- /dev/null +++ b/nginx/landingpage/assets/imgs/CISA.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="465.74" height="466.54" version="1.1" viewBox="0 0 465.73919 466.54269" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="a"><path d="m72 660.3h59.6v59.701h-59.6z"/></clipPath></defs><g transform="matrix(1.3333 0 0 -1.3333 97.411 1153.7)"><g transform="matrix(6 0 0 6 -507.97 -3451.8)"><g clip-path="url(#a)"><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5445,2745)"><path d="m0 0c0 1491-1209 2700-2700 2700s-2700-1209-2700-2700 1209-2700 2700-2700 2700 1209 2700 2700" fill="#fff"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2745,110)"><path d="m0 0c-1453 0-2635 1182-2635 2635s1182 2635 2635 2635 2635-1182 2635-2635-1182-2635-2635-2635m0 5114c-1367 0-2479-1112-2479-2479s1112-2479 2479-2479 2479 1112 2479 2479-1112 2479-2479 2479" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2893,3725)"><path d="m0 0c84-16 173-27 261-30v21c-215 10-375 69-481 126-15-15-29-31-43-46 74-27 165-52 263-71m-206 131c36 37 73 73 113 107v-71c0-38 26-69 58-69 33 0 59 31 59 69v163c18 14 36 26 55 39v-253c0-38 26-69 58-69s59 31 59 69v324c21 13 43 24 65 35v-466c-208 10-363 68-467 122m147-401 39 19 21-12-53-31zm22-82 42-33-27-21zm22-79 39 31 39-30-39-149zm84 180v-25l-21 13zm-63 12 63 31v-16l-45-26zm65-167-27 21 41 33zm-47 129 68-39-67-54-68 54zm66-11 6 3 8 4-3-13zm-44-2033-59 33-32 45c-18-8-66-29-110-45-45-17-106-36-106-36 114 1 141 1 146 1h1c5 1 34 1 160 2m1601 1341c0 991-804 1794-1795 1794-207 0-407-35-592-99 0 0 346-277 493-426-102-96-194-204-274-322-63-93-117-191-162-292l-860 859 29-350c-267-313-428-720-428-1164 0-991 803-1794 1794-1794s1795 803 1795 1794m-2694-1457 400 215-231 237 170-7-140 233h9c105 0 203 34 283 92 184-29 447-64 695-79-1-2-2-3-3-5-3-7-7-14-11-22-5-11-11-22-17-33-7-15-15-30-22-45-9-17-18-35-27-52-9-20-19-40-29-60 0 0 43-59 126-84 77-24 162-1 212 66 16 21 28 45 28 70 0 0 132-198 100-311-32-114-284-102-284-102h-84l-76-80c-20-21-48-34-77-34h-1022zm-330 1679 203-215v-214l-183 193zm621-287c97-35 162-128 162-231v-9c-33-5-59-27-70-57h-157c-6 15-15 28-26 38-15 12-35 20-56 20-37 0-69-24-82-58h-43l-87 93v300l-270 286-23 270 272-287c-6-12-9-25-9-39 0-48 39-87 87-87s87 39 87 87-39 87-87 87c-13 0-24-3-35-8l-323 342-23 270 303-320c-6-12-9-25-9-39 0-48 39-87 87-87s87 39 87 87-39 87-87 87c-12 0-24-3-35-8l-354 377-27 312 698-697v-722zm-302 685c15 0 27-12 27-27s-12-28-27-28c-16 0-28 13-28 28s12 27 28 27m0-332c15 0 27-12 27-27 0-16-12-28-27-28-16 0-28 12-28 28 0 15 12 27 28 27m155-652c15 0 28-12 28-27 0-16-13-28-28-28s-27 12-27 28c0 15 12 27 27 27m320 0c15 0 28-12 28-27 0-16-13-28-28-28s-27 12-27 28c0 15 12 27 27 27m19 816v-421c93-79 152-196 152-327 0-133-60-252-156-330-22-18-46-34-72-48-59-31-127-49-199-49-152 0-285 79-361 198v1c-6 9-133 228-133 228l-16 187 296-312h68c12-33 44-57 82-57 21 0 40 7 55 20 12 10 21 22 27 37h157c12-33 44-57 81-57 48 0 87 39 87 87 0 30-16 57-40 73 1 7 2 15 2 22 0 121-73 231-182 279v622zm2039-574v-467s-489-126-1095-126h-38c-272 2-605 44-839 78 87 88 141 208 141 341 0 134-55 261-152 352v15h1889c-27 251-107 490-232 702v-51h-154v-78h-86v-91h-52v-55c0-8-2-15-7-22-8-12-21-19-35-19s-27 7-35 19c-4 7-6 14-6 22v55h-52v90h-63v-295h-398v428l-120-59c-33-111-66-220-97-330 9-6 15-16 15-28 0-20-16-35-35-35s-35 15-35 35c0 12 6 22 15 28-30 103-60 206-91 309l-2-1-27-13v103h-46l-21-352-1-18h-141l-1 18-21 352h-109c-46-76-86-156-119-238l-63 63c188 438 541 789 981 975 665-281 1132-940 1132-1707" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(593,2862)"><path d="m0 0-2-68c37-1 67 9 92 27 24 19 38 45 40 79 4 41-9 74-38 98s-70 38-123 42c-54 5-98-3-130-22s-50-49-53-91c-6-70 34-111 120-124l10 66c-49 6-73 24-70 53 1 15 10 27 26 34 17 8 49 10 95 7 41-4 69-10 83-20 15-9 22-22 21-39-3-27-26-41-71-42" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(374,2785)"><path d="m0 0 3-81 124-43-121-55 3-72 190 100 142 5-3 73-142-5z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(388,2487)"><path d="m0 0 18-113c4-27 9-47 16-60 6-12 17-22 33-29 15-7 34-9 55-6 37 6 58 26 64 59 19-36 49-50 90-44 21 3 39 11 52 24 13 12 21 26 24 42 2 16 2 38-3 65l-17 113zm145-49 4-24c3-23 1-39-6-46-8-7-17-12-28-14-10-1-19 0-28 5s-15 17-18 37l-4 29zm141 22 5-36c6-34-6-53-35-57-16-3-28 0-36 7s-13 20-16 36l-5 36z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(444,2178)"><path d="m0 0 56-196 55 15-36 125 75 22 28-97 55 15-27 98 79 22 36-125 57 17-56 196z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(523,1919)"><path d="m0 0 41-97c8-19 15-33 21-42 6-10 15-18 27-25s25-11 41-11 32 3 48 10c39 17 60 43 63 78l159 1-31 73-140-10-14 34 122 52-29 67zm78-47 87 37 13-30c11-27 2-46-28-59-10-4-19-6-28-4-8 1-14 4-19 8-4 4-9 11-13 21z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(814,1499)"><path d="m0 0-10 65c-29-7-49 0-60 20-6 9-7 18-5 27 2 8 7 15 14 19 8 5 16 5 25 2 9-4 23-14 43-30 17-14 33-25 46-32s27-10 43-10c15 1 31 5 46 14 27 16 44 38 50 67 7 29 1 58-17 90-31 52-77 70-138 54l16-65c33 10 57 3 71-21 6-11 9-22 7-32s-7-18-17-23c-7-4-14-6-23-4-8 1-21 9-37 23-21 17-38 30-50 37-13 7-28 11-44 11s-31-4-47-13c-26-15-42-36-49-63-7-26-2-53 14-81 29-50 70-69 122-55" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(797,1395)"><path d="m0 0 123-163 45 35-78 104 63 47 60-81 46 34-60 81 66 50 78-105 48 36-123 163z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1230,1212)"><path d="m0 0 50-47c25 27 38 56 40 87 3 31-8 58-32 83-28 29-61 41-98 36-37-6-75-27-114-64-39-38-62-75-69-112-8-36 4-70 33-100 48-51 106-48 172 7l-43 52c-37-33-65-39-86-18-10 11-13 26-8 43 5 18 25 43 58 75 30 28 53 45 70 50 17 4 31 1 43-11 18-20 13-47-16-81" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1181,964)"><path d="m0 0 57-46 120 149c17 22 29 36 38 42 8 7 17 10 27 10 9-1 19-5 27-12 10-7 16-16 18-25 1-9 0-18-5-27s-16-24-33-45l-119-150 48-38 118 147c23 30 39 53 47 70s9 36 4 58c-6 21-21 42-45 61-23 18-44 29-63 32-19 2-37-1-53-10-17-10-39-32-67-67z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1439,767)"><path d="m0 0 90-54c18-11 32-18 42-22s22-5 36-4 27 7 40 16 24 21 33 36c21 36 23 69 5 100l128 94-69 41-106-90-32 19 68 113-63 38zm91 8 48 81 28-17c25-14 29-36 12-63-5-10-12-17-19-21-8-3-14-5-20-4-7 0-14 4-24 9z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1699,620)"><path d="m0 0 67-32 143 303-67 32z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1806,568)"><path d="m0 0 196-74 22 58-64 25 97 254-69 26l-97-254-62 24z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2037,481)"><path d="m0 0 79-20 76 107 18-131 70-18-42 211 35 137-72 18-35-137z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2669,520)"><path d="m0 0 55 6c-6 40-18 77-37 110 12 11 24 16 35 16 2-1 5-1 12-2l4 57c-9 3-18 5-25 5-24 2-46-7-68-26-25 24-55 37-88 40-37 3-65-5-83-24-19-18-29-41-31-67-3-43 20-77 69-102-23-27-36-51-37-73-2-20 5-38 20-54 16-16 36-25 62-27 27-2 48 4 65 18 16 15 25 33 27 55 3 34-15 62-52 85l51 58c10-18 16-43 21-75m-127 50c-21 15-31 34-30 56 1 14 7 25 16 33 9 9 21 12 36 11 18-1 33-9 45-23zm24-69c19-12 28-29 27-48-1-8-4-14-8-20-5-5-12-7-20-6-9 0-15 3-19 8-4 6-6 12-6 20 1 12 10 27 26 46" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2891,381)"><path d="m0 0 73 6-25 334-74-5z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3049,394)"><path d="m0 0 81 14 48 220 37-205 56 10-59 330-65-11-58-257-42 239-56-10z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3358,456)"><path d="m0 0 191 58-17 55-120-36-25 83 92 29-17 55-92-29-39 127-70-21z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3599,533)"><path d="m0 0 96 43c19 8 33 15 42 21s17 15 24 28c7 12 11 25 11 41s-4 32-11 48c-17 38-43 59-79 62l-2 159-74-32 13-140-34-14-53 121-68-30zm45 80-37 86 29 13c27 12 46 3 59-27 5-10 6-19 5-28-1-8-3-14-7-19-4-4-12-9-22-13z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3963,714)"><path d="m0 0 63 39-96 336-64-40 23-68-80-50-51 50-58-36zm-56 211 44-135-100 100z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4268,1026)"><path d="m0 0-62-20c11-27 7-48-11-63-8-6-17-9-25-9-9 1-16 5-21 11-6 7-8 16-6 25 3 9 10 24 23 46 12 20 20 37 25 51 4 14 5 28 3 44-3 15-10 30-21 43-19 25-44 38-73 40-30 2-58-8-87-31-47-38-58-86-32-145l61 26c-15 32-11 56 10 74 10 8 21 11 31 11s19-4 26-13c5-6 7-13 7-22 0-8-6-22-17-40-14-23-24-42-29-55-5-14-7-29-5-45 3-16 9-31 20-44 19-24 43-37 70-40 27-2 53 6 78 26 45 37 57 80 35 130" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4354,1005)"><path d="m0 0 147 149-45 44-48-49-194 192-52-53 194-191-47-48z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4537,1194)"><path d="m0 0 65 82c13 16 22 29 27 39s8 22 9 35c0 14-3 28-11 42-7 14-18 26-32 37-33 26-66 32-98 18l-77 140-50-63 76-118-23-29-104 83-45-58zm3 91-74 59 20 25c18 23 40 24 65 4 9-7 15-14 17-22 3-8 4-15 3-21-2-6-6-13-13-22z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4721,1436)"><path d="m0 0 38 63-165 98c-23 14-39 25-46 32-8 8-13 16-13 26-1 9 1 19 7 29 7 10 14 17 23 20s18 3 28-1c9-4 25-12 49-26l164-98 32 53-162 96c-33 19-58 32-76 38-18 5-37 4-58-5-20-8-38-25-54-52-15-25-23-48-23-67s6-36 17-51c12-15 36-34 75-57z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4749,1952)"><path d="m0 0 23 64c-34 12-66 13-95 3s-50-30-64-61c-16-38-14-73 6-105 19-32 54-58 103-80 50-21 93-28 130-20s63 31 80 70c27 64 2 116-75 156l-31-60c45-21 62-45 51-72-6-14-19-23-37-25s-49 6-91 24c-38 17-62 31-73 45s-14 29-7 44c10 25 37 30 80 17" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4983,1964)"><path d="m0 0 60 200-61 18-19-66-261 78-21-70 261-79-20-63z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5056,2217)"><path d="m0 0 13 72-189 34c-27 5-45 9-55 13-10 5-17 11-21 20-4 8-5 18-3 29 2 12 7 21 14 28 7 6 16 9 26 8 10 0 28-2 55-7l189-33 11 61-186 32c-37 7-65 10-84 9s-37-9-53-25c-16-15-27-38-32-68-6-29-5-53 2-71s18-32 34-42 46-19 90-27z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5106,2538)"><path d="m0 0 4 105c1 20 1 36-1 47-1 11-6 22-14 34-7 11-18 20-32 27s-30 11-48 12c-42 2-72-13-91-44l-143 68-4-80 131-50-2-37-132 6-3-74zm-52 76-94 4 2 32c1 29 18 43 50 41 11 0 20-3 27-7 7-5 12-10 14-16s3-14 3-25z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(5112,2842)"><path d="m0 0-16 203-57-5 10-129-78-6-8 101-57-5 8-101-82-6-10 130-60-5 16-203z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1303,4299)"><path d="m0 0-59-27c14-26 12-47-4-63-7-8-15-12-24-12-9-1-16 2-22 8-7 6-10 14-9 24 1 9 7 25 17 48 9 21 15 39 18 53 3 15 3 29-2 44-4 15-13 29-26 41-22 22-48 32-77 31-29-2-57-16-82-41-42-44-47-93-15-148l58 33c-19 30-18 54 1 74 9 9 19 14 29 15s19-2 27-9c6-6 9-13 10-22 1-8-3-22-12-41-11-25-19-44-22-59-4-14-3-29 1-44 4-16 13-30 25-42 22-21 46-31 73-31 28 1 52 13 75 35 40 42 47 86 20 133" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1392,4280)"><path d="m0 0 158 128-36 44-101-81-49 60 78 64-36 44-78-63-52 64 101 81-38 47-158-128z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1602,4693)"><path d="m0 0 56 39c-22 30-47 49-76 57-30 9-59 4-88-14-35-22-53-51-55-89-3-37 11-78 39-124s60-76 94-91c35-14 70-10 105 12 59 37 69 94 29 170l-60-31c25-43 25-73 0-88-13-8-28-8-44 1s-36 33-61 72c-21 35-33 61-34 78-1 18 5 31 20 40 22 14 48 3 75-32" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(1808,4566)"><path d="m0 0 67 30-78 175c-11 24-18 42-20 53-2 10-1 20 4 28s13 14 23 19c11 5 21 6 30 4 9-3 17-9 22-17 6-8 14-25 25-50l78-174 56 25-76 172c-16 34-29 59-41 74-11 15-28 25-49 30-22 5-47 1-75-12-27-12-46-26-57-41-11-16-16-33-16-52 1-19 10-49 29-89z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2071,4679)"><path d="m0 0 101 29c20 6 34 11 44 16s19 13 28 24c8 11 13 24 15 40 2 15 1 32-4 49-12 40-35 64-70 71l18 158-77-22-6-140-35-10-37 127-71-21zm55 72-26 90 31 9c28 8 46-3 55-34 3-10 4-20 2-28s-6-14-11-18c-4-4-12-7-22-10z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2332,4748)"><path d="m0 0 73 14-62 329-72-14z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2428,4768)"><path d="m0 0 207 21-6 63-68-7-29 270-73-8 29-270-67-7z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2640,4791)"><path d="m0 0 81-1 48 122 50-123h72l-92 194 2 141-74 1-1-142z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3055,4767)"><path d="m0 0 73-13 150 314-74 13-28-66-93 16-4 71-67 11zm98 194-56-129-9 140z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3399,4847)"><path d="m0 0 111-34 53 170-30 10-20-34c-9 33-30 55-65 65-36 12-70 6-100-16s-52-57-67-106c-16-52-19-97-7-134 11-37 37-62 79-75 65-20 113 5 144 76l-60 30c-18-41-39-57-65-49-16 5-26 16-31 35-5 18 0 49 13 92 12 38 25 64 39 76 14 13 30 17 48 11 28-9 36-34 23-76l-48 14z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3513,4643)"><path d="m0 0 185-85 24 52-118 54 32 71 92-42 24 52-92 42 34 75 119-54 24 54-185 85z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(3725,4544)"><path d="m0 0 69-43 183 131-110-177 49-29 176 284-56 35-214-153 127 206-48 30z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4222,4453)"><path d="m0 0 55-39c21 29 31 59 30 90-2 31-16 57-42 78-32 26-65 34-101 25-37-10-72-36-106-77-34-42-52-82-55-119s12-69 44-96c54-44 111-35 171 28l-49 46c-33-37-61-47-84-28-11 10-16 24-13 42 4 18 20 45 49 81 26 31 47 51 64 57 16 7 30 5 43-6 21-17 19-44-6-82" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(4135,4250)"><path d="m0 0 56-58 121 50-53-121 49-52 75 201 103 98-51 53-102-98z" fill="#005288"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2745,812)"><path d="m0 0c-1068 0-1933 865-1933 1933 0 503 192 960 506 1304l5-64c-300-344-464-779-464-1240 0-504 196-978 552-1334 357-356 830-552 1334-552s978 196 1334 552 552 830 552 1334-196 978-552 1334-830 552-1334 552c-458 0-892-162-1235-460l-34 33c340 295 784 474 1269 474 1068 0 1933-865 1933-1933s-865-1933-1933-1933" fill="#c41230"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(618,3247)"><path d="m0 0-47 15c67 283 189 547 353 777l42-27c-162-227-282-486-348-765m4254 0c-66 279-186 538-348 765l42 27c164-230 286-494 353-777z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(508,3281)"><path d="m0 0-48 15c71 295 198 568 368 807l41-27c-167-236-292-505-361-795m4474 0c-69 290-193 559-361 795l41 27c170-239 297-512 368-807z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(724,3214)"><path d="m0 0-48 15c65 274 182 527 341 749l41-27c-156-218-272-468-334-737m4042 0c-62 269-177 519-334 737l41 27c159-222 276-475 341-749z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2981,3457)"><path d="m0 0 173 85v135c-197 6-398 52-537 104-62-73-119-150-169-232h115l22-370h107l22 370h82v-92l185 90zm-123 385c-22 0-39 22-39 50v87c26 22 52 43 79 63v-150c0-28-18-50-40-50m172-51c-22 0-40 22-40 50v265c26 17 53 33 80 49v-314c0-28-18-50-40-50m143 419c21 10 42 20 63 29 4-1 8-3 12-5v-968c0-1 1-2 2-2h17c1 0 2 1 2 2v958c24-11 47-23 70-35v-971c0-1 1-2 2-2h17c1 0 2 1 2 2v960c24-13 47-26 70-40v-872c0-1 1-2 2-2h17c1 0 2 1 2 2v859c28-17 56-35 83-54v-960h-361zm610-893-52-1v-73c0-4-1-8-4-12-4-7-11-11-19-11s-15 4-19 11c-2 4-4 8-4 12v74h-52v90h-81v651c118-86 225-185 317-295v-356h-86zm105 423c50-60 95-124 136-191v-63h-136zm-190-1258h-82l41-135zh-82l41-135zm587-260v401c0 41-2 82-5 122h-1845c66-84 102-188 102-296 0-98-30-189-80-266 228-32 530-68 778-70h38c465 0 863 76 1012 109m-1553 219c0-84 24-126 71-126 41 0 62 27 64 82l94-6c-11-100-63-150-156-150-54 0-96 19-127 56s-46 85-46 143c0 62 16 111 48 146s73 53 124 53c42 0 77-12 106-36s46-60 51-106l-87-5c-8 49-31 73-69 73-23 0-41-9-53-26-13-17-20-50-20-98m373-194h-91v386h91zm362 263c0-23-6-43-18-61-13-18-28-31-46-39-19-8-48-16-87-24-23-5-38-10-45-17-7-6-10-14-10-23 0-23 18-35 53-35 34 0 56 15 66 46l77-26c-22-60-70-91-146-91-43 0-76 12-101 36-25 23-38 52-38 87 0 34 11 59 31 77 21 18 56 31 105 42 27 5 45 11 54 17s14 15 14 26c0 12-6 21-16 29s-25 12-46 12c-43 0-69-18-78-54l-84 19c9 36 27 62 55 80s61 27 101 27c52 0 92-12 119-38s40-56 40-90m373 123-121-386h-104l-124 386h79l24-79h125l24 79zm-183-286 41 135h-82zm41 135h-82l41-135zh-82l41-135z" fill="#0078ae"/></g></g><g transform="matrix(.010781 0 0 -.0108 72 720)"><g transform="translate(2714,3233)"><path d="m0 0-2-31c24 48 64 87 114 109-2 5-3 9-4 13-45-19-82-51-108-91m442-140c-6-128-111-229-239-229-133 0-241 107-241 240 0 19 3 38 7 56h14c-4-18-7-37-7-56 0-125 102-227 227-227s226 102 226 227c0 92-55 171-134 207 1 4 2 9 4 13 74-32 128-101 141-183v-49h2zm-47 11c0-106-86-193-192-193-107 0-193 87-193 193 0 77 45 144 111 174l4-13c-59-29-101-90-101-161 0-99 80-179 179-179 98 0 178 80 178 179 0 70-41 131-100 160l4 14c65-31 110-97 110-174m-37 0c0-85-70-155-155-155-86 0-155 70-155 155 0 60 34 112 84 138 2-5 3-10 4-15-43-24-73-70-73-123 0-77 62-140 140-140 77 0 140 63 140 140 0 53-30 99-73 123 1 4 3 9 4 14 50-26 84-77 84-137m-31 0c0-69-56-125-124-125-69 0-125 56-125 125 0 46 25 86 63 108l4-15c-31-20-51-54-51-93 0-60 49-109 109-109s109 49 109 109c0 39-20 73-51 92l5 15c36-21 61-61 61-107m-50 0c0-43-33-78-74-78-42 0-75 35-75 78 0 24 10 45 27 60 2-6 3-12 5-18-10-11-16-26-16-42 0-34 26-62 59-62 32 0 59 28 59 62 0 16-6 30-16 41 2 6 4 12 5 18 16-15 26-36 26-59m26 0c0-55-45-100-100-100-56 0-101 45-101 100 0 35 19 66 46 84 2-6 3-11 5-16-21-16-34-40-34-68 0-46 37-84 84-84 46 0 84 38 84 84 0 27-13 51-33 67 2 5 3 11 5 16 26-18 44-48 44-83m760-288h-10c30 90 47 187 47 288 0 67-7 131-21 194h9v8c15-65 22-133 22-202 0-101-16-197-47-288m237 0h-10c24 92 37 188 37 288 0 127-21 249-60 363h10c39-114 60-236 60-363 0-99-13-196-37-288m-430 0h-12c39 88 61 186 61 288 0 101-22 197-59 285h11c12-27 22-55 30-83v-8h2c17-62 27-127 27-194 0-102-22-200-60-288m-1220 430-9 10c28 106 87 201 166 274h17c-84-74-145-172-174-284m1045-430c48 81 76 176 78 277h11c-2-101-29-195-76-277zm-985 0h-13c-10 17-18 34-26 52v30c11-29 24-56 39-82m575 0h-165c-125 36-217 151-217 288 0 19 2 38 6 56h13c-4-18-6-37-6-56 0-158 129-287 287-287 154 0 280 123 286 275h13c-5-131-95-241-217-276m-194 566c1-4 2-9 4-13-34-14-64-34-90-58l1 18c25 22 53 40 85 53m221-13c1 4 2 8 4 12 49-20 92-53 124-95v-22c-31 46-76 83-128 105m21 72c1 4 2 8 4 12 37-15 72-36 103-61v-16c-31 27-67 49-107 65m-322-17c17 11 34 19 53 27v-14c-19-8-37-17-54-28zm-182-320c0 43 7 84 21 122l2-36c-7-28-11-56-11-86 0-117 57-222 144-288h-20c-83 69-136 172-136 288m735-11h12c-3-112-55-211-135-277h-21c85 64 140 164 144 277m-10-277c62 76 100 172 103 277h12c-3-105-40-200-100-277zm-806 288c0-109 39-210 104-288h-16c-62 79-100 179-100 288 0 111 39 212 104 292l1-18c-58-76-93-171-93-274m270 426h28c-10-3-20-7-29-11zm394-23 13 7 15-9v-14c-9 6-18 11-28 16" fill="#5e9732"/></g></g></g></g></g></svg> diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner.png b/nginx/landingpage/assets/imgs/Malcolm_banner.png new file mode 100755 index 0000000000000000000000000000000000000000..c528b14e5a837f5989ddbe4b07e0711d022f048f GIT binary patch literal 45303 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�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 Ns4Bfu{2^}<`hONN9y$O3 literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner_white.png b/nginx/landingpage/assets/imgs/Malcolm_banner_white.png new file mode 100644 index 0000000000000000000000000000000000000000..1efea17952521adcb778dc1c216cbbcea868ffd6 GIT binary patch literal 45426 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 literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/api.png b/nginx/landingpage/assets/imgs/api.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c4eb0077d1c2fc5b98f0e87ec6b009a2648d82 GIT binary patch literal 13065 zcmeHuc{J4R`~Q2!$XZ0vQ)(ncV#bm!jFM_-Bui9kMhqs)$X;SbSw1~2o=~<d<w2z) zv|45ml8RE<4G}6bi44ZPfA@RzZ0Gkq=X*Zqd_VtvoYT0M>w4YS^}4Tnx$e<fd%Imr zC09#A5VVxIdxrxAp+ON1i7x@arXt?XfnN<Lom@j4+{2XvgXmr~KdN%bi9o6{HG<{^ zK@na4_T5YC@Zx;$UoTSDg>jATl5Ki(2NltGlWr*f@+>QqLV+vE+(22$-G|Gk-~YPp zNyzH`J`(3Q9KE!`&c0M}T{QZa`YR?F|4YXw+cfl-6@6~nouhf%<(ln-_RM{TM{}O- z>UeXbaJi#++L8^~&Ij8+@?%4BE<Q@!+=aCIm)k2AnvZsO-<o#6o^|P*wb$9LV+k<{ zQVLQo75{R(qdtE%ee1nAes>$@6l&=00j1Z4RR<slb%thTWlyxS`okmO$JMAy=DX`G zmFmfkw)sv<=aoPFcFnZY+Ip?;%3tl*zm>dWnwA*7EjeDbzJ6bzwlVLXYiQu{_wQ<) zWibRxx5HOg9RB?&tQM!ByH06lu(ztQcPrC(|H_x2iBLvBX1bHZvyU!uTrCxGcUdzp z)q1_*9lA?7-$E0iLlYl1H^V(Sd3&{8C1qv*CI72?*V8pm+cF>2MC7EoJWsMYWoH)f zM)WK;T_=*?@MuV{QSXF)X8OkAvvCfJ&4+KNkS;|0YFu#4^kc9|qI1Kc^Y@P(rg4(1 z@CRF6uB6)qV>CA(l~BPvyODQ#liyR?JL0|Ht}XnY$mp0pH<Z-m9JBqR=-b?FK?@WH zx8hKdvB`j%b+YAX{c($(F<hP2W5%y$?hTgPG5hrc^TYY~)$#MhlX-dd7nuV8{tr*` znj+aBm*J;8cNYxVY|C)FCtjKJ+UR3U%pv8{;pz8%jh{q*%fI`^h+VTDzyJDJXioS{ z*vyZK^e_gYWLpr+wK*^l1YQIU1ehynkEsXUU&q~(ew3;c;SV~%j~O8%(A~qA8lrrZ z>P-tUSDC0_sVLJt%~f2sknp5HE2<A|_sJlt<4HRwkCVP0CY~w;3rVvGQvl#k4RKeF z@b?P{HjOY>5#pMHGSZAwQ5K4X_?oM@lI)eO=s{Fv104e$ytZ`&Elf|vLQ>f*$kWTz zVaLv&5TItR;u8`QXo|yyhllHg>+8^iym7iFCMGz%9!^hB8%Ssep9lzXkI)VX-he<X zV(g#>dj!z}Lum8>WdzgxC_Oa9Ttx-+EB|4ie;|qUCwxHgPZj_lxCr+^oURTY=kJgE zyGC$`br=BoY0&?u5$pukDb9f!Ob-q6pjwAf141_Z9m3P&PyN8qAU~lyo*p==AJrd- z27^&`|1sn)BFX+w4TJ)3ntz~B3y}Q}$q<^?Uu6BmHl#=B&fg6I>VM+?L;4Tjg~C9J zL^9n$_XtJIBknL)LB==rq<hdjO@&3Hqg#wk^bL<{Z}B?nrEQ>Z;GykqXh7BWF!VZV z;O=?U*x1A4Z&1X5;1Kr!4=Mr$z;$Q<$4F1t%McH=z4Sdyv<(bA@!Cf{^o+EP4YwHU z8ye_(QU3w4H;4wJ(%tXxRv}QH0Llw*f;T>DsH<&qRBsEg#?VXK*u#jbt*>iL-9k0; zpnBmAgw}X^nC_$p`MZPZr1`shQ*nU--og%qaMNw}L~|8A9sFM{_I~amUO>TIWe+VN zG~%xgCz?OiF~l8VQ`gYMaEk%nL{C>=&(O%w=r5uD)SzGxi3p}HUPph?1Y}xFfir+u zcO*^$fKUVYVrmscbq}EjInn8U<|>Fu%82Hl-6XJ_Jl#Xwcesa80VrNi-&7ZGir?a- zyTw#b&lHc>#v6jqzvStjG_Mo?n>4a`l+6~Wd^ar^jDJGdw78-ismB*<i&a0Ga49J( z3m1i{yT_sn!R}#HPvN)#Yq872$34KC3U-g5;rd5A?SBY`EuK_EFE2d<Z7LN+fq^@i zL}MdR_4G7x*K>Er8|xWv`6qfX-76&AJ&3x^8}JCY0^up-N?AiVQJVjh4)>uVvj7Ow z)&(T}Nto_W!f-zw#vyygA0C_G{y$F4gaUutWPsjc8`!+SUWog1GyKUJvhDl_e}2xz ze{ci<{og_UEq?z?*MI5yw;1@hg#Q~||E25SV&LBr{%>^spV1}xS2{%v0JorUkSsMy zjvoYx){>*PyLJduE@;-Of&oerfx8a`Ly(jl@(=Z<H<}L`#X^WAYq1eY(Ul6Q=Cc>t zAV?V^?%3uO(KX)tC3H>u<0bv!ky-H3P0DUDX_6Qh$`f?k%Gkow__eJoSKU%}5{=&^ z?i^DixqUx=L@eIq*V|G!<q}*=*%gJgjlL2}FUDrF=u6IEppJ92j4N#hhe_~6SVqA+ z1CrDsF=$R2F8kCRP)IYqcNwBw<+`9DO6z~*lMy7L(dPj1!gw2J?@XqiNcB8m^LRf5 zQO<K2Arkfwl$*$9I0*|mTt=X<P|Ri63kxhR>?JI;aN%RZ0*4D9MGCTls07&CmWhT+ z;F1HX2Tpw?JceOI@|=u~rtcvK9-$DU0YMc~NqMRpi53g#vm-@{b43Kz$62r&ga7^7 z-Z*)I)nnVB>mV^UADw_VA2IF^-zRGrtog{Ubf0wmQaEyA1;nI_)dwx(&F3^`@sCX; z-yU%&(aG<TgpUL492x#Rfxcw!9esFviCxe;-}SNrNr)Y#ym`2Ukj1Djbx!ibt-YOm z`{ZL!W&TRYax~{f3?pOczV;+3oOpM*iG7(%@4JA8&W9B+ED{9wwDs(Mkrgl|lhM%B zy18A%SHpx?Q{)2a+YaBT=mB^m-B#0E5^DA3;znBG&i5UeGDIE6*Gpq-;qL=EkHnzS z?|!h^PJTkRq?_7fjeNgYM$|wt1XW?+qstb`9-UzsPK>COC<vxwSzrWNzM}3hz2>DG zW`8ZrMFj6GfrFL_j2^_RDD$yc;7jX4ZjNVUa(cfDCKlGOC8MB&5(4Y<bCEjek(Q`z zCYRyH+t?KTV7dKqE|%05l0GCez_~N13STXtnUlMg3nIlC@=)$Dmypvk*ZYp(8u4*C z7P~^QSBfDD-O%Nwb{-j-d0TzFSMBlUd^d48RRU?(<RuRG8+{(>BPEr!m|I!$2spm{ z3<QP7!nC9d+!6UkVsuWyry!kw)iQPs(9w{RDNnI8`qKHt>2JT$*e8-U48VM@3&ga_ znJ)gIPUwi_X+iAur(vIE0<8a1<2^{Vx{hIzz@mRXBNET}pl(TF3@|PYg%8Li$N-Be z*cwL4cz9jKYne@mNfDp8g!DSj0fN&C!C6~~-5duWNMcAZZs5SQ_UG5adKN`X-vJ;w zsHD4pW;wwJnQuz_0P7;|Tg>M=KwQ{L!Ny=-<SncL5+urecQ$u#4@TS!$4{-rb|HL3 z*zt0x^PYqOnG10U5_gI_qf78HKq7}%$3!Nm7P~|mNXiQE6yO7sn}9-~V+qo${=jsB zpaF(4HmN6iiq%e@rSDBrikf0^I!+;z7t5&X+xR&9OmvoNe#-PRPN8*DBD{Gdr_rzq z&;<>!So(9*{E;Uqr6&E65e9pgUcoL*J>4lBnIRUC<kp)It@-i6<jjw1@v9ALu>-=< z;lY+k7vkMzC*oOo5;dQ8#j!&uB|<#7M1R3K$+`I&%$$J@niBiI>I%((T@=2VOtp)Q zOPy2o{*E=03sVC2i!%mb&etS2^~bjtG6d^>Txe4rInJ_71;aDBih@H%L>(JVt;`R5 z=bM6b&^j_9D}+ilI3D&%%jVLoiyG*)v5cfsBT*s)gxm^M_>j#3aab%{`%0;1{#Eta z_1$7huLF6R01f+^@L@Hq^CQ3QgbIH0<>{C4U_sO}R40<JPS5SD7WwL;NEGPsy9ebU zak#HnZT4nL=?VcZP~pIH>!b<&K59(SFlTE8P8_~imDw_PVSc8pIBVnMXRG!qRN9vM zoZ#r8paIVJ1Mp2Q=ZitVUN;Uqhi4bhZ|aUz-UEmxpOqonU6_}th7Wt5j}(danWkL= z1i;z+gEl4)#hl8pI%QS+`@XBiWI8;*Ua$BSv1472+N?FtB`p52x&GIMB=$G6aXgq) zxVnX1x^|Y_Epn?DmsnbLL=fC4I`#YgW;=BdW`};bABl)#^d>XAXZ63sqf;(^lkt|K zAQX!F)DJvqX5CZ?yfl<*$Ed=NM6T;PK^RK{O49KAoLWPkMP!EOWkJBQQ)C-j0VYj2 z4P%jVftNkg$M1j7u1rrP%7fUH0$ZI-j_QGMLkXW@j~HawI6^`O#x2}f!Z?5`NderF zc^-23{uOKt6wBfk#uF{~P8^qagycai*J9^+Or%(Xmt-7E$J~C?Qg`}R4tjCCw+~v1 z-!yuhDa!t%Vc0C{R7~qPe(MHgCDi87)3Fn$GAu0CxsDq-Z4wT?<qGqq8~Wgkmmn<< zyuULBT10HwrcpgBTtBX0lbDEo_pyrY#3M!mUw-}r`dtGsUpW5F!!k1>P7iamgdonD z6Jn2i`0Y2o>M?DFEq9c(zNpey3swqD2|qe8&}N@n?7C~y3kA0{!7&7UY>S<Bux!qe zyz$xNf-s=>+Ug|t7|eB%-%WWUtOMWkHQD}~qMsbGb%cyir$JzsM{K^+HoP<@JU?Z_ zA|Khq*I&0Eeo2KEHB7#HoaPwKO%`cDIw)i*l%Mp|PUiRZ+ZKP&V@e?YC2F#xt1_C; z39YD;KWs4fL?-$dOQBb~q8)^vxU_fuzR~8Sw(Y`>flrQ1=dM$x{o4v5p|t>oDavky zwt*=<X}koi0iQ7{C&fWwaZ1gm{lex+F%zpJI~x-!Wfsvt)jOXlp4}k?bgx90I0*wH zB7U~$^q~sr#i_4jIx^2h<=@+jVh`5B8cpg=S_3lg*5$zgV^sKlN{~Mq3f(F%urHp~ zv-C||V(|>|e4Y1t{<V{L4lgl&_5_^Kt(l=7#o;$0%LPM`g}a2kZRL|!+A?NO&Sgme z?kmcV`MK{y<3(?9?xCUSoC7`TCfKp|{b--pp|&`1>#5?1-+<VIw(Lz!I2$Mp8f(3T zhHRK}&>0dG#9V_~3E87lpp#}6^yHonIY~$ZWdjX%8cZGR6%mSUEe#mG|3nN*fz+U| zp$FI6pV&i|6830{(ZMIn11DP0i`CJ04eGq-C#mx6ui!YmGW4(}+Mm2`$A!iZZ(Exe zn)#nZ<srNTUV<4jHk}MeM}{$vq|0kSxfl%;a0D?)QdpT9eXqU<x@xa&3p!9<84;HD zDNYpGzc{qzqP_;il*`2cU8H}p(wdeRf8@(f6r^S;!R$4rjo#n%_W>41<5G4R#t27b zM;z(KkX^m~&^Ou*NZ!QgHDm43hipu~e=W=N@HuvaH?bv|1hG}ws>~yG44T&8tz|<8 zGoVUvdVrxQMhZU>nP~emaIrxws`$1O_0x}M2BdQhM@kplw}MbvA!NNF_)W(b=S75a z2}@0D6hbp|B(30+hJTb8d)|tlzv${KfsAkPzgSK}$1DLXGHULL!V6V>)7#!l&Pz-+ zxk%`bMzeNL?()FR<MLAu$uHV{{FQ*dY&keE5R<A*e8;AbU_av)i5#sp6EJ!^n!%kE zaiXLQ9<nro)C175uV4N4>O+I&TrbOrcyW!^h*-1x;{4?%aLEr81SYNW(9g&Tdf)F` zZ83U~k`v?JlJ@FD5EM1me6D<^6IPwQmQreng7%>IpjVBI5fYFi9C7e{iy$%SsuAxE zXYHKmBB$kJ22Djv$TM^Ojnz?N*&*-mz4)=FF(CQ2t!DdLzMc2+z0mmh!_4yV8F0{% zZ8{^wu3hWTDWK^ube^nUesfk1f1y#8EqFqA#;|N5?j!vn4lD4%H}$4z1JXuq_@a(j zYudS;<eAH8$UhE#*f3a}bo(+erAjGzgcdxNqv|~7`xV9PjfES(CT%{%!m-U!PL=d^ zYMsBo%!C7MG^OOBQGE;vxDs(d@j^Vqp^3-AKu3N^cOcQxJCS&<eD*CXl5vMh!lRg} zQs&7}G89()apq$|fjn9iNS=2A%cf)e-fY1Dd7$*xV3&?4PC<YTHpxA#Blh;*#Qjr) zoT^*v1RiK;Ucv}b&-Q*7!DAJTH!&okv56P^fqul?w^<J{(So}kop<BvsS_UlsUlq; zgV=(ZGV7!-4K0GA*)f&`q-6LMVLjqeQ9~W;c^SCb#lr3_6vTYqTy<#r5PdCw6GJn< zXA|@`;<vTb`K+#Uvt<7yw|9@~!d4vwi_wxZpRy2pQl^xa5kQy;y?iI}2J73__Mry} z{^LclodeY&lX0Opt)(V3v~@ZjR$XTPYGs4?_tk3G+Bn$xWp@{e+2BiVtABay!ub`w zt2%UymVCwYlW(^PNQ@aB-{|9#;5wp`w)%1Q4X^{`9a1~d+cYs*ol?3V@-Y|BTvpH! zpzeT9VeV@$aPDGsv^476BG`?G)xyg&Dm<zNww{eL%{}~eF8Ux3?s;821r%>DSZ9Fi zLO_e%8W}9Y-@wEe2gCe)x@4}b?cysl#QRuQ8AFtLOQG-BnVWSb`@q&Wz_~c#JO7@A zJ1zk(+|HLbe73V1c1|jq-Qe&t$b^Zih5fa_O-vlVYhyX$oz_UqAS64XM~(RtNmn0E zon8q5tR+@?R-Wpr!(GFO!{A2I{JxrCjgl3-Ol58>*49GVFuBEzB+ZZ4?<?K`Kn1o; zkZ*#K$uVUL<Z`q!KT{he5)V7mS-;6C^S5&E{@5jm{>GEfs)a=>d5!OvNW&GX=icAd zJxO5Qnoks8CMyUh+8uoIor7W5c222+{FVG;wLl$J%W_w|6VH-ha_Iqb_&^@HyO4yA zWjJS?_>hC9T=TPF$FiahNyrLTuFc%2owKk}2j!|v?z7Vo6NisKQc~ux34DDLTolD& zbu@|B-Hs?*XJ8k!Acd#ur$NieWngvZx6YS^$KB8+vR~WsfGWcc7<AcW{8O7TnA74? zj5s5OIcLkJ48XocGW^*O_oye93+{_%b9ZU-6OZA<q(Ru*Xl|@paFAq*7T@ZZ7igfS zQ<*ijtnR|VCm71Lt-r%hfHkwjznp7E)iPka$SBD|;8n4jI4+rgm^ZlUX1E+k1z^3@ zR~AzD^PkqnbHi_I0RO9N^C8z(S%I<FvekP)hGQf%Kf8Jca(yN%7|*VGw9%3`(U+iF zXr)BBB0G@C4VO*_QwA#)ZZtO=LD-Dr8i7+vR*<;W&Zthw=*lugXiqvudYync+5Y;X zqdX+FvX%qZJY|XtQ=b+0J@6D~#IihIs8YCG@`Z@28jylIsFMJQB&47UiUH+dR#!rs zcZf3@`zUIbAcJvb$_g&l)PTTnfl9c_{I%!K0A>@>l$ve4t?FW0s9LNjd;1w~xZkq< z=vV@vY01FEs<pQ<F9>m<7AHC|;d);UWV1|BP)xH%Aa?`E!@{N=;2P722N?&uc0K?2 z<_%zQsU@}8Mg!1PVz10U?k8-*fF@(42@jfX3!BiO$qZ?d1x;hZCXjpif-4>>uzv&p zo`N`I1tew$noe^^h}C5hN~72lnK1m^zQ0Ysz#m#TY76e`{6vy6f1-|+5@ZMqnv6NW z2sSmH%usiP*14gFJ)Wvs@*Y;<x-qrzAQ$%8dV9$x)LC1Us}``mpSjMQ5B6oqHy$vf z^z2ML3moy3alj>0Bm#M+Nr7&!7h1DywE%2W%=<fl@5?&2)seyOQ&J$#5M{@h`tZP_ zgWfBEbvqTv)Jf*+2tkF^4=SZ?B);#ofOZOngi`>nrwB4wl0YF$8SMJv3~(Y^f;p6S zfQGr`jVH7bgxt@AQ=6MU@rwhJ-KJ$%2z8f*a}TS{?nA&V?>CMTlZsRub7onD7u|FF zf&Q4?3|Y*K)RxcXSS9xevNl9r<}N%G&vxAzCMWoUi)EB%_1qbe*jC|vsM^LAtUaHe zsyG&rNn|gph1bsvr-9Y9f+>dE49g+@wt}fff}?+%So^-DFQ-oYt|2rG<gp-5w!Zyh z4!P9A?3ZuMQI&gm8@~bzG$698n@&>Ya-lvI(a$+N&dAc%X+Hn`JbbGTPM)EzOcjZR zo6XL)eS`*DMnx$lUj#2>5$-EN!VMI>M?cB2ZFnv{28Y37$IYw?01AXW1tu-SPQRfp zIzyVFM(L3&X~gxP?5%qc@CYm`g_(!T6w<68<iUNcp~6pGc*y)vJ;0|QV)%Dw<!3dc zYB`vG%6{Q;vgFN_-&vCZycO-w)qXsa$PZm9u(5>I`oRMLXkAy9xTW%$l3Hg-^bZb| z$C$LZ`yq(QeRzizdfl-bK}84Jr~ZV>1PV(sAZac;XFX`j%^_OG4bZ_V{8SG4y_xV9 zBuFvTa%U;GOaOTUEsCew`%!^9{H^}N?W}w5P~)>r36H@JM1q!8cT9nUxfQ6l_I1*% z7GWsp!1esa^MuIm0~;>~ll!Zv_a*QQM3<w0fk@~ddVqU%$T@34iXl9V=yKdia3;~w z_AjrO?O|Z&<-v|k%E}5`f$ZEl@sc1>GoN$;bdy9K3kMhz1u3PY{i`~y0glM*-I%PC zn*8G?mONJO;H*~tA;Ql6C;EWj#gNm;c3vLfTQTfSlkVhO;b!9v<3_ELf-A1dwc1Fm z(%?sK-MQ`%IQ`J}`A1$|p_f)=NBX8Zq7P~y2T!PX<1;I8C}B@%-{FlhE?HR2aHiW? z>mslR>Mz99GQ>oy5;7qc_el1~@0_bAQ-|EZnp2obop#jx`24OHfp!feZTbTSx4o~t zRVL5FGEN%6Mct}e@<f~Ztz!jetVi1&e*FSwQ(g@mRYquU*ZX}Uf$wWnrjGC?Zq`2m zyRsBx)C*lg>?Y4frVjm{QhM)PI_9kf@SK9SZ&s=HGvg-@?crr&%8|`E7jjyeeSzK< z9xx|#0lW^8aavpF2{w}x@efB1C&g9x7ImcVN7#~L_;{gP=Q`nZu(RKY0_31XDG$#J zE;By^kHrLKJKs-kACCJ(z7Vi0e8J@fV01!*`D7ymjz_X2Bbk}85v;cxCxCI8Shym+ zMR0f?00qh6;WDn+XD#SLBCKs-V>zy-T#Mzsg`Fl%U#;$qHd4rFSWVaTZZn|f%5jgC zJapyNiM$JvVVAxh4|i8QR)+Ds9SK$}cjP{|6-UV^uudYZHlHVV#C2`y2R6t!Z9y4_ z{zxQ(?YBV-YTnr*&^ERKl@&~H-o2XfFk1UQG{S`0YyLadoyWFEU;nIIofGYUZpBCe zuVWg};7Vwap$6c_i^CK6&4sgPH!q#Fw=ucbJ=L-c6GupcDtpk~A39m}jjBLOlC7@^ z5(RO_suHN&(1tNGOhA++*%1Kq>vfDW|61n#aaqPE1JW*{pts|}9JqGfYd+r$q6E7K zYS=mtEAw@QGi1goy*KX3PXvT-Lv_Shdvw$MUA76kr1wKMnvx*n<BEw=#QF@%FZ6Yj z>;V}XP>TVn?fO0cp)oAjtIwcIM1Yvk>CcD%5b;>aT$2bRiy{{~?*bWyEeG4S&_s&A z;^F}38!;fELG(9hn~PYYkbOKC<i1Q`%(dic8iz4pKytJ?7k=+tN!~*A<!{wCym2=s z^Yuok%|LrimtlCA%pP?1#}QfvNYtQ=L6oHis%0h<$xx9rDp#0zLXwtI?+wA_4m7g^ zHv0wHqbuisc8RPIW~$(&AO!*+;4Jx>^8Ku=)`omDm5`iz4|FWdQyxizfjc8l)sfs< zsHO(3V4@yjkQCRF_2sz*3~u5I;9<h&wRYI@V|t{vO-(Il7P?p|4*UC}d>%nBq&j{V z+QoK%jNwklh0(O^-F3~u1<LY_Xn%v37%+nQO_E)3ZQKLBm^kBe<4B98k~O}<)C@7_ zN5fAeR?*SF(K5{BRw3qtnF?6by%U)>#NTBKH@-AHc>N~ew48laGmxrYvndBs^*5J7 z=)S=zQZ0a5Em0j{axacd;K9)uaM95x7rMQs+pYit**bWBNE&*3cf0Qr{+rwj;cM4@ zRpx{lG0MM^m--i0IQ+WiJh-J|^N0!{m7TC~GDG=rlcC}Qnx3d7ul<V~&q_p;@}v5m ze?EAi`Z8s!N&VQH5GHBq>j+*@z>C&46bRu*(#WGxE;Pn|QZtSS#t}lUDNW))-k3b} z=-T*4I}dR3i^(%lg;4PxaA8N5*EdPaq^sTje^l6Cz;{StYY{oo{<AikndQ?jnKQ4( zOu^$5h`R4?TORdB|5zIHvwC|?Z<t~j7KkV8zr6a$Qv=e&&OUce#>7bTDrEdLC=I=6 zl-X0~yzZ7N<Pi(tfaj+bi*`rcntlCbVs$op^SF($kEtn?an{;Wl@?D}`Wy1T`?%b8 zy%0^>P!zltJkyC2I%;;L`CLs=1DODx<mxPK{Bb@R1*D|G_=lhN=BH>?D1hcO670e9 z=(SNF9gufBq^4M(rwRw0s;Jh=zuHxW_`L^O*R}gW3nrqQ7q)Obqae6K@u#f9GinlN z4d+2P@k)M*Z^bW2Gn&hd3(6WI4R+7exuFBbkBKvK)j7`mu9L0?M;dpDEEg~(*m;UC zNnL{7{Z(XJP2^Hii^ZcNa?ja4_|7SynU+;Z02b09vr{Pl*?E-3w3Q~+|Dn84iuWM9 znlf@Mqd>kQ3pfd|9xA@cQ_Z|s09mZl03=Y*+?VmC3*x=jySn+#N%x5ezd)=`;XP@N zw}bgdeS=%bgK?12fSKF_Ey+S7H!I<w>;nlCH4CZ~TDYGMFEJJXmaweDvwpBPuxq=v z@irdto`2+xNT#99n(5&C#4hb388}(By%uW^{kV}*N}No*$Vp~_hp#O;?ha&L&MR+0 z<C%rewOCWfgQs2x8y^X;7U!s%ga%Wb=X<S_STejKDFz;O!%H$S^Y<Bg`_@-KhAlZN z5xjo#i<xY31{;%`6gRu6DN&?yFGw?A)+a1{^(Z9n|1`4iZ7p{6IyCje97PT`N@Z$Q zjQ9Px^G;dR5qwip?K@lF;{DY7Or=Y462EQf>By~LIN}UT)Q#>>l!?wnqG6jsR%cZB zI{r-i9GtGZOBnE83S-U<k&@jD2K^7gLf#f=H2?bbsRS7NX=c46IMZ-1`$Rx4$#~VR zs`y=BE}|zIyzd3|>qigBs6!y*By61ZSp0T1bI`qpz<B(YE{ql?*J$~w!Sk@npn20? zp2)ZYGywmuQnD%kwwTO9o*z~zRGk+`Xmthau4Qt4_m>`*4d#1%1aGpx`w=uJp9d)O zV;UrxTuyq0s!Q<l(aD(Y-_2zUzjq3J>5sW$U<a**>w8W)EqTA4%o72E*l@iPyV8Jx z;hNc5u|nb%q<Jk!&l%iL?304vsL^88Z2E^o>L%%o>Te1XjNCeqc^6GtbdL<uhmZbt zm~5K1YZeP1ctz-ajN`}jNr5c-O@iu7j?N>T1ScqIXf%%zmRijf+X;ro#uD&|<-o`q zFt*r$3^>(d3E~V&2|(S(6FCD$mZ`<Ax(ybutbk1c+twMb*b*(E8aAxcMEgP>!bsZ# zl`#W;YJ%Y6l3ag|1jFa~1+G{|8qn!TmkH)^x>i`elLtUszuWOdNMMHmC11^tPCSu{ zDV0=2`+VXo%3s)VJbAp4-!mrmmW;GNoj2iM;KwMIl|>4x1RKqOA0k}{bi{*9RqyOE zF#|`?W7b_^!q1u(5n{9i8HvG{NvN^z<O$#$W70M$r*!Sd+J}{UgH-r21;A4{n3w9X z|NGJCq#>8g*y5|xumNZE;XM<k)rl!^SAb`^@Qbj6>Ic+J9-K|9A_aXtNNDZBfR~lc z{A6&i)5+hQ#P_iH;^Br(;@jIC&%?I%A-!gNLfN>(_vV}6{|)3Le+!^M)bV2t^dMj7 zx&aoF0e=K@KB4ns^JDSKdlD5hUz7x|crk`xmN+CHqm<M#tkN%F3M#YCFgzTgmmu0$ z^IR9qlWB|YHT+X2WLje<z#CXCfjFGFOs6y|o;e~`zJ^bDf&C&cu<QmT!;=Gal~%L7 z=-gs3g);JjoJtTzuLiwpx_YSdehIcUG9k|39c=(fm^^g%V(gMDC&QFpkdm5JwZf-G zdclm7U3d%!%*A23!0e&>554GpudcBkXfk!A*aoCjqQEQot)d`DQ)DCZ4R-;$VrG4} zE~_jmcLI$k(*=d3eGDF>K>F&dWK^nn_Q-HvE2l$=ts&ZP+VK2k980exS%0BO)y1M( z?EFDUJ@eW)7vA&BBi5c0r>}xRou-q^7VhguA+N(vB;l5nn7qg0SJh2^xh-3nW5pQX zX#vjgG%mbzz47d*w@j)u_*%0ihM~<xRUd}#Ch;}+javxx{-Hd=xnDPmh6lIOhjZG4 z`zt)K{g*^3y146ky~gT%?0)I5%{8z2E$3$8=$nNr`ovBR=RCy1E2f~Wo1pL88A;=# zAt~UV6@F;NSE*V@i7=+s3MTT<A!do<y-0U!0T(k7OAFYaS#<@3Geq75WeE!$Pyor8 z3?!osWg%BOC{Y`_kct%cf`U+{1r&rb72uxO1kP5+s#le^5FSaiA-wB<>a&$5;ku`- neC~H~H&R=9c_>672xJ_@k6G*}mZ(Sm+=Xaux8v@1%IW_Hi^)xY literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/cyberchef.svg b/nginx/landingpage/assets/imgs/cyberchef.svg new file mode 100644 index 000000000..9ec0f9519 --- /dev/null +++ b/nginx/landingpage/assets/imgs/cyberchef.svg @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="400" + height="400" + viewBox="0 0 400 399.99999" + id="svg4819" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="cyberchef_hat.svg" + inkscape:export-xdpi="337.5" + inkscape:export-ydpi="337.5"> + <defs + id="defs4821"> + <filter + style="color-interpolation-filters:sRGB" + inkscape:label="Drop Shadow" + id="filter4682"> + <feFlood + flood-opacity="0.498039" + flood-color="rgb(0,0,0)" + result="flood" + id="feFlood4684" /> + <feComposite + in="flood" + in2="SourceGraphic" + operator="in" + result="composite1" + id="feComposite4686" /> + <feGaussianBlur + in="composite1" + stdDeviation="5" + result="blur" + id="feGaussianBlur4688" /> + <feOffset + dx="1.34615e-014" + dy="0.7" + result="offset" + id="feOffset4690" /> + <feComposite + in="SourceGraphic" + in2="offset" + operator="over" + result="composite2" + id="feComposite4692" /> + </filter> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="40.62369" + inkscape:cy="206.8588" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + units="px" + inkscape:window-width="1920" + inkscape:window-height="1138" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" + inkscape:snap-page="false" + showguides="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata4824"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-61.812519,-579.37011)"> + <circle + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + id="path5494-5-0" + cx="209.06097" + cy="843.2403" + r="0" /> + <g + id="g4673" + style="filter:url(#filter4682)" + transform="translate(5.1770318,2.0203049)"> + <path + inkscape:connector-curvature="0" + id="rect5513" + d="m 243.66981,877.59676 0,32.00949 97.94463,0 0,-32.00949 -97.94463,0 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path5516" + d="m 243.66981,877.59676 -97.94463,0 0,32.00949 97.94463,0 0,-32.00949 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + id="path5432" + d="m 252.43415,634.65787 c -2.93079,0.0237 -5.85751,0.22598 -8.76434,0.60581 2.9e-4,92.54556 0,151.78177 0,246.9062 l 102.82518,0 0,-51.59276 c 0.34138,-2.19919 0.64564,-4.39387 0.82997,-6.13864 l 0.74658,-7.06246 6.41143,-2.55609 6.41143,-2.5581 9.34811,7.55758 c 5.14171,4.15711 10.34711,7.56009 11.56798,7.56361 3.05362,0.0103 24.90114,-22.4949 24.90114,-25.64946 0,-1.33375 -3.32577,-6.68709 -7.38833,-11.89487 l -7.38636,-9.4676 2.32909,-5.44225 c 1.28072,-2.99325 2.66205,-5.81504 3.06771,-6.26947 0.40565,-0.45443 6.4466,-1.77039 13.4245,-2.92441 l 12.68785,-2.09721 0.31968,-17.45587 c 0.19141,-10.42474 -0.1393,-17.92314 -0.82203,-18.61518 -0.62875,-0.63732 -6.64398,-1.99532 -13.36493,-3.01699 l -12.21726,-1.85568 -2.69443,-6.71426 -2.69047,-6.71226 7.36849,-9.55615 c 4.05209,-5.256 7.36649,-10.33897 7.36649,-11.2951 0,-2.04511 -22.89779,-25.96343 -24.85547,-25.96343 -0.73476,0 -5.85983,3.4567 -11.38928,7.68437 l -10.05298,7.6884 -6.15927,-2.5883 -5.96467,-2.50376 c -0.0655,-0.0303 -0.13101,-0.0605 -0.19658,-0.0906 l -1.89623,-12.34168 c -1.04342,-6.79095 -2.4584,-13.03053 -3.14516,-13.86931 -0.96141,-1.17423 -9.08067,-1.71556 -17.20305,-1.66447 -8.12235,0.0511 -16.24958,0.69142 -17.22093,1.87782 -0.69477,0.84854 -1.89525,5.90378 -2.8493,11.68555 -13.78021,-15.03842 -33.09617,-23.61037 -53.34456,-23.67301 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccccscccscccscccccsscccccssscccc" /> + <path + inkscape:connector-curvature="0" + id="path5490" + d="m 243.66981,904.03117 0,16.911 102.82518,0 0,-16.911 -102.82518,0 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path5488" + d="m 243.66981,635.26335 a 73.110297,74.107784 0 0 0 -50.24705,29.88411 73.110297,74.107784 0 0 0 -24.78797,-4.48825 73.110297,74.107784 0 0 0 -73.109015,74.10849 73.110297,74.107784 0 0 0 44.891955,68.35225 l 0,79.0496 103.25208,0 0,-246.9062 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path5492" + d="m 243.66981,904.03117 -103.25208,0 0,16.911 103.25208,0 0,-16.911 z" + style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path4473-2" + d="m 141.92964,901.472 204.28572,0" + style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + </g> + </g> +</svg> diff --git a/nginx/landingpage/assets/imgs/github-mark-white.svg b/nginx/landingpage/assets/imgs/github-mark-white.svg new file mode 100644 index 000000000..d5e649185 --- /dev/null +++ b/nginx/landingpage/assets/imgs/github-mark-white.svg @@ -0,0 +1 @@ +<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg> \ No newline at end of file diff --git a/nginx/landingpage/assets/imgs/icon.png b/nginx/landingpage/assets/imgs/icon.png new file mode 100755 index 0000000000000000000000000000000000000000..86180f0bad8c3e7c4ba54001a0629adfc78d6a86 GIT binary patch literal 89100 zcmbq*^LHI>)b<G*Cykx7al^*8ZKJX66QfDvHf(I$wr#VqZNBro-+KRoFKeBgHS@#F zo_pio`?{_<VT$q+$O!ldAP@*yN>WrA1cK=K?*j)5obkpT76ZPZorR@T;ebDHIFnz% zF}#DMmNN*1i1FVC0+f=53!KDr5z};0u{U#ZH*_)uxx2eFSlU@T8yh;9GT1wrr=IiT zgFvJpDN!L+kF?WucaK^1)lXZQ<TAuHwZld~L53IY8cSZ-)TM|mGA|7jiYv;}sd+9j zjZ<RTr^tqJRoP=z@LuG>r<O7e6f)26Sw5X8;vuKdIWH|u(gZJQ#vBXA=~uk|;<+>| z)6>&&Ik~x133r^VDdCZHClD5__)+32iFJZS(-y2L2y%$Qz;SNz)c?;3jRmMF3t|yU z5FH2+lqv9D@i98t4pIc6;ovNO<KW<c6Ql<*`wN5CNc>JgGZ0H4%-210x0p7BsDeP! z5ikgUoUH4Upc-f%LKPCtf^|kM60Bz$NFHdaRY4veTY0D~8@R>H6e-V&Po1Q%AY+#J zht90MEEg`8T&Si@zd%wL0zz2g535uxx6p6N4Tj%tt#F~UFrmF-oG|e0@}!*l<hMvL zDFs>72%<?yg|qp;p>?@a>Ijfsu%%-0!plsS(koP3_1ch0F$A&wQ$flO9KWnsQ(mSZ zv&ErsA?9GwgknvClah-ij)okPWGY5h`vudZRUx4?&FjByNK0lVR}flFe|oIt_A?-R zeT#%cV(Q(Tgku@)8qM+3H0b{-g-}z&m1n;E`_J$fzS;2jIpMwAW~9Y_+GP{7#3*K5 z3pD61M@SQx%LXPVMT&@^#)yhjUHOYx%)gN?1@aOFk_=DU*>X+Pqt~XOBnaIAx6tC^ zEx=*LlHL%k5K~K|J*<V6CE2q_CI2wVW%ke*JKT^3a)jCi8^qa2N}PV-d<)f9WSb+P z#L!#V>0q3u*clk-)on?M%A;Mreis?u9<H@S68n>7seJ#y^7-y7<j}F252*~Z3pYB0 z)E@?e;r)uWAvNXMGRlxI<**?gG%dOZh~+)-AajT`$lp2xj0(9|aP(+a#2WP=R&!iE zL>8IGIC9phX|S_sIjMR3FH)cSZ@!V8nK1hLbhse_bWnjsg0biP%U`G!<2yNu3gLhI z*)Yx?fwU$34dHO_pd(=+Lj>NR4oDV61HT2GS%gFWXDu0(o$+M1PS1se3N-=aZ}Ikt z`6eNz=^CwH6;?$YaFC>ukQ>;1xa}y#?g)<WMg=#0M=me<w9DeLkd@{xQiP1}=PoVL zP@G|{?tex^Lb9fLm4QX{Bz#oFoUf3!ko5ZiWuB9|{PXSDFmb37XrnXJR;Rvf1Bp2b zI;{M2Sn6IqLraq%szH=51WCnW20oJA(jZ{M<Uzt<*Ak19K{3`sY;3^()xv<J)lw`K z2i<~UQ6L;RO_qodPElY`{+$bWwn9!+beWKE?TGb^%JvKjZ@jhs^v^^M6ZAtsI!lh( z8jtt3iRdgT+wc(L^rMORj_)EJb=<M7Vw`eFzy{Ydf6~0=`59V>ly?k=J|*NUPiXH? z87<DFc$!Skgn@L<xR6(Gp8k~NTJ}^HA+%i)Q1tdWI8Xd$Xa+KS{}0CJ&q|Aniw}5l z!&9>sOmplhW8&dCzt-01cK6JBkG3#d(^YKJh}b8DxYHRl$H4ugIU27%$l;wNrK$)_ z-K$2VxFI>-Z5I_Mo?dvQztB(JuKawKi5MuT1{ur`uB3fCh@O6;07g;OIC;d9!~K=5 z8^gEcVw#d=FVhJ-ohrcp&)~s9kQjtbS|ns?pm%97@IO!(4@Mo2%M-oE$@Fg|G~_Ea z^pi@_uEJN=-@=k;FhqMDF=j&981OF@#%BfO2N_Ttmg&)=>%TybE2TttdMg@(z^V}n zcz(*EhJX$L*F#O^88T6a3)*!Mg%!>^obD1Gb^SA0J#sz*$9_emL3lw#NJ|BscCX8E z1BFKfF*wDk(s(eMUNY8u#Kz2PhLvdI#!XLJn%QQ7_mcNh={N)lV>>$WJ}pNP!LJpz zx8iTv`f$h%S<=5?5+F4jBWXLk0(g$p$u}9g_DZ>=x06|qY?LWIU*x}7GS5g${?@XZ zZ>zEE%X&VXYglPtrH=oTK=y@9LRdXIa?S+@cxY&i9L4r<lzCwqRn+-zBezMy(shQf zb}y!{b=1?2@5<OBvw5s}26{%vh_<eVYCc)if-`$`X}qZ@TCqx8eTYP>YEU97AJ#i7 zQM#|br|fPdO@^CZhm@j9`<6uYR2-Ycp{)T|i8`>A(?z2HJ#L}(Vue}KC|kb;D{nEi zbne=kuAZAZzLWC}2(n0LRKaRC2VuI*5l)NoE9jr0?-a{iFTp*Ul(NGf7{ym0F>w8p zT{G}4yL`r=igFeEBD#>H4=%uhBtc6PQ|dl*fgg6)ZE{`xxyuR<%NOtqpIdY;>$ASv zrx2x&+|*d@U-_kzO}<)SX-96o_|8nJ$HR2Hkd1ZgpvT<SxjJD&ZZJWco`16GRI3;L zU#)%nGu_UF(4f$`KUEhYwinr{d1a&;vAf8;jCP<ZRDYGbZfn;3EEr+A=BWz3)&+8@ zjxSP1Bs`N|=BD{ys0u-By>Gknwxu*@IvV-f?8rirzw^sNwZArAU>Y4{SdSb>;q3OY z9L0B5D&enmGThyl5*dDHLG|$!ZwRL4&~0)N5gj4IDS<vwYz;wiwVr`PP<)W_&jER% ztaVXs64qqOjF{l2VCELM8Bs>s3BTVVO1Lq^@O`oiJP=cbzY|VEG0b}Zo?lAc)to2W zchOEcXxlkPr8iNah2cZq+0`MOSPd^&QxddjAuR|vhk3R{t(2G{$-04>QwIxkcS>uy zxk!UY@O-tFvZW4{ER_}MeHC+U2e`V8TvK4CuT1=;{t&tK!e!j1XFJAnsn_^dzRf+z zio#z_-s?XRHDC^1pz#+9rmIkbrbt~kD{pXWFQ5ESxf&>Rb7{gAGw@e2RWj`hZ|=Uo zo;h0Lsh{%1BZaDn7P`%U)?a_fIK#r^u722(v)S<cxtZwjlT?bie*!TAI;jo8-968W zmADW_I7))eV(Ld(&d^1ZsKk0*olA|fztquYEjHMtSg6iY9}n!)Kl1EOwI05yo}si) z&xx`iI?Bkmngae;oY-%*<JN+Bz!<^lB?XO{B?KK+aEBKRU4nx-%Ut&Oo@Cq;m|rLv zNP4*zy#F{EapwBLYfLkW5KURIJu`2Ei_8jp8{TxmB@2Y-<D+faX6&wR<5P}I?5<6# zi1t^w3M|k>5xYm!{uiLuJGN@qTiwCND^Mi0`-+>PESFdo@irMiFV|Xgehc+TxVs#I zDI_%<A3z+TG9Xdq)bAo-tfz_~K!YHqSLt~g{fa)xWyt*5VpcSU@(yo4+H!Yy`D$3> zQ(A;ZW<GVSqFLKUGT6+UC3fM>i$y`d18UVx?<ck7A%WIOKx!f;45ue0@<}5(d?`CQ zyj$zv1GGF6nC^PG6*GdURLcOx9qf9m`4UE{8E>iG)&1SQ6Yj>+ib#Cjn8W3Iv*w98 z<poTbU#o8LvjVb;Ah8UV+)r#Sg6rt@&S#0g`fea&E5eJg#B=2^VC#G4JTFv~5wE(b zT8RJ~X1{Ywr|`5=vDgUu1U3y~i6vs4@_Aq^+U;knv|1IZ&~9a)WpcWH8eK?pu83~U zI&_&!c!hlD(Hf8jd6u++qV^eq)l-s-z@|S83=I7ER&!}0E?!WrcB8mgTrKx&XyP9e z?ze?_bIWFOya<g9C9}!(h>~pm>+4JjMT&K5lN~Jb4Cn1b8Y(0(WV$xNR253D^g?Rh zsMcS8p6(0}b~zk$6G!@Y-=b<axsMnAcMGF$u?*&4%2F6x>MGx-?)73L*I(?n8WYT$ zAKMqHgY+8(I=il5{Lh+n%0+T%*ns9kx?H_nJBUK+b;fEO)i^5tdaQ}k!^lD;C$_V= zEcAYewvPMC?$*w7y@1?l`>^2ALA(*&&kPHu$y=oF-5AAWZ^&X(IA%famI+_l4{r(I z536!~=^Hl;{Ej%g@`hI};!W1w#(&B4QjN)4Lh_59z67%vH5#YN@PuOQ<1YAYpqy7o z{n8)<XCJCb?-(cRe|u^g8g4o|n}n}C&wG1&vq3NOf2gADgxReLl^1rvbm_pFPqq_N zK`Cx0MrTX6Hl+NaH~jeii9r{8I*&hSq8$11j$xht>mcIe<*ZN7wwgH{pPZC{A4}g< zeQ(gkGlPC}Dn`B54jO9(iRx|#gZ}WqWCX^~J?qKQ$PDh3B=ZlXE;EpFv3_uYFwg=N zG(jT6u18=>wXJ07|6X+7NmYUZi>WrPXP9==NP3u0Fj($AJMW$zt^blTPDyN$BdFYR z$bkw~;8tqH4zfE#x_qF~6Xf;!f}yhUtG2K}%QbyP-Pz|u%P+V8b?aJnP+_Bcxc2C9 zI)A_?Mt?10_NXVMJc-G^ySj&V(HUks-<uMy;%RCDovr`BdacCvaLp_lmc#l3*c?5M zj?@Q!X+Ibs&NM0XbewqH*K_6@r<RP^--Hy$ddZ<-5%Qh&b>zycR+foWM#HLJGd^7* zYN=n2$4KZpcXH)TvC@>kn&xGz)sCS0Y)tSi{`PJ~3wmA<ax7e!q%hrH&5T~&X)p-P zC{RDZ;Wh&4QvZ{gQYF<Uo#Tar|522rC7@DSXw`nLOR)1um7=(ze~g_uk7=MCf+aFo z`I|yY9eqJAuTAyY@9QrFUj-K<z)e=6(}&B$aGlDs$r;>9(eR9AuKQS=!!#Hvw6g{m zW3MbPV**mKf%U1eg0Wpw?{|W+{jIX52iKZaxACkWi^h<GX~W~SexM%&b=OM&J8$gk z<A(Qe<_Zb$w6(-6u2#BM-5%+eF5!?zd2tak$oi7WbGxwqTxzf))G7_hw6aAE4BS-U zuKp;3k~?8J+~|f=f#;aNZ2R@m*0^5nIf(U@d`U*T{YPH0)m~_&qnVkbW-Sf8ZHk8Y z4Q0Q97q%Yrc7vYq>EfqyyyS*5;nEu-P-#{<nbo^cYmMdmh-mDtNqa^b&<aqq+(gN5 z*y>>0N@Nz;P$OJk9lY$4_{oqjFcQnL+Txa3y|n3dZ;+u73haos?t@)yt%ECqN4p6c z^_2CK8^q$t#h&h3zdR2y{1XFj{M%`C-0icC^vi*N^^T-C_L>YxeLTGJS&-4F_1s`+ zXB@q*oQn0ce!qOAaGHw`#_2uG!41(RTIOndd7b?9Ebr4%o-JLJc$eQs2AAdhattk} zGBRp!FLXnhEvl(TGQU!230dE3!CEr9H7531$8FWnPzqY(+k1Yld^yNS@&i1#Po$wM zqmh{aqCV4B^RW<76K<bslY(QnYYkp?FDoL_f92V%vf}@HDT?89;5I+*K7-h5YIgIH z?E<aK@I(%}%0{*zw$>&sThfHe^-3)$t`B;dJG#AD45FWmwy!`f+s%0P!GEw^Z)5(v zW#1!XZ!5H#s1}wZ%ZD90Etn;bjQ=Ty=TFL)e`{h8^TMt_<ob04ZtvK)hW|vlNMNY+ z-=)Uo?G&CjJ>NxUxjslv-)mrs<tV+8GO_-|I+-K``hRhetJ>XQSRE!O2dDyr$(4{g zqzWHtt8P{00GZf?IFN3?o#Kt=6r^E)-=U>b%|_PhT)v3r;${blRR&WF{FzRVC6(OM zRGtviXF`hsM0-2on2CR)idkCo_wGbaU1PBx;5<BNsUQ86#4taZtyJgVN?&J!n2>%d ziQvy5V46OyAZj-3r*USvL!X&?K8BEx*h8hTBMbl;|2w@mSNwal_N$tICcMb=eEz4~ za3&KIXQEgYg!f!fFdgk+HcTIagbrDmrbP;6rYY`mFG_hSftlP%&qDdzWm`-Plu$fy z6*Btu@G%?Wqhxgx6Q}S5j5HV+l;wXeQtI-*v9$g`2ul3n{tbP!ldsW62b<oQw6V2g zE2v0;o!yNM{VDms*7!l1U2mZy!%y@5^`*D30vRK0J8jtOH)Ls~J+}7Mu_$62ox4G8 zR8qBV4Af$*7}BYs@Y_m%r-%-LyO5{rGkd^ScpEJ)`OPf5{I3EJyUQ+w{E2~Kxv7cV zerHb+S{?#sjb}q)t0<u=8DFGkAT1!Od;VMT?@MFHoz@GSLodB}>*M{y+gC-@)GpiC z^)}>sBLhE2wI*s0SWb(N)R{RZ<yVOqRxGj*aK)2gAl=EOnoaAu?M9dpKuZuy4j1)b z5kV}Vg`z?cS+kaque9@`N+?d8qMciUwe5CiAXaPikp^3(WUFPmTLY}s(Vmy@UU@+I z|4jA3r;wsLbkkx26*?k>+0wxFdScF@tgG3WE@6T8Q;1Kle?t$<`W=fbQ~M~MTubX= z_3&#t$7@{gzn+zGDGNmoG&%hEclT%DncH5j7*>;S@SfP^Jw6NS78A_Jdufw;zt-R0 zGmjx&a?C%uxG_2_p%W#!*OZYSIkBTFY<54%Xicb?&z@;i98B>t#?r}b{w7cRM(sk_ zyWTrj44MJ$wir^g`mcbFSt2XAtaH4a+orOtOc@8eHe6+aU1@3@KXgkU3vW$M$zMsK zGJb}|W~p=UNSQuhP1@B^j4+fV<1SF%{Q_sliDt>OD<BRB8Y!GL+felCeCoe_u&Y{z zh?jA@@gfwj#l1qQ?BIgS0b{wDR~)ItpzL6Mazmu?a^H)`1}J<dz;h9IU6inv(InLg zK0cP1RUdX{xtd%o&$cFuquNUHmK=c6<#Es_^LD1HO*|joQy2PJEMfUXOd<Qa1BC~b zKnIQ-hY6v(que0+JMg+<PzE^AkorR^Hx)mFa9LBMJiJljQ_mG7_k#f`hdp{ANhhId z4wtSNM2C**uZlAy3*4(qp7nShhO(6rGHU;xsg3?to;F`v)VB=H?W$$yz1HS8q@b4t z`UOTCEA1~pm5K~gU{%VWOQNIwwdyOC%x+C};UMjWSU!;iu}1CMo8ojZ-NtN1+-Jdj zwDD88?S5pJ{kC+nz94EqqVzoz*q8&zhL^l96PsSPkk3czbup}SDml|;<XiRDV75rt zoI?*#qGTzbJ;l@q+|SX(+uoeKYN;^ds5Th{3*S4b4a6QOLT+h&^?Gv)0oZ|jdwE)H z)8ju^ICcfh;y_294(6z9P8XV8<mpVi&!KzC6UQ`@+|I<{EmUbjtR1-+{tKT4x>`yr zRh0wWuyuy*6O!m(o39?K(AnPoHx;Ok?%aAef2Sb-?U+_2=O4IV5ZZ<LFwW%NR|vU} zOzc$~Kd_apx=e#FC7F#`XAa8Q54e+LHa=}pgCw+Ks^eu@<@m>$=30TR?)$iBVe7IA zLBfK4bCGO%HFDuSufpTwt5?*8Z(3mBq%U2c3fVXuJl*^0@%So3*-~G&qaJKKH$jB% z2NTs~bVjf54oi(q-$Uj-2hy=h;nHF;u%U06PUjYd-bZ{Tn++*K-8pN$U$4`$oiK;6 zQ7w0rOP&D?&rWRYzpTxy%zomiej5X(Px_N9%wYf`SVH&H(kF1A2JeY8*fP(w-dvx_ zK-l!}=<xYxTV8vH6qv;jFGzm8uj(OXEa~2yS`*~SXgGz}>o<8e5-}tNcJs;TYs~yp zt#TuXS@VX^{ZtKiNw58otVP&@{63#yu+^1w5sL5S!r&{&<9Lh$G}1f3wxXt2$mhZe z!>F)2vbXPO4&ZkxAcm5~mI6A9fXit!R{Ufw@_?j5g|nhe-eQ=1mE6-Ng8Tw3qvaIm z3K$s$t}^yeB7}t%4@WG2pCU~>es4PLecF%$iI2yAP=WOzQ={9!6=aHgdS%;{k(bd( z9yY3vw_8TAr%aj08=igDz>EPU`Xu5~O{&C)9VM%^VqKRXZ9eEvFE+P_J~=xBUatK# zYu(bDnaN5OB?J7Vyah^#`o&V6Ozc%}B~{+vN))*8$V#r(ONhFo8Hq$}I1)WQ%|tEy zWv(@<`!`7y&k5Kaho&maK>#&*H2If&bCf49LD#t4=LwRJzgrs7?(}`jK_y;$n>ozB zOGeFUIht?N{FuGhTV&dc;@n&7#t92u|M}js60*W(;bM`kpa18U4qk@Cp-4$BG~kc; zVYma_2LP~$qP&cM`GpQNgG})z+{rsIuPwKj0|L{~VqA3wgm}s9ZEr%non9YNyaZH{ z{p*Y_DH4%@v3wiYh&S~C)5sroc7E#PY-sgF0Ahuxk=9VT8ZXL(<jM-nGsx!|qcgEY zA78k+!OCuK4M&3{9Ykov`>US)lVr==3;$@N|0{*M40zT!Q62Vu?O>I@0cak5uaVNB z6R;S?F9db_y+5f`#%qe${Q9UDTf51uNMNVrxID?dsf9x11d;Gee)(9;*EaIcZ(pr@ ziMU+c&znP%Ha5n%h-R#4soD^-6z}9&?NmArrddB&f3Zz3hN9Xq9rvBn>@mY#xBUVF z;hP-KWGzZ&-SvHm>w(#g+jrj1u4$MqD+{4Z14u~7N8!@ik3H*V1DDeW7Qa31=+)=v z>z$6d={}x0U=MkCZ7u^j!n+|I>fesj_jgZ051<%Lx6lNAFf?o*mxoS<a99%t8gvrm zB<a@hUJmc2t?R$yxrBdZ@)SlS<cy81#bK6VzWsCz)DCoafk_k+O~1P2e0xaTA}|$x z<Fr#0KR#p|-7{9gx8#pnj}65O^9-8;<G<H;o#$rK{QOV*SvSqa1pRNJaXT!v%?B_- zV7=G`sHW6<F=y02fBwipkbe2{FP>VuHC_H`ApGv&+2uqv2;Qx?!XQE`Mz~bv+3NlC zUb5r(2i7r4hC|Ok)v4TeubT;Vl!a{RDiqpnk0As!^}TKhx}MS(;X<-7U|jt<doYu4 z2z5M5u?(86(kG41Xo|X(MX^#p0-f(Go~`F5R_K+M477*ZAwy0L&`9!RmlGv=tq>VL zEyl1-Cs9RN&fI9eI`6a7k7)RG0hWKa*_O5*<QKqU(DmIXh{hp9KuCWB5mKL2^M#X3 zX`Ah&DInq3#`8G;+i<tdzZ-}+D*|veX5Y!X&NugsiXW4PJkRbove$R`YOWrRZ7}As z&}FL=B8eogj~Y~s({~qmLL|JgbiViNLfLt5D5ol)!pnXDJvxQ$cECzQS)lRNWHp93 z$N6~8Ef&aUeddoin>Hz3r)I=YEnLi@3f;F8>P@ZLmZQ79T?R!ZfBGwpsp?I}g{#TR z_WF+p0u|3t+95lf4dJJu^J~dCa+`gko~184iC2quMVTA`X)*|)E-D)-^*i<nD~%Vm zxt>sbkgvQCUi&*@MkAVt2xZLJm5tqZzgZUzeCJj*%fnIM_Fl=h8-h!vrC!cfz9Yp) zivlAgs-FY=;T`u_^l^njqeGp&MU`p7@>p5VdRl#olO$sBo(j)GpDx~1>BP_ueBAQ2 z6V73*N!gl%zU7K(##uiHM`ou3jkS07yp~ApB_i<~)Wu#nxgptLt3KiFt`kG2;9H~H zNN}QwZ%5Et`-j~?Riq8P)S{@1y}>QigOwpJBt}TGp_$Z}ff<Z>r=R!iiL2(*jbxlq zWp0MAX;3ZeNii@!2PK<UvAtV`t$O@T92a)<7_7DV$oTxGmDmiORldqS8~+y@ZWM>e z+Qi7G?e0pzmy2n)RpA*=OJ!Mu8BLEFyPUI})#8JQ!&d$EPyAe<&`))95fA|={!yoS zzgtvEThqe%mC5ZIUp{uuClwi%D1&%WHkr*m1{%mhUa%``PZncp)Gj$Z(wV7nIzIQ9 zfsvT+zqbRaprA2LUi-fR<nW%i06JDky8cj&I$I!y_4tBUP4O-b7>vs@y7i*)Lg4r4 z{i7(Rk-yu*#K?hzs=OeLn#9=_A5^q$YUb8xfjvWIccj@+jX+^4Efb6RAGhJTeWdm} z(asUQySF^ZonEmFvP-;MBF6Dsr*p2%jL2!LojN|<aT@+Yw4$nVccWcs2KxNg4^iVf z3M<(Rg>+>5ElwKG?<*W>8$Pla#Dd*{5=UCdu*b#4F)+vdXpC6$+r`dIH>Ud98l1#g z1z^;|z5!5FlLcfs1%6?JA58VVZ%l5Y#?Oz#b7oIZ_u2A7E0AY@#hSCy$>>O)Ybn9Q zI+ZRz3_L5MD(D!+yVlEI2paW!yuN$csHd_NXH9*_>dLMmn%|)T3N<=NHk1Et@e?oI zU$$wf6F-78mDtm7sLbb2uF8UvGT{ysJ1g}j6ttmnWoe*pnm?o<rFgi#m{cV(rL4sh zOfiT^*z~a!i^r#wqA4_%=`tm_7Izehb?sy5SQZ=@8|kW@WU4VZgeLb_cPVBtl2)Hy zdqyeUqgz$8Mq^6;@y*h(s>#99G)Ikk@roxd&{7&WtYN+N^JnbzSA*DF>qW*zECZ@+ zrYSMrl9xpV+C4TL8cbPS8J#Gqtv8X|_^b=*sggSNf4IuSRJE23-g43!kwW`_nJ@A9 zaHBJ<NnR*!%(+@kkv-)}D{eYn%=@M7t6Kk!Uo=6H(ZlOV=npv^HY}!8An7?QacD10 z=<Lr^LSij0-kF*5rsT8>ZujqTO<=Mlr!Z#kHe_Xwzl@)kn_;=!OpKvn<LOSOmm?sz z-IlLzC0PP#*LiR^q-g{P-#a<sAUTNzmK9f!WJ040{2L=mC{H>v<IHE6+(z)DYvCho z+aAC9qhAEi$43L{A<q_(yu8*RmT>uGfW-Rb;pH3GW02ndJIu1yZDqn>Y^2(0A}Py9 z=I)mfv@l?_d)uqciQR{1ar?Iu8Fu-BB*Zcg%Ql#fjbrG=HE*7Yw9zi0Jszoe<Jip` zU5-x@V`Q^L6XoZtz?&}gx;k%|&_l2O9x$jvc5VP+d^d12LU3_TZLvc7ccaNgw%8f@ ze8UgQj3r2Y{995(ap(x6!;g^@$Jal7a|A$k3V?>~E>v$ASMUv&4>v3!1^-VA(4BI~ z$D)6s%eDWO0nW`nT^LuHMYtMhU42^4Jgr`rr%f|+Z=!@~QZ<7r`9a(u{-_~eSohFZ zT!%9dWg}brO|?w3Gf3i$i3lGvd&^D<51F;6<mo?jq_1yUZg{bvPHa}Z+eExT?j6{| zwrej?3?BkgrN@~Ja;S@EAfc!qpA<E*2eZ{(@v(0@q1@iM1NyF1+;_>s8i~||=>}k3 zp=9o0I>lWL2<2pdj^>jNjdOVe1w|amN|4}|`vYKS1<1m$l`Q)G_~a3TGsJL_T8^+; zZZ`J>qUw;243g+d?*sw9@-O29;^c>U?apyj8>5FlA;aj%#gtnBSk)2oi$A2eg4)PL zJ;%{%u6l6^{ieLT;l*bvaa0o_tS?WlQcC0jRVDm~^W~IJBhKYv=jqmHjVg$H561Vu z1?Z&XnVGq2j8l(M2}QC5eu4xLMt3;pO2@lgVytk1N?Yis8!u_M>7$pz*-|{AI$|_; z_x0Ns-$^zPFTAbuW&A*pHX9-ZPhGLqQp?SVBn+t@gJ-7>&-`l?HXPreP4(eoNa&ON zQiBnp4o44*nAU}<%qtcWUS}E)_<9068sqs_4rXY$8f5VrwHawJ^@v1;?r1VMSW~1R zF98!1MzbYA<l!Dx73KcaMpTi41?*ZX)p2WM9jx&{p-~|~HJ;KM%IWh3ifC1pOt!%5 zQ<bzY<``YrybdR8N$=~)-%q2=m-o!SU;H`~+<EGMA8yj-xcosA+<_I+#7GMM_C;TD z2j$hUBp7Ts_dDbkh}{*=v<f#ML_V(^%#hVN2WKdynkLr*Q{)kGryC>zp(;B(WyR)5 z@0R1J4P#sNk+?eh=AxBrH0ZZJWzclID!&w(fcMMnG&&WdfTupdctxEguH&hN6fjk} zL%Z4j6}8pm4M9tbU8@`AHGRFYHZ48d@Dfj9`!Q9V0MS`i7tlGF{Q}^~u|O$F1%@wb zBF>x%<y95qRHONjn=OyYQ)74(X5+yW_|waPJFhBAN_auN7#H1c%YdmjaFzIT-yn;Z z>I-*E<#hVp{`nw{<l|wjk5S<}qKyQ`#aNA#Ff_>ac<*!na=(I~j-z;kV}B=SL{4D( zr&C-^OS)N>Aiw!CC8or8rnHq>NAxdE<oQA`7x5ao4c{0RJ5lEw?XxA?wOO&t8idf^ ziIJpYyV@pU|4PMX>3ch~Q2nA1u=rSHr&6#A6Qi9FOysMz$}*?+W^YY$oESS#0LVLN zL3hB~085ozJJH!)Oh&|;lMw^)l$X0QJ<6o?+^}L?RyRENLrrPkLHKrZsSSv&FGo>q z8Om$L(*jGfbhE`yRrzLs`}&{Tr8##&)?cR^l3QS`=C=;4`-X&&hboAAe)X45P?Pv{ z7!<4br#_m0-$<Fa%*&JF^wbyJX&Kvu1m}aWJ)hk64u^R>!Q$osZ|hXtd8$GlaLHs) zwi*wuK-prk!t~c-v!%p$HhPrI6i=(Bj2v8cgCO2Y=7Kt7lhX+gU*p|i-Ak^bwTrOl z0b$?KIQ!juJA4i3C8z*6ApkVP%a0bNgNe!6@pjZGYVDX2XF$DkXbI8IlW?Y#9%{M3 z2@QWj8S8B3LRK)bRB%h!FqDw`@R1M+w{6GGo`ks6{IQ7@z2RFA1toSB^>poDq@JM; z2xYX{Q2QI8ANDBPlN#tte>@CG6>JIK;80@lp{}s4(${gQ`IIGTb+#M6Wfk5J@b#DI z-IP(gU33OuukSmTvS;XwUm3}*jl-9Cw%K&Lu!W9{ZHK=G%e9^!&Pn@ClELjE3xRS& z*}kGb$bKnNyQ55TO|1kVgDXD)Dybj0g4pH^;hfG_7b<;#c*DMZEx^!%`QYS9LRDw2 zRD~AAD);rO&b(70MD4D-yIi4`J~cSH_U~OQNRyY_A0g}2?<+C=7i^X|&MJG+!6=!* zstx^&bl+{y&y}LK^$H%AK43F;fgvlb0jQyeLsHg^ulPuF6KAdAZlO*$4TzR_3@#R0 z9T%`4!;^!*GCT2QeK2NmR5q7OBGc-W-&r7<hb4dXFkutyoHeDtKRnCDQPpSNf=A3Z zDhKzry|q045~uh6ap6K-wBIjYFjM-g1zYM%)DLv(h4uYogivVP(-6G-0A-f}w;-DN zJSlV5+ZlFbKBbi5V;z$&D>gbr(j2wQQ1Op5o84cJn8<%%=Nd7sv|+%&=kT_O4vN6- z`fzg{dY!C=_J?97cVBn;BpQI7rMM<jnVM}P+XX;ihTO9o4uetH-#?N%@KSob?A_VE zBPD!H<2?Kop#ND-hQE_wsdM@AeKK()&y~C*>de~vt>2ApoX!Vb&^88T>w5u=uxlMF zo~wj_F9-A1{ID%Am}!(^`0=%~GoqKOf^KM}A^K&9VQPQ)yT!;@KrfXtG5$()x?><) zY>`3hoW#k9D$s(Q>T(1SP8Fi8+`dZjyWHB5S}CTA-@qcN+wNz-ni?Nqh~T61Z@`X@ zxE?r?X|;!a4g_WR*5JYNHLJdFzih%NoKe2b&e7PqR@Z{njO1>WK=gboPsY-S!TF1+ zY|~!YZ|;8|9+jf_o_+P36N93C{HlHUK8A=1sOA#M%N|TVQkawI!fSq~xP3_TyA7`I zphJOi`8eqwrj^L~GnUiA5918DcVp6fi>B@ztKx2~!Y(wAd{-Ya8p@afsD<vvcVNA4 z^G#yqy9x)vOztTb?yI;;)Q$6pJ|k;zh<T@1G~U8*-ODpHlG?Bh<g6qK9zP_Yox`+9 zN!dEfH>h<S#%=IAz$ZTQ+Izl{j>(QV9UgxApsC~Xf*86!1hMV~b_*J`x$M2Gtze+6 zOgEu8ZyqDZloV##NHZi0q<Juc8?W~sI)h04Kl^B%a+^qi7d|pcPB&>GDalN=Fx&$a zoy!#`6>-_>AcTJR)c~-yfW_*I#OlH$Epa<r<SBYIvdq9=pLXOEBv!VKI3EE!;!1_k zPk47N9Bu8$nRW(j(d7mlQ^s#AXJ7R*8s^{MCI^*m)28MrXjgd`n#ElycqJYMFaxmf zPGB0WJY%?jYH^{nU$|`zXPZs6I5~m!#Q??2RK5@H)$`byv^q)*M0*c>ZE{}$G><l$ znP4n5T%dn<R<56b8;@Rq(eYYEi`8OVm$aGHUW>D<XRCFS%I^mIO&?o9CuxZFdJ)`m zm1@<6pkQdNsZMj~cC*=^`V8>wQn4`}c{_uVZW5Z1ut9bqnVFXN=g1h#DQvI23m1S+ z&tmbw+|Ifu!Bt(}0<;x4$h{aZ!>-@v!NT>CakRjGR+B5?1tl9Y$O!jd>=}n<qxVE! z?LDsLjn*n*xv_P=ei04z;pgjcdMO?(lSn(R<FK~p&_q0?eZ^{xiR5Rn0GCDPk3mQ^ zr`JkjY23OYpcBX7WfxeW-b8}FpkVU$7D+-7)j}QP`ieUZY4|-^b}UpVVT=U;p?-)2 z^17#)FRwT|?N*63%(1TCu%}*<gEoxQtw(BaSKSdlu;3W=G5%<f=DN;aCkct${@3-` zEo&Ne*Qh)?Z5SdQnf4qZLdL3G!1Cq(8Q6uVr;a6ePAumuJ-*#z*-5R{*AKyYf7D2g z!Vuq-ukD!fdbDo<5KvxrHEn=lfwvy4O?X{Sro>=bRe9rQs1wvgqLcAc=UU=r^IeB- zs7t7dkaijN*jXovZZtn@8^1A<k&4Ck$}=9%{mQ}@_o6exD+SAbw*5V;^)m%ue=fBk zAfHL4dGdRSOSS)4ofx~$@lBW3tp7oNwd~$Wd%~XH>whj@wmz{liJY!N*^s5jK(htp z%(d0|H6dFQKMki|5X7rJM=ZINj7{6pdHvDqjM<o!LlgO=2`dr;D;Z!FJL}LZ?C4A; zIB#}PbXhIfrw+{w<4q12YcM$I39Ro`*`6Y03B&~&2i$hlHz1-h#388FrRn8<{%~LV z&@VoCz>o(tYQNz89v$J6$ahYE$^t!cKcFyMdx}UllD2{{t`7qTWz_s3r=j*gi5XT) zryGszrAekY8&E1QX<RDO|J@-KL~4A3oiLpxpQU3>z%N^BmQa1!`lYWgX@Q0y2^tLm z3;~)sM+A}Y8%!0TAko=qI6-LqaA01|_i<HwMk?#evCRFk2ym%hP=2fRKG8crVP(|Q z^^!ce%jaWBLTcYT&NrJ0w#<8?*>;xSbCY;8om#to?DT77&Ext|)1zSrESG&Sw6#n= zHsu?SVb_`$qyVBCqtjhBLVKJ8Zo&%G>^ElX^YMSLG6^sQjK%<JltJSDaeUGI<Yp7q z8Sd&R^)oa&{}35guY{bYwT%5h2_yxofE?QOc=ByzR`m@aqwefdIvHz@1Us(&ZGaYX zbLH0iLZq$XigIMISgK%R>#^PQp|H-gC^$DKKXNHWoA6ja87s4MYM~k$l9b$+S1l)Z z<z?@Hn3%Q;=s+q~;wLVJ?&xtC%mtJ*4<8S%^1VyPmv?NG7Y5H>UT?2~_N!Ws_jldu z;HtlE=|DBqAVaFhn>xQ`Eti3dS7A)kpgWcx#edP+9zGdgPMc}MhXsvO!AU=v7WZSv z!;##di1<iVh4MeeG(^|!(X1c6AqM?dtEWMdjrTHCP}%xGuLbE;<H=^w@Bb$NLybVU z^+MgqLjrU2cTROccd>(DDEwgjcA&CiVv??;LRC&Ts%_bhn&HRk`M5)a$oagAlV6`H zj~<Ivy_wCwCM1v<j*()AL(bX0AZu8-9y1X8idCv3^Z|HXUD#{&Z}%o|$IKB1%%2dj zeC@kC?quT`-1av0T+<g}6tCsGuQ2TT-pd$1{3Ug4J)fA8|DuWn(ZvBVeDa5sdK6*f ziMpHXCReYKOWy{C9?pt*!p7_l0kk&!`?rgnXrtSQfGeXEf_fQGVcjAB=JRbS0mI-$ z`*Tb05yA*#9V%oM<S~rUmYx3U-qX+f0F**nYTt{yMaoX%q`ABs-qoDFLQJ+}DC~KT zY9E@Ef?xF~=(}?+@QZPJq;Ols-^Xtwqop^i?sBYH=n_QQ&|Dgq+)7{g#AB<%cKR1s z_Q~_a$K@S7z7j<Bmr1P6R2OWKj*`cPJx!ev@%PjTdXNC6Se(Ld_C!ZL`erDFbTR_> z?ev@7RS8QNAr&ix!}wXc74auC78#7Lb!6st9s<Lu&GwfSK)EyCI^HNYF3$;O;qsFd z%C3zj|3~FvR=y1TLkKwXwbC}sd=OY}Ep#lrXr3ovq|ShY1c&s@JoOGWoh8Bf$zV5J zw5DpBo&FN%PRdh#Hv9*#wi%TDc9MJxUatz}Jw+dcze_6T^4bkES6@B-&|G!>1hC%? z75Ibd*Bo+exGonh?Y$E5*l-s@m4$`RFDYg=25b{#h--kp&V{6A%5B%<*s4_R5UJcK zxZn`Ty$oJ2CI8vtEHM$-|8$8%O?zuM_I53avD!>+SyR*4rm4YiKZF8uz09x|PXsQ` zIA?7yD;p4#*8C<a%#Z~{I|;&25A0&kP~ej)B8t@e30$pTS}WFvC@S?Q)ygY<|J1v} z^0Ae`q1FQ=RfYt*z5OwtQ8hi!;#*<Xt54KYhgI70<|3x)+^ov_#y>Iu9Q_cSof9Qt zG@H1e-{Ex<-PTp6<i0cLDqLguYr7XL1)AfzDlLW+76}}CF84YEy2W2lof*GZ?%u<A zz|41KrSn=id)DB$-}A>dZvT`gtlK4C)p2j;A^uIqN}n^^sT${K<^C|e*jT@AXm^kC zmBpW(8~rh5TCtv%w_;unR5lPCv|{{OQO-DJWOGK^hv@-CrxO4W<NUs$szQ%AD;-Rx z(;p*DDWGfumKvZ~J}OYHXWraruc?-&emsyQ3OJDCy=7|lU}3HdE~i&C+g&K$ELCgX z5(SA^oj|<>6dLFoMLZpMIY#58auQZp#7{D+0qA+BLmTdQzwWDEzEH-Rbt(4?*|WyX z+gx;ob@G}TCx`c%U;KaS|2ar!m$K_Bp1DPm!;88V7lRJ9<_<2~F74zQK8%1atf_Z! z-C%}>bt!OsbfAVZ_q-DXZUyZ81=wj|y&zhte{+ISkYd<jcVW}J5Ha%CTwSL;ZAv1x zYT}H@idcqQdhy$)*+9}}MZG~s;*D7L{4`3;z_XKh!2I&vO#UfX`twH*5l`}QL$q)p z-QOoObJMfuv+L+LH|WP?H2w8OPo8?khpZ8z{&`@xSXdoZER#mdp{D;<$L$pb2Ag&t zM;)wpcxcy#kSs9ZkEcZ5;)BlC);Dv75rf^uswlxPJr^N0<M^$emp3tp3X+VS?G&N4 z5oaJm2d~hS!33^O|H{{!z<#6S^f4SlltnL(x{1_pZrxa^Nf)^6Hm?XL&-BM<yRU@@ z0~}QJbU#@R82-(;e(r@`U|~V>G+(W-F1cGS5HlUBnW=_W;4|6jyRYo5<vSVtNwwBd z-vERL-RlKfBHOf17S;m{AQl6`8Oq&uD40LoUyIV@b7h`mnfWzbOzwO>Sl`IrcU-^( z**EgMNTFjV-u;j^{A7-^+QDoqbKbL8xQ-4d87p}D!Z-Z(5<~qGy)w;MgPl)ZR0r;b znYV+t{`n%3h(!YGrto-%0YYKo$>!q>U>lo!cq{=y%%itF31edZ1C+x@<A+m4&L`p8 z{;^Y^lLVA^1ti<8g$H3Je@l`+9^Y5`D}+J#afrO8S^>GAXnEAqpFmfpd}vs@TOQT( zV=?G8IOUu>iMwffJR#X;f0Npr7r7pvp99#w&jD{=gb1JTMYv-U2!ZHRg5f|biB(~& zv<EgfZ;XS={AsNkil&OFfY8V1dOT_6MQ3b`7?dHEp)0SpD<}z0zB>uMt<<>#MyRzE zEBQpMHg@Au<NlReoO1STKG1_b#;hu|H7JedM5yQxb}-^>GZ`cEpu%$I(4DLpgG!$I zCFbgIv9v*6;!p7lDpl!%?_#tecJ7~Z^>9k&GWP6wg$RsFxfjxnf9KE#m2#G)1Z$Oc zYK*nMeBT^+i>esc02IMWu~K<;lK=E<VfH#UZ|f%q$0~<SyGP3ur3-Y{#&MhY&13V# zl~IyLPQwzqLSgZSM?^t39O_NtVxOLHYoZ}+NcL`!MC^Ps1@u&dDb`F@;a8bu*@}6} zI{l9G(<6YPEVHVQ^m_7^w>N%kNmxnNdPZz?Q;k*|5|jk67Xg7;l~G^9?qg}~!U8zm z*hq7IJ^Rg$lNCpx$in(N>zLz@@9gjnhABjX!4ye<ELGaC8uiZw)A^j0t35vT9=ZHH z<#L$4x-`d<s}=7CJVxn1vu{$TRWAH6&QqD@y<Z>I#v{XZM2-I6ZJwY1W@K9)b2YjG z7W4@&^_t`f=yZCpo|rlsyemp6U(Su5JOK)DBDy+mFl1G0IZM?3Rc(TM6Ti=K0&?1l zyJ&mMJhYhfQUfiFS)x+K`WQ=zTC;xT;urFvZ4g?vuyfn|@oBZ!W|W9RXU!jX^J@ru zMm|7l2PA3>BSgHJ)x#fEU=V<|&Re8^afBvNpC7bMAF2sF*o>^b;EDHco7z7`6|67D zi7Lo(;MA>U)E$w3K0h!np@ao?<~?)me;(Tub@mwYQ`}!qg2QL4?#LkFKzC|Z6IvF| z_nTgq`(Zd6Yc}o&td>z${F=|baDYB!F*lH?v`8{wYOH1~`tX5l8Gvn?$}z+s3OZ`X ztDPU}S=3W&Q9+Ft?=u#}Do)w+-+Av#p(Y51j|(=5zUT2f-t5!Q!Bq|@bB}-@MZ>L} zW1<LPlkq}q^3=UR&_E;S1q@g$00?5{egK=|R$j8Tll;dlLaY<Yf7ypGff0)W4IMke zx4#PF4stNc#h$*ZXqhLSph34q)dCAFn2IuQAx*30BE@3hZ5>zQxdccHEjCL^ypL_z z;n3b+P$_`OZeK}|WU+3tmnuN7aZW>PHXQ9AW!dj*bq%q6#fTd2_BnypqI)(iB4x9t z6(wcGb(!rgd3MQo5mIPOjQ#sItZ(?V;=EYKZjNI?V9biI_ABRA4k*WCXRUMNgb#CZ za>Kj3s*>p5aTO+|ZuDg;t0b}Hiz=n<omE=4!b!k;5BeW~&e1O2@)?j!8Q*=|(2EjZ zXLY|<(N_%?#I<BSG%I_w3{K9bX>`5r?ZKD<Qg0T>VvIR@w~}d97v=1EuDf(Dcy_kM zp%zyp5pi+$ZyG3S*Vja_^~X>EJRQ&&Aq28e!+&jsER{QCweJqA15}zWI?Apg1y$Pz zpUr~w9~k_J&yNe+NR5q+*BgJR-<JS<*In#W@A4MugPeQirjyds<!rkryZj;CSyh|( z4oYf`^OFvsB3COHYS#}%u`L;im7PKo+1FPpCPXhMQyR{61r-%b2Yn>=UI~XTJ3lnh zUx6Grw4Sar#sA7ug6TmI2bpwanZD1KuF6XBn?}aQn{Tf-lj{Zn3$?frTAil*e%z_+ z&0PCke@xo0@39F6BlNQK<z_9`3Z{;|{mwZ;RrP2I*|QjmspZiS5Eu-`mCDz->))`7 zoP)Q0mAT|k-$zz;Y(B*_UDV8$Xqk?A=dxITKiS#J;8|m4aX;5(2Y9-M(Y@#7G<I8U zcdbOm@SMMB7#J)<O7Vk6j&n8(e$ySU2~{+4+AX&Hx3B$lyiaQY&lK^NO)<4#v1a>L zPr!8#C=b-Es{pWNXly8?+k_NQnW@{BR9l(a!wQ<#ue8QEr|F%t-8avtrCbaP@O`Mt zlsLawv9*moPp&V7eWD2$7L|~Qi6^)GB!s3>D3`hrM-C^P%<uF3EtcHtTR1u~21f16 zPK<z^%0du*en6QLhvSAhl-&98mV66V&>;PeXDAbKm#_O>?zF|bgp<@rn;5Npaf3B; z*Ce#PJrtdp%;k|YUWu(kDZ0`3Lzlc(s4pNwfLiY}#7J_s#5<>Tc(t|hi|ZETgURY# z<-YPiJUqm%uC88{inS3!6U{6tDiVVhqW)N=yIIh&cbqL$$fS^(@dzZ<{}mRd^*Aj- z0+X<pB~$dxItPalz>e<jofP(QGjP7UygH?(<7_U5A6v0z03sY;t?Ki(GP9BD26|yr zG$bz;3WNH)hTlIByHox;)USA<N%i2D%BAsntT_=(wiX7)H6{`NS61<nTTDSE&G{G{ z&xg4&!a$fDU_f6nh$*QQ$faVl*{;-m_&7f<R!k?em=^$~s}H&mTBkB*{eRwFSTyiE z>(Dhhp7Bghj<WAunVxG4^OCk1t_hT4tlR<AgVv|=i-mSaqPf#+ll0mW8?SFmw)6O> zOAX(oy2Q*(9V4}EVL#PmxdsnHhLAS#4-Zw9`yMCUl@#W^sMHR8@pze!7H4FsCH8-5 z*ebPne|>V1l^wGtmts)CG?h|So%`Lm0X`WJAaUQ^!I&+OTRn5&<o*opxNg@-^`GBe zE`H0zurW`Mrv%UWJ}ocU(U#uo-!dEktRRcJe9`Y=OSY7n0mq(LxmCtucD|J=J5teU zhzW+{d4#V3*7KV@pBx4(Gd2Pr7n9cHa~`B{-*ndXRvNc@n8J<}&4i!Kb$%>D|NZ-S zsGI9+6p-L}3Y(XxnAlnCrZI^}w8KJ~mJ?v)SFOZPvE<8N+1cH0BuISb6we?^^T=|k z3|@~)yXpQFobh*-^O7;@I#SMBVLd}Qcwt#aiQm`<%52p6EV9ir+<&fr{S&7Hr!BEk z>+GSn0^lhkX!#&Dd|K}6sc*M$ro+W$6s40b`MNMdAORnizw<1+rJ$AO+?bi?$DNoH zaR~`~MNA5G!Ac<7D#fGlDfkY##9EwF_<g{{{zXemOWc@Z{R0C7W{Q}16RGwc$>jrG zYCjC+#!5Uhk(r)eS`ILWru$UK9+@@<u8iD4$CUhY7Oee_>|_zMd;6>Z4pg2eTl>pG zm-_@`rOd^#%~8r!pN-DmJH$C*!ur=~`abCgt0fLz2|pBR@hHp{AK6<j)2ZH}K)%X8 zzRyAw92D5;+U^9y#mCWU120c^fXx1o<7HEiq$(*XiERuUl#MY1&TYlS!eSFm+*1SI z)6)Ad3}`hf=x&;gYLlOQB|o_N`C3~JUaiCnkc~5S#+}<Z(fz?xU^aX?siCqkeowlq zXe;CpwFk9ZSTg3Cxne)bSZE}0I$W1d0&K(qf;o;vl&>9IX7XMJ?tH749MY-E;G&V? z`$-~7xFO)j79ekj$)yH9LsuKG)LHsOU_b|;7igveOW0OfY3~kd@_l;_`1|+o28E>r z1(cjPSn{^@k6ke<V~a^-dQGA;oD-5i(fOfB?ldOqV1xvt!MM7uhNMLm9#ZdNjcN)$ z42Vxe3N-RfX_!4!C57i1sAz{y3QC&_W@7lj)j0iq?T)hG0Fb2h<nCDy<bCGm^#HhY zoWioOuUWiMHu<Z#n3xa6=ru@8>AAnJuPi1y`hLjmUuRKY%HhvWAAxwb+7jEx=hXii zXJANOpS%%nHXvNE_=Zq8>-u~Pb2ss(hFmY0h?U-(y)h#or@{<s^cG@7$iU%m@@28N zpF8zvRP8pDL&Emuh-brdm4Se6$&Gmli;k|qA|Pl@BmEV|oo?3$0650x<0)#}qPzJU zdR)c>k%XX1pX*_&aZ{~#Kx6mJD;3M~0T%DoYiqkj%p{(Tw4ER0J5W!m<YTN{ao~^J z304BFX~M_?3#B40ZIx}6{6koT4q9p`Z@ogF*g8n4FzfUj4nmNoj(f07*Y91ov><^N z&~6IeeMKx!)flMVNhR>rb9+t_E_L=_Is2GhYj)O38ok37LbJsZOUA~+a@CG<Q}Z(3 z@O?S!JBc(#|357Nu$;gvZ`)X6%h*Ije4c>U?Mm&0lyLu@*q&nEfh8K(5GeH~dQva! z54hwHk-N@>^Z+Ae^z}2q9Nh06lxQGR_aYp)J8*g+a~s*K$QOWu-0=3}@w*E5x@VX7 zYp>l{9i4*dLThyKZ?&8@GBTo+jI9eL{dEGwxz8Lzpg+L~lbD!T|92z|_^!ntOyqri zeRUeGsGtp4C_caU1E@7+?XUx}NKZR@s_<(WKuNk00Q}%U`5I)YN<C_4cNP>}autu* zJoX$C7=ijl5DtU`2<n!nCo8Ip)vS&yZ;^f)bP$`cCm$Ms9!u7JZES2#fb35X&k5!s zjFtzih?qO?rT;VusEUz!{Fk_#_vs3#k8^>rUIevaVPPediNBb!u-Kno4iqemud`4* z1N^}KtMDLLDPGmDmkmGao0Bbjq18NEBrFjo4EbOf1E^$-IT?vnu|XyGgG_2Be2v$4 z>V(A|DfvOmZ{C@y(E>kwT7&>k!<P4<e*RmeM(#LpS5@GyWMWE@po|QDpO$Y|JNj#h z0Wcu5iL_*dAIgB))?!M&K;-dnxo{hsji>BUi`DYUii5Yj?A_c(Im)q4CTLc-EAw=? z3~T;}s;>%*s|mIp0t5^09^Bns5+Jxc4DRmkmOzl;?iO5vySux)yE~lypZlGMJMRp$ zdskPlwQ5y0-|~X_dk!hafGbSt*I`~wHR0HTiEIPr!)$6+gM&GQU~zQW>~ttmP?bZs zQ<@w2yvp*MM%|wv{Nha4-JoK|(8e?DFs*V?E>Mf~^7uiPpRF@*MkN~5ltkiQ3UFQv z6>l?N43!65$^$uyuY_7^0$9?k&p`%$K#t;~Xl>)DrZl~JaC)hwjC(Gq26#u0_Qlz* zbt^N--}9xIBlTr)c=&jnS!M!AF>odVi4t%kC{eg<h3LUj7Ww3o5F#k>f0ao}-j@oc zA^5$L-woUW+d~J7)61Vi#GoahH(J#uorC4^YDDBTE^dK-2jEds_LG8?l&0BVVHH7G zyaZ81wWec^6HC#4mp{Hjfdao`fFkzCGg|uh9NYfeyQ+%u#oP4mHS~mQ4HB{!wi&Zb ziS$3w`uST@ox-P2K#aveoZTQZwcW;c^lX{$*mJ{|tDRh4w7<x;4Oc}A3CPB&1u9TI z)y^D!f)h1B<ei%*Bn*^>*sO2OqHqSI>~XzEx7{E`=RQ9_K8%mvuLY~X=6pNMk-pH4 z$^C?df(k1OEn>*|6$jz;Gpe7)WH2dhc;K|xMcV@yGAG}*e(Zd7^&xt&G*|emn=*6O z!PZv5X}Xsio7cpu(*)1PLMYR_^-D>BctR)V*QpvwO=oN6p?|g`A<=|L7s=^hvucfF zG*Q8V_)HA3tEI+9Zv2^F0)hNa!4E&9qFg~gYc=Q-xT9WrE$hPhCnSK6kd$T(9t5s+ z%3>E)PUz4~z1R7w%ju=(o@RTM-gndoAdV$`eSJsZNR-6I`@=x%!xuc5q^~Y`3E00? zX4Y)s;_X%J6j-#;KZ+$s$5>+Ifj{llb~_U&&$6@QB5B6FDSMF@I?mo$eBMR@{c`_a zv$Z=E7X(X!4o6}_Q}7J{VNBJT@^XU>H@|>jLI3~;6S}Bx4EYgPL?0SDHugiOUU*j4 zeM@8Vyq4ZA+M3(pXVVG3-KwQN-_b~H#oi8P=flb4`03byfPewOA1nt!E#Q8+sr4jK zDf)eAQ(vGK<A;PRXF;xF?Fy*}KdZu}YcL3uCVQIo*dszE%~R?Hg*9XF+EVWP?z`NC z>^Y{l`$r9=VZ)i`wV#9z1>Y&+0|d9YBF4(69}7p$X=Q3BLKra~L`(^=9JB6kd%U9u zC-$Dqo8<*aVKXmy{(;lqTYnZ2NF8Bh9*jM_GmKof5DfGk9HhhJ7IaHLvaq>w^+AN7 zi4~b(lcOV4kwL|5+k3ts<2Che*$X;+ON3!9w$o)SYpnh}u|s_AgB4NW<LUWK2`W~| z5xoIch+~xMGI_U!49XvPyEL4foQefXE=BRKzoVn|Z0fYEUaySW<Vv59>8!BHCTbVd z!=LPfR<<y(A>4C`T*NT08UfHIAP>v)HpaD)-uB>EYc|mi+T4vH`R1(_|H@7RtCQhb zC(TR;*_ddYM?m!h50Ove5Y+?;nwk9>J8^|@ouZo9&UigAatF3ObGom1uDBgSAIksn z@sU=o)CF$9p$%HZU6AVfhlf~zeeeSgo2iVJwe=~rW}*aSl?Hv{5yX4He9OPevWJlL z!G4>hD(AVS-(~a@u>1WH)Z2Q8Yb_0_D6EM}&(Z63vE)9mUp+hhA)s?$TZDJara3Eh z^Pp;HukeR76^zAL50?m2JX%>HI(=LEP+EG}ysyG%>c>_-NR~6Lj_2XOEg&VhKtT9j z0UtHcjIpM#5RfU%A!08f6*>vF1o|WK-TJLL-Gn@E4<+GE7O5^8Ou!&ZH+N>kQ>n0? zBM)d0{#gQPxI0u|IHp&U5-%4Joj31UV<~J@5h&MfTIIe}Li=jTK*;mfSz?))G98&> zwSpBHQB%Dby1jl9{es+#3tjj!<jCDtiA3DeO+_*-ziwAr6wZFSSZ%}woQlm+#6s^- zHzGI+UkSGa)XFtpyOU8P<2Qx(eNoWq(^hjOo)J5-{@>Ez@VnbPi2gYE{rfi$vZt(u z#v;9xMNt4GObv1XzrdphMU%!8t97%7BD_vhqTH%2HnG}jZ*O6)!XhD<0bXLgi!w}F z>ovdy!KsLlpm^YLEAlXWuj3$1MOlt|FsiCajfy?`STD=t*T8y^<fF|IO%cNgTX@|W zumC7P2rElbG3qp41{{z&I5@yh++38Zlt_B;G>D4lm7tO^ir3x#XwQJI(*i7-f9Z%U zjSbm2#^54D8}jrqXN6G0dT!<`rRBIEh>Wwuc%6lPz@?a}kmlp7++^@2WaN}_``RbH z_nwidHp(_rWMsz~d;e{x&;EYFMd8%l*k5p2^N9*n1f2Fq%cDKd8a8}e;*?78IjuE% zT9dU6dW;nwd~&ooOlk7W#tS+(gtVh4H{^SI_s?38idDT077^FUX0|SoetMcUeZyFy zu?P8U^%-5i*hKnL%6<af<3@j>j){snxN=;w|6mo!EFXUTmd5H6HjqeR`>E>p|E>Wj zSjlqF!&gU+2?dHoOEG?kIvYVkFgMnCF9f?;&7|IyP|!ERvGp@VpYy0_P{YM?*UhSp z+WqxU%zAo<6EnRFQ%1$9T4|1W+9UPUgQ>7O8!U|P62)^Csvl|34if04lLG>bV7YJG z4=`fdi8y`pj;Lb%$vNM`?)SKDAAl$Jq9|GzO=j8Q_16X9OXahzX-KSV0v*&;EX88_ z9z<tihI$vO93xS#8CHL*&jN&)T19P5lKNszuZZ5n5)-&Nb$phQq;oc!H`Q5d&KYD~ zzxIX3K1v}Eb=`KpxU35sO**f?yjnVzA63}EONlNwhShiwMWDbrc;+bmx^V&T%Vz|V z-LVC*SEMej5y`-YJYSVv)(=x~jMC=eFYWJ%eZMUez9sLGt+wxEBZX0I@D}U_YKN=8 zZ)P}HC7Vri*($)xX3`i<!mg&3*&HMW?!!iYlJEC3wjFzo=<q({ArNvos6SL~H@0c{ zNlFA&z>d|aF7*DmW8}8|0mwPJ@za$+f%i9Zp&Aa{rF(vbK#Q6Y79Fq8IpghT!s(fr zX-ie6aqG1vSF)M2Kkyq-D4_3>DZaP8<=Un5Sw&?wei$puKcLPbUlon@6sQ%V6iPAs zovpPc`?QF9&k~tkx3we^bqRt+WBXLUZ<+P}L@j_LkwrsCKM?vG2}lC(GBh^)){9k+ zUy9VIr%FN^nuWA6=|}#m*|iEohC_Gl{83RQ4NT!#q*G_(2iaEDBn=E|x=wUX?JRI> z(k-k1#rPd%Lwl`N#~k~2OGhb&AV-MA`1IwX-Wbfzy*H8pZqNoJZvMgb62s_%*Gw#O zB;Z04w#_V~A?Yon4o{eCg{Se9`)VYPXw&QLqfv8A4~tryJDFXA+BJHb$&=NcV?WYl z<MwO%c%ps1uXWhh(3uW$>nAR##k9I9zmr?ET+O{w;(%84iM20zxh*mN7mpAj1yI^@ zl+EPl3I2Np>~m00D58}(O`YG%S;LE?6&(x96$;2qMMZ_~voc-0`CRv*D+67z25)K0 zUpXMjh!~6AQe!M%GIO5PP)q$7v9|<OU1%pt$fR*H*dI<du$hkW4eLo8YMZF#Sc95f z%SNs0x?5xr4*~<XVIkoLix;ODlC9_?v;GZjU3m(9frWhxK)G(2vn0gC#!fom{Vn$D z_A?@4$5`_ns`I7H8W6FhVV{cKF4nCPtPo&Gf~i=DTNlDD&O5I;%*>Zq3mo2-5tZ71 zcLb>>J~u^JFdxowDZoY>prN6uU`3exTsYCi!oc{qxO3<G_`W+9?bH57P5ImAFIDhw zh|WR*1x6Z_D1{>BfqRd3UOnFQGr6bDKWU3KJ2fL`iGmT4k!vV8IEztA$J0m7+LZE{ zI@#Lq7>e#q9yg{K0}fU|q{L}1rE^%#+ki?TAt7O^Ycw^OQ`k4e+tk!`bLdw%obFrm zeiq{(WkkuB>$Q;A+O8Zh7W(h}$U%tEqEEcHu&}^~BjHUNne$w2bSPc5wK(1<OwtL9 zW@$-)02TDSU3NRoxo60^NB`ZT%KyqO>Zf4xxX6{pdeQiC-s|Gpa7Y*_gtvi2$UEyL zfBp+)ddRY_;#YKZWxwYt>3d7-+x?0!=(%+6_@lZ$1E3qSit+D|pTFpP`6^T$8BUh+ zrAXB2Yk9ezi_*s0@%`v?<fZla+aeZMGdfNrpCSFnM$@q3+qOqvJdH9b0D}ypc084( z^w`tJW_Gr>&+C#Ln%36cBqFtqiheu&7|TmN628I$`PC;9XL-8?Yt>!4E<~xqmOj1; zBvuN9(JipX8siGBebjn6$_K|xh3CptYtaAqP4J^#HmD)kiWobvB+Bit*V6leWeC`e zw<w~8B`PIwWj5FfQaHCIS?w=1Eg~Zd%-EpzkGr2rG^C$kkTUB$C}<iTf|N$BiTNB> z7$v0wR5Tyyvi#mXsvjTSOLM7bJTgDN0x;mP(P8I&{exGtKYAgS)vj#WKJ(}i7)Ers zDj29-8nPvWC<O6z2J4b8+~5A-s$7_&50(sg>OpkXPUQZAJhT|`>lY6pKK@E1N{vYA zoNbj>c^($M#-$#A5KSON&}YOFsBBA7(QYNZ$Un)+jlnyO!#!chmD{B(@UXOTB5k+j zU5JR0$F)vMpiKZi+I2ZpIJMw$+mlO{DqV>#O`md76iuvAP<P_y0mp6noaGr)__mao zB2wzuJ|iF;4G=lP)tUV2G1}%_q|h|rO?p_jEy0FDgZ!$;!F@A_TB5SLxgR-voj?o4 zTF3X%U^KgTPb7*oLNRK3<JhpWMgU?2w>C~$)?qC&9*JS-xMya4{>l`-VMHz&J`v<_ zjbO-L>}UQeb96jq$7Mv>?iKCPL6o;e(PM6`N(dFeoyM=6s#&d*sQX<iRT<I$?EV+3 za-obx!OT&;q7+@@+PN#B{31BHADOoFIPE5hQ6+!=0ZjQ4k290{t3rE@nCMEJ^y(Z; zTbG)p?^}dBg9Mo?(NC3S<78^wJitHh0z5QP?Gk^+PNO;;Nu_4_JcV+R9K(pCtr&mX z7ed~Dkp88=e*GHo5l{mbnMU-75+FX-wiD3_O<IOT4<|6r-@R0N;qgS-^cZLsKJptN zA9EB-*seAri8kJHjt#R|E!BTa%HrG|?@;UG<^ce)fF5f^M@;cEnyBZ0`e0vQUlZ{_ zD8tCxxI~t%gJ-Mt#&V;Z7S62YJ0$2SaV*R3Ke!-Oe%x2*VwtFK`S79_MGcl*g5KPW z(;-GjcVYu#jGAN@T{70RZ(u<CzqnT6%O-`#0-o$sfitN;@{OfT<^dIT_;nWmzLPJK zuhA32{o0Z{Y;SXk^;oL~v7!9+lG3xa${~C*=_2p6nU(~=e>HYO3sO8*1Yqn2U5nfx z>AadK7#Zd4sx`K$3xpJ<(1F)`0+7k|aw>MW$&(x}zt=mQnMd<AErVh(#dqZ0ELO30 z9?>8$+g012v8B2g30Jzh$0NSg6i$|fkW>KQ!T_k0mp0r{p=hSOR;&Dtra&x~TkJJx zcX#&>$X6ENLTqnMcI{7;Z_jrpW)m5F4cwLew;XtwT&v~^V;b)_be|J#X3t4HjlK2P z0{bJ=VtF}K7Mpj%rSkS&>PoQ9IQ!=_)NA;OEb!Ta<Y5cq0Zy>4RqiT4va2K`BXi=g z(|<NzzBWq#(31FJ<5oRS|J$RbX=p>9?a$w-fv+6|2BjcB8}kuLYqIECUw-lt_%$eh zN%wFRQJ~(0?MSc?prqAhS!bKc@8L*>RUhHb>%J4oB}!e;1|r|RThy+%ewv+_sI<D8 z?9BQTZ9wrEB~Rqe!@T%tMppXsAzk8)Y~<akM;NA`pU`r(tOWtTH=-qG)^eQ@W)*FI zl1cbZk=+UC)Wqm&2w*dJJ3BiIjs)siDAP;UoFBrl1}^n(-(%x#oP2q^*#(yi#XORK zr^bR(tN*1bU-zLtzgP`K60I)|D%nk*C0;K5)&=Y*;<dG@vd+%`$N(}Ym$<h8OVR^K z4i9mZvW5>hn%{H83Y2_AY2KJwSpGC6ALU)T^A{l#3sMW*$h--D4zeVK*O2%i$mK|3 zA1M(J{%)fy*xAYIbyJyN*n%SD17opNL$Q!w@p)uE)5VMYm+Og2iY8Yn+ktYnB0>X1 z73R$d3GkobBch|_zXr=}dia{l$o%G^q@;|v<F2P?d7i0s{Ymc@5)63Vxj3I+Ec)5l zo^f`=$mpr0r6L3ctXL7*-m5l~15fFv*yzvR6CO7FK0E=!2NE6B$vnW;q)%*QYJbe_ z{3V0+hwHzc%jusDfT@bHBAP+X`uG_aQt7L;tn!Una}{Ec0!!BZHMt5qE(Z+XzmiGU zKBh{%@TV8Xp!YW9`Jn`|ZVTf&lz7;!|Gckai5B*yg{QenUP$Bt``?T{f`g$F0O-)? zu<9*!ByU>VWCkoM(@T1$3bpI&?Fw9>SqPJmUfdw74RkiYbPEs31YwRy5#C#WsS9@^ z%obR(Yqrw0nbn50c0CH24A{Q4D`&PMuuZ#;O`O2-yzaqbiwcbZ5PQ)d*1qFiWV9_R zjglwx<wYr%wxzH^U>BJp)LaORLr;y&0es$adt*`Ok>T1xw}n#G_O$bRfrTpH5sC_r z2u_`_eJuhW2Ly2Cw&ilwZ;3pE1|*whhb7zErW<y}e#<&nX?gh#2oNTnnzb2c+Rd)_ zv?=;V)^#5e_DHj6hFr)3xP$`dO9_9H`LLCQxdPDmvU~R|<E9vqn3Wr=&I7-RBHe;a z2IK{nv@s#-@af2%#%CbK(NW2!s<2h|Gm-k?vKs%elRDZ84i5G%$98INgBb@m9(`dV z$(GFfVS8{a^33~(f-+Sml?-ILd$39*EG87^ss24=lZlhjV~x8}ParGPhBpKJ1-~}E z{nn68sk#iQpc{%_+h@L1VG(?)7O7d2sjgIIGJpxuX{p9Z+z+TerCR0lCh^nvAYR}Q zJMwwH9U6&^e9M&(tak6iEp!R#`OKe}Xu^vFda?c+7E=@zv(vbs#YqQ~cs7d>(tZ7e z<P|z55S0RC0br*HP*V1P(f=}Wlhr#gKqZsGn~<R<g9;r50r}Y+qE#BUdiOyGlwVNL zl3y=dw^*|fQnl@?aV4#{vwL+`@`5|}B13ui0Fv5&Acs)7X0trNzb)ChXj^ODx=(<N zq^C$A>P>!F7=HKFYSOUB{AX1XlB+PPZ9hvV={RJYLCc132F&)Gv<!9vy-(%-rU3L% zgns~h0l)=;Fd*8VQr9kxs!`E|885HyFaR#&e=rtD_Co*6m9Y4ueNW2-Q~6zjDf28x zs~`}Qi4H5*-62vqA5?d14{d=At696Ws;n3v5=+j&Xt{8Io2you2S)-29C%MPptUdt zwi#It%fNmY_C;S|C=%g~^*^iCgk-nCFe)$2O681?9+DdECnq@$zc|xBQ^kVMYO`!@ za_64PT!xcu{1Y$jXckMUwa$0_2<aZ92%-fwpSndotk*oC!IIT3mdZm`tThNS47yJJ z879~VENt$?z>(E0;6W}r*bK<yW@Dx|l6sLz-#80R8e`{e+6QM3FCh?riwEsj<K^xq zwmJvj)oH2XoW%a3(L4QTV!AiBq%ZgLKlF@(GKmFZ)NTIPV_5Ax4hV@|Q3gGsA?TvK z!66|&SsPAILG;>cu6`HKfADk~x5YvkURL`j^1FHu)sBt$LQgjEW-nF!gvPcE-<#h+ z&pi#eg`Oavh^Lc#%$o%Q9D!WPhnbd**=V2Aznf;mX{$9O3#^x}qqH)ai@yl?q$jtK z|IS?O6TAFC>+@GXX7>7s|1`3Yo<JdaB`Is>?d{DMDP9XF>_4(+X~mhQ{%n{|)n$rK zCG%t$7FjTsC_5sWx8DOXYhdwUu&a6YXDFYDC*RM9a3uB@(3`k*J;#pizjs=;p9yew zPY9VTevfN@(ZTPfbG*NmcqutK@0ENf%73orP=^B|^cAqC)-A|FJesaWVW1_N!wl`C zD%&&!pUfBK9?q&{Bmj1yiz8ammu)!y?Mn9u>sYS)@XQsd<c<Gx^sK5_g}GGMAn)1V z3t2qmV7_-zbh6{@dCX<0FwFN@=UFIcLnlJ9YeOpv0JI6;j!8yBQehR7$ws0uVLzmL zdQ|*+@U9EqdIxk5%r)@iMG`G&{Siige*(_5|McNtC0h8vNjji}g(Us*Tf^~P>G?M> zE$UHB4cWvnW(W53LuKU)tHH$}eVEx-^t|Y=l>|9cC#s%zCxk=nDvx5_;4tlYA!r2! ztbz^}0ClN=^60Uobwz*V_8Icfgl`7}+GU}<g4ix%5Dc=d3@iyC+An7U?;nAG;O)qK zI3A<wB>N|wB-(Jo^UH#E`Sw)ZH>hUUpUgZNVCyB9f}v(v>=WxHk3O%LC|wigV#Xo( zC{xpB`A<JycI2Ol{fvzzVqRl>_BFaE<h3O>6&JQH)u@RqZ|lvK)aI&X#dKG&_Vg!9 zZ^UGU6{*4a?HWj5W(`NvG9C*~G7e`b_^1q~!e><Sux#7kr81Q0ztz$$WW@1<Jp}2z z0GG*Mk=T6ms2w~-sWH>qCu+JCLE-zK>lS)rt9&F|H@2Y?9sFju7s_c_oJMZMAUjC= zs+yOt*S)CM{9xOq{B$(5(Nm}Hj25J_CFg)2v8)j(io~e+_+B`|UZr!(vZZqs^&0dW z5xLx@pflQVclKZu!$0H}!oKpmg3i2=mkrJ#X4)s0BaSekt%jcZ3m9$S5XLhypoJwE z$)9nCa(nctg=1XzN4dk9cwubpKAN&p#`-_@qS(}}Kyn(D@_inmAaNS-YG)GM!-8rF zN^yx24bEI?aOXt6fm(7Ve!rX!Q&wAy6p}UGun*frKqlcGO7JN%iNQHUi*~%|%Y8+k zOe7J=SI>9($WgN6U>>O;9!S9*lq1(G!7)rmhKAcXG7|^x<P;8l%}(eSg}kU}y_8FA z?7jY`h$Gb6u3%5eM3%5$Q(-YwQIqDAzj2>E1q#j3Y7YowRX%;x;wy>#&=^EDt@U{N zXEDS1GnZQl;8*FuZhG12k6cOFxS`#i0z~XKB>kJyrP|8<2c7f0<e`g;1KW2>B+QW# z`@?*gJF9)`v4@A5Y{fUF$8Rsukl8?B<ZQ)F)DHnY43sPCNV~4Y@d_ou{!)82Ua=R; zZiHO1HcCOf6wrwbt5I3aL9@<D=$!$pivWMN!yzUXN>OV5hS7%=UHawEL_Pw4!)8ks z(u0?sF`KEN$)W#qVUUDf)cByY5N1>r?Szww76;wHX!Zad*;QCjCVdNcLdq1sA)wwd zg08Z>uZQ>n<PVUVKcHM7o7TN%YNLLP|3oGG4X$+KCdrreo!HZ(MkO+R9(ZVUA!9(> zH_I_K!DK%!>QH}Guf3-OfN!sj#%dOdT(p2h&E+`0U%gctr%{8hVln@Hd7%t`itopW zV#Dqq^h*?o%do2<s;uA}exYAVC6LU_oSgLv6_A=p6Y+Kj=NC8Qm;Ikg_hD_c<6$6Z zK|lSY?+AU)Ve7OEI!l?vOEiwd%XQq42uLI#(oIa+qdh*}9_&CkD8$4YF-p7xhSjGi zVpCd!nNT0-KVsR5I?aGXYWy{G<jtO-dnELumMi5eh#_-Ie}ssOw~k%~zhz+m#_oPF z%da*~`~HS5U*`zqefJHkxo)P%d=Tse2%tUZkdpbv4soF-(i~G{MqRP!vuA%yh0g1M zGj`@zE_W=-G;XJR?NV#RQtx%x42Y-N^X(~ApjqXAGZWY|r;yq0{SViw?NE`+cDvjG z=_mQm?XRLpJ8V3=X*@4BM=9qM8q1?h0MEGx%mdC}gLS4Y>sHFutUg{dl~Mgzy&o^( zL76E$PNs4Rtv7)8Q@2eDGwA&;pk7Utqk>BMhoqlpbZ(Jvn{;MoRoMSNh1?jLM$=M= z5(U(3#r;9-O-FDWV-(pDOI|9QK&EEx7Qf0TH;m4^fu?Z)+}*hI<Ad^B0E#RhfDQ#R zHf|Prxqk_gL5I-uAW>qtd=&->B3eCqN-WZoFJ}J*Qv|1UNvqE|9P7YCSN%?z^4>@O z6;CYqc002{AsJq;Rc;09#kjPt{(!2X_mhHU*@63}*B(m7UL)0)4fEbAZ6z>o?UJiE z(M>ILrQaGG*kGhKWQJ3l`F~yjVDtp3c2bAPaN_+y(+D`dWw&pT>-|(GA$Gqv7qjS> z+8FfRp;E$;A+Oc?R@tr0!)<!I?{GZL9fnwnD2>37gN_*hc64w_vosxFd&^UjDowJz zQw(Lkh^rxsDP+r;x&4fU*wvE15_z0OO_ez=hNzr1c}7fsxj{uPNJjiRVPfa~AOC?A zUTu3ODV?Le<|oz_J_*b8{0z)fN<@iGjfsgV{SHf<ThG_JM>JnjX6!)3%Mf;x)b^A5 z!};e@QDMvEK_s-4R4PKt0@8k9&}|hTjj!I>_l?ZZj*MTvY-Sx2eGUy0$aY%cCIUv+ zXY>U8o^g;>yNZ<=082z6G0x4U{;wFBx$S9)yfx$|^y=u`3v*Ft=vsT{*Hpjd$L5MW z<mm3b59@=AH|H)e9MRUSZp0a?u5{VMBtelh!WWb<7We~zeIWoqN}?&)kdD1g>offI zD<Z-O56rl|b$h;+MiuPcd*j{y*Yv>u^WMnk#=GaRN}dd@<0^w9e5rud89^ediB+*1 zGc)BN5m{tA+<q9CBNDpK32C5RNj->_;={YXBW+u_do>7t3x&5>Pq&a`ROrK3RPAc@ z69}1q<|BfC8eVje766YoG_HXlP*@M&&Wj$Bmu895?U7=}!>|++NKhNn=LnW>t{96n z4AX3WlhBGY9cCa79kj^VK$qRy-*1a1R?Xn=oFUf$sE4j&7d&t3z-<&b;;@?hfWbxk zNgxR(M-?H1?;rigpbSo4X0~`RyccqW2Ma@%Fb(s~z&ELbb)jkSnw9>NeC6fCGi=%7 zVX)e_$-=7*r%?JCw`QIw>6fpCk>W*04fu)1&~O`PZe~3Edi;kR|6i@ssdgz{FEznq zjK`m^r{=@lJ(;*f42llK%gW|SEQk;ZaFh4ScATMcginvQ?|;gE5BwYwLhSA9lLVnL zV2y}^900~+rzkam<saH2&j5&T$T22Q9FgKPv>gZ6%<Nk4cbU4Sdxtbl7LbT&2P=v# z&3K+RTeL+#B%KTg5BILC;~Iu0*!0L5@IF$WJT8M_uq&k8Z|XX@kQ)K*Tn{@d`<=4R zuS4*U4Dn-91utafcll4;jvo`-J3FNcQaf-Y4IY_(zCfXmhJJwY3$V)z{kSeJlXRCQ znB#Cg>)aS-3QBR`*lf-*%dFoq^>{?<7RcPrmvdNa?Q|@g5xnlHt_DS9-Yv)hvP0Ne zJQPQzP7&OzO`k{?9P{gmqU)NSY{ZekKf2@fdL*zlBz(5`sk6DR+ws;gU}BxcX8EY! z=?q?;r?0!9=+MjIM4{XfR_+w9%VN%tQFFmoN~5jsmw}J$q~&}2tT#$WpCoKe8L=}g zrh9!r<s*};smbyx`unpVRs@CrP9qNJPYwOR@BeC*Ga?As9T%&9Z!7=4V1J6JZdzz| zDU+d;S)PSn+EPSD&-3e2kE*gs2p4fQhiyr;1diJrt#Zpq?Ra<{26ZqifCkw>o*L!z zwxD_71k9pSDZW%Cif|OH`$ELui0A(kFajw8Q5Kdn1^WgD65<=T>}jd0lEH=|YJ;*d z1~TI!yg^b$;m+8h>hM#<-^bgYD4ojlxev~*QF`bbEWXQYCvhm4*SEHGUN7tuF1>sT z>C`W4ys8GxZ)^20w1B-K|C0tX2*BUzYNclqu(-L@!?%lz8f+t1@H9wusd^3GV@v0i z9Xeq{2gG=W!Ufj>)4$l<w6>xrGARUk$Zpw6UfOO&W$O*5vXIP7jGNm{ENYpJIMb3~ zprF`c{3EcLZ2xJMGu(K|$wTr_$mhh1A3X3AK`8!xd~frdbwAw=U@UjhXd2p!;9=Ra zEkQS0*Q07Ud?pnAcFSG&!cd|9aO~$5IU~km7C=~zXQlXebt7w!23kB-oex85&w|*E zwML}{!e72)HDS*_+yP_`Fc<uCwU!JeEs>&`I-pL$5K~w96fj0f>HTnnTF4Q?)PZ8b znldYhdV1Fv74z^z>cKW+DMXA(Z=^Hf1Q*_4w#-@(aW&2>mEB_clL*Q-AnxO29{gty z(Hp;L!W7TV&23heVj4~7sm;#nsAnQFWS%X4e!OcU5#bjNa!+sH6swbhE=ngA=!vW} zJ5xn#7aCOkixFHt0+X%u)al1xERA;AL&{eoQ9N1pE>wr;_x^^{X3w*BXZ-@}b0cn& zJbrcC)WYq^zr^Rbdw7<UljB5F0QeuV`=g2d(vF1XVNRHI<a*{#QmD0;Kc*_jA=Y@+ z_bKI9meH4L^km5N+wFrH0M)lJIE;mlsxPpQiX3#)`8X!T0K}{yZl^*-pORkUUNGQN z_y(c`PW{(9{RLQI=uUs3nHa*ssD_ry81~DLPi<ZgYEA^$bg<n{KnO}Gj>_X>zq!s( zRZQ3{$VBiUoc*M(42+pTou*r0V-_%|Y}Fr<Y}Yw5bOv%=wrzQpUq(VM=q70iRpa-! z0jv*xFDW3ItPbFdiRJV^A}_Ng1w6l|35*}lks*hLhK}dN_X8RC+(e*XIk?v$xx@Zw zsLN=>a=3RQ9_itmyQE)wNBlAdNSTIxKT4re{qB4&@AC}l^HYQzcZS>rGQAC!qY7vk z5*AVcUbt9}Dn5;OFV7JK_h~Eddo;URk@86HAtrUf_dL|^nPihkDnwEKc_8DI?!8zQ z_yQC$$)1~Za@h1Fs@~H1OAG!93h5fhwY_VdOZRwVpwZTrtffFj$+yiz58&<0@SP8O zes3<805U~o--K3bF=K4bKl}%EXH`;t;*ZaOzt?7+O-{F1wTEW<Zm+QJbop7Y$P})| z!NE@@(*3fFqM$RE1Bn{raIWvN@>*#hnTwl-Lhc0SEHDsqX%J#<XL`;Vpt@q{9LBw( zK<a;#;3_613S2vX^L@|Vsf_X|rK#0btR$L4)bnmBO6u8TSOf(4Mj}FOb^ZHvk1ZuU zrI`%yuF`&fj3Gz?Q&_bwH3E<k5nI6psUv%caB!TB-Qj8Ru?FH5&XRt*?#YsvXx73* zXq3TFN2mnG{$EknjbA@5|J=8Cd_WYSu-e#m(a|)=tAy!YGk7(v&_q!-*slDEw|1hS zF!8ioA6AOJScGorA;WPlDUFZW;Y>U6&)p>VR|ZvN`@>TR{rpeYpbej9qo*$uPLc)* zvk0Bt{+cSkZ92Q$sH*?`>!wzrAry}??*eldGh};m%J{YZ_227A?oPTI8Fj|8>UPve zCEq7VXXFe}LFce6W4<Xh&g?+2-^oUY&4X&$nzu-WilD;FaYSA6LYOyB$CxyxOe(L7 zW%umg5V>2*jzzD7if_&CJcyVhFsv+#0O$4XKlPdDfi4`fE+aJX$dnL{EXf)D!l>yZ zPKkk_AnYZ;8VsWVDO}rW*o*|0w4n6NHv~$Kx*R2;_H~vRT;Ek-w}AsVPiM&x#Xaf? z0+~d(S}6F7Xy9$J+LN7`g5OM0EgwI(A4}cv(G892c)IkF!|o%)z)}Q_sCcNh4SNYw zqnJnD$le;1KDPg-HBvz89s+D7Z;G{=F-O+yC01?MhQ<}xo>7pz|0WIAkhs97qplCm z(JeGcr#$YEbPJhr^VZFs2%jXZR1isoC|ZS6IcVd^<mG6pyo1oWY)5bw2Vl4K)ab)z zg0?Oy?4`i8<Z>s4Mj2n7PG@bbmwj1Awr=GNte*acp&@lJXnWaC9vVcZSVsY_0VI$J zX!w(UA>!~Xsv|+Ovo-pau<9w*)<Pc@p=;5DnJX5;7hcfVoMldkWaY83n<weFpvZMB z*<si*yre0vGHo=>Vdy}VjXKO>MDZXz7psu1XkJcCe?!owt2DRcw%VNlOl*nmy2IXG zkc4fCN2c@vcMaLhJ{UnC20q4nzRIBISV>A24i0Wqxdu0n3rEGNBXzoOu!OO~5Er5a zsnOw91<O)>LO1py(ik5g_kAe{e}VD3q5lp#T?FZ*$wdM@n|#k=U%M}!W6X{dy~`2; zl=Pqag)%mSoG~{ts@6^1+%t9t{!wFH#eCkCA8w51S`+|NU@e&)iSd7SZFxA*!_IK` zxUK4!>COuV0W+eyFGl2D6*0Vfx+yysfx^Ynv-6q4uce(mAPECTAF)4erS5pJ5R(kq z$rZr7Ukjx+%b$z&Vjkb}o(qD_jzfDk<dxlNGl>1w=(2%&todp-#>043zi<4f1E#{z zGd}0Mhk0G~7V8zCkml7I$WGE0-B-k=u=S^TVO_;|ni_iKiOMUd@TubGGUYT_<q^u$ z+gp&Zvu?o*8k}aGB?YiI*vlFfY0%H*WhoJ9_KQNMvbQhpSTO}yYihpt9mO7&^SOGG zEs38O@;1$~Qz@3ZTe4cjqmg`8sl=o8CfvY0(@KD;AtQ`NEa<F3lv{0nv8QTuzQb*{ zeAAS_8_roq4azj|ovpRna3SFHpqe>J@TrJ>kFOD+SrV_@sLFBXPRr|NJfk}T8W9(% z1bTG866W+DU2_`${oY}HrWr!D>xNOoR`gO#54(CpnO9h;9Z$N<$;2e^p`&W_qK3I? zHofapC`$AVR-s7=g;pJ2v;)9EAp3jKaEH6ln{R%4zRz<ANi(Xvk(SD#V;sbtmY^dK zjt0QGodj{3A>ef%(u#Kjca*zO0#18Yl-Oq(#jSOn#P<A0Mu*i3Cn-Y$(22bX@Q;w5 zqpk$2qf04xAgf71Sh5!LWFBz)`5_L+Uw=#6-&3g80a-542Xul6yU=;tUKHa`dy~JU z1qQT5D*Sz4gQHygXOQnv_d|r;spI^w3C%mAG2hOEpiUMLQ|k~4lRf*;m>~y4)0kEh zcld%;5OE6PC;NNA6!l05a}e{<d+#)AeHk7qd5z9$QW<wf!rmplz6ldD4I`|MUmN(Y zF#I5}ML;{@V*PJTz2*+9J`J?8#$P~_Ql*7<y7*$XodxjF<}vIn?V4?wku$GKi(6g; zKhMw?X^?c+A>{{`cr;PD6F0#HaPwRi$F<3Ku^{l>4e~~-{^i4q*_w{+Vw(`$5iTRE ztGn1JSYKjRx?t*b!|DRooBp>aa%Ga?d(G+TBt)CchbJYhG1bNwf~Hv#I+e^P4=&|j z+oyL}!0@!NeEj+}kgu8TtI&6~!~@`FHTege{~k3^)K3VpL>%gug#4;4oVc!OGLLAa z_~BxcE>vv`%LwE4>{1IJNLzF1mW39i`}S5xCP38W5IwHSygA3)9D3J%;{}FJ-4qr8 z`>>z^bmoXE98Il4Xydgd3weRZncX8wtB+xD^x7LzU+Bbv5J}=o!R-lC$7`&`142I( z?(H!{+`66Fb)V0z*fvp<O~iFNK(+ESKd;<Jm~YU31Y*cx_aR4|!Xj;6d7B9kxnkf6 z`Gh^JhNvtcOsKN)uLuS<#kn@M;_w-i_assvb<JcIA6Rh`3%O_;xw-4JS4nytt}=GJ z?|WNHD8?sqi<+*Wx5*t&1IA-h6Lf7?oq+Z1^{_y_Lqdz$Qq#jaQK=wagAHw}e|Am= zA1lqc$}LztT>}6B`Omph^?INl3B!rV(#nzV@DWQPga7tBwKT9(43c`>Fuf}XCh5~8 zB|rZw71q6X@ccwEnD|bsZStLI&X7pF(NW;PyKZ(E&{xnw#oD@&(&}wLCPuTAfByRd z&9=X!z^T(2F(J4LSFvuN=__E?frFDh(<g6z5$AL_lx6qulgI?x-=@9lgSf|JvJ}~N z$s;7C3oCNu(lcW+Btbw;k2!DVs9dAcb)0wWAUNTKiJOg07n*}!3gmqMFmsLwKYK>R zQfx3=Q5W<!|F*tyQE*`8UvR(Vmr%7$*~*s-=Vy2TI}>=}nRK+4*B{24aa;qKmd!wO z#1@+*fN=%n&cw)Ak)0{vL>Xr)vXY2dBKOmFFRpA0xh!q35K($4r)w$l3J#+A-<-kP zeXIO$nP!Tum8_b{k{qmw`gsBNlULxSeZg(hf%;kX7?y<C{#cPA=!U&9CbT{NuW7>+ zh)k)_vAdHJmxB~I%GpX~G`XS%(i*FBCqz1l#WK^oZQIDyvCtSL{k8oY1&lId!x%zK zpib#aIkxvRTm(VzrO~Ko#%rB5dBcJ+o~Exb3yk`aZ_sA%El?0~zB`WE{O23qJ<{dE zIn#dS8hrNH&T@EoxTO^A6*(m(*6h7T;7~DGq1N)pid~VwKr1EEpqkm@zcbc{vDt(7 z`w#|IQ4mSz-ib#Nw&U$T7$-lc&5&_Ve&v@fv+N^W+uPHR2xYb6>yt9DmYM+lM|iHn z7caMvwG-8K2>YZb(1#)hG~K*4FY++;V431gF_>c(I-3T;ONJmvj>`FPv6-~?rVG93 zLRc*(^pueTI=~RH8?}p6HqZStSUM8&eGy%1JNcXjcCWzGu*$%^(hq;KVlj0`-@09I zxQ**?uu-g!|4<T&+o$(W`V(|>4wNUNP_BQGOYV3Jtx$Dun$4D3YB06l<Pw89ck8`I zgK&f_@>c)KQb57HvBA~-C$U}FvuIZl1?PfF8yc&8TksW`@D=N}d)!=O%Qh2=H_}~O z2CPyR!7F8o7FnZK=dWbLbL1<ymFk%%aS-n<I*FM18QfzP4dP+*n6h}0lK~+Nl%<Vo z49*r)<YpP9j@|cb>NEwzmTLEo0g9FCez`O7l4~t0k!w|rex1`EOlex|rYm#pKL@^* zZ(j{Z{MnsMG$>rsbFN&i0=wsSWlL>)-1dAsKLTtVTp;UYHnZ`u)-;<a8Y|WkWTAy7 zshg)-Ph1T#^>ee6aXN12Tdaq^c*c+B1$I1G+62|DO@|E&G(KI7jW<(?YeHPRd#=47 z_zt5lR%>SC8!l~&ZK3;jNtQ3WM>pfTFx%S=jW(PQR@72421o_N$7d~-tS>s+oCa=k zgWI93+&b11FkH4R=_U<c3oLApkHvr?hykddw@JT9<vrN^Wc7a0RQE}c>U!cXAUzL5 z$<`f#*Ql+^I(leg!i+8h8-`{{IuUgWwG%+XAh9b-!Fcj#T0Ak&h1Gc8l{|lLJ6?P- z(o%b*eb>yW%>8295WHoiKF!jDkKT6Qg@2eB`ESv06tZD(9ecHz&Zs|H6P9V*NSKMt zd0Aq>m&&hwt;PBdSKjyztyx~kxRTZ(T5(5>&jeZz#Jy9>@;<V7w$6cHuWOiCpxYrQ z$(_Cq`&w|f6W5*Vo$LF(Pq;{{kBw)x2xHNWS`x9J6`v;<bZEj}Tm-lPx{Xs7*WL9x z#z^6*5l=#lW?~m)Pa1UCQ-oF@t+YaKybEQ$(K~HHC{PBUNOo(RoDQ(^>30DYQ4jel zT=OpR?KXTr+SNs{=emQi23*u#EOG0D;hx>chG)Hg)?Zt`L}7ByM{Bs|%H{cQfuzQA zJTXF3h$yx_qgIbzcUkYzMUAPgk_gRL$3FgiJu80K(L?ZZ2qXsTy!U~zGsg%C6uW_p zOqB?!fv5odA;+XiYXgox>J9`8jUGL$qrBjB9zX0)69uH&=TuA<duG$=fThUz{xzko zJ8{&jU=R*Vl=ol7&o}(M-&YQV$H7o13okDg^9!ZwmFWJ1fYU(iNuWdMD}QtnqUT%z zr|dWUQ%%0X1G&q=U)srUGbFa)?FgRmrunkm{xb|*8jGeR5T?MA*!4@4J9Akj&4An` z0LK#=X|(wRL_XW@y|zDlm9J|!9a-}B`?U@kjG%da)y}Gg-LO|L*gntX9bts|>#@VC z1r+KI=H)7YOZWV2TEy?9S){Ml>zLp$oZ0BSc)s=;&(hNq8R}ex>@6JwWg+&b<FD;M zTLX4rpKpsrqAqX@n4>MHDCx@{hk=f22w{=OzWRGM3ps!eWi~ml(?KW$%`Mk+pZt)E zW+Hrhu%;IDDuPN99M|KYm*#oPmQq_B!}E=C^}Nl36y=%AvQWDqc(fe>A|pH?qd|vv zM_cpW;QQ=VLS1$x1rH{!US#yxb5q1XyW@$KS-4pBiqsr!Q+%_J?C5CLwLRPAWvBIQ zMbyYdwq5t-8A;sJ>>1q*BB8|;(m-jPSa+|hU*<0f5r2tsiX(+5w#1BfwXwVjAhAtn zN?Ni7+8xZGF*{aGo&3IRekYO(fxJxb=-4;P11oREIoSLLTsXrj1$zd+J^ac~%@mBL zAM2wN0+jia!$c;wRw<Zh)!q5c$`$@A<=hisT^X7Ql<@c80XHypZ~htK*W!@pWFX8& zgfms5y|46UH;Hh63$+Pbp`&`Xjv;*~4(q8k?Makw3q>;T%!hP)<E7ZTn+$ELi(5(P zAeZN67{P1SeW|><^x+D_^A#U!z1|B~eKtLI>MubRlVp}BgNNokch1?k5yxq+S7^hW zQ{Xr#>S6NbaJp~`7iC&G-A)P*+<?e`G>6Bm)7nDJr200J1UK2rRg>~p`URHqfQ)Ak z2%p1aS?tCj{4oBhY(RPcPm`ieR2KNRGNRX%L29%m1@pxd$?kzmAo21dR@LlK`=T7J zPAi~7Z&pve=KJ|>4pIMj+X9Q*J8DbM(b++*NO)rwp%?O+KGr81^=2H9rLgP5Un)Vl zk#aI?l?F8&Hn@xk^=T4Gdr;%}@V?LCm(O$LnK3!U(N?8r3q@E->hgOYzX0cSyV1ZJ z228pf6S-!<+IfH|jkTs<VIKlNOr8j$NMBE}x(JH<V+uPg;<#Gl!Bh9!)~O(QuDA*2 zm*&%lEwky(41>t0hCIBZhSOG^otGzxBHLBpCqFF?zoo6~*YhjtG>B7(OL9VHSbuoX zu{pb_a(U=Qp96WZ`~+V23Dd&V?m*9cPTmj>p97((?1kKWxhXT%p$im8X>s+#&!2^N zMBvK`1^pL6uKEk7JR@ns%)bR5Wx5xyVpQ>m$nzdSpYEJ{au=N2SK$itd9I$*A_$R+ z8nFFUvJh2z-^i5}7Vhvl3F$Noc{!xrT~FKQQ97@w>i*D46srM3J|}J8=^vYqEqsO2 zM#8ewH3=KQANx<Y6rMy`@H874={Azq4ZN9vq0^ckT6>^uf4r)@_u9uUq2!q8O}5lu zP{30cTV`(=;D(a<lQy6zUa3UwD#iplu(OA5D818xU`#FMa{>*9KQ(+vE_ERFFrK8^ zEN}TH;^l%zPtRL?&DOhU0&s)yo>W)9<#%R4MO4csESM2<c>N8d2n->*-}MLtT<`xK zLgJEYRR_XKb>)1O$pGuSy+5j@;f)mkp<3EB!`R?Fe{>7}Y!9<EJ{59$@f+U%*G}WK zc%FjD=2Nq47*+R%JlR|cSkywJBfr|GG+ZYmmExNI)kA2gp?1=2Q}kI)g>3q-O@Ypm zrIub$3Lp@*q&|NT)1Du=hW`#JO`o)aTPNCt@tfHxAok{a@Mk}&wNYBSG#oC0_PHxd z;Cv4U%2CtV8w9qB@5KHLg80Qh{lxN=2>G3FO<~lcsx0zY`+Z>I@I1&V`~bH`wk4Wo zId`r1e$PN`-<PxqmnEnv^I#U*fR{tR#PQ~X7B#xY(uWRxH+TEZOW9Mw7;<8s#8YnH zXGTd$mqQiH@j|sLq^KSDDYB=C+%m3X)l8+W_lhb7G6wYXN=DUT<7+Mpo;EPh5abW0 zGyW)lxmn1xKo_9_Og$|nU&&@7<5h})!Lw;>G(+NcMcj>f19nHqgiVsSo(UNT9+e|| zQ|_%boa~F6C7N}O(^VppMmx_1P0w{b3JT+z3m5h|Hp*vYJszJXay;@_&DV>6GyBR& z`$?+V-+7uYrrgjNNOIZO*lkox4>g>f|Ng?2fGPF~ln|~C4SoD$2u)m9!vS5r$&lGn z4IyCYu%++Cp~~df;nV|mfntz-?{DkGla~xK;g&)z>%}e6Xe2*B|65NQ&NEk|4;JK1 zoAPgOsnJPX5;T`v@eG+jA4Q^-3PM3dho9ud3ApV-PGhItnZhP*<|t)zCLsJ#oz?mr z(F<wad@fHKX(o(V#Q08O-FTW^R@U#jw?d~}izr&9R(x)9HTe<W3z@PB13D}j7b-kW zCN%_e1bX)E{p8@TEK}HfsC>oslqV)Q1MoI;+O?cE`I0H;O~L-9#bj#HS^pYEmG3#H z?`2$vwwyZm4YKr|#1kLS8fpTa5C<cP)NA0TVQ%m&(Vl^3#(Ccxeq85=ViZxw9=DGm zG+@f$JQZ+WyW?;Zu2~WLcBJ$^j#N%pqRq*WXQR@A5%|fQ6zNjoJb$>#gr->M{R&$p z;NU;qfHo1~@#EuDC-`(+qEQFze8H!8^{_CRh32S6`v;viLD^t|1a-*GI5@;KO~9us z!UR8^8k2G}gG+`PkLV(0aqCupa?s=)P{$?<#duh)Jdrah?|9AL-G6|ak9Cw1bx$L6 z&sm-VbE&=D&Rh1OI(t#)i}5~9<;{*pMy~QRd^WEWy^ch`u+#|lqlWIb@}_JSqXAle z&mnccc+Sb&A=;Ybyr{9MiXiUL!1rw#4QVu;x4KOY&z$eBxQdi-D|=*`e^;bcqaa;e zulMjU+5zn8|8))yqG#Sc!fO^bI#VFNM6dQntu5&AJ?Iv>DG|`dDejHec-2ve${GTS zjq`*{S?__WS!Pqm(v^<3Kp^CYwvWD8G+^cUpe@Sht#%sI&op|ySDrSZ*S_eEm^iNX z&O>iFA3j_XiI&<U`Uu!LzLRNve6Bp_qmg5^H2-$K#+CN0Q)BY*PJT<&_;u#!b{^7x zXkiEQO85&NN0#SXFAieFXE=Iq30v3TKd6|Wbc6jR`40gBy;#LNR6E}B1PWRxZy%vt z?(k!WYXU#>ul6N7gqUJ?s7(@JoaH$fzBA(yQzO8ulX8wwvX9$d{kQgiUVzU9s~Ib5 z@OBzP>EGw6k*0z`+E^jl`9CJ|8(kJ4rx1Rig&gLfKz&L8`EP%$sKR{;80zdYCTGTL zBrtmsfa8}(QDlKd#SFSUj`+j-RhvQ|Nb4nQK)3?a3?&ME+N9q}4Wg5FU_D(b#XVjB z7Ft}(&}13QXL28im@|K5IRzpW!L)s*R{*MX`VY(0`*J9t*WU!+k^2s6ZOj)`BGjAl zvkupns~_;55p{R}kcYfJj@_gJ7uVEgo%-msW&TnRd);^DZCg{=g}T8HQ!8zDdN;JR zz><}Qg#cpJK7-$j3$1gUs`?MUghmVajM-GR0=QK)R7wo#U|J@7C?BlY;i^&Ir1!v% z5zm(9MZoQiz5!h4SZDr36SdQ%l6k<+KY-ipQjue~p0A}~{sX0k;CqJmO321M_vPBf zLe3yju`2v5Enub!>QoL6#X%t`4*QA%T9S*MwmvvafY8hZyb0E>(5_*h%0oM|4>rxV zQ3yIo$YX$8^TJ}jzE{WLIf@FiF!0v@{Rwo7l?b|5*3ljnB3c23%nk;gqvVFoWLLnP z##pJo_4%%Rq~qO^kc1DK_u&U?-@Om%`k}5lX^PB`3H!X2QX#r{rDiuD3?^nICR%`y zeD5t>vsIxd6IS!5yknQ&g+lk^F7|#sQj@Gyr^8RWoqMN%I%BieB+c{#<^ZhhMT)=w zv!&k_<c<Q|%Fm4G60jf_%Mc5>%r<R&k2Bb}w|}z7v-Dk~s6@Ppr*$SCj!toET!(Y` z>+S_|o4tqgsjX#mo;X0=gvIX)&f`8hOb3`tUMW}Vm_(0@g`?SK?GWPV4VX5H#+RzR zHpDI6xD7@eQ4>15velJEHnZp8;}2jlLPT$We7_w;5rdOU`hLqBaO_Omm#;okV-kJ^ zlqIMb(h|jh0wO>SCXaxn#ayhx$j_&1j3eEdg+^AI#%Nr{APFGomWHK9XUvwtiQW{> zw5T`w8|#ZR+rWrB+fXreeyKlGKhlldLEu2??H7~vHe+C?Q9Q(E>2CCG!mRWwm#$j< z1^U!iCB*VV{nzuGz|sY_sk{wuE!NTR>TlCYO~!p8bYS|8!@!}ztw^wVaLDz4OC1GC zs>L<_v>?RL6Oxmc)N)VQ+%*^Zh3W>))ACKG-A}=#srB$_nJFq>Wq@F+)O+U!B4Q9V zh0|f-O1XjW;ao98@<*$!G29x^+J?7M!_Stv`%L8;%pa{qZ<Pmp*;WksUMKo^L5q0# zv&HkSTqt(4DiccSCeXW^{CsEo0_X+MaZ~mK=J3?2&CYO92jt{b8~yhg7C-}9@$4`9 zC_GhKd!RTJyPX64WV{O#@VXcA$Fna#7}rgiV0XWq{#{FnQZBPSkAOFk{^Rw<Vcis6 z(mn=Uf`>XPv_KQs`s&RP{P_wNaT};mzqwMM=hHU&DtGslg00v00(-<13-kS_DWFxT z8M3Wu0yN#{%oXxpYE>uSmS~^j*{QG?c?!ti?PJ*d{(%Ypho)-|j{E((8#HQT+g6*# zcABKYhK<d}w#~+AY};mI+qP}JpYJ>K%S>kS$0pf*_SuVb&pn67mT{w2+7ZaRbi5UZ zC2QH6t47Q@+V@%zPC^C;>nDdix6aGOGGZy0t{erjmp#hxCylKnBZ7_h+)8vW2X1#i z&ra>a+}LI>M}$Q6PAW=qSnY}jc4Cy#b2YB~bxM<{H^7y7|KTu%*i40t^*rsl*ZQMm zc0oBb639f&N1!eW0wsVT0qt9PleZvng;+d?pf=Ee%u!P^K(BRTpVYfW8$O^INTpu> zwcAv_y-`<|SOlowl1KL>V~oNQPR2>!!_(CyhmeY0uF&wJ1T$mZu(=U~fxtw|h?lgL z!mEgoFZImi&qg^G>KSaM`*QyKI*1W_XiUSY!l6m>c$P^Rhb<2kk~n7Q$Of$0O1kA% z6L6zSk(W0_qa!7_hd`%PktLiZ@M3cugWh=g2DniHybhNr>LPqxasCjizJof?jh+Og z+349U;lF<1j;-Io?q%7(K5HuUbxW}zq@sz@^QRGQi^ZcLjlBON>0rsRcO;T#JE`6W z7}?Fy_3~k3C*kV9a)#KO4<=4>ggJRFyb{c2jkiRP(1&l$WNW$Z=-9f(<n)PTZ>URb zH~v!pJ;go=slE4~?`rdjVEa5gd*RB9D4_p3iwbjC2ju0r3zkqzU=KyU^eKWNNyClc zB8vr=tuvlpv23S@t35KCwBtnhibj)(8NehopH5HGt%Qv1P8{$)W@j-v9B2ieg%{`! zmr4CZl}24_4dz$d5(4W}nI`{piIa%l*dK|%PRe~=IM{HhXR?b`+HwE`tnt2PdbDw! zdtpixrEvLd6--R2K=_}%MF8p9-kYCHPHvT+9$`<|UxtFIfO4Z*D<3w>ey1VA(tXV( z-~D|J%2muQ2)}n-i;0-iBkuL_EL?LYC_j0zJvP1_s*Z<NoozlxmhF!GA~G|Hd$J}Q zE5GNx8JExY83`s*bHBrLf%NuNJu>_wi|~NHddu5jwrTF1vUHqibQo<V=La}PFlP?# zeuqZ_=U2k7gtGU)hgkXBAQs|>WooS+Je6XMI;V%_?w<|yFGy=$r6O4AKct<-_b<`X zhl<pecK=?AZ%nudWhUuVb&?Gsc&WQ+KJC_8=45(@P_z(I4bkUVU!>GoU;I$WF1tX7 zAW8yerwqUBV#i;vP{sxw;u;u7^oC&xiAz5%00;~9xU21H9V`*E*chGpzU&k|?XR|N z*2v6`ne@ahg{QxDuMW~C(=BRCo$XNyy7ztzZHr4jAmUS{&uBdN+P(N61M99563UL2 zug%VG(vZFZlca)&gu)lfVI+jmLM1sqMYKNLbcSdsU<)NMt%9ha8?cy$Cxw@1@_csi zLS7Uv$TB43cagNA&XoAqeK_9zf$Qb;?KBi$G9Q6|J7~{80mgHEx=Iwj$-}=lX66e8 zBw(8;R$iiZ0jljWPpYyiMbCx(`);=5bd${Wfby`iER7JUF3Fg&5XTf!G)evBaW8a# zkZ@qNM5t*G8iyoo3n5T!OFr*m7Pu{5plfPlc>Cn6oo4%DrEUTuBCg(>k5*zVGKXI( zn>cGVBZ+lj3{G<Y`}5dyja#YsX(x@SrDqVC0(!CL1gpTac|nLaqK;z9O@}zf<5imn z&|$&7r7zP}uL*!aA7IU=iZYW*Z+%3u?+~Dyw{8^#S2lEVIvaC{$qwH>Cdqeo20#*O zn8w7DZBNS}d0RO9?!e>CD&&F*5j{MwjpLQ1@St91b71a^^H;ndiTJAtbj8~n!CLHH zsiV=y1*Y=UGl*VWc)?*t@gFndUwemjmq$If_X#<UqN(fis3I*>s6Q%4WNePf!gmgS zJtiq-N&hA+QBiPh3%O#SD*B}o_<4bowJ5*;9BRsi*@0)GCdbaSv*jPbbkMkULb6F{ zvUA9b>s~WwtN(AngY;2~JY?7Iww-n9i=O-(TG)#7Oi6aumuz)O)k<87Oy+ARhZ5a- zdoIaz8Z*`+WW-~|R{dF%^!h+OtEh|!u@Kkj-g5;y0;Z|OmcQ6fhwV&78Z#dWY+lSc zdhMXsj;2mBs_`&@){>)`sWX*j<x}^Vs_j7AnU+uTm>{2}2v5jeKTArh{O_+c0ajUE zZzX4Bzav`_dR`Dq^nerKeA=_6l2E7NywP*}*S(oTye!*%;gVd(b4uBEyA2^1_T9Qb z8U?a!!y_^v**RC3%Q|hHCvo`bAr>=~mMkjW$o2^)czJHl#XSr4-Boj<;den_^vL(G z53QD`Q*p>jlpc|{m7RA5zhN*fz`uokCMTS0f3s`0n>gE)L*!u}LWf=Aq((N|+{hja z4(5GT{9cr&H?Yn#_etow$+Ch7EFRY&G&g*0#Gun2a~e-^WXztF@EvDXVuNt)pMZrO z{SpGiLHsTTH9z1>k=|~aj~n!D{tKO~u?%s@GTZCBJ<O%raME4Bs*VHL<5Kp!$F~C% zvuU$$N7EH(Pe-Neb?WIil}i(<z6;AIllA3D967FO&HwaAw6Txp<#Sy{5MMp)KPK~O zvP_c957(<p-0m`yh7M|xrHDOkagCs6DeCPl>AF6=>D6yHt6||@^c&;jPlf+cryq8E z{@y$8HQ@3a;c!W78SL5rGg;RGqd4H!T{Q7>_Pe$=`C-S_Y64t3yfPy3-O}9E?6wLf z%uiMeP0Y`kfBAU5{^K6A)&B&pOFIjlhOBY5#ff|g@$VPCx#2!D=C}eqbtYB`dq8+3 zVNc2r#z$kS7-VxonFM`&S7PwJpn-|q%Wwzst{w%FLC4<L<9!aiuKU%L)m-RmMwM@p zuIbf#9mFsF7sSl)+ETbZpRV*1X+ze$;ZZxq;9U6OOl>XK3xid@v;?8Pq(rw?n$!Mo zZ|odW{Iz11qXA-x((NkZgWLuJLNCm0ev3m<c3LMx%<J_Ex5bhdS}*J@C2<@2&pnf) z48P5Pe>pw)4}4s9ROtBhb+w*rC-1osOx+TjBp_wAHf{E(f)R`oOxHyH)rHIl^>Tly zbOChhP<wA)m=u*Fd=46!<@(a-_xAQfKXyL`>g{r8j;5&0P#&{Jd%izvq<JA9FpX9l zGI5q731)Fc!_8)?r8?z8l~Mw&)@{)QF)6X4DDw796E`{VpwvD}BLF@B8zRS@K)_#R z<x2#u)tL|hPi*CwSK#l&Y4Q9pz)l+153BgZ_~o^v%4r7^O@H0r+_x|Pt`kWmIigvo zDHP4-3@f<T<X4j>S_<1NNmB+4o$@(RTIsu8jtn|u$nL*gvz5P}lj2wjsO15T4RS>) zXvL3w{SoiNHPLYaGD_Y$#r78E-c{xnaK>rB@95zYJqMR&N4I~0Z^0dFk&ZOw$T{-h z7bK0h1I+8bG=By$S~ee1#>Zo}I%_TXt57ne4BfA{cYYcnO`5#V(ds8{Zse|wYu!lD zBpQ~pWC+j+Qj$D7m7YbhBKEA`hJ5=8v5h#j+6KU3&8`T=2~x{{U3Lue2}~Tm*{al? zS2HY~>(<g4fTsZ~q4ay96CY=BHl`}*Z(xe#n>Vo4)ir&rP^I!qg8Z~}=h-K@xV8`M z9}~KlUW@Eki$lMT2b%c~tz642VL=c2p9r|dHii6r=4I+k*X5z=VPUR>+I(h`IBzfB zt@BP2wHm)V_A|-m&(djGacI@s*<RnL-W9ED-4v+AW&Zo8R;|BAc|CH0EeNq&-hFrU zN0M<XR8-v~CuD?!6F4B>9N!ip^V#Bx_d?+S0?sr7FAY!dtML}RO7XN5FEvgo8xo1Y z=(#LkG1AQdJ2l=sQ?lkb5Ez~#HBUTH;;QG*cl$w?uewDc!UKl0yu4MehQ(5QH|Kis z6n+Y99ca)()4f39ZS_;ls1q&dGly&k^+@(;ckaVC<6)gbg_+gviMCx!mJ+#ko)*cz zNy$&nR5<7+eV5McoYQ6ThgB<W1JM>Fp0C={&&uW6VEM8on?N99Dz5RU#9(=>NhdOj zOQnQ(4&bh~P-hvDBdW7b3+8$~9sGo=dUWOqx@GS&^l-yNq7G(0ATV68Xrp>eqRZWN zZKR^)!qnn{k@9p`DqLwS3-OE6_elIl0qb<y>c97!Ih4aHpQc3lDuLgnkZY~<cRfM< z2S;Jtz?nPbtT}?Czfut)MdcL~%Z;4(^Al^M#oVXrJe^Q{^ZE{Bg>8|svZJ%X$#=($ zmmC6Fc;F^}bE=|MJzq_;J5ncuiO@W8XbG&;WExNNCdZ7~c*I&r*XI7X>j#{>2j8~| zP%vKG`MCPju)93vmiLU0R4RV@BqfJCsm1;|^dX6LpLku;1v1)~Gk_K>gx7tSS{XAm z<MfqM`mxw$+*q^r7LnER*ZxN^F)KdMj?1uFDq;DHSBlsqQEq1lNbC+NBY-Hw=)YD4 zLzv;BA*JblHHkqSJ1(87slLyY!ke%I5_Fc}oV_^8V7zrWi}U>LF;O1w-MYAHXsl5* ztCc3@<@DWStO;{QR$OdDme3lg*tyZ%!Dff02y-|1ReSSmgpYj^(e~vPPL1sgA{zSd z{E@_O@a?TCs_*sYG`Gu1)*qZ1B<C?9t;o=;EfeHicRC4~NQ@3OrLQQlw8%}D3$+#L zFXt%U-XDaX&qzgpJZ32Od<4Z_&>ob0r&BS50Bf$V_?;l;xTf(`o%Z`-$b0<`)nA;N zvA(a{aA1s&(IlZTny(ZwtKr_J)(ooN`O>(3yBH>}7(S#7I@xWF7Sa>J(Wn28cF%dQ zs3V8+mX>Oz>$5^|360S2yl|ah!)a%nTJDKjF79t`n9q$+iV1&<cL^Y8AAf`^(OvlW zYKTu=c+`nmOj`NgE`*Uf$ly}chP_O><fal?ey2DU=+`|*qhID&$X4?&q$j8%=x(Mb z=tpvG{+^?3<C?a{p)K&uP{W^`T26p~)$}n2U;q!7;H!ENQ_<7Cw>>j;sJUR_s=%7V zB*fz_FbAp&c{$vbP|D}q**>})oSP&iZuO6?6gOd}`;9Eb_U#lJpn3|(Y@Ov}0!jhd z;)um^(FD^VbGGz7Pl+G<OkDffA;~Tf-{2vqSt#P~RkQTfC|l~MhDu(ZDQw}{UpwBz zs(|a;zqhYYhc|PL%>URle6=HSOeEk`<o3;47;yLqJ*B|ZV4v5$x<HzRSLn3)7KaZ9 zVLZk+$oP7vnKIMo2xBAGFdk0BdMbNvtl6dvNitH|BFshH*GC_^$7^{|O`2!c;<1O& zXIP4a|1r6b1x<T@^`StO>t=Mad5w6W(Q<-7CU*&B%Ui<gWicAdpl)57wWbP=C#Dh} z1nKg9Wr<v{{?RLcShD~DdMlEqkk?ZM@?3Q}?=WcxKkIX6frLUB%nEXg?JGmLm1TXA zGNa;|;R7m+WvUqvYgBiPrgfj>JP}8{I^~~gLyYpJlFGk2-!3|<1H}GQ%?^*hBDvt` z62;P%DN~jr=Cw`R(^0Lw!b~bNGj=HyQ4Hn+a>}rid^E~0qPgI%kvvkVPcrDjByh2Y z_0<@?*FR)!!9&GN%f<#Y`LRJslH|`=3vt7k;j|lgn#h3nq+e3feKGE5GNGV^O>mgc zt`fXtF<Gpl7)8F+C5r-$j(DgYgcNIWp}3iMK0{1~+Ln#oV#5o2Vg;{Bs|RDK3SIHW z-LrmYkX-8g(w<$tdi8eFbS%wmk?IJbohD<=O)aD^^(m0OTm6)8Uwi`TnwKh#3CX&% zamevnb5*%8+#OLcjDZjvd<f@vyQ%#%2;YYRtdc;FF*CzDEKQVw<8A?m2&0@2@{Y4m z*%nGmfcgUhsh8WiHM6X*C5~Tck%WC~y_eWIlT2OZU*}JwK*)c&D<SjbDi?{NXT_&M zcsy*!3Jcrw91ID?A6(FJ$_AniqsE69C5B6BCaSXmv<1&*|JDox(5I4cDT_`ZWgMYJ z;VEQV&DEvZZXOEor?K7CZV0^6cnsVgWqLA5PS45-ys@rlDYlK+=r7<YzXdb~LF3b_ z(uo)?nyt25=cC1?BLv4m$Xr!%srg)HnL(DT<kNs-gJesEQxjp7O60#7L3(5@6n9mL z3W01qj3?)|YN2J5(Ai;q*GRjM$aFdV^w(Kmi5CLOR3rlvBfsA;@WJB^BYw;VtvZZ( zZC#7h%NBBH=oxiXD&!B(PvuHH6qvb<&y}ijoG!K3vWua9I5EEETa&lA$76wkYR-hI z`iErPwI<0EaEZSVwXXk7IoAB`Y_|i(z<ur%A8k+mveYpHoUm}Es<Hzo@5!`*NRa~F zaQv-c5)02Zx&^dgny~M}Ew|C*awhB{Tgq!R_sh}2%qzAIp?(<V&D7T~JKv3j(U01{ z$%I8@!QNhI#R0H|;plE>Nbith?uG@)?~jBL`fs*P@JUuSzgovayRPXL2^A6#{F!sj zvzU>r35@{6bZ4^iKzz1Bskz?=Ah&e_TCbyx6p|_YfX;X~b_GRUyC<_NO3Y+oa--~% zc;)eO%v-7H@oX6+hctOFRkwNEraqiYh7UG~Lxdy*+KQ+N9f}6?uiq}lCsVe+A8z=x z@%M_|E8#(4xo*QOBS&0g*bxLy?<drI!VYSSRkvQkk3pn*sp>g%gL%+mpIy#~el=@0 zjX6E(?%?R(?~H)!nxjwN(OkVB>u<LKO?Vh5>%!iKH>QZgq?et*Ox27e{>asfZC5k2 ziSQA-H85%=OZC+i`%*?LrH7+@X}l4y7PIRs`U7JD&%+3^Cw|?R`$fc5N@YCHlOH3x zZbyzKjHxPL*jY<-)DyjQphpmrft*oquj3FjwW}z#iTfNEt^Nnq|M=|#>GK$rglxa= zVDg>e`6$zD*TV0i^^f!y$coi%-C0FWr$n(8WA!?#lDkDC8cArKQLZi~EmzXHqg`%5 zL3oK$GDQ*`FN+coZ9JNc8b0ct<Eswv7iQ_*c{Dxd=rF^ZSL(`&tZ_B90Uj&vU^7a5 z>Z}8YY<lFt)y%im_uL1q#@v}(fHj2Fi?Fh4rN`%^=#plRf{CfD9-9Xjmg69m&$1hL zqz45hm6Sn?3SOgX3b+N#t$6ve-j{cT<&7}?=-jc2Q&Z0S1Bz3%3dgB=t5%j4AXdjm zc*9)sucl6vkasG6CQuUXPF}&{@R`m0on>`Kms@syy?nTu=U;3v{^iPrmIx2=3Mk^? zv87+#m05K_=~O0E_R}!-Mrw<AIrslliyKy@(O@TEE5YN)X<&8rsLe^&CE~K#<ri;j z^<{V};F!x7$+CD0L#wjMCnSf($zD+SA&CuG-gBJF!h5zHg0mwI*8TshUx0+$gp){2 z5w?hjii-Mk#sQji_v=VajB)K>*KIpQA1W!zwdIk#qkX%p$hMz&#cp$G3hm49&&P98 zB_*m?VsnBzIEbGLUk7R+t;7qr_s^6xI};evI&TMEcbpK?^&IKHz}#`ArmxY$O_PEO zuOgO*0rC8D12rc!G4LA50}TtyY1L4k84;m`6F@Ew&0&xFC^zoMYn4(`Nq^l3L+u3N zWRGrv2f7WAzZzdtVGn%%eCoviMXX}-!;vP?Z=Xo}L!MSb;jKP(=#a~B?(GZx4jAxE z>~v_?HsbTv^-Cfs-HvC)E@68@x`;Fz_C{Uj*FkS1qU4^m+(a-Dhl#^mr5OBpE|*B* za8rsM%|6qnC4Z!u@=bQ32Ojjt%CUEAlOzO<Cd{uf2?nMe&j_*&MSeI0!N}9F{8O^( z`>IFe&x{WAR8_?6UAkD0UDnTmkf!UGM>elO^=YwmAU-EWcWYYdud=fQYx_Pea!Xu4 zf8=x>hok)ps07WZm*2~PE}$Nn7#L0)v03v$(2zw!Gevtl`M()Z6#)NLdK|zMrE7u) zI-X_9NZP%07&_SjB0qxWs8nJI4aRg9;n0EZkX6c*RSM^ec~Lwo97GvA)s2pO0pfTS ziw(Cc1#b;GS6?Xba<DUX4fN41rgKGu$<~hNac++}!*VJX2~TN-{#1~CkG*Enj@2Z> z#a;R=h(o%&(ACwI4^ZlqlE0+fMdGQPChMslN2mwi9#}(}aS=&@Y)%<IOOlz+?e2Z{ zio(9?JB2!}EM;C!XX+5}@vr%r6{1SSl`tHum}a`@l|69GlEE)d```Pe_3?vN;_FDU zJv@Lea4fZZK__H(e|s?aKIz$Imo!6}cXy~>`7i(X(ekk`o!QardZ0OUoMIZMD-+QH zGarU*TBx&jM`96GKoy|6jU>o00v}BiR>MWWU@%!ci}5K}JolDb&^04T>Za{bt6g2v z*`{~;8K8QV0=+jP7n`nquXDJZ<OTz$Z>{^l6hFV~jT5IPnwQ4Kzel|S21OXo4BY`C zj*7MYD{&6K66I?PMn`5Us7gfjt(v7Jxiu?2CQ$O2G4OAmLJE#_Qwl`>Q>Bz9a!|t( z<N|qthD#D0%+j^B)bjI2;B%B>3uq|^B*nwX5Tei>0|dLTa>Vl$LRe*N5kB?Nnx^E^ zhUH^oNGn!BDwXy2tr@6o@%u=CwuwI;Ktx5wfEpGIhS(TYfTn@kJ$mhu1ymLX9_xxa zjH(4$PTu=`IsNYCd<-Bys)Lk80r6RN>04VRs<_Df!(+8#b@JtwO7Pe?LDkX{DoqK& z)dvEx_1W53X^=_@r3hUji4<JXH&tNq3(;q{F1>KRut}&gEWDjpIWe|JfPpV^p%pgU z!b}cf#vRaEpgsKNlAntGL;XYBQEIhCuDJZ@+u{wN7Apk3$1Cjy<Il)rt^c$f-ax+) zhY90<oHy4`gaLiT>SGT=<2xM37lcX?H?U^b!jD2%{}j(c8-!eD;*o3O*z!~G-Lrz( z;C5GLyKf|v6WDgm$O->g-4Z@Cr&Ai)k2nH4ZpRf(xJ$(>Yiz#Tmb8yD^f-b;e$#~S zTuar1NBf2EZx2hgCcrkVha{XHrR1|I;8HNu>`l$wuU{Pj?Q?l~sdJtC5fTEY6PCjd zbe6m_GsJ-b0ipt4Lj#6N#DKlKIGehbP^0Sz)9D%~<P-Sk^EebylJ(``%AFarf_f1C zOvmEMa?4BN%+dA+OqJMuceu;m6=Q`!{qD-T%yPpY39SN)vr62gRAxkEETxR|khVye z$W6UeY(PcvdJayzEhVJlEveO2+o9uoiJ2siqOkqRJlk=!(c9-)I4QL5dp_sO=hRX_ zulaTJox$#7|2sAjlF6@b4z{s1FiIXX$RgN890gPcLi&N$AvIz1;MDSn=6qgo_k7%% z+sSrR2e1_mSWbo=li)^%sG#G?z0%f1vghcEx6t25>)&^JDNvb$41YsIWC`O^QnefT z4GHSKGqbO@q}~`%dJB*{eQ>SHSCl>c$_3w$6EP!+2n$;Q3yDZn&mE60|KkD#Fci|5 zxA*D8v!#xG(tf9JWYBDq$Hc|u`de^Rjv;mi_xbb5O8_c^82~6m<0y5y)n|#fjA=aR z4mGx4_rXC5CLqvpYC+pZvk(&o7)sr<omWk^8(gFt$ztoki-});Frtx0E6ixt+?lWz zxf)ub*+movO&WeJGDK~R46WTS#lLWJpmRgi+KZ*=36L?{$(>eKxmdSH>3mx(?7}dB z2KQXoV@sy12yjsaSv1={KKjFdp^qP|s&0pP4J<3Q-2DXKMcNvN-}hDcYGfe}W}@m; zK%VcBXF(O{Y|@xy_qS@qfnH~9`u#S02f64@qvD_>+7fp4aGw1j3bsB)_(In0%c)*h z{~8kz)q_a(N55}t{0vU_ZZj*x`sEQYl=uEg&PA%HxA&onVFg04MYeDS8x{2`CD=N@ z3lOtR2Q+CPAV9re%X@ly8U(It8UZmTUOlCqYs(e(nKI4V)Gu!B1;B1zMajZ$@&fl^ z)s7E7@GfVc`0PdfnRw6~sj3;XM7rn0P>%iZj_i^SJ;MEYkG+r5u1yJX`Q!77fru$< ziT$awCoXK%s>JWV0V<i4TQP)uL1hlUD5{6MDg`CVfOSaul34$jN@n)on(R9L9*Jk} z=UIBKffaJ($Z0OgrWdh#Mkk<0LLU$5%p`KqqFy}<VHtZvw{y6xW!c=e#6j%d0kmZ7 z9=!)GkO;pD)bQ}9RmZug)7)GmA{o76(tt;A$XAE=5|Vj`KRX2nWG1e}#AehwrVbT# zCn}2|D$_mPe?L|h;Co70vcLik3%gjUWF14yF)|`z6(~T!Gdn|j-+>?I$jHe#CRzCe zWAiwG1M2{;ot&G^t+>D2#-tZeR2(m8wqGXQ`0SGD{QRAC!6F4y9+12!F+C^=`!`&b zC~)P>LJNd_<GxC!?fEN6u9|0e1wEO?Qt2H}m|0{Ud3tE)z{U%DFfXrpGXDbsyZ6U< zs6mQb`+R=(^+2Xv_XthQC2jf5Taes@?$_gXnTjh#jsX=!a|~P}t9PQVt5+fpd|;Gx z3QA2!%;0+1Y?ift-EYE<i@EUcSa0VBd=N2<C#p8=Pg60W{X`1Y>Z~(f1o0zNdj71# z)LG>8`6aNYwZ_(_SE-c#3)+Ceg_QambaZEaQ(GyQ&dtWi%j>}+1}2_lB{Zx4)d8Fh z!|k%>&HmU;D6nUdXZDN_$_xq$ikjH|sc6Y!-tcg!P~LxAd{!^5Lb>%XH11b*7IV4E z-i4*@y)YzRgU+tz+d#(Im_}U(zxix(CRmBRIAp-aFJ7;<wkCb!zhmLY7iN~pAZL_I z3l)hAx~3jqA!KkvQs1jvQaj1&U~2~^SjE~+*Qn!ZeBnkL4?_<MQUKFcY-T)M(;Z2? z(w?*VxZUmU8KLVR(Al)n8O>BKpK8{Ya>Vjm&Api%v}MYMJhk(@x*21O3CH@s?>&6x zYI)zJ#p=GRWgdt}$D3C$SVcicO4qM)3P<P7d~?5JF{`pXOBLVHZ;5um+Z#~RLdU~% z;{!HmImE#3pwp;`h_p7Rvt>x^Lf~pR7#i-vB^otK#X7J9g;af2Rn>@^rc`RgvEvwC zf*G$sO{>+I3boV4l1P8F1%(RY?O5ZJBwBacMbwq2L|Fq>{$g-J-lE$y>l+{7099+P z_3wlHRE39LqoXJ(DF||N>M7|UXfki;2GN^`8<VYMk5B1d(nUykW9v5|GCCoy7LU?> z=yO@P@tra3{pmWn3?4qiF!=FGtg6h%Sz!5?=x)8>5vcS{3d4!vyVx9$l{kEep@rba z8oT*|FWc(6#xCzVv}|4#qJ`)QX<3Mr1j47X`Z;P_wr-YSDX?#@Iq6eHdeUEb@#Yel zsrrEV&V#s%uZsMmSs>xj{3!=nN1wxDhf{L*ZvMAYrLb?zEkHqO@g0aZAQHf^>H^S4 z(imaCvH&E#&g#_9^n`yHwQFyX0{3h!yn+pvHT-yvZqD|phvQa4)}GV-9Z6G`hu^DG ztOM7&FuZs3+ez96GoS1F)^2Gy**l~Ui_!3_Fx(L<px<!)#O8$h!F8(gn;jVz*~KFF z+F9c8ETPdxS}6VxF>0!!$*C?d&!}%S*RELft8_bx$~3Wk-Ie)4=1+UUI?{;$4$grh ze0kpob}r}HgX2nJHW%Y6f&B9>3s(9Ltm=R3-2Wq;V~JF8wTC}+qv51++~zPg<1?2w zQ~R5(L?|7^a=eDfTra$W+%%P6FY6Qo%11lg(253FO^>#Lgj3&^Hth4I|5n{SWV^M? zJ|X(tGq;Reu-ohD>1|B2^2MWE8w0ne|Mj&ZHz#Kp(00_J3Bwbcap=6fw7JQXjMH}M z$^lPZBr;?Z-@e3p!K4y$It&LA@*u}t<Z6#J4juuR{PO+toa^<^9`n}p-=U+g5+I)? zi$t0*1VH8GFS9@PmCirogekUT%ju#&6G8I13;Sn+TZcoxpgEZ0l9)0KuCDF3gBUr| zfT#IWy3<q3+8OPX@3^PqO=5^6@tli}I1WGOqA=I8(rDcM+tK$kqzZu=xBx&q4hRt9 zGY*CwKgq0rFky4>G4`^x4P+&Z_fqR$TV}b|w$Mgpgyrivu;Zd<nx)YtjC9r|?jy3f z)J8-6X6LcJG`t6!`zC}L%;mhp_-ofgbV>KpiHL}x3yX*hC}Ob1<rMV+>heG{sMc_4 zSi4l#_=~|<cu*>(02|QgYsW-GyQWDsW~}F)OLOe}!g}mzZn3)8zs7U$BhtJ>;bs0h ze%viFK*Gu4@Fw;9Rt)3xx#0lGcheJEEGA8tv>ci}Kz3PuZ-gT3v2v@9hjVG%wC-<T z1s{U()vPd00v)%U3MCc0$b4PsPT|gFv5`RT6ph1)H=*gQdBS4TNFYz+cw81;N35n~ z%7opGEJDlu$Cy!L^+oeqk94Hwj~|0v!XW_AQ8$t_w2KP<2U8e+!R@e0e9s4au|JZn z7ihPRbLqxt+cP^hQT_@C;Y8q&`x{@)0Z*Ghnnmg-fnLuZKEb@Dqj9SKRGXxlsMq|G z;biFpIc&2eph;l@oKfqKSO=BTxpTmTfj|gu=#D4}MHtXHg#Z+6fhgq+oa9PiP*BF8 z&<uiGyZMN<Kznwj(mHG*bF~d8*C~$;d`za}I5x7RLJhjsGoy1selx!Tj^6%AMZOs~ zbQeSI(yNpt0T!6XhBvcUvydQ5f!5UJm)eklNHR91wlGM&|9TmidVRrbA1}|MH6M$G zc%IJx+2oQgB83+X70lFgZC2>fymirMm^HAeEL$2$+;_Rn%w<L%rq3w`&cqg%7enGY zcDO#1Xz!e|-8Fna{nA@lr=Zy$Q`Tg&cN96gM9%<84>)5gf1MDuMvsK=ZR-l}Vm?XJ zT};~W?|oj#hP^M}Ghs1jhZwwn$)yPk2oA0^z$y4nn)jdmn=i1OY@9JZ13*nc)>;NW zQshB;EkS{SZ{lDjSt1;mIB@$*ZS-=AItM*+aGdUf9t?F9aqMzK8O>bz(Z!Kc4JCkh zR6wb4&akYaTCpouoEtIxsv^liso@|c)oVJ9quuU=VTQZ@gjyQ^WC54JTCPB6Zw)u0 z;}!zrxQl9Fi~~{G*}VJ-#rXa}t1c2hK4?Uy%CQq)l{u3{20t-o7w<$8=uZ#7nFh|B zZ&HQlG_e<+706{~{DAv^CoJ`Q$)N$Y!ng~5i&M9QzS8SV+~)*V-P=^ez6X(pw_5sL z7eDj^wK_Ah%nl=2c{*Rx_AdaN!Z%X|sGB-p#Uq}};u?(QL;C??UMJasuc>1dKuoD6 zfwPv1WhG@{xn2M|7n7G<KqX#95I8VlphF=Ih(H9szNd~wrA7T_F;lre#Zz)R)riCp zH0H{KVKXD(b4^OQ_kE=m^`p@nOcqF^r5*qDg<KS9;-*Z~pf=M1&D~C$I#9Ta@+Oyd zJR^%>aUN|-kVH=}5w5Vh<Zq>t)yidN9XZi464xBDLeJ(TnF*Vf;M>w%;^j(qL{MvV z6Sy!1?FD&5^l&$^X5*59T7PrpB#j+bAnBklpQzDf$(2<mI+?>-dyCGXGcA`X2%lYd z7tchY=GBiljvAW&od1XFYI70{Xwf-BD3waR=(?H3T}2*avN!=r=Gd%CH=i(+mYKg& zmCm$GeRczws149#9G(qvem5QsK}1F-mV{HIlALx6@6*o^@P4;X+^}FTB_7FnlLgO) z0hyhDYisL)4_7){KH~On%JKPmgozsz;!d*(^om-o(J?LcuawQ_oz(Cz9?bUi+;>eg zW5F)dR_kr9R$)2&wglKzFL_~)%%m4l@?s*zc{djk^7&b_uCx<5gDY3t0)V~*b}5IZ z9@J}OKXakuBuEe#bB=Jhrtx?q0RT)472+=9AcPOHz|vj^eq8m$-u7s-nKgSVm+&A# zqLDz1t9cDs*y66u6&Pw=`(V@P)fZCGmYC4Zxsoa9ud}q73cM}yr&*wyLdyUIeJ<5` z2(c;~cC=5!$)&=dOsmbo-u^1N&xk$)p;f>Og~bUnlL60aHLkQT=vRMve5oHC9MlF- zBRCK=42;tkczCX~@J6(vsmYDEj=apRi;zh|SX>9I@?IStt3Q)N<%T*0Rx6&VWos^! z0Q$Qj$P~Ma4Oq8`$L96#3`AGbJ*<X3PLPE7QEWuX3yEaQyBNapUFRxb#5eQpv=XL= z(Itc*l$^!!N;zzvJ#c(O_>`|+U6pxmtsFrZj8kV>(!D5&-N$A8<PX7a*(n5k$80;; ziEIkFMw`HY{=8yX{i`3)XZ!@j!S#6Cu$rE)J)^MSa4pIAi2!K@Qyw+Oxjb7LOd$MG zr#^5_m8TP7d@?lr+T=w4DO3{aGAHC81@)i-Jej{XVw@ymoKPeHJdz3637;sb_L^o@ z+r>foyW`2{>(6H-z&J|j4F?!MUtndv_8K3kclQQ&0%;iZ%5J^h*2x+5nLOYY0#Krs z4a?yU4h&SYf5K7%CSf}!q-PF7$}Hi=8*L-KTd_7z*K97Stfu6(d3yS>Q0O8JErhZa z%piB77K9iITF5RRi%N!VZ&d9+Qz&%t05jaA0v!E?lytBjZRqGTJkDaFO2zVfBn4`O zhqZrPPS-E~BTa@X{Q`BbRT0#yXz2Jm=}#jF4iDqkOiaX7%U529PK`4|cR^nuy955n z3;)3I;djl{>JYL(a=MJgJg{;)lFxU!p}ID!n=ev9lfhS|UUAYHC>xCXx3_Pm{YQRP zLi*N?ZHPg)l)^1Ntg1{fl+1T*T!Da^Y;1TE;CB})qWWu7K4Hydn`c$#=)Hk%kI@1U z_UtNMREpEk$Y1cUPTZ*14@)E>>C`r)iQ8s0>kX_O(n~qwgmJ~Ic8wW?;TR=jk^Vw% zK+4Rh2MWiWY|nD1bLR-9D<lB+BUyu|#EY(zk>_U)E+^^Vx06v3jiN<USUd~kum^cT zg*Vd^+kN58|4A=-0!9{ESd8j*(gjDDR~te?^mZ7~iR2Waf)tlD%v0ndG(Q5c?T_f< zME%-S+TZntXt$Qf3{6h<F(Uw4&QoFS8LZ~vw0iK7j#UgyCpee}v#yM%hjzx9^AkAb zGl>be-qKfKp7I-zDPw10sd@RH0HMvMkjCUS8-Uzc#@p^(24<3xl7v*RGZk08loLDT zc`LRvY6nlNA{*ibTBrswP?OOvN%Dn^$gf7p{x?J2&P=T&-#+O@NLQgvxZ;S}@7}}M zkzl`Xs*_(*_}hP(BtUTZna|u<?~7SVPo=>9w}!(OLl~%2NE`OTx70D?eDPe@)PpC~ zfIq<OU>wSaLee(i4`NJAjQ7_sH@)BWmzJi~OS3n$p0$YIHuM3*bGu1%+DEsWkkDE> zV3v0#<h)e-BFGBR=7wyVo01A7cQL|pj8TNylgIWwi8>z0-d~E8=>jc+<S{5h$gYZJ zqa+eTL(r&0GVq1L6!N>@ir>5}V8}YS$PVl1cB1Xw-W9iQ#95I!q=9`hG}Q`9ur*=@ zbt&p<y#U^TTwgv*#8>HYF9;8W&6y9u$kxs>mHo$PX}OVm07&)~n{jgk#$T9-C!by| zq3t8Y%LSWRv`sNJiE@M3yEstSFkaX@@<ZBLG4T_T3pNNe<$&?Hi0Rw%MA7=GyX|1p z-R@#>6TyQ{zm9LrTjXNZOyF<lnnXbct>J(RlZQ!M#AC!ky=yDLVMYSbUPc!D23S+* z0dU^RyVrjmv0Sx&A2-NHrIb&<`d7=IO$%PGP`i2eYKGf}{$JPR01&J!%i*e2@X`jM zm`yHAPGRQN2#P2?u~*FsFxbr{QKYT@^cjl+RhS)6sEv-x?Ie3wEQ)6d%eeFdAPwGU zEjQK{5=jrMFI)Mg(SH_J^Ch!a(&;G2-oF+GudkeJ9E|&-e*xr(wj0^7w^XMEOH>(S z3T-n)G2n&A+zF7VIf#79`d$G{V}>?Ny?Dx$YIw=oOV_^Y!s~6uRyN8l$SP=aRT*gv zf3KtEU${IC&20Hmv@JQ_R<sdRyz_)ycXX{gjTF{`w8+4lPzkIzvn*g+lox;6z5)O% zICqOU>mEYc8-PwB*iv1Ip<;nvz*9{JaBQo<!^EryY|?~_mF|&|k)v5s$0j_Jf#817 z3jikx6vePU=fIW22RtpLF)i!V_X^8XRB7g$wKfI3TfKsV)y1+ExG3)l+USv7+7rvd zdzDX^Pz%G`p>-S6-hkd{w9w4$@n0zVjU0Sih$?EmIAbp9t{9o5!uuH<C45_#yVnnw zJvTISrIB{uXZsOHyZ2#{3gudaVOh%$Po{r-7+W@|vn3_{DUquGyxPro-6G0<bw1$@ zRej@tIQ>(<GoVzWbVQv}@UlnISoWtmH>-$HIw^CamS{7B+{(csJFo_1_=(m06L(#4 zz*Ec`X5+-qoQ}}L0++`@(pl?Pkfl2ldTm@h{aIy~##_X%#<|cJTQ%#D1FxwiLEj8W zlEbBi{n5V$E)3!9nFU87Kn2mr4?y;Lr~7<Bw3r1D;vqn)m?lge$W{O0Olo_}%F2_s z@y$98UL`F<TQgsl*=GE9C@847FwzYfTIfU2j6FRU6EeDgCYH|(lxZ|Z#Zj0glE76u zC^@3m<SNkZ#i?M3#{59zEiv9I#>IjLU%N>E0AtwE|1fZ_dbH`6g$bDUd^1Waw0e9S zSTmgwg$jeTk|>-4bZg@*)r8<suI}`L=lVTpR5K@7Y&HeKv3YWok}L-cICgsVwKE5d zoZ~HP&6SC<@nmF_TEcf-ngap5cnPuMjZw-~R!gA0K7aJdW=|46kDkn;4JY5K=ZP{p zY$Jt+ct{a#4*foHY9cDWPNd6+@7uM18q}GY&+K^l0ht-zSeh_cqLCcO55PW|*_HbM zIGY=wPfn)^Th5&`Zv^xvZRLK%g0-pc!sJAj%^_bu=CGsOX}Zkg<ZHtaMi#V1msr+g zbtIokd@R>((c4J0U~R-3WHWWIw)-?d(6Y&2h1NyJ$h3`S@o<0ZU-QQN3G6=`xtz7R zBslnM9ls-1G}r7M_nqv%6<#;<N)KO|_QRVkLUCI3A1}rfpp+IY_s^$*cD9%_(_uEl ze`>Jm8$1YUc-{;P=sYf<HUYy+yuAZX78`%a`?r>7{R-zmfSYoq{_?tjJ{A>A`6U_n zo5%g34_}RhtG3ZcAQU>!AZ;(Y-PN>-e`$wyXx%+Jwv&&r$XX-+7EGcwD#@0o5eKRl zwmI|qR(R3`+#oYTEUbGC?E`!)tOm7m6=z8KpFsZ?84_Yz3_LWR@l4AeV7<z%X~N1? zo1&L}l7UKXSo`DVP!YSZm8rijM{R+tvTv`(;|U`?I1o!QHZ<`K7z<Ax-AXM@Q~#3v z<MX<P%58x(PA;8_tyT}PjH;}5lxef#hrSxS^a9sKr0^H3b(XIJJW$VJ0<OO(dkh;l zz0)&Jsp$!nWK2A8q{Lth%mi%PeLs@key{5>za6XC@W+bZjjoT+lb6g_$3M!=>!l(H zrhQuMZnexuFU4n9;@D#n*OJ22ln0BHl>-~P)frxTA+T?5VFhO}utv|!SaDdx0Yzj^ zA23jm8UuQKo}u9cEC7b(?Be1Q541BZUv8qNveaGyCT^shn>vdH+Ib(s$E<xsN2a(s zOj6RAG#b8juYp*W2N&IAs#rMIS{BXm{^Qk-JMeCawXr0(8PPnxbBzDQ-vh@ePatNm z)k20jpXZZTDV(Dn^>!?t<zZrYrM;zW4IN(tQFNFQX$;R0W-N`Ln7P4PS%{t59%!Kp z$NT9)Wl5zINvK3bUf5j#xy<B&KIH1U>r-MJ8ZYJ^mZ%>THLioH+GA^X*<=x>i}g?R z=iw>mB9$?^ESc!cq2SC@kMUIw>mngw{8YBO*;Pxu=V<<%tusNw@{!7Q1$-2qR3^;( zBXF;3O(a$?mOEm96&7qLR;D-q%kh%IRH8#5peAKpEB~XYXLi<Knj=;G3lVuuw%NDf zXab&e25>`p^TW($%=!BDZ-n|%#)b+kJ>+0DJM(5UY2AuNnTbh2!0xff<zn$K&9>Jc z7ArYqc(aHu$Mpa|A6i*OsB+|#<J*uVEJrN!*2@IrLa4f!HE0tELKayx=2WD+2DM8J zI%)3wy3RHm<-hEw$icn_CTgrD<w4pnQr0edEaoV8YSex6Y`sMWh5C|_#sVQG%v8LN zG6yQ$hj*+Er><Vzxa|1}>X70PgA>OmUKnCBPrEzpa)E1TkZG+w+2FIEt<{bTjE@Pd zQrc8cr-NaRNoh{7tv?%(bb0{lP(0G6YLMPKbI4T~jZ(xqRlP;f<oPDWZYyb>iDIod zmGEe5dO(hnPC%pgdEUpV5mw}}VT-r^j^!q&@3V%A6w>>u-I}qzO{w9@SJ;4{pk;W{ z&yL({u%Eap3IWS#+kp-q2U*M@0w%xGMi<uNhYhvG1t5u%uZYi}i?iiCw>77DpjCfl za!7-_d=_p)qEKy)duEEIC_V379?q!fm~+_&FzI;vic~$h?0$HP{q-sI|B*|4Ie9`0 z{b<yZ5uFwx)V`c=h#uDN^c}a@Octg~viW&5>h|_l3`4A)AHX|(PAi$VI}v1hca5fp zv4jq)?9q7RUvCysmI=8g6dhVPlOr+&K#iv@fytcoFXGX7j~e1<)@X{NoNLg&d*1~b z+k?+@0E*tyIP4h`R#GLk8R#^ra3HO>=9D>>!V$o=M<)oyv_o^vxVKjOg1K5;286J= z8>dMh`dSfS1O0k-uf`6`e+Pj9tqqA<Ch32`FOUn=hxH7;i=Xlj^HNXqnQ2xbkhFsa zQ%B+?#e~7uUYylW_L9kk%(kWq4;$`h%VQJ@m5H4eur&a?Ogc7zZP0(bq7cYqvZ4i- z|FA!?8KZuRRw=z^!`Tg|aBljAKqRH-W&xKj%RgYrq%A3$uAU)g7e*$uc;HSLD|$Oq z*x+?8e{|b7y0*CybaDFx4LIF1uZ+1~TkuA3&rxDzY1~?m8rO=#!NXn}2}Pg5Lo!=& zIc$41v_=L{pb{V}71QVd&8K2xfq?88k@Q^gkp$au6Wjr_5fdoPbq41#g{YK+N6-27 z1&o7e4h;YDukNQk$R9L+ijOTQ_QRHjz3_T!G~xQKJh;w!=7bI8Qec;;(vz-S?{vky zI3=ZSP^)@#8BOJgy}*<58w^BQDoh$+gTI<8g>5%4eQk#;3@`k%Q2{PY9l4^r(f$cT zmv~dA&^52sxM^c|ddPu4DOVs3`YVKuU2$Wod9Z<e)_-PL?Pd9-(lH?0hv0;rSqZjf zHUKKs0SFp$a&isKd4ihWqy2|7J{JLv1%OCp<zU9x>GxA8cc!@NF?Id+w%9UHTg01M zS~U#{q*R_KTnmF&wsib2E~YLwh)upoIV=&h>)`^cK%%wb**at|eK5koGBN5Xm)5;} zYNe1LYr<X1ymOi#Yz`VQI+=umBPC^(ksyQRt`mEGke^iQ+PL<y+jOu+*scA|+IPOm z%d(cy!oave&~VeHo5q{HWRI5y&;uWzrZ2CaotJ5gtrV&~zAah(0m1?y0X0EfY3C{l zoG_e^njD2(r#V5Z%iff<H!OCgJ&lgKFIt~=x<hE&^?lXzZP+Jkd4PoVgFl>C5R|3$ zosj~b(`|o)94b=X_m5<`!@9Qmk|sb9pz~POh*aiYyJ5<sZ*-kSa(i~NZFXsKpq;T_ z*bf2-Iuu|u5XJCxb})ll%`Oq??mxg37Z$VsQEZnPEu>Qi{z;Vh6iF75WG;?9gWr@Z zr63^9T-MDT`oD>lW*Z{Z%RJdci#KTVn30IBl>d#yrqz`@EB>naxBbXjYcU;2)#&6a zHsHBHo{>}J$(?THqBp)nnTI0$xI0^>=m-tLX%{56vib3Db*Z*oUlO8q60Au7(G(C$ zY)y{w>C3TMSGVF9G_;R7Je>JXBpHfgL=YFta=0`ZE(?&E56Vb-0bdKaqG!?jKXb!A zC_ohFrw2+pp+ZHIa&~z^ngprOKFC4H#7rCLwIQmI+9Z8pLv`eaY7nuaG`sdhq^#!o zY?N#-JKu#jZI}N6b15zg!MpdxgUqY|(8Bp;k=ou-LS-sukpku3w*Vw+*upqfP)JgK zFK?DYu`#;vx~p%$VK#8Ra;?{f+@>5i1MtW2O|!rs)^0U^CGlP70uu5sNE^K&&L0@< zGOXGcdA-MsvX>qO(MqMt`m2NefDIvf;=)y(`QD4C`>ddfg4x2wB^*O#z;o!t^Kc|Z zv*OkA|F{5;F29X<IHE&qAp=%pfSYo;6D`1Pn(__^PJ1dP-_Qtq{ZhHSq9>J`{{<{` ztCtV&Y|j(n3nxg$B&H;`S9``A22;Zv1C41^dX#dVsk-c7Ns#8L2m}>W;5Pq<tQrc% z*9gIccr%Uk%Sohk*@OtlhzNI7!1B)#U3lNDetEJdLs|tz_?(*8Z5`3NUb=~xI!CBn zwY^1Yy$FEUUpU&u(%Ucp5PftT7d!pI+moWLdfV&_|7UB>rU0MA2`#8yLThSD$!0X& zw8@Z(p=y0oq<nTX!TlaXxXyyt6R$+Q%J3mr@oqQL6Zkm^U06Meh_6LhZz3OVNnRQa zjCXs@%d9Z7CQn;@ke^-CZ6NZ)pQ3Y+@}6SqVFui+KaPCTspaA~Rb<A$`-Y{aKJl~h zaE3T>Y+SfF?<(*3r#3KW4_1&oU|`My!675-KxGX9<GE6-d(Di#z5NSHN&({Jddp6H ztrb%~r|=JK+CA%k6?eVGPy<Br7l9V!?K~&8cUaNM0i*F@Xnl7sxvDZ!rONv)3jV^r z*^wtnV5QRQHb!9X-1_a+o^0QV2NpmtQb~VG*<M>U{`vEk@PtGf5I~<G)%@EZ3+xil ziaS>`TL<kktAuTuB6U@lK45#+CW@wDS4AEnU6t*+W5;zobG8pSYbbM9*?oH!i<JkC z4CnrNhDV?@Jy5FOFADds2|bZ_$P>KG3~4Nd7zjsx(cTp;5fe>uW{u3pJ4cV`-)DI` zAG>_M7d2q)+75fv^g==yDk%%>1OL%83MKi$AmclaKWomMi}&s&9uNOD+ifn^rH0B# zPl2lI^NI>`KKFx$EM5GAP~~`JwO--pi|AWO83-WwpRikWu;X_9+|4P-Pm+9@%Bz;C zjc{wmr_ZX(+%7f+gKRi|sUc>MFow_sIOLT5sxcf|sx}x11Nvj@TAQsNkwCsovg@DC z3SRxINp-G4yGqz0(9s;<feYKH5h5dNi)M&E%n(K~z*9fQV=Yvw%)LQ8!#biF?obLH zMgCD_{2DnnE?BN$$di=TQ$+?BA`zPWBm)ee0)g?zm+-!6N&vc0)tfkgU$qLtzFb5> zgFNNl?a#_sYArU{F5~p#Mmk`ktfHRiZ?;~OoGG3QQ>qW^poiP-80%h5qTu|a_NECX zm_0=!g&Ub7B^pb|o$is<n50sq(}-aPI5k%TOOxD9U^UZg`8^6|Xcf9BfkebSZSNar zAjb>r8Ql(4e+LNQQzTUiwzDN$!7~TwZjg^Ny%nWUMT-qaeGEEnH-dr*VG|ND+*-VK zcu#g5Tq=J^?DdY@fY2iRN$8g)dnymWcw3sa52L{tR;D>1U$LTM8~YT5$s2Wb`DnGp zx%KYPNe?C1@Gm;ki{J8qvwO1iw|pWD<1<7i&~(nw3g*XJOAOjVhWs!r#Ua6Fm64+k zumHv(FQdlx9iNE~P@?oc7>6A1S%T>>l`mP0-aP-q--ZR4ZtxpcZ3+u`LdA2rb?cjv zCDFz~oD)?&(l<befgX9^3C)UCNb_yI7vtddconKr$vr-_yP4Bqr5!;!QXME&T`->< zG=;Mh?sbDmzH!BlNU!;8p}`ZoTqP}9Zcc}BQve7*l2-y7tW-w70N?Ly*+PPw`7F0# zY(|>giyMFf_7n&!rbxm<WIrR7(u2<P(X&55?CtU2;Cl_Qlpu$A)m*%xC6iNvEBp1c z;qn^RR%Lu|KbOxk37;O#{lcroqO^C>1;1iL7W{CEM{#(kHgYOD00*e%JT2V1QMw3q ze9D$82jypJHz$7#D35WN)-P8F@+DD!b;JE0Xr~snc}s~^p2~Yxfg$D>sbQVv7;V&W z@98C@)AqXhx(NLnHc5jfF=OkTT=EgGi_|6gHEdM3fCn_+vepxPgnRzXKp(&Cz5D)% za&s=?8@d0T*sCSHnfT=DuWJU*tGK24AiiUskaZ=R2J5u$NypD#VB?C-CJpCH7y8)G zl!9Wg$n)F~OIX())sI>!n)JZL0HI3A-rW|9UHd~vDN4XNtz*)ZRR@g0_Mc1fI`GWN z?4pN?iq$*HqAg+^AI=NEgLo_6WAR0B&{K6s?sL*$q{}p&B`3`iPK&bdbZ`Xl3CT&S zUT^3<n3)kdW#btcL`qfsAn&A9ymfJm`NhD!<YZ*mXudS~QYrUW_rn;&YwqzvCk5&> z#0&EnqVS#N%|C!G&-JJ7h;)<6^&fZuQJHeh>YW^95+eX^#s#UE{QBF##6kQxpu^#1 zI<td)UmlwJ?{E~)?NiSv?inWky87`$eQO@Trad2kpEOT6oXLd&(;qeR9+v#>v*RBw z@m2F)b2j*-L{|u%-bZM`TC`>Cx^(_I4qRHMTDg7#xPB#k3)=8}AO!5F@w)1O<b>KR zQJzzp$jGP@^y{ae3?#~dS*s>)&p(O*X>v@_7{TJf4q$Vba%94eyIkrihec|rm~2)G zq3{35`U<Wrn<&~Bq#Nl5=|;Ls8l;g9>F#a;MQQ2o?nb&qy1S%Hx*P6%H`ZNu-5>DA z^UTbdbN1P1@3ySd@#W$KH|hPY3Rp?84t892W6)R%%Y6rK*Zk@|Xb69MX~<x)nDw_1 z>A`o_n!_tKr=VRGxy0)1kL$H=>Ks<qKKq9gt{OJbS2y1FdqjjSr{9CcD6P`{ejb?Y zQgB#yNjZL=IIf(zdWybPX0T*3JcDaDG2}e9lj(`-KftDhpPw$_D!p}HijGb)-%Q>> zHKaqudJdG{VZsfCteZ`B9ltf@2q}0%iSPYcIbq!p3KCxFfmsIw?KaPIZ%D(RC=%U@ z>OED7lNc&h;9w89)Rp2;#|YD2V!5j)c<>MTh0V%>@N!UiEFv(hGE>XFgvEyS!4XlI z%J;Bb9_{U%7%+&rbmMS&@tv5tbP2Hqb-v_ORHn!jRE~4y+6~A)EJ)PHHtZ!ec3H@) z%Lg%FC~IFfpjoQDlb(Y6@6x=rN$MM3{TP>8EhbbzBJ%)-g6~nL{lI6}T+%Uij6;xs zV5i|y_A&JQ1y>SP?6`Jr!Vs`zi;JSVIJAo$X5PFJBK@yf+?4bOS#+A%HOH;axPQJ? zGa%=ED<0#M+Ls;eQgxQ7de<gU-B#s85gZH(_OcxVd<YOo8pl&OiYoP<_h7|k=p<DV zdoraln}eKN?%5L<JPW0t-+77!P4|^SQF$$KYyPD1u3(^l*$9tzQ=QVI+em8<bsDbJ z4Wh!7TqB(|#9urkHxTV(*X}G=pPI0ar=r%#6di{IV68+bt0s<JAOiAnyxdNDPbNI9 zs#+B*THMb+gB(q=TWHAot!OLSN3PBqkRz6XW(f(2J3wr4pbvY9FFZg5C{7%38jE{* zL`e$I+IDpA28f&f@#XI6*mnFADjF$wHj74kDJ!4fzvB8!$HMK!7=O1bxC{nb?-UZ7 z`7;y0wz?aM3qi3Kji7+R@-0nJY(b?37dY#1unRC~(!q&QX@Gi<Qc!S3L1l(YHnvbw zO6rB*VvJZs8*Y#qc%pR3A;=Pn`1>~Xq=VO!n?9M18v*APg|J1ols#QK1@Szh8A+f} zFD?GHaEDj6KvmSD%ntv}@%md?d2~}0xa3}XY>csB;saz2QWeXnqGNZwioJZSvQ_9I zU3E(;urijG`)=X`qyHg5Ouwz@(phrk6mp@Yqce?YL+t`U%CXFw@q~?S)UgOsJPm-3 z$62NRl~b9C0_boD1qB6bIDV_KM>XoWf%nx%$E3c>URuGMY|r25F5Yx#WSz1F1&fZy zXwmchnksY}u8sHE01^!Z0|Ws%opiz~5+$)=cypdJr3uPq*b*$7jyqv}>(0(lp2TLP zZ{Io#aB{k`Nvd=r2AzfeFGlTG8fq%pDOX?*9YF*Jb#vV%v0=D^q5aIlgQDfD#j3{j z{hcaNDEehJ0S~D2?0SY1&o{h%1p|zN{LI|=bag;_CC<2Kj*xB-y=KgsS*TbPOG@pn z?)|R-<`c^pR5877=skpD+XXDec$P?Kb?uPNOo>{Wu+I%cllfL(oja{2S&A4N?6*GS zgZRwM4s-};JL3S1Qz-N!Y*KjI&(CJ9=p>KQf50gF?((7;h>OYW9Vzur(`Z(wm^^?y z2Af*w3kB1WPe2`(@6n{FVYt5(;X{|L*EL*6aK(@FV^~aCR}s7oIuax2H=aY(WQ2q* zNoI>^kST!gbbSB*ecqH{;zJ^feyWtp3>m<k=pxR;2S_+0b=++3hjG(A0qxGa7kPzl zag>@T@(AtbVpO1nb)?B;VML}m=|4;=cb4v+RKKj<k(%IEx$CvY<L{S`8V+QynLZA& zX_K<>^+)ZP1VMqdDwyfNRMfv=VHe0ES*w%FZoooGc12=2LJh@G_?!yqW>2WfdBm+m z_>4bFZ_ws_oR`(D&w9<~8Rv^ne@wqj-@6yC;ezcXDCX*sh;^;BEYj0yagCTogq{Z~ z;t(V5v^vO$2Y*JD=AS!&7YZ4h93t7w9X|<)tW9HymPpzU4*~bvv?bfdHQp#9U^moD z6K5qwV8h4*)PvpQ3hiXPEiQCCvQJQ@qg#SK`1QAcmt6AtbccR<PJ1i1PI`9vbGi3} zn{RN7<XW1ZOdKW<&v-yW#!ASQm>lj|UHw<ahvu<%cZ(a|2ke6P0KFEpm7&~Q{qDif zGWt>yU}0Up52T=!jw+8Gw4Ys3P>xxs(YT~D{~7W@dKyRWp8c!WkWQrk=KlGWGfw8~ z-Exj^meM3PbqO3~5O2rWqvIoy^w}eN!FvINwZ-O2eqI^1ol_!0Zd=}HjEi+Zn3GdW z`xC;V-_jNzAAjZN-*E*4F~5*`Nf!3=E?%{7aw5LP4D^VU+A0R)w^z=oLP<%d2Uo{I z&(i(Bs}N*lG=XOIXJ3b>=Ub^3vuL7VIL=u(B2Fco`?ge{v+ggWPbb!KYGyMfJ8PJ8 zk*GW9Wb!77s;gzXe($NYbo1Yk3Ao!9F4~e(4qv1Z_b&qXB9yezPoKH`!3!y(8-j;0 z;c%IA?F8>lRBB_n&l-hB>C=S7w42@ArjTru<d3j3egxWuK!i$rxl@xeON5~DvP5`> z#k||Ynk@W-^i;ChfZKr<5s);c3}o<IJ6kY`9)$eGg!!U<IUmbrJyV<rq6q;!I;k%l z&O`z5wsquAJJycwzYNW#YyC(w?MD-LKn^^4T`q-Iaajett%u4-p`89jqgabc{G7lk zQ`&5tb6a=y(uJbC8nBosAv;<tbNbn8+7$Y3E$6PC1rm5;XC3Po%EImv(tc_UNg7_p z30%{=1uxSC>?Ae{Q?5V_?lij*5ZD+c5_apxg>_N0$Ido-%Os?1xLyW5Jc&4MMou6B z{Pc0fv;RbfE*5L~d+M|oStgI^m#>G${OA$5i}l}l^V|@TDYjEl(hR*4{`1p(LzOYS ztNpdnI>c%+U+foNm%c3%99rJw9Zv!0h<%esdGUMt0z~ijmz^;DVe5t)Y)L1|g8Cd_ zs|D<^@L(<JEDSn|PDi{1*!}grLx7$&Z_tnP_U6@AkBN3^vz58RL?Y29aZ;SijK75> zOE`W5O5-t@m}5AMTJN)!D2WAQ$3~!F2{`xv7F6N|c2=LfvH`Lrwd_AMNRd*OL0nAC zMDVQM6UFd_E?9O(<8tdENxODMYIyh>S(kx9x8CEM?qhdW=Hb2Je+Xt7pZpGvnrmgX z>{h)D5(R5Z<@<ZW_rC<;a@;G1O&GnZ*(&p32X#%V{Wv=LKuWOkj!ve^D;AvZp35g* zxsnW3!m~fplu{9%-!Yu8rj<m5NC%u~6w|f(tsDG5B6wwP{gMVZpxM>_<cLlKb~knC z^t4Zem*mUMY5{H`T_RLF(U-2!tfWk_@e@=O!brzyKcc{~kAz<Zo>!|3hm<jJ4B7$? zCs^QW%hzq$TMw6uNUgB2aZ5=IruLX|!~0FyN0qU6WaSPxz~=HOo7Kr$3_;omXYJsH zT|XQ6NlAvX%{v>Pww%iI!_>XN?P<m=Bouxc=)A`t3{{SV%?61orqktJYS-+>t5s~u zW-R39F%c{x^?V3hyN4DXwQO&*!)r~N&kNRdHqiDbhRr}P<ph4K^3c`5<W>lG!08(b zK`z`GZh@<D_8-70<}aJI#)R1rh}zmsRw&%t+}vb=vu+dT{paXK=Ii`>e5@xGEeSq~ z((|#Qa-lPT)lRvSrE0$9Vf8M8+)>DTReQ|=D3B*c3=mQa>`O}Sn<XmxiJnS1%KjaL zgjISlgq&~n7ZFDOQ2}muAu;1e?yaN7HSujW9`xt;zNc^Sd2AP|87L7oN3VedXqCY# z5!)jgv4|G|VPxY-+77!wPn+QFT(C4t0zWsyFt&75QMf+;+>H-eTxJP5dz<O>;RLtT zozJDVd29HBPPgTJOChuo8)MoRiC8K|3e%%_dbP0AFX~c&^11dd#8=4Sui!30ZoH~- zgHGu8++SfBvA}M`2mC*~@_u>>8|o%Or-iak0WF+-!<`?YOELBJuCeh)k{!L%&^#+2 z;Nh)K4wjlL*O*%53FLl|d~TiN`s$W8#-@v>Q-O4QZS@Wrnx~v8i-$0>HA2cHKvKmW zP!p%XizoUn^C!vBKSi4US*PMtXZMmjm+geL`g4nGm>F)1h_7G<Lp-C~V?kN`BBr<R z(BF1=ReAkE|NRB(eTnY>LS!fFaRd_qCN%;SR96hV?&qyJ4h7b2L%$j|N15;Dg7Rr! zdW>tfvBb?8!!F#(kI>141p%>uoRRU6ajx;$-AB50^#!lriG)g)(1<-{7fT#EGh_>0 z_F_>fy~B4sj@6yr&Wkz>`kUZ{oI&e3)xTM^ILM0oXf$8ww9g|6N%&YU9MTCwo^`zK zBAU-X?((Nc&bmhzh^OBSiML8Gk;<P&g%AvD5H4h6XHLWPmib#($J+Ghfn7E-<k`@3 z<17ALV;Mb9s&7$|RcPbU+rL1s4@GV;v(~>uaP$d{SkSp-rnPzXQ56C`RiH-Fne}lz z9#ciZd_}|Cy$rodv-{`P&S>Fl=;H(Tmrv?E(8>iiNL6p~@OZLRmt6kMlw4~q@A8f* zB6xX#X2D3<IC$iURr@S?`V3KelFyukA92IKX0VIjD?48bDlJ;rUQihtsm1#z>}6UG zXYqSMueLT!Ij^`Oa*To~>9>(1X>-MZ6q8U!-WKAg;Nx0?T&nDSW~swx@r-_~BbleY zg}^+Xr{}Q`?j|elG-lzfQvyj9gW5&gH7Y79w(0u@EheM_*C4rq)ZatqTqFAv+4jl# zv$gUgBJS)N7~;6`*Oxm^Aw{*$de)(Jt`&&4WF2&T`ocA49IvsNDT_$fAql?Ii^XEe zwZ7M~<_DX^(nf^S`gp`lie_dUF&N@>6u*zIy;E48HhM!nvg1ql#xh#Jd=(1s%WYh= zHNlp=|AKLmF=*;NVauKM`E%NP3v4;sXg>>BHI=D3=3ETi(n70)Fn%g6AG;ofv^nPI zVfS4=?0pI7Zl%G=NKSif#iVDqAS*nN<yOC7iO7GikoZ=7@179EL15^NUvR}Jsp4Ow zQ-S*_Og78!W)WAe<fb6WfZ@l47Z*+lxueJJKb5S-XS;6mgb%<-`qZpJg;ctDzoC>v zI@*wBHq`w@_WaKrQtZ<#I<%-_Wl+q!mJGZ<AZT5Pu=44YHe>gzMK|sSUHx;1Jg{*Q zlUJ^k(W9u%B2xSwx)hAd1e{H~7`m`DNVZCzlply$+_lw2bX0>pX3LeAQ6xS?zSqih z<HB>ed#t9Ad6~o#*h;t7Pm}&}@N%s*5TpGV_owJiQkH4K@Z4Uz_xm%#Qbj6GRkgKX zCFjBZ4aSJwcW#~o=9b1>+VVl<2wQXopCC}<rIm%IAuv{OuE*-3+V3_yf=j^c+)tIL zPYz%yv$0#z$XNCJ!|Mk5{>_c%KK<2EM%w153zDzd&kAS}ie=r7`CWIkJqME+ygD_H zVLCC=i_^VP8pSkhuAN8=$mh<_YtUWADtVbSA+{+X;-_3J)GQw}+j1|zm9sL0JS)&l zM=%CKG)SVUyw*rxHwX*q^KY*m<i;`tkR$QcPpxaeQ^*{x)LP}Qz1FSx7O2}mL%s?B z#clSouRX<B-d-*tLt{IGeuWCmwaJ$I(PyjzzR|Zq$4>;r1@J3?eKc1n$Zav6nSo+7 z4Q#B#)Gtd4#VOE|nu0s0nx|^*ZefRzjhp`g<>A_qv4qBxr6e6=tI~8m9&E{trTVCg zw09@*bes&LbbW4Z#kdo>Rv{OwJ<kfgqPN#}K_K~&vYGACN_2nI7lMezf+7AgWy#q) zWMZ*B@RMKeV3;MTY=k+h@M9XTeS?mLvRn~km@)WICJHoaUk_qyMHA1T&!<!FTW<>4 z>K2Rr@q<tpO6TEA6tjf&^NffK%<5=fG`O8F=*3YAL>62vb>sXmxBLr<qJcdVoA)+J zDtYiO5u31G`~7a(qEy~wKHU%zM7VnS*o9UpQ*Zail0Rci3c<^4e<BBJ7%cVgdKA>j zsaRK92Kr_90#S?^_#u<LwxVyx%kDHucd=)`4~E(HXES#{KArjwzlDYltf_L{0qui8 zZL-EPU(<GJC727AKpF*9cmz<qy%m>Als^2aYE2X3`*hs2miQ1gVqAmpsmv{Z{!m|> zULQDno&b|_5!Jb7b@s67ooBX<EoKEQFSxa7Y+|UlSXd^4r0A!vUU@`w=$DTvwUx-1 z3#2RK^3i9pzc~?c9Xh5oG@9HUEh58wB1<+H0Z}dsq*>_nVYT14ei_<vFXMxWoPPr& zR|nJj5aCJdhCdL6x>Qwigq7?s&tZueOw6QJ5hk?LKjaD?8U@{l4iV6)3<q%JTe=j} zhXTio97l;B@pPEw5fC6J$ICE~{iR6Rf|qiUfAffazt8>Z#o$Jb)tyjPAt0%EOJT}D z@mnu(yz^p+(G7t@A4I1|H7gODrsYRV&eR4-j~<KWDad=x%u+sRh^xd`@z@E-Yc)Rp zn{5|9zt@wImk$^6fAVy74KYwHdkPhGz8Gp`;ja%D(<-K8y*tL3CdrjsKRZqjMYV1) zg2iA<5dlWx{Qr%ZLBOpJV$`ax4iT8Td;F=ov;zWD>9}vuY<x1<0VR)*JZ7FEo|u?i z;yLq&!_=Kx2GaYJhZ;q<WGsu%y^EKN;N@%Z(3$V0r4^AcC^wb}`34}feBPzmy;bVX zwCr~~#@3xTQugavawlgaj1*Cm(^bk8Y__rzIlR1oiQf9<885CbKtYl7W7Yokhw4K) zIYM;msCjFjF}=Q=(`;YCX0s%4rjA*>EuB7o|0~&@09q-nsIX9Kriw_%R%UHO-Do1o zPQUG56;Jr{9By?~;!G7*7^}HZ_WYrG85F0v^%J2~B;ii`yLs*yRqyCg^G9Y1if%*0 zexjTZjJRC7M$yrlRO1qgX1|Xu?v=n<q|k29Qdzm!<8ZEG=O3xsNeEJt^xtY5hatDJ zaEzdyFi)k-v3L}?NTu~>^g~CL{RXpE_q(nYqJBklNBHP?mLEk_zQS8jev!)0YQUo; zsQJ9hXq(sG*-H3qN}kp2O$?94SUL%{*I(lr{PIs_Usd_zwtfwQYN^?2>rc(=jwZVo z+W5-7$gxLlEuQHFdE+Ox0_+ACXJ>I^8(2IdD@R#u{u<lE&HJLI-mU9Njl;LYS6%^E z?X48T5vO+Gkl859-8W3VB_qrF%$?S+EGMFjZ5B0ao$<Lw>&gB1uc0=t%NvMe6#n~M zwv2ge=<%-Blkz=AmJ1caIeS5Q*n~m_A%v=el_<d0vR`Nux^GEV@hrwoS>zGe=NRO3 zHVvs<;4K~gn8TPyIaBPl;%6bmzq2(uqVyH0Ms)f={xT@SDZCVft8E-7j2m>t?=njp z<<6!W*JZ*5?w3CxH1XToX`?sgbYTI8KP6i|0G__nQeC-e+nK(jK9*sTbU0n`0VQE2 zle}n}K&QyvaWdgb)3KRe;^X3_>NnxJD4+3{rnlc|e)nd!MFwmfEawIX&jjQ^b9w`; z&meAaCK{tw2fJ?v1PfDH_5vKq_gLb>`0S=KU+ce>?vnM0|1KhJsp8}CQ^_hfdd&$> zm!hnstEzAo5Qi)SxqZisjA9ufmV!0kENA-F?mh{kF#T_eNzgSB0)~*g&L3}nH4w$| zCdzSWT7lB3)9*3FfVLEG9oKR;|5Mo(ltQwAhkXrg6u<-k8+r$vD*5Z%6#z+`Vn{mS zfI5*%R_MQr#2l-#1(;+cRp?|5j6~Mk;f&JPYM$MvPrm00?|gERHCrQx?h<fVi;O^_ zO{_#vxQw~o^tO6fnJt!#5vxNIt%=Hj1!ZuFPQ?i_xdL_{7k64kYv-QG>(eEt_&_Zn zG~zKD`_De1H>h2#&Nf+mFo*Lvl^3(LWP|vs8R#+*f6g5~h^x{#jE<V2Jf0dI{I=K} zt6bzRQ=@GdE0Hsu=x42h>5Z~Ki@%Gm37`MzxN(l_d>Ze=m6-Q6JEWlFSCtGvz|&;u zpSc7CeBwLz3<937jUeOJoT&toLMBbiHo6saReVuI;Fy0)88rt(F7#^4ak@WO^sEN| zxfP|%VskqXLRHOwY$K(A$3OKdm7>~p2s=|+D<Cc&$YXdg)TgBP!H<2KA@6lDi^nhK z<gb6E04#h7Pww~K-f{u~_wr$I3nNk}smX;d+cv_!<il}raDZFz;s_XvGMM_$LLlDU z4ywIdO5)Y^PuI6rgqYfKCo9b^7G8EWjv*74_aD=mXkSmqe`0#)Tj&L3<kDdqM3;wE z;ON;d{65H?NK85>s{KD)07@7bNZs2L%15+9CtY_cyjMqp{iPCa|JN5;KbdOtpK^Vg z2df3k$C(9mLnfew&s?iKdhD)CS8$_UXTCZ!v@PdDMOkpAD?T6?H+Xdiu5{?j@QNkd zg<4AOK8E^*Hd&b3T9*xH*$uAe@S(2b9OW{V+(y$E&z-M|+3^g9zD-H(v@l(lFj<Pt zhQ8i1%X8it59ER7U+|0AK=Cw$)7)4B(rRQ-pr&x!Eq!$O3+RVlyisYnswIC*ikqM3 z5vOcOeePZo#hC0^bo~h7g1^WvME{^18H!D;Tur_b883Rv>)AF>_Q&~hWx`rRuA+F8 zF=*ID+7l;(&S)X7X~S*WnHr<j5MsGjNb~9SCcWcR{pWAp*{R_`u-~Lc%NHVi=G}gZ zb90Gj=v(tXaQDAdH<l>CT@u$0Cy+@t_5qa4%ut#38Z?qQGj0?Kkr*BlztDuMP_!w& zeRq6?{bR3me*#~%6G#8%UiP)=ixuAhP(f87T$AS5d474%Utx_mzI7gmq7DPH>Y_=@ zBWVQLD^EcpB%51KkCT-?;(ji_`<*1l5tY|amBCuU?e51^j&mMJOv-Uj^Ce%%p2kiG z84Nz3IOK5NPI!w4<sh~V!&Cf&ydx)z1HwMTX`1)jre$f7dtYfIK?)>waqgG<wwEZh zhAcF8%NvS7`t6-=Tka}2<tDa4hRnSps9zuuQc!HTr;Rp#Q(a2JaE@NI%>>+B=o_Cl z4GgZHA6P|01-q^!Ts>|WFbzY7n%<DJ2RdG<vIdK$hy4X%DFTvC!EAO9CBc<2-HtPY z54IICtU<xE$WV7xX~qZ?A*l+5_k!cMZBr*!UgF|Cc07XSS3ux7EOj~{`B8^6Jfu_V zsKD&_8`bYWb0PDGX0cgaLztw)!)|H;0%n8E!Hyx;;o4`A^*H*ll4`p5hGX7=Sr6y9 zQEmbmHi+z&)%(N!SEqfetKvl($J52Xc$EM6+d=IzL*|*EK&fz@7oVBJ<M3Auk_<eS zL%<D^LpRhaIF8N((#!}c%4PTCCN}%Qrdx@3K-!xirwGEUvh{kHJ3yx~|6}v+W;*na zq?Of?aW381ypC<DKBA{Fq4zpkXu>>3u}E&)OE3}%yNi^^KE2nLTbDP=CqdQvzlu;H zm6M(jvOAXH6M_*dX#D#-gWq^S85ZHYj+@Pi<wY+s2&j6Pq^0Kzb(`$<dwWP3rDeEu z{HGI1_QHKdW826fvzBuE2(a8X1((M)`~K4UJ6u~?&g4^ns&>8>ExR1PdK#>C=#PYg z9PBg1pJRc6ux`;8sY?Z1N)Si{F`ud=y`Ld~9Yj1%^b$tRiMFo219rV$G{L!D2ZOu| za#v5t10LQ=Mftm4+KXj4c8~({z6xY*sJc-K$iADkR)o+X<JL>QRTA_voGLafmDWR8 zz|)<&<+K#0OHeSUG}H>-gqQ<43(HCUq@{0=>I3TdC33~5GABUaC(PVi+u=P~rTFlT zE$+E=m;c?0z2U9c8@Y-@6)OAah>y#$_v_?uIG~Ko<rx{}bz00nsQ!fQk8LGKQd=3r zqq7v%A?!ZhytBRuUfD1?Fuh3<ctg5mqb`Cnj4Nn&XL%85{+<h!u~)or6e0Ub-RdXR zfgi*P)K4=Q;s)?%ei{63CnG~cEsa7`4?`Jd3A>y3@p|SdwG`ci7(F?^-kE6Utm9`Q zK>ZgHa{QK4ho)Jd8HSw$J$}#)H2$qWlI%Syd6ULvkI})#sU?WAPRizsjuX0QYrrV0 z$|^2XI=rK!)?~lh5kGYbrZ$or;=z>+*8ZWx|D#!Z)T*#aZz2Z*D(bg>Mh-qyXxq-f zfC`;krDSS;)oA&H*LY=_Sac*<iI3;18Ny^;E=RcS#kgnFd(qBw(cH1Cj|*;?XZ;`E z=o+nkOL9ByyFMbstklPQTdoZosFBsh4x*GZeZiWknOP(}TRm_qe?wQ`$3-|As9P+g zY8IQ3a%_AfFlD7dPAvngVcJOBQ^s`Xi;xwY8jAkv@ZsxICzk5Oq}gLB<^#c;j}DL) zG5Mlc)KWfMEDSdRi-W=4zH|aq*~EzZ-7FWXH~d0ka;n-c<VHoKpA9Jovb~R+X_wz0 zKb$X<_4~fBL0xxl-mR`3ypji5UVf$4mFp<(M@lDdKKMa;zW=r@q^sql#o5zgxKNot zL8<-9L?_a8NQw6M0Iqm#=Pr#xzZO&xrX?lK*BfF))X#I|%~~s@1mXT75__X-TLVLh z&LsDhtklt`nh+mG+qd&<ZvSS!*VosZpoM<OqZ<;FR7rOK{K~WC+}z_QY_SXqPWC|z zMgF+2^}}ylT+4TE`DAkkMiMc5%@+<GTiO=dSz(WL<|Q1JyCgr`ldc`~-NzHBrY0(R zW+v6^*vUCMo)L)4e5JBD7p$TTsRwBn9}UfJWz(8}tLy5YGWsxXOfFa5XomoO!@spz zWp}2qk@i_X4B8)kl9;rIj*<smHB=<E+pJd)Fqu=OoZXCrL9<Jwz?@h~l%6`M)bo^P zxNBw{dZIDP=F7`1ClyDhyEwK3LlQFE_2BdEJdcch^hVuyCjq*VV4x)A55#Dhs{w%t zH#~dN(jdm{ei4k5epV|~xX*j{=Q+vAV)>IwfIs`W7fs)SnmI`qdfDydcv0Ktt%lQ0 z5IQ5zFSaKqb0m#dlX@>cq3T<vT`fZ@9lJg*O%?1gGtj#@+<Cm<wihUxEN+ejf@?ew z+&2h%?z$8UwvAN~Vi2UkL}p_a5x4D~lbdV4@4jnk(l;Tev~LMmFi2?X{290`NjB&L zWf3HwJEk8WV{!Vk@P%sS5&ALpd``1fF3Cf>4(VT7`!2ge<`=RMq$8h$fq7-n=&%7D zH{TcPgCvq<VT-iKM@e{W4Cg4-9YzQ;B)z1V4}dU#Axw~$8S4f=;1I1pDexr#Iac2I z)_*1pI=ynUp^Z<qTFi7b6;<}`I66=3dASZ}7Y666@!-Xl=XeK;2#+CuLflp+>^e`C z=2&SA;)*D^caFnyzk^(J>A&2`%*?DkHaYpfs!<!{u|q@2)18nv8vAwQLW@xc;Ww>c z;r$v8Ik9W&Tslmxk{WolJnk%8Xn4l`)V@pRVRku%w5;^qvTS=nOG2qh|8m`NV$$_{ zdzgq)#zvc*!2J2oirwGw&eg3ggbom6Eg%TC9S^ABvHlSEf6R|>G1Dex_kX&p4<mjx z{J!n}n0)NSMF<70v>u0ZcR1983{&n#;p|L>LRKeH(>Wi_X``3FkD-=WA^gLmB0!+F zR$o?oaS9(|!)UtxE<65h>#BW0d=xa&k`Pq#dvHEZ+YL?yK&!zFMB(zWY!(vYejyK! zTR5sl+}2XWq~UOlLq+6UbnieGovX|F5tQI|%J?hq>&(dIu~ok6wd>Ip$w){{P=3nh zdUMcQq%SIneLE<$2I0Dj7K<m6dB)xpwOv~Y?`{6NpGvzl`tXVSySB8QLKi19WiTqF zuuGm^-v7ZAZ&8+u1n)aQGU}D}&yM@>NTa2WN+7wTdaUp7Y}SXN;JvQ4q;(Tkme|vi zPv}ZQOEl}+X%?|{@0aQY170`k!@ayt<{|1o;y!`JQ-d_7jP7#GzdR@S^t?wzL~I(a zeQKVy7W(b967nx~>8+S6f5LsFiU-@rSnZk{Z1E4lF<D7Iq>yQYqLFB+MZU_c#7bVL z<u3n^u3ULnG9QOORP2*~&xJr^l)%u6N5N08p2ku7CqCX<e}_M{Aw7F{JGvZqKJ-f@ z!|VQJ6s^dDih=D3@yQ`nKs|A19+9FhLTc+VB&KWc&#Om_paB_2f6gSrx>sfk71<M? z_*~8;^>FmoT?xub|2P?{XX0*>$dTILjJ7#y#w)+3WzbXIG=#?Ks<)c1H>kSR$lQCx zxmM8ATOoz`fqH;k?f|K5_91fl_@zz9Y>@Sh%{&s)iLVcnTHa;HBJ;e%M1+V7ck{|B zjeW?yqO!`_VXX%3cco7g=Z#uNe9AHKxhj_s*cEEW5NIXx$Az}mq)OhXxF0F$t5dAm ziWA2_-+!JWyv6FpGXroBL2L%)wKS}NSlR5-pnX$SZalYo*{nwj$l7KVWB6F2Lsx$& zW5YTU7x!-k=sOAm(RhjdOM3jrF}c1Qd$Q^yI7dnVH==m?=WO{swwNd;-EucA^WbRw zMuZMrKIVRNX9|krKJ$-h3WWu+RM)*C$C)Q6Pbdx_#e+EGMjdX97^*XTDe&N<^Dk>^ z-h(DwUY*tw95m%yKQU@Yi^dbdwOr|>mVu6`Y@UJaFXhS|R5_DD0&y2gzxUM6c0&@v zt}}$GVvt{a<ygK6cCv|ZF$c8w9*`hqi?cq{DyHKPUp`TZfB%FLg16@XcwC3W_Y#0I zc&L_aS1N&u9)*z_cPLe!g@n|goZUSfl=N4pl(QI5jx2!Akz#UMHpO#)5jN^b@Am1* z_ZA;AGUKVm=Ct{nKO{zAYjg822VrDi03@)_*a^B?DV_IRAajov#LV}QKj8g2d&s=v zO>)r5*g9^_YI)tecMDT<H{vF_zo*9OqAvV{nQe~<P?9IZL{h&d@Q6!gwdMeQs4XX_ zJlq|-=E?npQ+%A1q`8$i`QRpgfQ1fk-|evMMyeF~w0IC3@3CTkD*c79hz-D}g}~k? z50T=QE{q*y_YRc<=dXFc{Di+QwjiR<1_e#XAE4FS;%aZZ===<pXLwEh6_Xl{W1|?? zi6_!uqhQmS2%1ml6BAkKEKPz-hY2a>w>9Dgsvn^+3=_W({)gN`@Xec+1=Qp^YjrA! z059OUb0)2hPCQ8R@UCX{n)rhlwq(xTzy9a#%GSrvm%9}sVf$6o<Y+y6YPd`W?(qzo zra6_3V((!7&eXRVcY5;M-Qzujppsa@{{>_r_oB>qI5tX?6s$}m!(&cshLegD=5?qS zo`Pjg1wyL6zP=4u<@m*2E~G_qqfoT`Ly)TZetm`8s#|&lSk{mWDQW4pW_40u2aW>S zJi;9gb(m%MjQ-&9r|p5!TR~NgjCFurw5rHuNaZ<6dmZ6N{viQ7kuroTEce$WXw?l{ zM>Wx{O8#`X99U0OSo>8rPb-e0KC>6MBcH_LH#&8r0j(h&14C|i`w|bwoF)nA7Q>d) z>_`;dxxO#rl|+Gt+IT83>8kf9x!{jToXpoz=x{}&46LqK1rQgQj11S2C^|Sm9--e$ zeFoRSO-KxV{8X=f)1v_ZXmh^y&q8wPO!XDUt7fYW?m1%e-d#I3w>|aM`-U0EXZ~g^ z689tUaU<n-MubNzI5!;g%vQ)^jS_lPd%t}zi55D|fgzeOQwG{k#QjcKX4?K?KZRhs zp6JyIpEf}#UOc|pA?_#Wk0kO4{Q9i>BgSa799^N^?PVx%sONR`@4F`J#Z)CZK`&BK zQNkej^6W9@!L^s0z4u#>g$Ai$bBd)UsuUBLbu}Y5_j&VXBnGQTVFB`m!qG}xkAps6 z+X(m5`TSbZ0siF$F=!pq2AV(-Y{St2ggqGJf`uZVw7@lg(N?kiyHi;+f!O*qOJR*u zh&2v+q*MVFjoAa_Zk7j&D^OlFdp^<5frrMw`Dq2D<>vKY?sv}?28TWGnqk31Ub2-I zW5GZor8tPYfbx2OQEj~s^~RrAKqZh+iAM*#XE3`Dz{f}v|11s3<|?UQm6MdgI&4Cy zqyk<9($N-<(IS7->=$eOSmc-I-?B;5dHIU4JUyT3Vr}`@2x{^x0Wh|7$!FcTW|3V7 zm0r{GD)J6zC<b0<lE0>V1n(*HxddO>+^GZD2L~fL2D$8wY5bQ*K(EWnmGqgizdsnz z`?yGvy*E8|>0o=IWB!iP)p@g-i8ahA1e`i`DWU9b<Yr!X_Tbmge<{s4)<er}5z$4O zCN>-&q#$?U_mBwCm=KGf+M|;FhgJL@w73+ZJ$vk%Zb8>v1mI92tM<39;e9>zClz7c zpe=2#m^nfFeP@*%GLqh;Z@*kf;BmJ8xoZ3T`S;8n7ffx;O)}GTJhMPt6<wb)r#(hx zOZoxR+`Y9VbW*Er6dT9zS3h{x*vY&TqZ1g`0)ex;Gs!65&|6uELc<ACFW`iX4h`ub zL%^6DD3xawtC7}YeP!`jYo_U|2ypWCWSBc>vlXcv`G?)j&Tc{yhWwrhhbL8R8|3I= zGyU#0r42ebl@fQzQV1=^eZYpt`8i|ENjU#&_2e(47O0x(06>*(!sHV!0}fBESKRmg zmv+MU4QW4jdSZ9_?{}G(V)OHVOTZ{6FlOtRc-;f5)+gVyU`@lL^0k2dcc2jeHhq98 zXt3z;%GI7o&QWBGEId{l=H8kYHI;2orzX80ha-5ind=)mEkMwf#bmcO0AfIzGjWnA zg6x*pOO7?yQ|Z^~9ig<?)I-=ViS#;y3=I46FY(3+SHUPS&G!X{c(MJV%&oD5hMg#8 z9p}#%q3svllvcDPXs65Nc6Gn48@LPO8#z-HaJZGi`!?UOIe?imk=E6d+avc!n_8w$ z95S+i{M=n-sE`tkHn)d-sFB%qi-3*~Rtw~~!b(x;KT~cIZ64>}DqB%Ys&weKJ@Kwp z8{kI~D@hNV|C~6OxpGx4TpRxi<1#@1!ce0;XDjo2xoUOriIdlC&Rl7#`DitEyRN3u zFX3RiD0J!Aov7c53?N3`mYh+g?m-%{GcI@wTzht_f~tL(;$e);NT{1JafS~vgZ0r( zxhlbq1(MUb!yH3Bi`&F)7LU3^qqitf%CiZdUeHAck>Ch8+>aI%>J|m15_fp`qUy9O z<_JL7JD+{GhcH;tjO0Sp2KDgtlYJ)9Wyfl-+sR6TZnJkdpvZ|AzF85?o-JbiVf}gS z-*r(d9g<|m0yNaz7A?p6DIT8f`cVC4MyHWT5DKBI_4ubHi`Na#kr(5l;f*U{w7_On zfU<5#sQCWbI*(AtHv0yImupD#2n)fM8#STvoGX__&7DU4i&ey~t}igla?xz`CKTDK zfXu!7G<5sd<Z6mN8a?c{Xzg^?VNX09CMrXn@=rE~;xe^^ru<qdm)}9d4bBKqV~Ajk z05J0Sg6nWQBdhH6VU5HC?{c>iWLO0=KO!a6^TRHGkt|~bzI(7i{Iy{JDe7<<^fSg$ z(Wc1PHokOWoleFb__yoHC@(68xOD!d?z~g*DU6a+p)=rN8BSUmI)o&9*jMXR0FA;G z8G5_oS?fn21R`19U;K?v)*`Mh+3sB$cUa&u^JTx%y~tB2Sm!~;)fV1__#eXrEH41} zORxyzIq$pm*^c``(7$Sbic<KE095}l;sZWG<XQ|qESk;l=I2NtpdH#y1G-PrX5%F& z#lctqV5ezU^UPMaR}QW=x5hnUS@c_7THTKa$A=Py&G<zr)Fni64S7ywGEM5P`U;Qt zCaV4MSAEWMi9~;<TIl@jDuM_bicvVp4vZ$mxU!@LZ05{G6zX@~ijZaRjqQ;pncWK{ zx`W(GD|GK39g#vJaVNBFnQ~P%eR%j50r<dr>))rD&PO4Bn=d+hL^E*R8qDR8{tzTb zMqe|&An|x@OLgdGZEhpPGamUvZLSrt>y+}sLM0k>j&0(nzG@tYZOGvsM99X`FmLmY z8P_fT&5iGHGQo=|4O1-g--}Xg$RqvL#OKl+%eQu<nw#4*(c*=FZ`J)Ct?TWa$%>35 zZ;x+-oK~&z=mAAH9M}ALBmO8^KnC5XM9PIO3IQc439Z3*{8|1D$Q7xQLz5~;*7?B5 zkm<&4Y(>zD3jeDFU~MVpP5#Cd_r?^D067B@a_g)*-AuMxhJX`8p4DTcKa99M0)^;m zve9j2J3Z1<ymAPP(*TRv+r_zzJ)FZ<zm&?$gSsYfy6$mER9*dWs?~JiS0BMlX`qhk zt$CvtwkapHMF%o&K-oxHwO>1SZl(d8@6GA&jM0h=Um`Nh+BN%^9NnWrqJ>xg2yt(J zHZ`N7w{AEqqq+~9-(jMKLXU(NweR3GIhk)IA(o!VlNWM6kNvQ7{(v4H3WvFkUG?Wi zB(a>AMTEVWdO85K;#&P`6*PmzN?;1&K?*_vRPVSbs3t8rZ_3?+ngB~5K00H_$h=Bp z*fO0zj$T#7(5phL`rf@ou91aB-<_OtxDPm+W_6<=4-9*3)j8Y_czI=dnoGR_kZlHx z(Pn~qs|J7|+m^vMYGRu;(S<RB26SEgRAAEp!y7Sx^WQG2!C7l3Z9=+cqMHU#59d{v z>dU{dcCK!Yj3zKpT^UeBVRX&4`5rhsR>P5F^H(6jquoct%pq+3{HakZU@8eUmNCBZ zaBKhjD17T?Aeql2jh1KJj-`sZb@lJ0ebZ~7lOBB1@N8#`&{TzzeWuOc<W^ELj_lfE zNuvQa?CFo`7fR2cT%LL?8!gF~vn=%vM9g&vYX&=MWVge>JRPeG7CcVisJV?KeI$E| zf<`WsqbzxdGI%JN*nI!^sc(Rnn*olY>f&WfBIqlZNt0P(`a7)AjAXbD^$GeuZwYt! zM7K77Unl0(&y<I_*N_&mF}&kMf&k>H4$wzmHuUum4>X|nRvS6AXKVZves+$0XG2S> zlf#93Fad-Tm~bNsFSi84MB*ICBJ8@Qw%x+<4L;;lMJ|uNfD#}T1m;-fg{msp#D6{5 zMiB#lBsJ%Kuycg0HXaJ5az)WyG!HnUC9#{%MAG{oR4&K==9CksKRe%B*5~s&87#Mj z!)VQ=Ghy_3YqlZRN*fNE)p{!NKmLOXqP8NOoSg6&T?_~#trbS;o*~Nuekm3|K>IFk ze#mZ_b6bZSnI_!daA#onRuTC(?^hKST5-?zA<f}WS=%e5WI9dXX>7PN&KYrWFvqr> z%?I5(I-k8FZjKDH4ho)W4Ua%#|8uB*9UQGC^SVeC>>YUV0T0kH?$+IT+m`y)1;`Bz zk8sC=>{|R{Aa(XI?n!P=Vs71uug=u)+6B*9c3#mf`FN%2NaoveUOv>q@Q^t<h_2BP zUSe?1=GN}1l7gDt3tU(cst-5?R~G*@k@#E+4GB6RQy*p=<M90Nlg08r2ly}fkmHoi zQ9F|exKVmE?w!xKOapmK5jL`71cnhz=z+Q7yB*L+oNALrojviRw+^_a!2C=+CI4$3 zom4UI^q)?&cI?OxH3D7_;bnLuH^6bITZH?O`wJ05$Yni4%fez$S>~moR=^vVcKC@e z-8MH*P-&vktlnn&rp|xf)D)HUfS}I-gH_+XYvan<PDhd>g$&~RdI?q3dyq0ZVgyMB zfBPE-J8oBnqct-o=o4iO@3e#ihLS7)ybd_KID%hkyfgkqlkEzXmT88zqXjalwO!4T z4GBF9#3|ZcYXL|$ck(PC7n&$tGoMmIG1KRv2^o#oW|lJ$10w*5<8uyitxLk&YeV_g zqxDu-rWTCm`lq(5?@Bp$aH2nu^#PL(8T5lfRG08XMdAiIw{ThFD++;nNbth|h<76> zKs8r%&wW^LsUQ~%F0aQ+kD(jxJgGo>vi|e0^0y02PLerV9S?v)u!Bbf_a<a`$2(2+ z;p?F3P{~nq^>5=EI)DsyNaYa>fFlcj2(WJ(N&<6CuK8yR=}*zw?y!95(AS>olXiD~ zRGJJJuZ|f0yT^E4oL9h{11!T?)EQFR#l<Rp601O3sd`(R-Mm+hQ}0<1?H{ZVd<6D7 z9ElK|_T*?{dH8-PH=DZUlBbrd;_01>#Nui{kfm*a(o0CribGQ6&&#kYOxbyG?~Z=6 zSO0yZhez2s72#xqn%&E#!)(;G?wB>HPqjwQcu1)8z^K~#xpMKWq_mL7@kg;%ZZ2&F zWJvYvgk-kp>J}46UWBZSOfmhib0?$me1aG=L}6KAbs){5BL%g~RWf?PzG;~i<YyGZ z!oot3-dTjHG9H4peax5Ny%o^TmOv|h^Em_+|NM!(Qdb&Nz&%T>qt_3rYfdym6C20- z9ZX=l-fjM|&)8nS1pLneMy0!U+K3YRb@BK5X><09;#+VVBPZ}`(-)5Knb9GQk3M7n zAJ?eFJ?NF0YOu+Fb(dr0Ups$O^q1*_NfsU7e3>+2_?d|9pU#5;)f?)@-&PvUIO`6B z+|tJBgsW<k6WT?y>B2HFE>056n-jYAAhy)LVdTQXFCl<#D5DZDN!<TzUAOp0iwQRo zK21jq?m8;TU?2Z-2$|%KyOB5ZiBhv$xE6!uyNUKZxM`8q)T~p-0Q}<fu-qOJioh&1 zAR$FGgTBRMFHq+06J{{ckmp5J^xzTFdRv%lXX7rg#w-w<Gl`V8A^rZp!erKx(*`P} zS+DXhnCcu({+OMr`-2(aM^=99X}6W1%EXIqYNozbSa8{UOs+lhH^8KK?yq4MTJTTS zJE78CLI-Lb#$FJ!IFy`@Fan@$>5J+R0H;tBxZpGQSZp|Z6d_HTGs)oGU2AkhRIqsf zqT@pV@S^#W+qUa}8E&HvS4NsXE^j(n1*ANVWGS8>ZnxlWrZ!jZnT|x_cN5Iie~p-$ z@rp<1PDE#*MN8-5R(mZszauNhqFnbaeT4;N{tx!k@4^<xJT9XyRTZPuEnOx<LPBWV zTc2sg2bARwD1mU#3#-E~?Z^P<hFr&ubxe2fE_8Hj()@YEsE^Cx26*o$eQSQc4ejma zDjly(w|vb}$Lzv2ha(WDrw+j=lPe%JOu39PGt=yad%yH>ZR4=%C8(vsuVl>kf4Bf! zQG{GWHtZ?p05kf(oT3~s-|%?QP^z!?_mqqaQ0Slp5Dms$H$f@v>82hqmW?-2*i2X_ zyu1;M!;dWbwNs6;7gIdem!s)~pVek2z1DQ+{GA4w_5AivZ`qqPwz!1DLZ(xAj}u{5 zdL(y)M-M=rHEPgdj-N^aSU7iz!Z<7)jo~QsH>JdR+cme$6yBadgGh>Ivtx$<QbyHJ zrHah2Ki^71>BUA%NY<*n{E9z;Y<!353V5xT1GO<ab%-qh^_mzTU!0ph&3Kdg-5J=K zMrNO0dCy8ipjBNo@xc}$085F|?{vx-#tta|V}PyJP5s1MHC-ZtfQ%FHX!f!t_N4`@ zZD`oxnWD)O_an6fv*3hg_z^K;I4;>2s(a`qk7_!GK1}Fe`EP%j0gy#Lk!&xFAy2sk zp+}rIzW~pV!L_+f4<O3sSn`5N%$stUz<gl?Ah~t9bT59AxW|71FhOF(t;N+Ocz^$w z>##9>(8R3DydKKU<bxpiHd@Jw@b8YKXtZDD8J@my3~FO=L2H>sWGak=e4?acfBy$C z`HUfF4E;`Oj6N(7G-6&?RSibDuhDNaXKzm?9l@ZlFzk9|Sh@rNk%j*s`p`BQEqRt4 zC4?uM5m;`DB5k$XarE0;UTmys{n@;B^y!AQO(xUJnS8z^0}f<I|79`S1-nV)UB`)G zxwXU;&KE1E7UuG`OpH(6d6L5wvz2|6d<FZfRaEyf>iL<2>Fl+7kOBipN*t|H#|P{_ z4Ui}Sa19U<FH=xdM>`|0)0#5WhS>%B+Ct$QCZK2PTpTtS%tIhGTwmWQeU*+bq7+mZ zX8KI^T>GXtH`Y3rE)`0F3^ddYDT0uC3Z_e0*5+2iNgmC7+0Cj?!c&4xC~fu=VPQ-5 z-p~n33X1|hMuBxh3u|CCaH*RG1foaO=<m67ZD3;Ira!v9>^PPzb4psO+A9gS?+c~X zo#Q`mcDK#mmHTk)_LlFCt$xXT4y^(_nh)gJ!H+pp#1w(SI+4|~&X3jmx4n|yEe{PE zGW>>j(L$uK_R$K~AvlYZCF=PGBf+1_#sC;<=t9ghw|DuU1~Ay#J>^7RT(A79vkWgs zH>-Oo1jN2d9AY^b9WPFub;TBhvpA0b6gCduF|U4!AxGsHPfyqi8ZT0B=Kim%X9dX) zpS09dUUX>=>xvT;7yQ+pKv>2tw?AKpc~eeQ5b)H^{h>bhUwJX^pI#+o;Ppr%FlPp` zw~&}3`hs4NZU-S^(Qs~hy-2njB&?MA1UI>tljacJ>%nKjXl*WUT&)jcc1~E3wW7-6 z1--9s!nNk=2BheGI=ZCd`trvi*N}n1I0b{MAO}3s^{}Bf8$G421DCI?cj<z7>d^2} zCYK_~iJ8&G#rqg?2YUaT0Ti2pU%6`-*}L=j`CtfZgyk-c=ZENVveA8$Nc2Ul`khCo ziayj2$?|aDP<Wk+uoTLXF{j>*i%+FvW}gRY(?#jIG^n9`#DDpQ_J#|uN)QViOa7xK z@XjDaOzhY!++oFkxUn{!`%wy@1z$*@zK+9t0N-K*we6*JzB)DY@l2;}z;3Z%y?-hB ze!3@IZsFCSjvWs@-r1-Xg@BXLdU_(4OX&qX$i6YDEm+t(neNFXr0%PifMVkYK%oY5 z^tZQv^2NyzP<P24>C`_l(9WYKq*^p0I6JS(bjCM=>$*ccoUg38;oQ@=^Yvx#ePN0{ zW!ACLM40#sSpW`8lD2@9s8pk#rF`L&FS^7}?RQ)(7W{(3Sv{3|*l&*9eOMuUAOKm^ zplgzc<avSen2<}X^F-&VW;g4DUvNuKvdE*@^Eb0`cu=eDEbFMqprOt&K~0c-!Q$C~ zx<Wz2#rsZ3QQ^jM{N1p_U*fqxTB&%M16z+S3cavA>6WZTrX&5Cv-2<;KKK#0o*ihB z;jfUcsbH%$kytV;W4@!EC&@}W?Z#U>X1<V|D(*lk8vEP!I6Ca|p~ARnow^A<EEk&~ zs<bfm9q+oMw>~ZY4Xv-Mqx`#OKQWh%C2h-hXwrcX4X{)+Yw51XvAz>wM?;;pwbZPE zw&rldgCM$i$sNE0xJwP}Tg=iJ!J@kL*ZdDeTq_3a6X%D9cBqG6KPMg=98cO+S*=C3 zKEBM2=HZ4BQV4KLTp|ZrKyk9{aS}q~6TW3)!R8WokCWoUO_TBnxaulQa=Ww;DR$^r z4rru$s=Y#Z-h32VArlemW!66a^TyAOZ6ARSmPTnUIVpqkWAOwcj<}?JInJLj@?aXL z-nlwdjyin=^mabqzr~e-A7};ly&tc84q0Tsb=4u;GP1)K;28FT00qf?YV;i)-1tZ| zZ&cfif;N@y5&iA&?4e@GSkZQ_`^c#FnPzWZMVi6sl{y2O0jq!$4$e5HdZY&|g#7(` zC#nM1!Gx0&4J0IlrvzJl@jx-Zdadf2FT0WI7$Jvi8r@=qC_c491UIISF`x}ouIKY_ z15`H;4y$fx_xA?5(<Mrbwa(<AXI(<~3qp=3N(v!EdJzeNz_<|O5rN6JUC+vl=>x0$ z`7%pT0$HAtq6WcT*@uK7_~G`Awd0*hJt6rDo3P0WvcBUN7dtd(fOG-W&55r!1u1)? z<v1)~&bRsUV%5P$a<)o@RajhFcz%OseC}5!lDwvXm{oVuAp=}{*m02N`8u!aXS~JP zC!c}wTb2j2!O8yqh<`oh#n*jB4$}^Q{aFsvvTgwM{<omzeD5Ps>DlP`z3AHEt3j2T zm~-9o_yMXlX<$@Jw=<jH!<BN=@^iXDRc9-x%<ze&8wjsOR7$;Tp#S|wSg7ue{Of_M zuZoXT(m&C^{CR)t80CL5+|J_&>;N;_GA%Z-EL~~PrNDyM&!9>nLlM1bx&)^oZ0}u< ztN8Jfn6ZK@+x)N3ys12qbXROD1jKxqQ555>xmyN@QaTN`f%l!eCRf$aMGEw1nRfaH z_L<9CgVQj|k|4UTiOB%dnA7hh=eF?9CO5HSN*Hf{Z|H@gUmL%sILlNcG-;Z<Qvs%d zsEpBNXxV*J?Tfl<AxNspxbhaUYu8pQglDW3FAp?ZcbW{E)u_YfS?7xh1relUyk(^- zY<?%W@^gV~Ww8YTdA1bxOZeG6gM7~=*^2$G4}>O?RA{M6(a9`_j*4o)(Qo@-hk?$> z13x;+QZeRR_1Zu&z)=RE=AVQpbmBnWf9>(EEJVSX4`0yy+DHuib2!XL$9va>b?{wb zUte}?6yNO_8!!Yi<QVE6c!X$Xvn1{9fXR#|KtB;Dvs_gFN=aMQiH?Xk)wO3fe?TXw zhb)fKH)6!~O5Mi5bvvxoNoIcYb(=S+hINg;6o%!rXblZF6??Aq2U4hmj20^LBmg?i zb`eah;eL|0x0J`~k0c9vIlG9<xWo<C*MoJ%7S4L>W}@#RgAvMdJge2*AybnbfKy`S z_3O6gbRRU^&vTmbwA+?`fcQ~w{|Td~2-|c1!2_(vBPvAW-Bwd6uQ=px`tZ77!NQ*5 zN^+|72Vtm^-YG(Gu;c*J*Q80shEMTO!d0qHCF-+JWdp;PBQKlFLJDyenO^0ndzbXx zHw0-Jauhnj6=|i8ci&Kr>;7O43^;;m+ZwLmuJimU5()~_u<<=2&Be>J(CwRV^ARog zXLEJoxUzeGylN63uR6bS3@+|Jclj<Am@s8nwI&e@?shjLv%_7#(CW3C-oH0B<sFA; z8CYSpe<|HYplIINQ%WD(zWpCGU1d;R%@Vv2AS4jnf)m_Ba1ZVd7k77e4el<%-QC^Y zA-KD{JG}G#c>JQMqRzd0c6WMudU{SfpAgyzZv|qUo(On{ZGFIKhxraH={9<1Fx{lC z#IpTf^mD7fEG9?ojWP3K6)<i&n1$gjWzy&>Un)DT0fB!7Y1dIsQ`*yHi^((>O7oMI z{NEiKxN<eY?ycJf9lf$}ps8#Xk<j+_@hXVQ9=~5!q7WUe{d_-MlMi&>tRBWY-y|FF zuwFg^FcF6jQy$B$BA(B8gNU}t>|Ze|?Y4)z-HH^UUw#Q?yLgX0x25^c=p<y9v|oN) zyLuMS@T{pFHWUjH74pj|PS;6T%qG;Sq5JwVYk?e-vC8&&gA}g4eti^vl9UOc@0=1l zyQ6eF5y7!uzCwnqv#@)s|5JpK1-=>@GeQjwE6esP+HwW`LC>b~1v-UG(1gCrP?j@& zsX+PH#@BxNqc(oIUREF<@*e-`fwaJSDJJ|q%1a{CBkvne@~`MP^v$6Dr^6LZ_qDe> zdWooiWfn(lKJ^K#E2+h1kw{ii*QXmeasD@y&8%-_N~q|OX>IQkc{5+dk4cT%<)(AQ z{Nb~{G5XED7G6HZTYJ6SP*92^7tja_15@yRGd?-UlYNb|Ghfk&@MLY%aO6m^qhk+R z!d<QlzK1lK9Mhp38XLovf_-8E!n`>8-3Bbs7{ys1b(LDfUQ~%dJ>R-{|LPtYp#4@Q z<9gaJG|N`N`P8)<2I?BQqw|NcJ^c5c*+<kUGT=XKp2pt%?@&C|0$Gt=1XhPRe|Id; z6vw)Sx(t)LYb&S8A!0<*z(0dGVW@&rvXSl%=p>%<OYSy%H`h=seZrGa#;AZ*0I$2% zmqz+t?yRdj&Qw$aN>+UOiW4;g`~s!OjJ7e0S5A(3mZCX+aw8atA)wPW2bKu2RinZc zo!iOu3*6kQy>TH2w)bS8;FZbp?|{1%YtJXWDCGg1E9#>lh55JuZ7yLguMT1#NQgfI zgWN8=>n9iD2cEU+_b%}f6jSKs@`^$tu)}9~Z4Ujm@51>A{5}Zf%!`hjnQPWz1;_>) z-FhwYiM|!-W;br-W*}<!xz~rGi5Md<7Vm{|q6oXGJh^Z1#~blv>7&<cF3O^?Hty!k zPI!-nIayw7vhSDGOh$JIc+35lFzLtm;Ct~<no(5B{0qRUxFo}{hcj(`0%-N6yYF^C zpVu4YL8LRT9(AcSktR3H8T8bqI$<HFR0ns6o}X%5UI5MRI}b{9@ScmH@<*8tuu%h? zf{~@u!LE3v@_gEx94Wvo_-R$voZzi2r*=>RH*EDm6^=4<ORGasMDHLS!;7;+3oVRv zQX?hEY0azjsj~X^Fl2OHKxC-_>~6fO$szQI?Yw<15(ib6qd`f3Ll@CQdA0w{(kuq3 zoBj&xygLOW(hV<Q{3fAJ?T?9$w!!hSsa?`I8X+d#oN%ib*p038XFP;;bC}oZe^$Ry zWb^L!TDHGjs1s<#s<D2P@E9-hZBZ=@+iu;sW@wtcd+-J6yqMHN@$Y|PQ~IJnmsoNP zyLC70$6_tB4<u<?w>&id0uJBs2T|c-KRvImAq`VD<Cc2a<WOuzM%HtKs5~Cj$2(yv zCy7@I$Ja;dM6@i*b+{f}IAhay?B3dLha9yZfl?U<10;fWvjBkykhuVD`n4mnvnEjR zhijtyY+NG)dRG*ov0b)l%{c?qh`>t<5rJu>sgC7ujKtQEObWBeS3+lxON)5H|B&|L z)#ZMB-U%84w6Y)0y9yMSZx>G{8{!cSv=x&nQXEMU1l~NG<CD(HEd?fWimD>8n>j0I zFE?k-${2Q3vpNg!zCUFZ{qZ@<vv4^EtRCKm-e`RV{Fr4J7*)o-5gKKZYwgY`(GqW! z@VAAXXJo~{?eJ=xT(1(6O&6ELa8_#IFj;GS;*vQm7Ib<d1?1;y1Sn;A-D6n<K;o?* z|4$Pjw8^RU+U#=V(YS67Hxo(EL4=o34|lVAN7&?8O3hI4z{&XVtPwi0-AD>9$|e?R z>=?LfZtZrQq|rR{FCsbwjPx|JuTU2_(2}KLWDVoeOKOM(HPVh!<HKUxtY(r=-a9Pq znJ2U^iC8-cd9ZQt1f5SgCQnb8vSjo{@tf&Of;;q>8%bPoWq3YrOVcIo_XGq4+gREd zFRq4N2|QcQTGVp(BcSt)hnoIsZ4#ObAMKsBF3m9ktT_RGR3*C)mXR>rf2R6sAbmh| zLmR#Gb9db+!aU0>eM;W5$Pg8s-<R!lRhx8fJBtDhAS<#hTfM~(=oe+YKhD35Wxo9^ z1Z!WgysuMjtwIyvw`xb>>@o1BcH(e86ck5Xp)RhY{wxsZ;0HLcb)(vH1O$Zht^3U@ z<%m&St4ZEgZ9dR)<GjvEhA+Kr(uCt9Gfv#!H7=3)scebC<zGG`DobViok6`@>CfX) zFMDks4fHJwA`W0vW{;^`_7#u9NrShG3+Rk2b&+o@=M+uu$Fn?Om3E#G)l(_JHe^wt zJcQzFWp#}z7Jig5F43+6kU!tE;Suut_J662JoK=4k4CZawx$JJ#%{)!OjOItQT(TY zjP%^6L?tWFE?{kmd&AM%=d5dW{iyZK#A!uzyL^o%G?`s+?@q)0vX8hh)#hOuDx6yk zG$AGd?KMv5cNY}jJ|@>a2ZU@rJwYGiV-psIa6g2Q`q$B^ovO@FtA%pKBpHTzrMl6? zP#Hpw82YVFN$+7O?kj@PEhs4d>ApyNYGK{vEp}-hdu)&p=pJN1J57wGyH6I&hWzJv zl~G+?y@3M7pb(pvl#`pgK|@8gY*JknbU@2>6@}<fI4_>YHtK6g8vcD9Ehx&E0{1Qr z2}BlUp6_h0q}23AS0hdu2ae`UtPr<7y#8IEGVoyg##HB9*LlA_?`=_NvcMlQy1<5p zBh>b&VSdVPvzDD1R!r|-EV{`Ik~X!yTr$pl0@|4YOAk8xfvfZ^=HBQCU^azz38uTd zoC!E{AVXkJJ80Hur`o`<W|qk#<F@lKeY;j5CAxS}o18q->Z<Fa(<Y#IotQ-uKi^OK zWh2z<(?A*07f5KD(GCJUJUrsi?Gq?I!O0A6_hC$J54mhJ4&`9M$58+#0OJk3;z))q zK~8`TJ2xsGp6A>9LfE%^%#PQspQ*MlAM{9Tnqp8-3Zfl-IYMzMI#}Xdj`xwhdZDNI zkYcge5Jd-7ej_F6dbw{q)?Vy-FAq0uh3M0?Q0XfR1@w9QEAtjyAIb#^zo67u6}G3u zI8&JK|HNhsiX?i#Avg%Q6cWl86KdNp@_hv66tVdd8Uc(@ymx6B`DTf-*VX#0v>CM0 zvx2E$6ZUY@qIY~0jRYp$fu5SAuWaYq!{3(~<g4~#ypTH7%D9>J!`rC^jn@91C`}AW ztOCE*6Yq_edw=StzbPWHzG$u=8^GJG1PbqOs=kDY*Ib=+EG$lLl9J&&9HP7db~66J zK4||62loI13W_JVczEqM5F1Vs@p+Xwyi$*YRBh6hifk@D2x2XbnKq*pOhIp?(_c~O zrA!1)>LufIBPmN0<z2M6YD`>fdMEAdc_U`|Q5-M4(5$Ixo<H&*)77YLkJIp+!2G?> z%vFxgB?56H<TI^D6oJo357@mNV`Zwf93UjX;tYY~x=DIgHDBJJ`@!O-kRz%@3Chh$ zQC~uDX$@UVg1!&26EA7`{#EIe^Vs?5IzdD4&KH@@eG~my*V*SG-}qXkc`5u#pzdRd z3<Bg!xYf_f8pb4b4rTMap`8hs1myq)QHU(ra_~hmx4V<KNPFc!I}P^-loVi07KK=> zJ*@9g0mbo~Ghn%AYxol@9qg(<jp%1~cPf8S>HVr(jNIO<#1<DDIN7mEUx4e<uRF}m zy5WnVxvyHr!UOWz8Ce)ANfoZ38$mrlY%g(@<=Zd38jV%ZJ7xWB?;iNMndZ^zQhO%h zq(Oc2NV-R_Eue9IgH)4;C4o?E&~sJW)j8Gh<a}0p+~}NE1eczSEKspn5oq58Ht3pN zA47WhzmtT6j;A(fKcY7ro;yS^+MkOgtf|&8>~H+<Gk#CS-@~17ITJ!WgJ$|8R^&tU z{P4OVDz*=i$BQUYmwh~XYWMHp@u^vo8H}nh93k;nC!EIO@AO{R&3y?)=|K3+s&+uP z9zIYxCKHRz_9bj%)E@{BBlWb7l-&=xJgMw-(pO~>kIggkC6uJrWq#^-uh*DQ6ZH^t z?u5HNx}llS(qqv5i%_3BnGoB+CF2j(%t^DpP+-~kUVZitH#H*4c9G9;E;204Y;F`) z4Kd<b+c+p=4~mb!kuOY=)e56#W8mJAfTao<0u<2y!%Ic4OP#(cM=0r{KVSoq41hvs zRklFej>+1Yaaea>!)Kdw(<n?#%!f7-F)v`4U?w{uSE0hc-Bj9?C$9$makfDRT^O4? zvY`4ENvyd{L7z<gx*Ugv+a-1~jgFM4*-}?g9_J*$+r)2df*}SUA3K{bn4H1LfYENz zCzchp*(+=?blfN$KTk+>(=SfvU$z5$W|J_AkSU5!zl_@{&}GO>C}tN)BE|~q`$$1W zHDViJm-#!Hw1>CyaR3?W3K)5@0f;>-X~%7E-S!eO2kXOMH`glQL6^S%^j-`)+ctO^ z?uNjWSOLrJUguVh(~8T1@*fVztz8DK&dMsgMLQ!Uc)SsT(ww!<p#_0S`l%6x#%M%s z8~mjt5J66o;01&xWi(Us9B4w=vW+SUNC?~Mhe@t0o<{O&k27}L0ppNj;kb5o(0Mhz zOK?*YTRVx^7l3ni2Tr~Kr!$*am9RkJ>B@E6L=5JdFQM+gl>?iHbIqgM<XZnQEy}s; z=@4em+gM>KfpYNgLPJ>6Tpz;FpIB#`u5x4aRVdE(;euL!5@@JuP?)5|D(J+gM<x7V z9NUY6t%$H@3nAXy&$3DWRoJW4u7w{29wVuobc;=y?a4NdJLga!Q#x@fmq4BYw=h2J zrT}R4WVZOG7w{Jv-R(9_Ch2KvYC4Z40rsJM8@M#Wb0>l|!-%^%2`r$!(%@DmQ7a4_ zx8B0jri|`h1?SJ!f*0}fc)Z^X)@rEFsKWx@rgT3iC~<Opd+ROAmLm7Qvh^RC9@J`n zPh)!9@$XswV>Pxeh3fD%)PIR;>*T2)Yf4k_LoUo_>(boD-tlxQm#n-VmnZoub!jZ2 zrBeeaQ&`BM$t2uwH-%H)a_rxJzHqX<-F^fkv{x-=*g!M#@RA@9aQJ&Twjr=u84>UC zvs4sf0xIKOOf{n5AE9AqQ)XBc3201a*j5!(P|vM7awgxH%CtYZrRx`N&};5hc@=&~ z4LaJqc-bU@1!+FhqtIy%2M~(ZgW}ybbR;F=bLES*Vn|GfGM$57B;3o$_htnjf#?Y> zi*`rJht!ujleHAdMkgePdNODG@!r)S#u56X3$6>Z6HOo3Wj!x%6m;)b-)rnS2kX(s znk;|63~fk)aR^|uF01LIhw;Z0$_r+qPSeWZZk;_SS3(q6)$Y$_=+mw}O0gN&k9$B5 zESv|saF5Te2|YtZ5h0D*N1Id7b^$^xbr)}`%~?~w_>ihP@+zYuBFY7j`YLA%WugdS zbG9uC++oWT-y5XD)Z$oaT){6F<2y2?50{4gqXiv`jaKP8)nZu7t*<ApX_D3Y4-hzH zkyF|8pD+eiA9{Uv{(et|iX|z8_1%n?Cd%}FZ?5Fe4vrxi7KzRK5E2n7<lJsT+@7LN zdFgoEhO>;q=UyilyS9uaF%}ULdaD99R?wVgJPBp;-XjFOz*AuTHL=*W7WDgW7%rPT z{)FZb#^*cB%__vU(l8X~8ma9$oB(_pY76^WTi}jT$|g);Wen>LytUrEL`UZC@jL1- zjYS7$7jCaK-Wfx_X>Mu9^)$4DZ_l=*Cf+%|R7#pj$jVgDer(KALH}q8_*weVG!<nS z;0gLAe*Fx%5IzAjS>O>7ombb%$+IcU+LD6y{l-TJ4;4#-HohkaFVA^+JoW18t^Jb| z6t#p&-6@Af$lJ=H?hJTyk6g6bg%86NIoUdUx>U5ibA!mpY>|^MK|45gTGu6gygyyi z7Z(*>Tn0`PH58u*FdTfE?Z=O86@Gr-UQQg&+d>*K6l5G6PJXn07hl2(V0|2caQG}I z5^0;+JrtSzHqQ4Fq5gosQg5BzSH8lv{`X(PVvJ412))Cp{O-dBf-+w$83@+#@Q>kK z==i|k8MjTY%SN_C5W$L2W#7NdKog44uD_TI>Q;sreg$7{&kBUCVptW;)L!*ZNP{*U znTrkr@_D~an=;=zfgCe$9Ra|>4Fub;$Vi^O!@p@+L13x3Hr-*-^wLpcb%ex`v<t*9 zXKF8E*a?vEQiL^OU)51)Y!s(&W08b(cC6s&w6-p<Rq(j*t7I;DQX@omFAaSO#dDU% z5FCWLrl+S1fl-_Il%d;{VzEvW8Qd@IVzIbxyysPdSeTd#WPs*{RV=m~m^)(tjK-8F zmvLN06ZBx)E2kxsi_elpg0(IcRBJ)u`%}@=vsZ}M;yltT74h9VfLilzBooh7L$zL? zIe96hvZHa$qLH)X=C=wp@0dqrDR%VOWVp5=i@HjkN#E~6QU*H{V=AKw9-FqEhZ5&A zH2<dL7`ODqrO%tyN&*1<7KkBv`of3Ah=(7(6JW}8TfiJ9Y<3*r!tuIUtb9{tKdE#* zNdNrd$YZr8_=PXt=DeoY+6zDA;17DLBn1V^)jtzFhZK>*;0%F88=-!d&>xp9ph8P` zB3S;=$Ve?f=ktR^tOOMkGwJrALm|lJxOf`4Rn>qA=-T43vof)H3pqJC^Q5Gt3B%Sh zNPRoPxt>+A*&aP=Pca?qXbq&Q)13$Hrdi75LCEo+Fvpp!)#5bTel4x&)RBKGf>*jS zM4w@fCFwb((Jqt-T1N2Znr;!Iy?!3&r+U(G>JHgmnZ5iI@plu1O+Hy_bM%i?tUPC` zB)PJ8;WLxvt`tZ%og<YwW5=J?rEh&@zFfWY>*fgH{j!6H7v$$SS9GK);f<Yhvbt`2 zg79voy4)V~e=Wesin>3{UE5DDgPTq-awv$|GCtj2Iyiu~^UX=?tf<Zs?em=zZfcct zaf-&M+n&~!c6G0<`WT`O2+Lr%s=lUY=l%^66BE<W)6<g&{A(e7Oo25K01SPj1_lRH z@n5z@DDHxO0_Y2nDo-kk#qtn}U9bH2yO^XT&B+-w%IKG?LFqNGVr@b0fx>}y?e%mG z=16>A^5>`HVc|Qx1(En4UzjXUdo9+JvAb=zxw!gcZB_4#j05uGZ<Z<%PVq`^Z*5+4 zf`LF8n(kgfF_AIJpkm2|y2LHYCl3WX68E=}5Q09^T576pCkfWU1n2kMwe2(+UJJvY zoxV>lU5vepiz?2(gxgHm<K~=Br$tqk%amVx9kGqhQUZt_H90t}5cfCIx$Hk{PjZS| zs52+Fb+SJ5D07FbEJ50Rg_`~1@Jja5*_zR<f8~Y>xCI0HT4sFbk1Cs|?;am3U*!2> zoWc?=;Iky*^2kX@umE!(R$*ab4Dr}o2_TjF)Z5z|MF#8}vy^;Ah1~x_c#(WD0#Jhx z6`cgMqj(hKwz#_m>FC;-m&XKTiKs~P8X-M;$hm<5a<%*TNO;_X>&=>k&ktYcj+h(_ zO_7O9|DM;hA>A$4r8^mOea=BA0gn@8Pn)4t@Q(2styJyh%vL9$czLZ~UfoA;cX003 zLEWBC4eW+)1hyX6kI{wZ2*14md7cMN=yst@bHqq8Y((JG*o<ba%S(#wGJ@q>`mbOL zaTogm1lzvN0mQZIsm4@n5t&+wUu=c9B_t4HB9<!c{o&Pq^@q#nS1aZS1e0B#YwtyU z3Hgy2zW**z@O6irDUez*u2*YCg0j`jmnR(<7>ESEr?`XIe|HKHZ8E|@O)F>j2fUA) zesAUr6|@held&YEH@=HY2HTLW&Is~NEzwPJ2ce%n%ZNGp0)1+qCr_L$Fn@nEoI0Sk zYA!+(j%I&OQUZ)y)3>4RLX(2zH|k=ddJj4P*zjNcK|h(00OoU6H=6B_I$S7za)$E= zCLKi`@<P7b+&fAmeXf7goTksguXP>V>wpq_t}TlO{SFQbGl$i20Di(1V7%OT+}iEb z-;gGWRu;l%66ywZ#Ar0UghMx+1(t7LOs;j+8RFp~q(Kv!M$;s-)i0mU%KVko$C~1Z zHv{B2T->>N@HARtgNSyN!@$%sEr$u}7A#hQ0)A8hd3hw1fH8x`$NL*=a1L9Ia;28_ z!|@z7De%XThhIF?K^I=!K$d%q3UxIP9CP{v9*e@Oe`beub8x~<&hT(uuS#SZtxgbE zA;$fvA@tn0h~;%GR-H8M-|Ke@rpH+N^pB5*4G<aac83t1&sJaGyU!-6-#jGd{+(Cf z6Eue~&{wdA<p@@2{}L~sbs@e_)gNkhmy%rOn%>Hc=%i*@yjrd+Py8fewZ@XN7z6Ct zclfSbV2%RZ1WvsJ#n)aX@#n?`E!deh)_T;Pu>(8yW}~{Jr_#F36+S`1hiDNm`bmjL zvknO27jxv-=;sX5gk(~kJtI`?dBds3R&1G?+<m7+<gGW%uV10X)XFuomwM&|pv$^n zjqy%^?`;Rg_oxF*_iB!EA19`V@Os+AYymt==tX0h)Y1C;ftbaJih_c#jN96#!Y0j? zS#`0zd6ld7^G|)esFZW}w0>cJv<_m>20Ba8fe=aNsL{E>_cj&j)vYPN(UJ&2uroK@ z=Bd6~cP4peOPtE!k6I&t24ZD`zsqSn7q6{c@!<Q*R>Gs%OODivGVzB*s2G4`(wsY` z@n7Nbrh+S!6fSHJRR-*r*q!NVG@oDWK<K7wOp8jD8W$%!*UQ)1fi2-41q^#bBZ`Q> zbdQC*M-{>l*UzpO|A@x=ge3~TLQwalP=CxocaQ*6dK^Xq$3wvIkyBX;ID7h;pCNy1 z{XtKEp+(|ao%Np^So$XH1mzPu8$!nz5)$$RG{}~^-=CTii`i*aYPD-{IG=k^QBodd z-;5%*BLqi8oGHo5M#FZk0b;tp4Eh63g@R`)D>N8ZSECme)sHXoMQ4RwS?^~<h&&s_ z95w7mo*QGwxw`S8VxS&8FB{c*2D90}c*@qhg=23=!7~`zcV|jbkH<6X*ho4rk<V+( zT(glxe#9ZF_K2~7bNs#UQ*i|LKYzBE$Jhd`te>*L0FIKmP!$lqG{NJv$DP`qM|mLo z$9ySX3+~dJZ-rynhm)>zT>$ljC@`oxSP3qW_X<10=-YRS1Ssir`Zr&XIHA66M>37J z9^GSmH>R=|12`KR3<O}STzhr64GUH3se&J&yUyi5%L@ZM4eILJnmfoxJfDLNSd|XM zm-UZT<O#s~{lCTW0#J1YMJW9wun^Aj^6~+iOLx{Z<O2u0YQl$1bqmp65C-BY_`}AN z;y^;iWGz3Fo#bkk04as-!nm?M17nlc1p58dn4G9Y)$Vp@#)kyeV7-Co&OvG}-YCsS zwUL5gdGnA&_O1O(dtmkhfi!FRnuFH!W_p8za05ms-7>Wl?wYS`e9cOC+`l5z+pr>$ zD35|K3I<h;9d@)I-r_0OyDnEWpdh6TH^^~K4aJRElB=1%>2Y<MbXLW=as{NLp>i;y z{hk^RfMAg&ys*XROBHHPK-$*O^Ji6rWz8s|gBF&Ljk71XiDitry4={k&nDUOJWD4L zWSktg8I!He#Ua9X=Fx*P8yyzE?1@2&p##H!D+xMqdLr*m7OX!_-p~U<T{0v*oa;LQ z!AF#QviBPk5b7Po^RG2yNmgP=*x%Y8)+H!ks_@8U3-c!}RoUnByEa4nJ~dY9%^@7E zb}Pe*JotU`iPC#mOsWuP*ZH|b3=#jbO{BW_ABaW<0dEOY0S(68{V0h*#)a=BymRJd z|J}j=W&eO!IFw|r(}Pp`?I`JGnoyAF^?sbNFkZvsZ<z&gM~3rQgPvw+-_O~Y9K999 zCg;Mf@VrBj*xjG)k;&pS2Ib1+^-A2l1*Ci7R1Apv4OOrgoq%H^UG$@s(}uj^+BZ&G z+0t_*I5!lQR{!!4j6CCOtZD7AWiOfca0Y;hy7Yo$M|4JSaYQIcD(5g~Qg1E*StXL) zhXT$g71<P__8^VMl{12YzCJ9FPiRO8(aY@-qgJ-8$0r>L01AgcKDq><4bqA9`%-AF z#kiDze73GPpernm@wzF9PclYpb^2=eXlU&+xEwmpsn8w<U#5g4SQsB4rzG{?c7gx_ z=Xp5RUlFp%nYNw6LFYoY&=U7#ipA&ON&M})0INl6LwdrxC$X>A+aS9<3N%Amf_8Gf z(acGF@F7^_YUIZ95X8H%>C11vvFb4juZ(Hv9f{d4B=-Zfo9*!8xCU}iE=G&1$KDqS z@O`zB&78_$m}#9$V`TI_0v@7BiKk9~D<>$|vq*^pH9@B{o)eSL^BH<J=W<XQ4m;r2 zR1v{jsd(#z?lcE#8y7`5L5W}CN}Tq=YO}eZ%ZE^#H!Y^1L#f0^^<7Q#kWM<GSkdf3 zBOrBc1E|>q03+7%XFoOrkv<gYRwY3Na+ntgiy5=}4aH4Q?);pEUvMqXU%Z_5Zy{1P zzy|t9HFIoj_P^5Po_Kc}AhzBxRN%>2AiH#f5D80T-@Qa04|t2~)%O3T{SEe+7D#1t ztgzb)yxFdca!Q33`%x%)UZ{EP4!Q5m2;y#m;<R5BsZn7&<+Vfo9Jy`)2&qh^TD7v| zDA5DNQzQ+ck5YyWT8To3V7efGLfCxHGC<3VQtS1nKr_HgO)n+Cj4co&CQyHv;A^SC zGgkmot0XbU#Goga2_D_27PRfLjwG@2=c5W+1l&d<?zq9nY{c^~7PS(KErX%A@c6yY zX5wxCZb#}NZ}F=oP3BgW52pq)+0$bU*<G0Qo2L!v<Bk~&4FU4dEOKZ4zq!B+fa6{Y z0GV3V*ZJ5(#4GisMc(M!GDIQ*L+4KJCAgGHth9KRDHVRdAmr<>j^c!lVN|fEsW{7k z9k~dRA%A<8C-PLAE}3|i?srJzdAq-&ALTbTs0hjNZ}4oTaJxt8?OfzewN*zc40_7v zP;40)F;r-b4yLyX8yMpBzk0wKH(ZyE51?X4_)eWDDt?oR7-=j(sQ0*qEk6lSlXja> z!<JCaOyGI+K#XmWBsre-dKT{Rh4pC9!t!%7LsC1)6uUbm#aOvlnI?%B&a5!|DLEYb z5fhi};&jbXt-PSqAtk{(V6g8`a6llzjCEEnTMd5Z09+B$yq`3GB&37N1EqnfrJ{`j z#&s$+yUs_clf(>FGM<HP584=+Xhxo%n=R9Q4T4K_plBt2L@|HR)IzUj`}x$p7&gJh zXYD7>kxWb*u$*tZWh%JhU^0`uq1+AQ?!=AVarIbd<(%m#!MRa)?iE>Z@aLdXQL{%x z?|nPCjeQsz?aMBD@M6;nd@7y`nf%)jObcSIP5*aFGCDDAo+9Lpl4AN?MLCz3H%%cU zxCMApi%O-Xc<tKKnmFAC8v$((`}BMP2^2pVVI=E`#V>x-?3k<yWDVIc52XZ~ISLg) zaX18{C3Sch)DKV52jEmomO<y@$JUB;-zxhvmwGJ;Msk_-iK}uY9KXSef$?y?!btVG zesaxTAXxWTZooU3pg{S+5HYQ4is5owiuCYNduizk`n51=;Z@SxqM!+VQ7E)NFq)8# zU3Y74$6BKGzq+2)ag%K8x7Z5I3MJ?35{q!9&T`=Y@fZ)s${{FRXKba>Nvqjmr+hk7 zTcJP)6b#C90ak8qL8s1?U3zsVoWVe;cLQ_u^~Icv9>1!VKb3mn#uw(k_+qwX6c{2H z4g`DYRd2s0M@H(E(UnQZ_t@UxL#@wR(iC5{<}8<zsoEdsF~;7?SQ(nEKLrtJ$DW_T zh4UKtX-Vk4BGDehOp~r#SpTX$WHv~C>q}k<?dRnZcz$V)j)n5zA|Fo6w2s(<whid@ ztMn<6_yI*99CXUk5fIwo&t$a@xbaxgPq$SgBA@!Ozj)_TpnQ7q|J7M3WolR(vOp?U z5{-^!uy-LBf&@|lFUH%hu*nzat*$iO+8@J5f_rtwE(^xyaG*zKjA!81Ry~>E67h&R z0-&=Jt@~Z~!PDjMJ8ids2<PvEkhk8UPap#C`&=q6*y<N?<?p_scQpsIa;mG^-<w*- zPjsI!ZJjt}EVP-yy2j8pWj>DTbgDAx<I9!}cGetRk6%kTBqQGYb@a&3mhIVRq|{07 z&({20p4Q4^r+3pR<q=t#=V`I?l_-awKx*uUNUDxHj47w>`kg#Fi_HfmGY>_-m;zk2 z5oCqhmxj3y&Mo7>2i*~W>kwKWwCwMv5;92EPMAK{$6U%%c*C(43p)g&yjhjIa_Y$} zRxSA&5vbaJNo(hL{_$qD-lD8Nh$iK4*Fn6xoEUb9>4wQ2j;u3(>bZZclgu6Fna}Q4 zwwc?Hyp+Km{fZ-<+0IgJeG!?`>U@)@F#LVHizi#Uneg)dUyki3Yd7QV1UX!CE2!v; za9e|fg`IQQ4}(oM1~237Ifk>9N9s?nxSekY8_Ny1#Jy@Slnd4zz5nWJTt+LXv2%yX z0vapN!tII@GS((`@*7#;a2mA88p?4cIBFEtwf+RthG3ks>j|`Ch{InL227$lgt{R4 zO-CAMs9UNxK0)4H-&pn$bYgXBG^P2yLQ<oBg}j(p)dX-2p6vL9(i|-^q)*IFU*7EO zZ8acLG-R<{0{Z?>Lfjm=(yy;7a8CIi7wilHxy2RDV2C+rh#JYj+qFj!7Uaw>&DCaT zd_0t)dGeEoIjuDo4Fph@3|0pA&x&?|4%9O`P0?z3+zDxvLQaUb;tCrhR5y_jo+7lE z_BUf}Z8y*(or(G_!3GCk7GrgUUiql87xaIcb+wQD%x_0pay}$`4u4FiXITtR==`P} z{(U~4BQ7=|%>&LCa`or-Q@v4bzzKBL4<}5!5;JDzXVyWuuVG}kTn<yqjn)L)d(I8W z-y72xbX<2CBZmGKo#U&0vxoArXAK-Ksd>Y|;dHxPOh}|&7}@t-TayY<x)Cuko;=;M zVoA0Ll37RRyw~)v#iVk-q8waodaIeOo`fvcEh3NX?-b=O>$Vaz*n?H+7!HRvmxR4k z(s@QxcCajj6iA}`v~0muAiXgW;ce)LG(Qr>+wdaP;)&y(2Jj?Hu10m{XHi?I3x6$~ zwn#zb8PDGo`RDFyq+@NSb$(KKczSZUx;4d8&*LWyM43smmA;9W8g-EH{dOcHHOCtL zI!gHPGd^3;*&hTF<4>X3z9(3r6N1NE44yt2DF7SA1+MRQt!IbgT_w@N5L;_E?56?T z004go<nRu}rHn9uOApmc!^Zc~2(10%*?UXoP9U0Ob6E;Mb(@yW<zM7}1XlQQrI4)8 zb}`lV>AE|*r!d_CUH*QIEhBNTOit@G0P=wneb%Ch2oU5CKTf~itZCdN(TsjvGF@c< zDs2F65Erf0q|DTnJkKD62)aTo@)~=1y@!d&N+CDxpauxV>h6N}zbTxDlLji!8B{e? z*?GYK2+DC#e~tCrxgSjzMlc;KQj%U%y~311{6-dOIxHId8;{2+jMI}PNTc-$WvRiC z_HlM9Q4Aiv8>l{Gaako8G+zB%A4eSqkBjpT_rjsX(%Y)k&V^GS;i@s~{%os+;d}oY zEn`bIGR&;MyX)BSG%Af+uKsv^f*EDNQ4dE5(oug!pJEEJO7{h9*>Gr$=?$z|Q<sYK z3Cgca=Yh{>;bdj+<>l0AwdOXb)(qUGbup}R<U?2LROcu2>?*d5wTpMp<2|s6=!u_f z&aF&U1HdW30cj(|M|Kfwb-L*XPu^N~9pe5ZeITKT{SB<cZq=U%w8A*Xa%HRCo6-4< zLVG(Yy%&~us9wc21@V2nPh{=YVt+eNnRq-J;hxq`z4BV(9R<FTA%BissWL154wSho zC(Hl}JWyK-I>QJojzlu1?!uqO=9nw1VnOWncSieai&GPg?%AF3GjLz<r!Swwn(qZU z8xH`+-C97K(IOv+N~)CGxTwXuUPk&S7R@Np*PWC`lcVRgw)DPDue+`Ddjm^papD^H z;B9%c3}Yj(EkPnWSfGQktU){#7Q$!GpPOdzrj#Y^Vv+Y(ysfhmJ5N`TjlI&=lCD%T z2j6*UU%T>IQU%7&;1f9osesrx_6yS2l4Ba)A^N)Q9rhQ0)?DZ4Kksz%uLP(?Rf%4t zJdqUZCvZ*N!=ailWtR@QKl7q6@YE=`ww`Z!ftKcfKW%QmzN`xz?H&?I^(Wi}F#-wa zrzY0BmgA@!leIC-Z~X0-dx$~J{nQhAI8qjvL!OFzC_3IdbJhAUr8z^*>%(nSc*_jK zl<jaAs6t;ZJeo#3bXWGMg>&2Ce0l~uM8SJpIrE38xu#~Z(h}Z{u1{E&J21?+=*y@; zlzH5K5jgEZAC@hh&GU^#o3?h075-+*PeFZ!r{|T8-buqlIic?2TZXw!`T9BsqGIZ+ z?Hi<I31y4v+3r*2T-6Zuub0hn{RH#%v*RBQn_CR6)P^-RMFS<EM(6jky#p&%EBv9& zl#VI*+HlJh_{{|N0$Ytn+g&>Ror!40z(^f3TA7<q+W!M%vC!E-O>LRfP}YZErPYRH z@6-`we}HGync++`YGK3)*|f7dZGav@j6wvGMT0R_1SY1yiI}W3+FEFik|!is_LWs4 zF1|0iB`X%s#Z$n}j-slE#tk<9;9g5-?cFw6u*TR<&5Zhj)1Z;(Yu<XL?fFj~dA`NK z*+&Ql`Cx`EO~x=rnJ`C)7)F;C%f+4Jyod1VRkQ7T{fyg*Q%p}`U}RMCy3|^s@tU`X z46rn%^O?Q&lPp16g?;Dk3wdId*1uHBG_ZV_f}j<KheIy4xwyGkoB-#SmX9v{>!)d{ zfbZ6hPS2!gth@w!9nVLi6-#4IkkRL-R|e=oxhPwiZYDq-gOryi_hczQ@)LqG$AT5w zX73`&%^zacFZIHsi)COT;DY*>S3Mqb3HZDofB##%Xu;KRF5UZTSm=L~WH&rd>(Nio z6G=0Tr{fh9d{ay_kzYgcOVmU$Nw^jU-uDx_&8%cK2}H<C<xcKmdm^WEM4i@Pa4pYa zG453ByZ1e&R#RFSs<G8hv)njeEL3FrNMG>50+y6f1+@=jWJr-&k&AZ>IzUzrMJLj# zS8UYVQ(yHDw&%r6GC4g@nqG|<Z1t+Te;voDfGgPwoIf7v2JV?<Gv?cK8ROe28QirT zjRVrS$qgYu)gkpcYCWe8yIho7w4Bfei=io-smPjQy2Z8JPAZfIC(1L(TCaCrqNica zG`=-e9P3{v(cSt<`X$K=getfP5M!7wu;=C9Y_ffcIG#3H_Th`(m??jLW#y#SIU9ic zN3Kn_qyo;<(2UocO-)ZA&M<xLI;d{F*Z3p`iM+-S0s)NE<ye!FQEoCGh;Z08M(LZ~ z507BLjaafosdV1AuP<GtRtJis&hg!028c*v*1{J*|Bh+UgUHi)vdUK3iGWnAO1hT> z{`=w-pt1ikSC`{~S)tLX8Vu02M(V9cKeFdaLKUent>vmv!KKjctqaHi3Gf4eLPTs+ z<HfeHzW#8<>}*cgEDhv&Uk0Vu3szSZ`CGwWyY32{$PxHA9tj7es}mT}8N)jx-w=|W zq5mW72qcN?5Hyc#jH6<0SA6=ZCoh3BO6m(b4sx-Z**GnWIK;T_`pO7s5~f2LO;$!O zD)&bY==XHG4$+PLrg`AI=z>10LJx&pA_H>6o5a@Em(`s?1VY_j7k?;sHqSAC&xQPh zLaUm^(;hfq!ZN#OpBlTpJmB8vz)ZLEG|`-tranMi0Q(y|JOzM(GmQp-O0f)*5DoF{ z>sb>Awfay&FFqou43Qb(b-ge$9+TNDn5C=?OtY8P?zM7*Qe7YqwaWMooJOKMGoX|_ zh8#O-yd`gjpAV+)Q{!<fwh#Jkb_}O`dE@EAUI&yuzN>Ostzp>QAVi&NKroxj!rtb} z(gzEtgP;%P!S1eTr3t->nx>EE3;O%1-}}QULJ#rr``T~R$fZULm<jN$W4?_p6zGfv z7hFEt&$%DZaoyrQwf39TL?J_2*tt|G`KQ4W<mwOJGk)<6Z%#@4akj?vr|4+s6+0@a za##1zpV=t4`#o-HL>K}oou{ZwgN*?h5|j;Qtfu2|JANk3t&2ELdJFycxq8LbBCOMQ zBQc#NjoUk^0DTtESN4(BQa%Y7=3Tcm)@|}DyXvPl6%`9|S$Yt#qf54mk(t%7-O9z~ zOVOuHOp2Qpg%>SwB{3o?=o*k+p)q<4_F)rZV;$6lZ*QkWiMsJa=f^!6EOdH5NO&US zWG&EQ;^==g{{AhU;dAN%(fssdmJ0H{1I_o<1nOC?XfM~NM=Wj}ka8UkOVYf))mgf4 zql*tyKmjx0#q`xF2jHzsij;1qEvx=3*#wL>|79zHKA!|>NYD#jY>kff!#Kqf!kVX{ zy3P@j_mEGOt2bIplJ%y#va{xK<75)Aj_7oP`C`y>wKc4zrA9gRel7(;{^anKRZX_H z`vC>q(ZWUXw>g=e*jYye-_^2tZW?RhRjSXqI&Jz*Tjxg9U9{@1d=F<BXom2Yazi?t zbZB=m#6>#|f6r^8j)5U!hkQv~F4MkYGk>cO3=GZQ+{^#dSxJ37>-1?90tLheIz4Sa zSE3>BHbK#4lK81Eh&6^n2w_!0(zYr(dzrU+Ce%H6v;ILXF}+hsGKPWSe!tPxGLA{p z8fQhpWCm?rd*$#k^!$3GuU53uc;#*J$5IQa+Gq!Q_S^k$mC_IGCAS?g@-w`)5#6sv z?HxAV5QPm<blGekG<4O6^EI!D$;tE|SFYO=%=!|VaycX}e0_C)p;n%yFl)k%8ZdoM zqzM$k1tUL@--`pl0vFhvInASka%+m{mfo2p5F#>0dTWVc4YZsJ(5>kQBw1Znm>zzR zYp298%>Nv%2#QSB`!H!lvW5tIOi;S7A2QZdEm7Fs*YPq4L9?0GGWjIGV?kmd@jxGG z5&lA=teI$==@^8S(FYPiIeuV|<ML#L%;8L`%TE|Ha^P7us<;>yI{j(T^}{}fxku=a zJJ;@TYX_-27wT>wVm!X|KP8wy9X_1e)piecbldju8@Fec2uk~tPSu+~uBM%~S~s^Y z_T5Pc#~3>PQf)gfd)zt*5v~oufz+{1hNq%NHT(+;(KRkqsd0RkfA;<|Dd3pxDAB>* zR;D32-VXrUo<Q29v7^RN6JXr@cuiZ%j!+bkiH!rbIVQYim|thhk8gKeWjWPq>}le| zJu#@?^<Fc~_v6FZsS-l<LfnfW+E2v%o|$9=8WH{FRcpfAxVOFnWTns0l=tgP|EvZ) zR(p>glPx{0Z`Hq;i$bb6RNXItRn^tZ>1i3_t0!Sa8gID4ND=)?3~DkKr(t@(5vI|S z#VgHf>Qju8onaa*1c*tBTV`h0IaAPaK@xkVre}eF6hPJ=F{x}0uZfl)Tk5B0G=Acx z+4e4c+h;5tWWBQTz0X=2wFAsbQrNRP#|wA-K&mojI$H2fH5k^EZrHU~$E6`YiW-^O zVJX=hEw#6s%uMGtVAKfrHLzf+qMmo9T)|Q^$O%GlCXgrpnA(N97Hh?+Fx%UJ0`l!+ zDT^I|AMoEhNA!NJ48lROupOQ$!P)(w2>^yT3a&MKGO`S1q9lEAgwvGn9jPt}hr2%^ z-T;I~VfaHL|3SiV*RMj#D8a`<q;~0M$}*+$tjq(1p*htw5C{iZOps5p3~&#~j2|A` zR=mc;Wp`C)bGa>`yfe$_F){dFpF&3_ws`8KHEfqtDqf6a=3=Jm&5KFdwGeRiuu$sZ zd7CHm4G&Q3+;WhLhWcm~LJ1*HnSPfg3DL{_mP664Qzw8%f+gj&s0slT16MoD<7;Zd z=W!ZCA6HcShlXo^f^iC`%uGu8vysYKq`!#e0Dx?zN9|<>Z{@jkx$$anhUH`r8X16U zkYXrUELGFqv4<gyjSL<=*tPuwktk3W?j_wNMC{0k@+vBe?oUt72eaSw`V4OZqYae| z{$dJ_Js*Q!R%#R;3dIrQ|62-*K_G<HfyX^2D25mIJ=uQ)ih(>_ejE6(0D<Frk36mM z-uzh&x;_5LJtHIJ<Rt6ta+VA*B_&QT1q~F077_^xsQU(zC=`WMoDf1bnnXPQcQh1~ z4-%|AN&-BsXe?BK?+;K25>!lsnkzaiQpP#9yOeeLRM8*SwYr$b7B5YDrlONC1lEHU zG&0S9BXY?Zfs34&>(JK_&;o_KyZS9zY{7gIbvWFd0|HVe|4M_U_Sj_Wi+Q_Fe$#HD z@rXqV8YmW_K>r^O4lPUT&q1Rd-hj6L9C@k(K^N^N=~0>sr2UJlJ7dqfDD@KUC7ZV3 zRW8PwbL^OOV_~ffXqLpFxsh%oOdW>Wvi<=vBe+31v}_xDIX_*|{4gysKoi4(_o+OP zuRO)g#obh{v;ZGF;s$dRP{o!lxj+Cp$W*iD=BG~M-o&tfsf<q80K{YU$(2Sd35`YF zQZNGsv+>4N+nA4Iccno0en}`fP0Tht_<Olp>it)ta$l1LYiTR`Bp%FxP69;FTzN_( zS&}QO+0?BP%E`up5_#(U5r0fUi}jeV0DN2Q3Upb7zHbvEe^Rx7z)YdlP#!Y;o*DX@ z^d27@7uVR@ykL@^E+Y=;)#Jm-+>;~DcFKDv>UZjaibms<>0f&$sSXVzpty@YZ?vNi zu;WXBCJN7D!Mx)L;28Jt6zc5{RbVh^WrST`euv{P@BR^!jrCF0zAy$TH=99=Ej0mY zUl}QBe*~NB-C;(xa`WJ&lKmInR(UE4s#cyPC<sZQlo$G;-$uta^#%vvB21r9IetO# zcTLum(>1F#x-_QS<~is}5zEHCef1H}0;&s1ag2R>&Tktj9DtyodiL@k&*cjcG5}_` z{=MaKRwypn5`r+-g19_oSMZQ<czF28EMh$sQ<H`phF)O6QXn}}yR!ll!6Gv+m8rpy z6`;sJT}mdy5SGeAL70zY(76CKLucLTbM4+u<-NTj`-+@qp62*qrGyLwNDFJ@tD{*f z@2&ecVNRGRP1E%Rm%FU)J}3Xxu@zn5dB1_@2_-31HWe{vEVv=41_HUnh=Ye3-*&F4 zW-@Og&k2~b>&)3%c@6=DSox1Sjyt8>V*lN^+V0L<%g)R(E|NFdTg}C{v6kO;Q0XY0 zCp7@NGn3CL<2ya~0yb^x6VLU_3}fh&Vb_nFX1Jv=crteakRj`t;<urYsjI%(x>83? zjds+}5t<QiB36m6AWOCRp6W-;I{I+yIf>kY$|)x1@7FyPsz-(?<EJjU$(E=OYuS%v z>0V3~D&AUXP|XDbVtBlsI1*q|fmjkr`~{S)GlDkk+Y2Cr5sc~%qg`4WaF)V2cO0Vb z!>iCk$1URrH2X>Ow|6%x&F>DJ<-$buR$8T!sK`Pwuotqarz@p&z#b7s<fKNZt9{iP znxRA&2WrS_px;0_)XsJA8tPgFtYTGv9TF62Sf^399bT$cnRl{q<ECS;vcwIb?}Lm| zHk(}x>_E3{cbA_T4q+q5ymZ0zZPiN#Ox2UHId${H*<f|M9}a+$EGPZ_{m;=0!kWwe zbpmd&aw7+n(g1llc7~dyO9OPSynM%?v|)#+Twd%!KQU<csr+kJENRb+)ymncHB9c? z6cE(-cqe%Gdu@MA|Ez;4rt3WuK-UB}Ag4AIZm;%RI9Oo@0~zDil|Q-%5H-o|@2hJ& zx#P_n?9xGLHdb|Wsa%?17+{WOYOT}F7iVR$YP0vBIe~=*8rx0w3&Ez0&gzKxqd&32 z?+<{<<w?H{yo-Ooz-9`2wr99z9`tSH1~QSZ|3xYI`qjp&@hMasjTD#52@X)D_W)Xl zp>rY%(=P)#dN^cl&p}V80j-oU#GFXKJM423*2u|we#tjlX_9tnGk*X23Z};jEQn|u zr3HM7tv2t9@QmUD)~tUnYC}e=T6HVhE0G|tAC${ezKi($U2Ya2yy|I6Y{B1h{4J;S z!DN3>fee5=9}4lqdG<qI=<3W_0M%kKn3gY@)Qq#HHaineuEu|HHLD9pLqmgwh8D8- zG<&YstU6UOk<BWd&B{=2P9p*$k^c1~IGjS1uTY^zEBkvu=#KvmsOdVmkfStDAs119 z-<2Wepx@fs2yK0-{Xy;Wp%ZW608@qZLya!JP~>UMpKWx_0<~eFaO-x7M#T~rD3?Sf zj(cn!%eM@y0U<4ZptG%8!=g^QVWq#4(D^SVBM{Z~0|El5U*A5_rZ#3q(a<ymYjVtz z1^>I%cNPB{DhOb=*&?Ed<ZwxWm2l2}Ymnd{3UOm1Z_ubDx`h9OZLI$c5ECYi4i-o= zCykQIrLC&GMoFasAue$4QAy7_fk^;ps>q!W9FZ9#eQUU=00<OHO{_;k*@cLuSvvqC zX4}UT{(aa5;z0_H1|actk4&sD;Wd`ygZ}(E2pxTot`hU~xb?P>NbLd}v4TVnJfSr- z;LhlrDqp#OfE{tK3~@@c;8PMp#lrkdf#w6tin*tls(JW*emN75CF_qwW`-kyno#}^ zfSG;G$Ia7df|HBi)D#G^N;gYtiaGB!SZB}yYMGKptYMMgCGWRDp}2NBsv$!mRUR?e z-)@iv;x1^Py{Zb#3$v~xKLdr2UU$YFDPZ&KRd?TG`1As|x)L}7Wox4ubhxvhgKJ(3 z$L(j{deaNw>AR>RiMh%XrS)o}&Z*GeK}K0w6Nu4JljR{C-SSs)&%uYEoG2Bdm2I_i zBer_sa}(ZQT*(SnfoJO-=FCmuXt`C?^E{u~6tq1UeDU?KPo)!Ou#cr-X|-9_scQe^ z`qZGHI3xJz{1v3>fbGTxYxfr{Vg7tyQh2yZ_j@k8oY%uMZ3Bghbut`v*jZLqCxArk z@^+T6&6Dt!BVS>lwiXhorAArK1>OK<MNZgj<I>gPkgDxVpz?omGJj=KZ?TS~DRlT{ z@ahM+f|uO$e$I<}FjOQgqQM!Ym~X7QCk^mt(@?)<fTF*3A}WX3EYni8rOzTa*J3?D z(gS6WyUg=b(r&mP6<YLNPZI1u)m1<~t)<v_E6`n~@EA9%O-laN^yRD@!z|~FSf~0R zG)_<1C4JyS=n*MW2{GjoZhW|b3GSlbzft#H1noi5XeRuac)#~iLdw_g?{7c^;Zj~S zl|Zs1^MEx$=^7e}?L=als^ClbuMV}$<{EKU%T<8|d_|c20&Pf}2iKXH`}^uP49u87 zMi~8`=AbA`lEQK={MMpn*io*(bc_b{Uwi>4q88YuJt`z4(7ES*warO*6Om|7T$(Dk zuX<>#_GGfE$XAa%GjRfU9rI2|*lyteQZKVmtL}d1@zIRVw2V(lgOwOV|E&*_a=>m$ zkk2>KZ?MUZg;J8uqUJwwnQm`^@yinhIQJZ{wa?_kHSwv|-9R*E$mEJk&}CW*0ySw= zKn%YNNc*EFiRWf_D*l@Fhu%P#cRayWT)%o1LL&vxO6bxCJ`;fJ?Ze4dKKuIAgC4IV z%WGl)L?kDNHejwe77p^pOe$jSU3(FlCB|(p+A}>BZ3+eYdTN(duQ*E+-jJ@f*1i^R zzxEH|7o>s(D!*SzqP`t4wv^7AwY2R#1#!Pv6P~~L4TL4xv;RrzsIGpMiI(8!W&ogX zXrp+(OWco;1&+p2sSeJ1zYfPRwLQEU-oIls>#5(Z*IGEsyDW@?AlSg`48!=+bl<hF zNRw$b*1o0ETbixyu-d!UIl9H;Yx-83pSir9-|cV*B3NLRgDHP$IE-C@QWBjlYN!fB zfS#iOVW|x)&bFnM&y6xpn(W>x0TRAnUMg}OAGF6-oD0i;r7k^3$LR!+Zy<x|V$^8c z>%0X$la>hX6qVzRgS?ex4f<mfi~|TTaT`N^$cKfNYeT3Y{<gAy2VLWB>6?PW0fN0l zK+Yh2fh?#vgJ34s&e3*aKCm!G+oZph;H-h<v{lQ1rB)wwN`3LyKt@>FKOqWSn0-KD zV%Ec2`)mSpSFBCs9n?msw~%4}=r}AkGt8*!&(HU6#kAD<$)>tZzf^Qr@KKhQ3EQoN zP&5~)^9BQzd8Z?QY3*gL=Nx&a#ms*&I&TPp^kV*dIvve9q)df=Qz?E=(&NBkB%~t2 zn|WdMP>%G1KtKjm`y`YLVZ*>_4HB^qxr;if)UYauu80X~upeSFvAbA6+eT)n+^m}^ zKlR;X%=pnY9q%JWvNOC3w^`7hr1(4@z{7p*I=YS&1KZjCC|d=RVg^5wVAG4X`9H2_ z0Y9Mylvg>9eF=$dKOAY)Vl0-ODbnSs(A~qnHE7#ZR#2+1UnP8IN9O;M6_pz1Rui%3 zb_ZWc+;*u!t(gSy!e%>dwbf}p7v9_hp4=A{)Z+4hnq!bpi&@iDX_J>(^~<c2t=xOb z0u|>w(t`5;0vZkF@>daRmOhTbXvdbFsaUe=tog#_T+lSN)?l<P1aJs|Sl;oKm1>#@ z6##m=xTq$vcD{epMn2s5QO#TjM1~R-@wxZEB^^x18__!~W;1)Ru-Nt@fLrAqlkDlp ziLh$vqth}AI=8Rw`o+h+w0^$jyOH=w-Oe&#?dD6uighXGJ9iAADDn@Znf)C=5~}!B zb~Q?b6oAeydS)WWiNorJc#7jjG<6x=uOU&xvvTw)yq#shyC21y4;{NzWHPgp0PHUB zm}HJ2C&H>nsZuGTNRoK(^%ugJH(qK-SG2u{k8&%s7+ZFwiK{l8GhVw<s9=<eZ3csF zC4d9~rt*%@(W-bNbO#XW=Bj+wW*2(Z_IDM=jcl$T(!T*&k)LV*o5jN6``?an-_JkJ zilX#|&Bo7$yb8KXkrQFn72v8@&Lt_L?<djSHKT_%txy#=p2Xd36SgH>k=AdyWH^(O zrP8YDlp=$DwJ3_)P({jARl!8qSfL;X>UGLdRx8)AQ&@m~aK8pF5#8#*$6Ht4v6YA@ zN?5V}oHTRxUW+J5JBp3=w*h37cU&^Zt6XPBS!uL#by3apbXPa}@{`C4RjREdtX2*O zj^4udge$fk@mF}OO|X!pw8LOzcj4ZCtvlr%V`)@@L|6+zR~J3gTNI^!8jVstuy;MW ze?+LVLs$TmOvPQi^(cD}+`xMu#hdbrtQU(7wwD2%DestM&Lbzn>SKUb!~EF1Nlo|I z4}0pHHu5g-c%I6YYxzhzbQ60I-Y_3No<R`=VIT?YEiATe18@L9dO3&qL@Hq-3<l8I zMaT3JL3D>CxwdcPZ;$LA;?}KG5K*^|M|sEhR8lTx<NZ$)&F3%W78V<AF9X<C-Z9CX zPfmo@i-M-f7a5xRtaJO?%*<(Bbq(s3e@AdfNV}Sk!zVJ3xc`Rn$cYTnV&z1Qnoc$u z?R!{WJc4^=u8PV#&VQ@miO?ND7^5IN==91S7Ax06tD%VwZ3Cnp;lcWjZ37Tm*R#B1 zbcjo7xrm9|XF7c1mYrpV_c=~nfGWOFOZNZdL|8qklnU}yilIL28D59}=)Er5kl@OF zCI4?Zxn`U?n}w6fxA_A{Zkf(s&Qa3}s)%8zvqppMD9ek<08#+lKsj#Ls33`u#JxMc z=8S@Dp?6VrU|FFl#|v&v8~Ru~w-3;@Y2l}6-P{)yd2@SdT)kd^Prle^-h1!{%W}fU z94Gz^c_B=-BPYV@O~WvXHxvpYx?it)is-k(HNk;y<sFk#h@ylWHw$s$axTtY$`MYV zy<<9mIfp7Pw$oY-olX$Md4tKG%=2O@fHVMC09c$IR~aWl4S-Mp^%M%Sfs0PrQj(-b zW(ybO=Bi?wH1rl*HTTsuY2ZyYZs?6VwcRW9ruL_C{bnI%%{^e*x#ud+^U~)m%m08f z_<hSNrYibpE-N9uN~L&*0P%LuF2UrqH#%vXG_2gu5TBIE%p&zl9@4HC;L7y^;bLlz zIqhn`bSKNGVHncLFw`9a#0`^$OS9YgbO1L2Wa8f9oIC)+(~R%HL`VVf!o9^S0RRG( zN=1-P!-PseFw1haSXR{g)zVu+Lp+Iw^}V&BAs$q{U=K71^@3KzJmv6}!?}w&i2LrK zIq6WkAd1pgHXA<|Rd8F5tYqXwDEm7tO_MJ%4E27?roPJP|Ap&1wDm9Vn95C7wh^~7 zi;;Q9fID}MNWWEVy^&tXX51-8UV()+nphRXP!=VvD5ex-K0zRd<HfrIC*+!~Tmb+x z?ww?d{`~L#rmRN%`TS|<(4hkXV8ezDTmJl-0>J%Eb~FGT?mes10?=vIv^zypHE0D{ zQ<5YfftNh&9Pi4qf<~`nY+jyPF2L6X!NKlKP=Kr2&({ThzIp`uyTaF}^6cGnw8O_U z5c|zRWAgbdJIe~6bDa1q<U2swpX5X+dk}`AFix#jeq1Ne%{A(Oo%NC3Ln>_L|MFB= zWJ7*|1$hM)<QG~|P+)<<XouO#!C<i23yW>M!DttaCRVUoc|sIK0RW5^Rv`+KL=dC` z03=D|Ns1u!8ioe|k|HU!S|RCm4CSg*QSR<4O0QQcwQ3qJdL=wOH1Kp+!^=YhPY(^; z-70=*va%+M5_avmhS+Zo7;j}17n!a0j|2hBA$N(F{fm5NlRXLv;2Ad;<tHjNQ~S-A z+G)m)XiDm|)ngh>Ryi3>cKp8focR5($1FBGmtItC{|LY)RHGWUvXYS#q3lVua&b|; z#dE^YAp;taufNbvRaKVG%c_POw~DZ6`Dy#&m1jkgB=#7L_E`W9mv>yUice02vXb&u zsT6OJAYN_L%8z($avOb*@H(I<`A<n!_U^a#`f1@w<H^&vB@xn3HXHvPfUNS4O;&lx zXD?Z4DFHmI*D2ppD2R~BV_PXFjBZX>mW~&)%IyKop1%+Ttb)7;P*w_ZB9u8oeVvwm zSrnv6O&a?UuS{&C?-v;gT0xd~T(T-e5F{KtdJ{h{K55v0_$Eb?<a)D({R;OABgkZ> zCMQCfBdGukb#qm}BMM@J5zjQDMh|VOY}MSiyyKEpVyBYtV8w>>wso5>NEAh0C@Qwi z1+W3~-Ji@s<U}ZQmH?$vF+#0Uyhc%k&zNCNndhEuL5Bpnmv>yUN+9!&0c$s3<QFVE zV>g@aMOG`fh~>q_0IrpHY_h6HPK2_u&|0UVCyT(Cpa3^w?C@r~0lh=X06+P8qU`@= z+&19<+Pl}^D5@|F;Lpy^W$$HM3f*3yHz<~df<g<37{Cw-iAW+wW1=Sh75p(K#zaj3 z6BLPn3Q=k-wMwa_Qs@PiUMaiV?qz0oX7-F9%7=asQxx2?^Zb&N>?HHy-4An~%$_~( zId|c<`0UJJ_TJ=z0Pwl4TOR}Xz0|c)d1DaL|H%vBP%xmrCyL@&U0uX^=Xgi>*pW7G zxi$T!l^GpR;_Hhe;`G^@dVDJFD2n%NI-UO%z!m(*_H{%n#UP|o@dDTv3MlV7z=^78 zKsoVdyZ`lrt@4g-F?O*jQ^lf#>w`16aCy`|^VP7CSkO(62dA@H>k9xq;HGyf0nRqG z8h8Ng(lq%kP4ynPi=y_x%Z>IMN47)`?r%a>)L-iQ=s!rL3|#(c0^eM`oxRdCAuEb^ z#w--S%o*k>0Q~@*QrAfC#vr8CC<fq2H0pa>*X>uDHmtFZ9^Mq(w|k@9wWAh(zf$V@ z=pPt{g}&?4=;^&@pTBe`HxXY@0zUa_YB7Hbz_;LLcUol_gtXep0QSm~^ja{a95oDk zYin~fclbbSaQ~i-TGxwp2m~06rKIZ?uKhNNtG#ji`ya>k+hYk|B&6L+XU%h_X<x!p zn=_vFPOBD!ke)X_0Ntu89|{JPqdDE&+E7=K-`mxo?%rANe`#9`t<9BOV|+%0a4<Ta zME{Lx^!85~zx2h;`_pM(FrePd>DGDEw0{6_4M4uswGyoqXA64XDFC(u=njX}R~^T* z$Fhr69c|V6zC9blom*>^_O@y?H$@?P+3Ds<*hPWyi4=xM<}o-tCw}gW=l&RepsI?T z^l8$s50m<LLf{&J0q|%edX6y&sT{2V&@IbSS16!#+X9`1g1x?>Hj?e^sPXLF9;;|? ztM;@sRiZ8yfyd=ff#WP~U>}=EVt8a814A>$z|fo>zrW}U_?3sM<{e5e7JBlg-3y=( zO9u@Tl?|6q0pucn0PO%eLjh%{=97073dN>^X-8^n!uqD>Ds;TCF4)pkDYrC6Q5TD# zW__q^`lVX7!0cQWQ!{Cd-A!R^B54o(`5<>^Jb~%iOh8k;X;qQO^QPUe>sCL28vup@ z7$q*9=$T^>lH2(JYzDANlBCTQVRgGllD1e@F=iN6G!#<I*t)RUP+uW6Zdl{nSYM%5 zMgyp-^rL!h5Nj)!PKnnvxg^Es^EMJG9rFnt4-+~PNdt+bj`-A~c{je0zc;xk<{o6! zY}QhJJ|(59-Wf-TTZ@_efDjk~aOctBnjX0pgOKR)JOF9{YyeOXpuz7~n*5qv=aD=y zM~JniRjkSviV;cjARJQj0lz8&e%T3!G(;jADk7RU9Mt4+Nb^V%ypkj-k+25oF)x}z z0O?EtLI_I;6f@a^lg<|Gbf!>TOc#*N7N8rpM>k9<lQn&ga2!qZW>m$SkR)kd2xrzP zSW|{!PXM?NU=lzaz%005kLYhP2#KDK0Dvk0!AB#y>~jc9>z2!(x2U4Xa%)TDHUJnM zyE|xEwhbV)>>dY8>v35Cxkn?l>^ccRe}><Q$Q4TSdk#_g(eZ?#WLY-e|KOt!0pR4x zlb<~Ol89&}%Hy8^L_|dY5`&P4h+K_9NJK=g#vmjjB3EM&5)qNBF$jr>$kiBxL`39j q3_>Czay14a5fQl>gOG@bT<tHmBc0u*K^YGK0000<MNUMnLSTXi1iJD7 literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/lock.png b/nginx/landingpage/assets/imgs/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..c09d3081678c8358d6ba4f99974b81f674358ca3 GIT binary patch literal 6031 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 literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/markdown.png b/nginx/landingpage/assets/imgs/markdown.png new file mode 100644 index 0000000000000000000000000000000000000000..b70d3815a9838438b0605a12e5216accd920592a GIT binary patch literal 14943 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Ð|dv_344gIV<a%Dy$=kv*_zVsS97AmdDay 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 literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/imgs/netbox_icon.svg b/nginx/landingpage/assets/imgs/netbox_icon.svg new file mode 100755 index 000000000..61b9b5aab --- /dev/null +++ b/nginx/landingpage/assets/imgs/netbox_icon.svg @@ -0,0 +1,20 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320"> + <g fill="#9cc8f8" stroke="#9cc8f8"> + <circle cx="37" cy="284" r="23"/> + <circle cx="101" cy="37" r="23"/> + <circle cx="101" cy="220" r="23"/> + <circle cx="284" cy="220" r="23"/> + <rect x="93" y="37" width="16" height="180"/> + <rect x="101" y="212" width="180" height="16"/> + <rect x="93" y="212" width="16" height="90" transform="rotate(45 101 220)"/> + </g> + <g fill="#1685fc" stroke="#1685fc"> + <circle cx="284" cy="37" r="23"/> + <circle cx="37" cy="101" r="23"/> + <circle cx="220" cy="101" r="23"/> + <circle cx="220" cy="284" r="23"/> + <rect x="37" y="93" width="180" height="16"/> + <rect x="212" y="101" width="16" height="180"/> + <rect x="212" y="93" width="16" height="90" transform="rotate(225 220 101)"/> + </g> +</svg> diff --git a/nginx/landingpage/assets/imgs/opensearch.png b/nginx/landingpage/assets/imgs/opensearch.png new file mode 100755 index 0000000000000000000000000000000000000000..077f1868dee49c81e269c88206333fd267170d8e GIT binary patch literal 10327 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 U@&tqjcoYcI(J)Z2RkM%!KY|oHg8%>k literal 0 HcmV?d00001 diff --git a/nginx/landingpage/assets/js/bootstrap.bundle.min.js b/nginx/landingpage/assets/js/bootstrap.bundle.min.js new file mode 100644 index 000000000..68acb7a31 --- /dev/null +++ b/nginx/landingpage/assets/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.0.2 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},e=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},i=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=i(t);return e&&document.querySelector(e)?e:null},s=t=>{const e=i(t);return e?document.querySelector(e):null},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=e=>r(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?t.findOne(e):null,l=(t,e,i)=>{Object.keys(i).forEach(n=>{const s=i[n],o=e[n],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)})},c=t=>!(!r(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),h=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),d=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d(t.parentNode):null},u=()=>{},f=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],g=()=>"rtl"===document.documentElement.dir,_=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",()=>{m.forEach(t=>t())}),m.push(e)):e()},b=t=>{"function"==typeof t&&t()},v=(t,e,i=!0)=>{if(!i)return void b(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const r=({target:i})=>{i===e&&(s=!0,e.removeEventListener("transitionend",r),b(t))};e.addEventListener("transitionend",r),setTimeout(()=>{s||o(e)},n)},y=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={};let O=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},k=/^(mouseenter|mouseleave)/i,L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function D(t){const e=x(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function S(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function I(t,e,i){const n="string"==typeof e,s=n?i:e;let o=M(t);return L.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),k.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=I(e,i,n),l=D(t),c=l[a]||(l[a]={}),h=S(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(w,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,n,s){const o=S(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function M(t){return t=t.replace(E,""),C[t]||t}const P={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=I(e,i,n),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];j(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(A,"");if(!a||e.includes(n)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=p(),s=M(e),o=e!==s,r=L.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},H=new Map;var R={set(t,e,i){H.has(t)||H.set(t,new Map);const n=H.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>H.has(t)&&H.get(t).get(e)||null,remove(t,e){if(!H.has(t))return;const i=H.get(t);i.delete(e),0===i.size&&H.delete(t)}};class B{constructor(t){(t=a(t))&&(this._element=t,R.set(this._element,this.constructor.DATA_KEY,this))}dispose(){R.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){v(t,e,i)}static getInstance(t){return R.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class W extends B{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return P.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),P.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}P.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',W.handleDismiss(new W)),_(W);class q extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');q.getOrCreateInstance(e).toggle()}),_(q);const U={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+$(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+$(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+$(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends B{constructor(e,i){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(i),this._indicatorsElement=t.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return F}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._slide(X)}pause(e){e||(this._isPaused=!0),t.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=t.findOne(".active.carousel-item",this._element);const i=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(e));if(i===e)return this.pause(),void this.cycle();const n=e>i?K:X;this._slide(n,this._items[e])}_getConfig(t){return t={...F,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};t.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(e){return this._items=e&&e.parentNode?t.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(t,e){const i=t===K;return y(this._items,e,i,this._config.wrap)}_triggerSlideEvent(e,i){const n=this._getItemIndex(e),s=this._getItemIndex(t.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:i,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const i=t.findOne(".active",this._indicatorsElement);i.classList.remove("active"),i.removeAttribute("aria-current");const n=t.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t<n.length;t++)if(Number.parseInt(n[t].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(e)){n[t].classList.add("active"),n[t].setAttribute("aria-current","true");break}}}_updateInterval(){const e=this._activeElement||t.findOne(".active.carousel-item",this._element);if(!e)return;const i=Number.parseInt(e.getAttribute("data-bs-interval"),10);i?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=i):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(e,i){const n=this._directionToOrder(e),s=t.findOne(".active.carousel-item",this._element),o=this._getItemIndex(s),r=i||this._getItemByOrder(n,s),a=this._getItemIndex(r),l=Boolean(this._interval),c=n===K,h=c?"carousel-item-start":"carousel-item-end",d=c?"carousel-item-next":"carousel-item-prev",u=this._orderToDirection(n);if(r&&r.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(r,u).defaultPrevented)return;if(!s||!r)return;this._isSliding=!0,l&&this.pause(),this._setActiveIndicatorElement(r),this._activeElement=r;const p=()=>{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),f(r),s.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),s.classList.remove("active",d,h),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,p();l&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?g()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?g()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Z.carouselInterface(e,i),n&&Z.getInstance(e).to(n),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const e=t.find('[data-bs-ride="carousel"]');for(let t=0,i=e.length;t<i;t++)Z.carouselInterface(e[t],Z.getInstance(e[t]))}),_(Z);const J={toggle:!0,parent:""},tt={toggle:"boolean",parent:"(string|element)"};class et extends B{constructor(e,i){super(e),this._isTransitioning=!1,this._config=this._getConfig(i),this._triggerArray=t.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const s=t.find('[data-bs-toggle="collapse"]');for(let e=0,i=s.length;e<i;e++){const i=s[e],o=n(i),r=t.find(o).filter(t=>t===this._element);null!==o&&r.length&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let e,i;this._parent&&(e=t.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===e.length&&(e=null));const n=t.findOne(this._selector);if(e){const t=e.find(t=>n!==t);if(i=t?et.getInstance(t):null,i&&i._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e&&e.forEach(t=>{n!==t&&et.collapseInterface(t,"hide"),i||R.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",f(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t<e;t++){const e=this._triggerArray[t],i=s(e);i&&!i.classList.contains("show")&&(e.classList.add("collapsed"),e.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[t]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...J,...t}).toggle=Boolean(t.toggle),l("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:e}=this._config;e=a(e);const i=`[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;return t.find(i,e).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),e}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=et.getInstance(t);const n={...J,...U.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&n.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(n.toggle=!1),i||(i=new et(t,n)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){et.collapseInterface(this,t)}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const i=U.getDataAttributes(this),s=n(this);t.find(s).forEach(t=>{const e=et.getInstance(t);let n;e?(null===e._parent&&"string"==typeof i.parent&&(e._config.parent=i.parent,e._parent=e._getParent()),n="toggle"):n=i,et.collapseInterface(t,n)})})),_(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),lt=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),ct=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ht(t){return t?(t.nodeName||"").toLowerCase():null}function dt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ut(t){return t instanceof dt(t).Element||t instanceof Element}function ft(t){return t instanceof dt(t).HTMLElement||t instanceof HTMLElement}function pt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof dt(t).ShadowRoot||t instanceof ShadowRoot)}var mt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];ft(s)&&ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ft(n)&&ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function gt(t){return t.split("-")[0]}function _t(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function bt(t){var e=_t(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function vt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&pt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function yt(t){return dt(t).getComputedStyle(t)}function wt(t){return["table","td","th"].indexOf(ht(t))>=0}function Et(t){return((ut(t)?t.ownerDocument:t.document)||window.document).documentElement}function At(t){return"html"===ht(t)?t:t.assignedSlot||t.parentNode||(pt(t)?t.host:null)||Et(t)}function Tt(t){return ft(t)&&"fixed"!==yt(t).position?t.offsetParent:null}function Ot(t){for(var e=dt(t),i=Tt(t);i&&wt(i)&&"static"===yt(i).position;)i=Tt(i);return i&&("html"===ht(i)||"body"===ht(i)&&"static"===yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&ft(t)&&"fixed"===yt(t).position)return null;for(var i=At(t);ft(i)&&["html","body"].indexOf(ht(i))<0;){var n=yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ct(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var kt=Math.max,Lt=Math.min,xt=Math.round;function Dt(t,e,i){return kt(t,Lt(e,i))}function St(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function It(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Nt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=gt(i.placement),l=Ct(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return St("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:It(t,rt))}(s.padding,i),d=bt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Ot(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=Dt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&vt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},jt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=!0===c?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:xt(xt(e*n)/n)||0,y:xt(xt(i*n)/n)||0}}(o):"function"==typeof c?c(o):o,d=h.x,u=void 0===d?0:d,f=h.y,p=void 0===f?0:f,m=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),_=ot,b=it,v=window;if(l){var y=Ot(i),w="clientHeight",E="clientWidth";y===dt(i)&&"static"!==yt(y=Et(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,s===it&&(b=nt,p-=y[w]-n.height,p*=a?1:-1),s===ot&&(_=st,u-=y[E]-n.width,u*=a?1:-1)}var A,T=Object.assign({position:r},l&&jt);return a?Object.assign({},T,((A={})[b]=g?"0":"",A[_]=m?"0":"",A.transform=(v.devicePixelRatio||1)<2?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",A)):Object.assign({},T,((e={})[b]=g?p+"px":"",e[_]=m?u+"px":"",e.transform="",e))}var Pt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:gt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Mt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Mt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Ht={passive:!0},Rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Ht)})),a&&l.addEventListener("resize",i.update,Ht),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Ht)})),a&&l.removeEventListener("resize",i.update,Ht)}},data:{}},Bt={left:"right",right:"left",bottom:"top",top:"bottom"};function Wt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Bt[t]}))}var qt={start:"end",end:"start"};function zt(t){return t.replace(/start|end/g,(function(t){return qt[t]}))}function $t(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ut(t){return _t(Et(t)).left+$t(t).scrollLeft}function Ft(t){var e=yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Vt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ht(e))>=0?e.ownerDocument.body:ft(e)&&Ft(e)?e:t(At(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=dt(n),r=s?[o].concat(o.visualViewport||[],Ft(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Vt(At(r)))}function Kt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){return"viewport"===e?Kt(function(t){var e=dt(t),i=Et(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Ut(t),y:a}}(t)):ft(e)?function(t){var e=_t(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Kt(function(t){var e,i=Et(t),n=$t(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ut(t),l=-n.scrollTop;return"rtl"===yt(s||i).direction&&(a+=kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Et(t)))}function Yt(t){return t.split("-")[1]}function Qt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?gt(s):null,r=s?Yt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ct(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case"end":e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=St("number"!=typeof p?p:It(p,rt)),g="popper"===h?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[u?g:h],y=function(t,e,i){var n="clippingParents"===e?function(t){var e=Vt(At(t)),i=["absolute","fixed"].indexOf(yt(t).position)>=0&&ft(t)?Ot(t):t;return ut(i)?e.filter((function(t){return ut(t)&&vt(t,i)&&"body"!==ht(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Xt(t,i);return e.top=kt(n.top,e.top),e.right=Lt(n.right,e.right),e.bottom=Lt(n.bottom,e.bottom),e.left=kt(n.left,e.left),e}),Xt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ut(v)?v:v.contextElement||Et(t.elements.popper),r,l),w=_t(_),E=Qt({reference:w,element:b,strategy:"absolute",placement:s}),A=Kt(Object.assign({},b,E)),T="popper"===h?A:w,O={top:y.top-T.top+m.top,bottom:T.bottom-y.bottom+m.bottom,left:y.left-T.left+m.left,right:T.right-y.right+m.right},C=t.modifiersData.offset;if("popper"===h&&C){var k=C[s];Object.keys(O).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Zt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?lt:l,h=Yt(n),d=h?a?at:at.filter((function(t){return Yt(t)===h})):rt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[gt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Jt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=gt(g),b=l||(_!==g&&p?function(t){if("auto"===gt(t))return[];var e=Wt(t);return[zt(t),e,zt(e)]}(g):[Wt(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===gt(i)?Zt(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=gt(C),L="start"===Yt(C),x=[it,nt].indexOf(k)>=0,D=x?"width":"height",S=Gt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=x?L?st:ot:L?nt:it;y[D]>w[D]&&(I=Wt(I));var N=Wt(I),j=[];if(o&&j.push(S[k]<=0),a&&j.push(S[I]<=0,S[N]<=0),j.every((function(t){return t}))){T=C,A=!1;break}E.set(C,j)}if(A)for(var M=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},P=p?3:1;P>0&&"break"!==M(P);P--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function te(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ee(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Gt(e,{elementContext:"reference"}),a=Gt(e,{altBoundary:!0}),l=te(r,n),c=te(a,s,o),h=ee(l),d=ee(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},ne={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=gt(t),s=[ot,it].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ot,st].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},se={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Qt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=Gt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=gt(e.placement),b=Yt(e.placement),v=!b,y=Ct(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],I=E[y]-g[L],N=f?-T[x]/2:0,j="start"===b?A[x]:T[x],M="start"===b?-T[x]:-A[x],P=e.elements.arrow,H=f&&P?bt(P):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=R[k],W=R[L],q=Dt(0,A[x],H[x]),z=v?A[x]/2-N-q-B-O:j-q-B-O,$=v?-A[x]/2+N+q+W+O:M+q+W+O,U=e.elements.arrow&&Ot(e.elements.arrow),F=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-F,X=E[y]+$-V;if(o){var Y=Dt(f?Lt(S,K):S,D,f?kt(I,X):I);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Dt(f?Lt(J,K):J,Z,f?kt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function re(t,e,i){void 0===i&&(i=!1);var n,s,o=Et(e),r=_t(t),a=ft(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==ht(e)||Ft(o))&&(l=(n=e)!==dt(n)&&ft(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:$t(n)),ft(e)?((c=_t(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ut(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ae={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ce(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?ae:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ae,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){d(),a.options=Object.assign({},o,a.options,i),a.scrollParents={reference:ut(t)?Vt(t):t.contextElement?Vt(t.contextElement):[],popper:Vt(e)};var s,r,c=function(t){var e=function(t){var e=new Map,i=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||function t(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach((function(n){if(!i.has(n)){var s=e.get(n);s&&t(s)}})),n.push(s)}(t)})),n}(t);return ct.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((s=[].concat(n,a.options.modifiers),r=s.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(r).map((function(t){return r[t]}))));return a.orderedModifiers=c.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(le(e,i)){a.rects={reference:re(e,Ot(i),"fixed"===a.options.strategy),popper:bt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!le(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var he=ce(),de=ce({defaultModifiers:[Rt,se,Pt,mt]}),ue=ce({defaultModifiers:[Rt,se,Pt,mt,ne,Jt,oe,Nt,ie]}),fe=Object.freeze({__proto__:null,popperGenerator:ce,detectOverflow:Gt,createPopperBase:he,createPopper:ue,createPopperLite:de,top:it,bottom:nt,right:st,left:ot,auto:"auto",basePlacements:rt,start:"start",end:"end",clippingParents:"clippingParents",viewport:"viewport",popper:"popper",reference:"reference",variationPlacements:at,placements:lt,beforeRead:"beforeRead",read:"read",afterRead:"afterRead",beforeMain:"beforeMain",main:"main",afterMain:"afterMain",beforeWrite:"beforeWrite",write:"write",afterWrite:"afterWrite",modifierPhases:ct,applyStyles:mt,arrow:Nt,computeStyles:Pt,eventListeners:Rt,flip:Jt,hide:ie,offset:ne,popperOffsets:se,preventOverflow:oe});const pe=new RegExp("ArrowUp|ArrowDown|Escape"),me=g()?"top-end":"top-start",ge=g()?"top-start":"top-end",_e=g()?"bottom-end":"bottom-start",be=g()?"bottom-start":"bottom-end",ve=g()?"left-start":"right-start",ye=g()?"right-start":"left-start",we={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},Ee={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ae extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return we}static get DefaultType(){return Ee}static get NAME(){return"dropdown"}toggle(){h(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(h(this._element)||this._menu.classList.contains("show"))return;const t=Ae.getParentFromElement(this._element),e={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)U.setDataAttribute(this._menu,"popper","none");else{if(void 0===fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:r(this._config.reference)?e=a(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=ue(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>P.on(t,"mouseover",u)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),P.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(h(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){P.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return t.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ve;if(t.classList.contains("dropstart"))return ye;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ge:me:e?be:_e}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:e,target:i}){const n=t.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(c);n.length&&y(n,i,"ArrowDown"===e,!n.includes(i)).focus()}static dropdownInterface(t,e){const i=Ae.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Ae.dropdownInterface(this,t)}))}static clearMenus(e){if(e&&(2===e.button||"keyup"===e.type&&"Tab"!==e.key))return;const i=t.find('[data-bs-toggle="dropdown"]');for(let t=0,n=i.length;t<n;t++){const n=Ae.getInstance(i[t]);if(!n||!1===n._config.autoClose)continue;if(!n._element.classList.contains("show"))continue;const s={relatedTarget:n._element};if(e){const t=e.composedPath(),i=t.includes(n._menu);if(t.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;"click"===e.type&&(s.clickEvent=e)}n._completeHide(s)}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(e){if(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!pe.test(e.key))return;const i=this.classList.contains("show");if(!i&&"Escape"===e.key)return;if(e.preventDefault(),e.stopPropagation(),h(this))return;const n=()=>this.matches('[data-bs-toggle="dropdown"]')?this:t.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===e.key?(n().focus(),void Ae.clearMenus()):"ArrowUp"===e.key||"ArrowDown"===e.key?(i||n().click(),void Ae.getInstance(n())._selectMenuItem(e)):void(i&&"Space"!==e.key||Ae.clearMenus())}}P.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',Ae.dataApiKeydownHandler),P.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ae.dataApiKeydownHandler),P.on(document,"click.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),Ae.dropdownInterface(this)})),_(Ae);class Te{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(e,i){r(e)?i(e):t.find(e,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const Oe={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ce={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ke{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{b(t)})):b(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),b(t)})):b(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Oe,..."object"==typeof t?t:{}}).rootElement=a(t.rootElement),l("backdrop",t,Ce),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{b(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){v(t,this._getElement(),this._config.isAnimated)}}const Le={backdrop:!0,keyboard:!0,focus:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class De extends B{constructor(e,i){super(e),this._config=this._getConfig(i),this._dialog=t.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Te}static get Default(){return Le}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),P.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ke({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Le,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("modal",t,xe),t}_showElement(e){const i=this._isAnimated(),n=t.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),i&&f(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,i)}_enforceFocus(){P.off(document,"focusin.bs.modal"),P.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!g()||i&&!t&&g())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!g()||!i&&t&&g())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=De.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})}),De.getOrCreateInstance(e).toggle(this)})),_(De);const Se={backdrop:!0,keyboard:!0,scroll:!1},Ie={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ne extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Se}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new Te).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(P.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Te).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Se,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Ie),t}_initializeBackDrop(){return new ke({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){P.off(document,"focusin.bs.offcanvas"),P.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){P.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(e){const i=s(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),h(this))return;P.one(i,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const n=t.findOne(".offcanvas.show");n&&n!==i&&Ne.getInstance(n).hide(),Ne.getOrCreateInstance(i).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>t.find(".offcanvas.show").forEach(t=>Ne.getOrCreateInstance(t).show())),_(Ne);const je=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Pe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,He=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!je.has(i)||Boolean(Me.test(t.nodeValue)||Pe.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Re(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),o=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=o.length;t<i;t++){const i=o[t],n=i.nodeName.toLowerCase();if(!s.includes(n)){i.remove();continue}const r=[].concat(...i.attributes),a=[].concat(e["*"]||[],e[n]||[]);r.forEach(t=>{He(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),We=new Set(["sanitize","allowList","sanitizeFn"]),qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ze={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},$e={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Fe extends B{constructor(t,e){if(void 0===fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return $e}static get NAME(){return"tooltip"}static get Event(){return Ue}static get DefaultType(){return qe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.Event.SHOW),i=d(this._element),n=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(t.defaultPrevented||!n)return;const s=this.getTipElement(),o=e(this.constructor.NAME);s.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this.setContent(),this._config.animation&&s.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,s,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;R.set(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.appendChild(s),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=ue(this._element,s,this._getPopperConfig(a)),s.classList.add("show");const c="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;c&&s.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",u)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return r(e)?(e=a(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Re(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||R.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),R.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return ze[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{We.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Be);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Fe);const Ve=new RegExp("(^|\\s)bs-popover\\S+","g"),Ke={...Fe.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},Xe={...Fe.DefaultType,content:"(string|element|function)"},Ye={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Qe extends Fe{static get Default(){return Ke}static get NAME(){return"popover"}static get Event(){return Ye}static get DefaultType(){return Xe}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||t.findOne(".popover-header",this.tip).remove(),this._getContent()||t.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".popover-header",e),this.getTitle());let i=this._getContent();"function"==typeof i&&(i=i.call(this._element)),this.setElementContent(t.findOne(".popover-body",e),i),e.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ve);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Qe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Qe);const Ge={offset:10,method:"auto",target:""},Ze={offset:"number",method:"string",target:"(string|element)"};class Je extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Ge}static get NAME(){return"scrollspy"}refresh(){const e=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?e:this._config.method,s="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.find(this._selector).map(e=>{const o=n(e),r=o?t.findOne(o):null;if(r){const t=r.getBoundingClientRect();if(t.width||t.height)return[U[i](r).top+s,o]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Ge,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&r(t.target)){let{id:i}=t.target;i||(i=e("scrollspy"),t.target.id=i),t.target="#"+i}return l("scrollspy",t,Ze),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(e){this._activeTarget=e,this._clear();const i=this._selector.split(",").map(t=>`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),n=t.findOne(i.join(","));n.classList.contains("dropdown-item")?(t.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),t.parents(n,".nav, .list-group").forEach(e=>{t.prev(e,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),t.prev(e,".nav-item").forEach(e=>{t.children(e,".nav-link").forEach(t=>t.classList.add("active"))})})),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:e})}_clear(){t.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{t.find('[data-bs-spy="scroll"]').forEach(t=>new Je(t))}),_(Je);class ti extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let e;const i=s(this._element),n=this._element.closest(".nav, .list-group");if(n){const i="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";e=t.find(i,n),e=e[e.length-1]}const o=e?P.trigger(e,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==o&&o.defaultPrevented)return;this._activate(this._element,n);const r=()=>{P.trigger(e,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:e})};i?this._activate(i,i.parentNode,r):r()}_activate(e,i,n){const s=(!i||"UL"!==i.nodeName&&"OL"!==i.nodeName?t.children(i,".active"):t.find(":scope > li > .active",i))[0],o=n&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(e,s,n);s&&o?(s.classList.remove("show"),this._queueCallback(r,e,!0)):r()}_transitionComplete(e,i,n){if(i){i.classList.remove("active");const e=t.findOne(":scope > .dropdown-menu .active",i.parentNode);e&&e.classList.remove("active"),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),f(e),e.classList.contains("fade")&&e.classList.add("show");let s=e.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const i=e.closest(".dropdown");i&&t.find(".dropdown-toggle",i).forEach(t=>t.classList.add("active")),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=ti.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),h(this)||ti.getOrCreateInstance(this).show()})),_(ti);const ei={animation:"boolean",autohide:"boolean",delay:"number"},ii={animation:!0,autohide:!0,delay:5e3};class ni extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ei}static get Default(){return ii}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),f(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ii,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return _(ni),{Alert:W,Button:q,Carousel:Z,Collapse:et,Dropdown:Ae,Modal:De,Offcanvas:Ne,Popover:Qe,ScrollSpy:Je,Tab:ti,Toast:ni,Tooltip:Fe}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html new file mode 100755 index 000000000..9e4830aff --- /dev/null +++ b/nginx/landingpage/index.html @@ -0,0 +1,136 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <title>Malcolm</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link href="assets/css/bootstrap.min.css" rel="stylesheet"> + <script src="assets/js/bootstrap.bundle.min.js"></script> + <style> + .imgcenter { + width: 50%; + } + .center { + display: block; + margin-left: auto; + margin-right: auto; + } + .card { + /* position: relative; */ + width: 50%; + } + .image { + opacity: 1; + display: block; + width: 100%; + height: auto; + transition: .5s ease; + backface-visibility: hidden; + } + + .middle { + transition: .5s ease; + opacity: 0; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + text-align: center; + } + + .card:hover .image { + opacity: 0.3; + } + + .card:hover .middle { + opacity: 1; + } + </style> + </head> + + <body class="bg-dark"> + <br /> + <div> + <img class="imgcenter center" src="assets/imgs/Malcolm_banner_white.png" alt="%SITE_NAME%"> + </div> + + <br /> + + <!-- Internal Links --> + <div class="container"> + <h3 style="color:white">Internal Links</h3> + <div class="card-group"> + <div class="card bg-dark"> + <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/sessions/" class="btn btn-primary" target="_blank">Arkime</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/upload/" class="btn btn-primary" target="_blank">Upload</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/readme/" class="btn btn-primary" target="_blank">ReadMe</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/opensearch.png" alt="Opensearch" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a> + </div> + </div> + </div> + <div class="card-group"> + <div class="card bg-dark"> + <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/netbox/" class="btn btn-primary" target="_blank">Netbox</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/auth/" class="btn btn-primary" target="_blank">Admin Access</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> + </div> + </div> + <div class="card bg-dark"> + <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%"> + <div class="middle"> + <a href="https://localhost/mapi/" class="btn btn-primary" target="_blank">API</a> + </div> + </div> + </div> + </div> + <br /> + + <div class="container"> + <h3 style="color:white">External Links</h3> + <div class="card-group"> + <div class="card bg-dark"> + <img src="assets/imgs/github-mark-white.svg" alt="Auth" class="image" style="width:100%"> + <div class="middle"> + <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a> + </div> + </div> + <div class="card bg-dark"> + </div> + <div class="card bg-dark"> + </div> + <div class="card bg-dark"> + </div> + </div> + </div> + </body> +</html> \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf index e6c109bcd..ec6ea9112 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -282,7 +282,7 @@ http { } # Arkime - location / { + location /sessions { include /etc/nginx/nginx_auth_rt.conf; proxy_pass https://arkime; proxy_ssl_verify off; @@ -291,6 +291,13 @@ http { proxy_set_header http_auth_http_user $authenticated_user; proxy_set_header Authorization ""; } + + # Landing Page + location / { + include /etc/nginx/nginx_auth_rt.conf; + root /usr/share/nginx/landing; + try_files $uri $uri/index.html; + } } # OpenSearch API diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf index 4bb3705fc..5edd50341 100644 --- a/nginx/nginx_readonly.conf +++ b/nginx/nginx_readonly.conf @@ -201,7 +201,7 @@ http { deny all; } - location / { + location /sessions { limit_except GET POST { deny all; } proxy_pass https://arkime; proxy_ssl_verify off; @@ -210,6 +210,19 @@ http { proxy_set_header http_auth_http_user $authenticated_user; proxy_set_header Authorization ""; } + + # Landing Page + location / { + include /etc/nginx/nginx_auth_rt.conf; + root /usr/share/nginx/html/; + try_files $uri $uri/index.html; + proxy_pass https://landing; + proxy_ssl_verify off; + proxy_redirect off; + proxy_set_header Host arkime.malcolm.local; + proxy_set_header http_auth_http_user $authenticated_user; + proxy_set_header Authorization ""; + } } } diff --git a/scripts/control.py b/scripts/control.py index 3b90076a2..6edc27f47 100755 --- a/scripts/control.py +++ b/scripts/control.py @@ -457,7 +457,8 @@ def printURLs(): print("\nMalcolm services can be accessed via the following URLs:") print("------------------------------------------------------------------------------") - print(f" - Arkime: https://{myIp}/") + print(f" - Landing Page: https://{myIp}/") + print(f" - Arkime: https://{myIp}/sessions/") print(f" - OpenSearch Dashboards: https://{myIp}/dashboards/") print(f" - PCAP upload (web): https://{myIp}/upload/") if orchMode is not OrchestrationFramework.KUBERNETES: From fde311230241d18d31c95acbe47cbd7b0a377917 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 13:42:02 -0700 Subject: [PATCH 08/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 23 ++- file-upload/site/index.html | 2 +- .../Arkime_Logo_FullGradientWhite_Square.png | Bin 45103 -> 0 bytes .../assets/imgs/Malcolm_banner.png | Bin 45303 -> 0 bytes .../assets/imgs/Malcolm_banner_white.png | Bin 45426 -> 0 bytes nginx/landingpage/assets/imgs/cyberchef.svg | 146 ------------------ .../assets/imgs/github-mark-white.svg | 1 - nginx/landingpage/assets/imgs/icon.png | Bin 89100 -> 0 bytes nginx/landingpage/assets/imgs/netbox_icon.svg | 20 --- nginx/landingpage/assets/imgs/opensearch.png | Bin 10327 -> 0 bytes nginx/landingpage/index.html | 24 +-- 11 files changed, 34 insertions(+), 182 deletions(-) delete mode 100644 nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png delete mode 100755 nginx/landingpage/assets/imgs/Malcolm_banner.png delete mode 100644 nginx/landingpage/assets/imgs/Malcolm_banner_white.png delete mode 100644 nginx/landingpage/assets/imgs/cyberchef.svg delete mode 100644 nginx/landingpage/assets/imgs/github-mark-white.svg delete mode 100755 nginx/landingpage/assets/imgs/icon.png delete mode 100755 nginx/landingpage/assets/imgs/netbox_icon.svg delete mode 100755 nginx/landingpage/assets/imgs/opensearch.png mode change 100755 => 100644 nginx/landingpage/index.html diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index d59b6a22f..34c04c258 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -91,10 +91,21 @@ ENV NGINX_VERSION=1.22.1 ENV NGINX_AUTH_LDAP_BRANCH=master ENV NGINX_HTTP_SUB_FILTER_BRANCH=master +# NGINX source ADD https://codeload.github.com/mmguero-dev/nginx-auth-ldap/tar.gz/$NGINX_AUTH_LDAP_BRANCH /nginx-auth-ldap.tar.gz ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/tar.gz/$NGINX_HTTP_SUB_FILTER_BRANCH /ngx_http_substitutions_filter_module-master.tar.gz ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz +# component icons from original sources +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/ + RUN set -x ; \ CONFIG="\ --prefix=/etc/nginx \ @@ -214,15 +225,23 @@ RUN set -x ; \ apk del .gettext ; \ mv /tmp/envsubst /usr/local/bin/ ; \ rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \ - touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; + touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \ + cd /tmp; \ + unzip ./GitHub-Mark.zip; \ + mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/landingpage/assets/imgs/; \ + rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \ + chmod 644 /usr/share/nginx/html/landingpage/assets/imgs/*.*; COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ COPY --from=docbuild /site/_site /usr/share/nginx/html/readme -RUN mkdir -p /usr/share/nginx/html/landingpage COPY nginx/landingpage /usr/share/nginx/html/landingpage +COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/landingpage/assets/imgs/ +COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/landingpage/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/landingpage/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/landingpage/assets/imgs/ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ diff --git a/file-upload/site/index.html b/file-upload/site/index.html index a44a049d4..bb58d4a07 100644 --- a/file-upload/site/index.html +++ b/file-upload/site/index.html @@ -58,7 +58,7 @@ </style> </head> <body> - <img class="center imgcenter" src="upload/Malcolm_banner.png" alt="%SITE_NAME%"> + <img class="center imgcenter" src="upload/Malcolm_banner.png"> <h1 class="panel-title">Network Traffic Artifact Upload</h1> <form id="commit_files" action="server/php/submit.php" method="post" enctype="multipart/form-data"> diff --git a/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png b/nginx/landingpage/assets/imgs/Arkime_Logo_FullGradientWhite_Square.png deleted file mode 100644 index dd6f62d629549475cc4a5f57f6ee6fabe278616c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45103 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%0D%}pS} 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 Q1_k+3Q`T0hRj`WuKb@+%djJ3c diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner.png b/nginx/landingpage/assets/imgs/Malcolm_banner.png deleted file mode 100755 index c528b14e5a837f5989ddbe4b07e0711d022f048f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45303 zcmeFZWmH{Fvo1Q3ph1#Aa3}b}T@xU<y9ak?;hvzuLU8vG+#x`)pb730+}&NzB=0Bh zzGvTk?jGZwe>;rDShHt!b#--B^;6YNLKWo1(NOSF002Ofln_+{0JstGdkzu;_}lae z6*T}Lae1g{K$Q$!N$nl&Of9TUNTKfbCZr~A7N!8;HdB&l^?CIhTEN2&mf-u>m|ld4 zlx;{0t=$*ms?MGbb<~EO-}7iBUnzQ#zDQEgJ<9Ms*m>ur^x4a#sN_`1R<M2}JvGLq zMeu%iZD8>Jsu;R+vz@S$uyd2uk>_-OKlf{ghGcR9!;7$!r|KQA<%zeESJUuG<HLDL z&c$mF)7Sy51)?)o@nk)&)j9u`c;|%q?J{ZHBfaIu1?s0>WmN<u>U(pSzYlam=UKak zV};+^olA~d!Fn`17C4DaQLmw!B{{9FPhVWfAoa*QH25ZspAp3kR@r@}e89tkl)c2k zX-25>BKG~xc<yvqM%~d8UVP#m->k=URl1OHax~{zV|CzGGT=m(yVmqI>Xo1wJ7IuM zMmLJ~npNtg*^c$z`=%E?lL7~AoO#l)@es}UZ`Pq3+$OA@spP7Ww6cD@lgSffqhmK7 z_J%QOg)X`?t#+_wjvU?tZ_^!a*k)t9TBXgC0tQwUmUtU|4R373JxP9rrRr1p8g_mk zAtM{*?nx6U0YuLcqjr%GyU*{O>{T(Vsrw?HTnp&wK8@k3LytOz(Xucnd{<B9+{8yJ z8g3&K^t8tjM=^%nRkq+GW;cSMoH)cn4i2e<0b-g|X$g}WKQP6wyk?QY(8QRd2^eTq z!^)~77ExFq=C30J&yH0lVHZslr{F;9HE8qVDSY&5)-7wsw6yoeQ)*|6<J7bpwe04V z)jNhgwrc9;8~Hx)3h>GEq0Nfp^B$KgiV@kIF1@(!<F|>|G;1`?XdW2}lq;^>wk%@8 zK>muw!yq+gKHScw^1I=rR@Y_D=3+17>(8_IXH35{a;QkY<{=i0miuIP<<$5<$;9P$ z^$`qdQ9~v_00DA{RgIDZTf9R=efyD>1+Ppk5K~_vvS9X+{jBveybxM#UUXTz^<9b= z{M3jJeSmkI^xx;|xx=m_QP38Dzfm&zVMwz5#hA9F5WeWi*lpqr2}v0f4pQq7j}3ig zjG6XH2NP8EIIeCon*O>oT&Xfth3M>;v*z3+%IH>#sVmW{QDpN${pSct8HI1th74Og zk<{_c+T#T|w$+ZB`RYNjZ$1{sIikkmBw%DzEzi}4A9dT}Rg4K*|I~lqp$ZgA(J^8_ z%QK^tq;C5zoQC9q^Lp-%Qh&A?ppGyq2}{bVw&`Q>)Uv0G(kTpL$yOz-e!?;>CO)^t za2|_YEoH@+#}`a(a?10YCT30gFvk>wU>~AzIpR{w(T)EWM~N>fbrs)Ag{jgqiH}d` zndKMaCm*JoT0JHvMfrGyk6-f6D+Idjf6VUpK=VTRir(!}H-W5I>vMp0Ywl_;KuhcI z98%2g2Q6Gy6pajRC~+Vc5C0YvR!X_nks|tr4X<%UtIru8RcG(gZg#l)yQ{%8XS-+I zkGo2-5l+VAuYSq3X)jOayVQ}o(oL!%*u2HnMHg=z4<!WSzqu&x%eM>uoc5BgcM&L( zYO)>Sk<zne39GGitx)6Y3m+Qiv_<_ek^_7dNBE{@-d}#`_&&KSahXr#r*T`!6Z<00 z$`_(F-G#Z1!asV}H5AQQtbU;=rjJY_#def&ThF&UmT33msL;B{Mo!S3jdujvW{1*b zLos`@hlSV|-vot;{^E=M_Bo^AnP#PMWn5^3J%8Tn0<WI$y&nL-tZKMXanQBPrRAT< z^Kp#nRYs`bPCa&)`mgEruV_{rbL&-mzn@(rZ1fLPE^-#TH1@;X1`KZ7SNcXju~N)T z_<-^YZ`Hj(MZ%Ec^%^H?0Gun4ciEQmwm|t+0moO5E;v8(`w!$TPjn2?6LBhQ-H0^W z@jPS#kiHwGS?_I*A#|k>iYI;Y=WuXy`$}mehP+s<ES5*?!2WXXxOVI#ap+#(1~V|h zNM|0KMOq8n_yRXV^jiBs-BdR`5~$AkN$tgWi_fx1m*=U;b*7W0K{h9aJ2D~ZZ3O>K z99^09$q%tx1yUt(6NsS>EZG}cDxRR{)nslOX`-+h$<MzFMPpvfG-I|au$Mn;cR8~u zad)TUm+SoI1v{tkyeaTgELQ0qv8XAD&^~33=#fJX=g-iyUFYovx_wqHy0F|=&%bk6 z!<H~3Bx?De`iIWVaV}E_^T+DEPB}Ng%u!NEQL9H#D|c)>K_A>H)?K%Cb9hCo)$Vvh zXQRf$92?0WdR(Z{2x-Pu5Jy~G9RI1K=Z2Zt8uHrm+3VPu84dajABxls{2vXb`!8$; zfdit>Ae`aRbf;2OkqM<w4J$V7Nxz-MAU7A0lO*hfBG%7|<U`5*^GY;nwNH%=oPXi0 zp)DP^9apdj$q}H(;XEHdN`*nXiiLBS3M3O%ds80SI_c4a8oS5REB9>pmt=lOxM0@C znE3dY1P3YnACb&PiE;Qll*i;EoNt3LK9h7xyTM~4KYyv7{A^7Fi5&X`bA45&>z&0C zo(Zlo2KMm2ih$KhWYA@Fp!R-*!m?}**?kfnqQI#Ua7eBxl5&H2IhN<oz@e#t-S-j4 z02j3v$5ikTaafsmO{GDx0@*s3@bGO@IveW(&E+@YZrshyz-02EhW6@|;Tz=Eql1P~ zQ49u4|6UyH-4_KU<@1vK>CDGZIc<=zVtAHtvDlI^VBH4V^L&6-Yj@37^N@i+ORBd^ zq_ct#d<tcU>*^h-^KxlFeozZf72vxa4IOQI)@UQDA{FZeZ_{_Z#cQpaqEF(kz%S&W z{Frd|@nhywA}6TMcV2Ax*QYWL{ueR$PoUwG_aEP%?T|s^7wGTx?yi|EG2f9>#a_Gu z0GI#^5fKGR5s`mF2oN}=dPfULw7(|oe5ah34MA7KQtVMkV+i@kZHfI+fou$=gf~&A zC4dS|@?%)eqL%%kQN{M+a&ggzB2pwDzi;(Cv<(uW57H<QLw@f4?nck3Mpr)tdX{l( z0yvd^*3U<Yi37zU{_4;yj3!)R3DYlv^pePKk!7BjmmWB4n)4g?gjv=D#(wgY=>`o3 z&&poN+i3A_crP>4|I%D`T2}nPC~@24+_}az@Fe(2Iv%IePo8Dw3Jr6Eyg<!ig;45H z3Qg4<FS0$y_>-4rH7W)Xp2s){PBX{PCoRy)BcCt`zejq4ZJh~^s;I@GBtvN-w7x`Q zfBU>1%hAR!+KAZX>n9?iOOo6Di9Y%8M#(nZp?kyMB<-*DalWeC+}upn?oj(Z;C&lO zzIQ}Ryr*oM86y{eeZgt(FgF$}u;_@m={sT~;zB7TOO}B+Ke(B~`g#yDRKI;bG1a{V z_bI#dIag~N8M9L6E=QEBYxVj0L6VrS&^sr`jKyfV4FJFhvj8EThO7*)k(~{rfw7&T z38R~hJqY;#fM3YX-oVJp1WIaXVrF40Kz`8JLQZO7EI_W#A<HalFJfYDA>rX@qU<53 zV&q|E#A8e@B#6TA#tSmAF@YM8y4hIUI`O&*kpJP!3x0oWW+Es3LjtuDAlHypAQiE5 zG$CbYWM^cCymhm1VI>ztA?0^8Hsw_k75fJZ@JWE&916APWnyx5b!BvAW3+QLV`Aaq z;bCHCWnyK8fD{lXcU!1|8^qR$;*rH)JVZ^Lj2tcOp%!+wq>nre4DFnu0_5c2d(wX} z2j3dKbpsp!F~H;VANEdAV<t)PfgPL=NWjF(%*+j8W`(fwF#Wwh_*Pc-U%hRe{-H%s zpG<BB_Dn2{%uF^m|DlHy^sURk$NNuvIH`chnn}sT$<Eo)$mFeyi7k}k?}OS~J3IY- zOlK#P$EH7WTN|4)fkOQm`R{$iC1n-<)#p)-W)?Q~e|kJp|DDp<=wEd9&W_f9XpD`R zOsq|8KtY^9&Mg0d9%^Cw?*;k~^Lc#pzX<{k_b>kcf%>2N`XkF9z4D6M896@=Dk&;J z{wOc6v7M2HG4G$REQY46ENna`5CditRtUR^5i5kp(3l%yYz(dx7dNw!fdTj5SV`JC zK@Dt;OdeT*%o!~}K88lDY&=|s%n$<uR#OPODJM6Cn-jDpE+ckRR#rA<9v&`^zp;>a zv;aN9!20h}J+d+eS($LN85tOHvq0F4*jOO!Tqc|lLw0Ufh$*KbI}133p%Ev`A6Ad+ z!23o)Qh=P5k@?>(3f2ZtQ#(f+0dg4&TW7a_zfiHTF;RvZJSvTalZ}gunT?r^hl87w zo1OLFL~16EPN0!L@?>FVWc}-nu@SEr$k6~aHVYdAGZQ9zTeCl19+!m|oD8T~gGb*0 zIsa(~=fW%EXkq}hb5yajvlbwKl$G?6<sX+K<^PAX@XFX3{pt9J*u?nJ-~Qoo!Ukqc ze;)an{ww1DjgzvuovZEtH$ML+{TG)vj!;)SM=N<pc|%JRBj|t4=RYI<7bhh!);U2P z-6j7Illp(q@&9G65@26DNB6&tuWaJ**VA7C$=c$Nsz^!y1OZ+HqrcSeWZ+_A{AUS3 zJ^uB|$lSoz%mj?K|8TW`wp;usX3WjTY;3~J$qwN*F))CzGn;Tg3=LU0AS^7#oW`8& zMx3V1rvH(<lbtEl)xgo@jTvYI;5vh@^=F+)Y5rIr?SG_pH8%lm1j5Y4%gjvv*Yc9` zGd%{>e@>78G33a~^8Q@`{Es1tSMt&Fl%4JEtu0I(|D$65X(<0Mbbssr52O4)b^klr zU%f@_?A<}9HHXT(+Wwcr|0jfhagebvGO=~C`>#a*JIP;a`P;q&%KTRwxSxUBBh$b3 z$A6f`qv!lz{Pz!Y`@c8>$ohW<`ETj>f7JCq>iTbK;J-!uKi2g>>iTbK;J-!uKi2jC zo4Qc`onf2Uf<Vs|%%8bkc=W;C8^KUoToibC{K;&}j{#ed?Ikpw006z?@dFb_k4^wK zB0?o)-y*J|;$Ra~Yp=zH0stu>Df&jmZDu#k)lKE?@2-O?j+EMzdHRBYc-VmFmYe!8 zZ=ZR>Sbs&z)z`cueS)Q8O<HzI$N4&X-t%i#F#Cw-!fF5c$(=(y&L?XmNzQ56byr<a zJRXzvzP=>3i$1nN5&zeum`L!j{zEC4F!t!DRTnP~c}l;)MnZr@?PFP()`=MxeK9qE z+A;R+lr@M{Uc;M`FDMYmrFx|!y%H8mEX-G`P6?1jLzcv|Ka5_J;u6*R%&WEQ=mfOu z>e}$z1b$(B8Sh0voKRU^#Zd)ysm5w(Om?y<ks-yjcb*r`QpqW7z;h3*Ikuw3hODXf zLw(*ripszFS5_`hUO3e;s(c;08Xxa}`>Hb{LAk1E0EULFQ=Swv<P$<Iz8kR+!Y8@H z!d|zht!xOXEiwSfXG?O-eFHe4$X4b61MrP8q{e)Tu>Vz2#7tZ3P|w!Z5=E&9TP=QF z=hw`~G8Sxm6?R#;Oc=oWWr`XdN34{HGCtarZ7JvXXCh7CsHpfAuo6iCL_W@48;!+s z?RUx+7K+QON$-PB5~P!V{UVqq`#=amK(lA>|5aj999<nNv8`2ka<Ws&T3Lj#wkj<L ze2TX8APs{F-|srLg}sc$;`7fGB9kR>BYpuR8dJE<DhCt7ym*_owI21<U;k+=to?S^ zsUUp$XOM8nDIgdlV$~tG2;M8Mt||v_a6TRp#|+idt-LC!vFKChh7++HMnsU9TBNAc zx#1fTi?>xeN|VB87gbeW_gnfgmZA7-s+M0l*k3DSB5NKxuK4vgJP2BHL{LyWZbwmL zvyW5<-7Vje$?-EHW?J;DTAr=#n7j(?bk@YvRGm~-mafB!l`8v;Zyg5#)?JM}x&ax= zPC3$3T{2zx))#(3D(d+TaGx;z-UhJyzYbu3HUj_N;2AzXmW@rD&-7@!%IeB1_R#P{ z=9A;<?GZZ{F|``-bcVs=tw|2ucA6sRc`bO<D4B+E^@{GRDmy&vOW13NHiHFUZv)8> z+uaa#I!b3&ujd>C^>4rA<|@5%<LA^#gE(w?B%Pj4-=3!4&REeFs5UCG(Vu@}Ap{49 zeKsP{t-%bs$H22Eq;0Jy5`W3%KV-JK(6YdeBR)C^>lJYRj3TwaJK~smsr*c6VQwV5 z!`G*Y?k7`WzIrLHozaiRsvmQ+!W079FcJ8NC+ot-?!G=!^vNm<xAqm`?Jzg(CM&5N z`1pBi5ubjl9G=y}q{xy{x2T;B-iN2q7Q{&=e3ouzEV1pQ6i!C6fb~b(+Bc!_3(Rfc z?RN$~gnXg`O_xeI`SqsaRJ%x%Is(F!0GCTZ%y{_E<}Y((>DoE9a$?<Oe7bBt;R#pO zp@LMdBsms~YU$6N(eSx{S1ql3weVbx6PU;@*fdkRZOg&H+M*zxh}uWB+iu&&)% zONqcI>VehCG=6RSt?h{8JIM{yW*AcHe+p!~xl!{$f~TMo{RI+fKhm+}KlP-|lEU2O zIen<Vku)g4;TDqff#<gZYpu7shqqj*=!>)cuWCdD@#+PN8int}C=eOZFHE&dzEt>( z1};}tiaE~)M-y9fKFO2%FzbcP0J*exEdQqcZRMgxx$<*a{H~A-@5yMF*cc|6?4JRv zecYe6$|;!;nPU5Ckmn-9ljnwl>S@5?<74YSR7k)OM{~+J?Rx>|-QVwqkTkejls8hs zXZvfyi+5UUlIO`Qx>&WZOKSuEIeSg-ub1OSy6hgDDm>1*V`lgE`lkSe1yXT$6N*{g zfQx{o&-7zc*Ya9R1yxtwrFtbFdm*L2$p4`bi@S2PRvl1~(hWjDPgLRs68IsLC4~~a zWTUz%P39cF7_N^(taq)s;*^C`9q<42D|X1-oSprbfx$p<S_CaPSE2?pxpdK^yLD+< zo6s!+Je05Fep(_F+#$YE`3KvU1-zzf(LdDF(JD|eoH$zU4(gxO=vQeR+P|2;c-n|z zs<u0mQ1NiunVnczxbFCuB0@gxYZ(KCFk>;6p5|hfPYPK;Cwp`>fBoG<@@}{8NRpMS z)80Y&n>uP0Rqg6(8iylG3uQ|&6G`t6#VX_$w56XVUOCrPT1v){lPIXKuTM-!<w->} zHYymK*{qw;E!Nl9C-U*}XnB0&*1F_p?O*8CqBK|c_^B?P9F^9mUTwM#Q6G|M$`kDY zh>acbx!B_DtBu;mw+7hgVl72OqgG{;rUo6i;Ym_{Kg>^2iW@k<!QNT78O{;3Xn}Td zmXXpaF1NlvSHWe(<A?CCS@G(@9=<534K@|<tNXV@3^C;d*9!@G#CA8LW?-Pb)N-*_ z)hPMmz*zrvOUKc{L(^TPt7LX2g^P{u-q!q+nJcsQm!&pFrT}=p!6YHG#hzB65s_|t zuW@7t(&v6l`{H_T#c%gkmFEY-(E)Nq+`D37lNx-34_DtxqQ))p>D7q(33$fFkE1PM zI9(TVzE#7JXCZ5`IVAL|UT$4jB?Zf^-n!jF@9`-J@}Gm&fJtUkP6)#ss`6W;4MyQ< ztN$PGws<t$yTvWqW5Q?K*W=4i+NrN@rjq%0&)CsY`4isx9?RUXo%U__a+RvzsxVq? zJ5p!0waGbsi9D0n`A%BB@ImcYg16UKkMWNZ+Qd;6bEO5NnPS;N8C(}WFvXb;S6^V^ zyz0xV_3sXnvV{abb2)_9nIF3yc&gQ*e%v;oTWpmh=)PW1QQ;_RzLGyKP&PX@vddM~ zA^oSb4`jhCqGtxE=r$&y=(jvuOZZD{*tWz)8N!{j;nbwNcW&E9F#A|%_BiU&xu<r& zm2LGJ72~06mgAFwYtNg+r`#UyE=YR&r*3q91V=~BOebxf5;7K84O4o#e{nhMj^+eD zK_!ER4XAA75On0#TYsbm`s{~Gs28$p5H<;!{oGk%Y`(MJum6@^iHwqmV9OZKd*FVk zA-5K9!&Q4A0JXvcXrGNdIv&F46@jLYraob035DvU?Rqr%AApjzb97X(FT^=}a+7!= z7FGKanOI8LY;BCj=V8b6IL|8Y_h&{dAJo^=x>vO|HF4g}Tr0>0Dm7b0mjz6l&qpW7 zVS0z>pE^6UO5pPx9xc|ozxxOqbh?pME*iMAh4K`A)xX!kpr1PCJC69l;61BPVN@W` zgYVj^z8$)xE-K2$?E@!amlV*Xrlatd?z<We1_DXse`$MMd0aV+93#QM&q7i*G7>DP zbuofnR8)EjLaNuB3`a*tB9o=MR<cs>4R$34I}e!fE9}5g$ce>7-_`3)RO@&dFJ$L= zW?UJzUkyv*ptS7DJ@dvnZCjZx6D#AdlrB}+;ollJ6R}=y;nvlLD7FumdK;9@>2llG znyt)Y^8l^0;o@&w_-6Lfrr>x=LYzYasCwv&N8N?|{lcbR83||4hh91z!ymX&5Vg4Q z=rH2w>FMQ?A_Wltn38F<djU@xp|Swyj?zjZ7H?)aBTG7q!Lmn%3-93IkVEs)F}`<= zuhXz1n<?I30)Dt7<UYl4o=Bkm_h{jqXO@%Wt7BR1QmR+)=&p99ET{d`y@D<;FAG>$ zSn5vniBI%IM=I;Y&?lVllkM12@VDucry0=t*D7ey!`>?ud{L!Cn<H1Q;?{}(nd>nB zaz)I2p2FU0heM)Q&CnQ$1nbFd10*k3Yoyr6%;4Ki%jnmlgsjpx2=ZKtDeh(Q5?dWi zgOsn*7~RRLGRX&flI0VUTs+;}TKoE*;^E;9nX@;@QGA($e^0!GYtfv6aQLjC8Bw^e z0r?T@nsjt^r9TVn<bUxZ<_H-Xxqo<gSkimz3K5Y9J%u%Eq3dD+pC_@`Vj<hy#H8xF zu|I)P=ey2re|>Lf3*Mp;2N6%wi-%42hm70%nqWL27s5^zb-_wPxM^3qg8+d@>D22{ zX<uCxbXkVRdO)@O>~GEGOXEHTw!!eHHj;PuC<v|#@eG+boZc7TX7lFdr)(1QIYbY^ zv-i85x;RfXnaxbh#A-p(u_`Qj*FNxFoW!R!DO6W6)w~fG7oVD*CZnfEWlai)O2G?b z7#7oy@Bm)Jjl$$m4mIExa2Ua`VEi`u^*54Aa#?0>wGyqh4#NtuDve?SMMcG=raSlU z0MBOThXR-k!7GVRo}L4f=H|EG&&2lA@9=~OrGLFc>oO>Ob6AFL0krNgVF)x>b_O6n z2wv=(@ca<j52*3LWJe?9iT+)E(NprJr(*s`Qp_DZS_Hl^_E$_^zu=LNRI0nw;>SMM z=PV0q)Wn6!Z${Y(cl$~B^}i{oq+O109mEXac$-u9e{H89`SRt<;o;$HXJ?MW!onF( zJk4k-%+rvHeU>dmeeQy0PWK;3Z^12(6f-;kn_expv!lb>s6yj5ARwR~T(}>4*I&n~ zL+_reGZ5XGc)mT27&~6)O4z&e+;gSw2InHrO!=%N%!=!m%h<$R;}1>6lAtC?(HuEG z7++-Z4{Yu`3kxD)VdPKL#^x;pg%Q-nIY%nv>|K~Qo|0_;_}xrjqRL@zXNCYGnjo<& zxKVtL+5Yn|)zSEY)a8qJ!0i0g<&-t&?cLqd;-cT_>1pt@VbH*kEYdLZjci2zGPg|E zc!;(O1s$Cwf$V5jXlQ7Z&0Is=To`fG#bvl(Nk&O(gRyyeFB~<BiY3~Fk0&RGme=i? z(1T=}vd*j_`x5V<F5Ue18-3IJxrcc5T#wBB{n|v_C5!W`d}V8{TWJ0DW@xn-aYFq@ z?}-TiIpOzLibdL73{dA<QN1^i?Hv;9hTT02ljHvFtwDjC)l4{HvSN?X#<lHj6klK8 z)zwu}CZ;GT=OcR7?NZ*%tBTU~WAkIl#r=~P5-DK4?e6Fxw6d_^iA_l0q5$2y7>7T8 zD^>IE;fmE~=7rq(I>srjvW8Nb24RiwU{uRH0@r(~B{d4K`Ss<`L9@RfV$w?jqRcje zHN6B8>F1-$Yid|jA8J;FZEQXuNWDUhUir@8bG>4jRJ!vXcJF96o5+2uu8@EvHYkuM zL#xs9S3o`q#_xkAgKgtow84pqmmd%@#B_CuMn*<5l?o)NMZleTE^i7Zgi>{i?gS{8 zWO>X)v-m&{ANl(At1j?sWo0GfcDHJfKm3R%Kv+ZI;WX3xU0J$d|7`e0>&e4Rnp!pG z`r=0+m)TTRtr-oQ;xlz!3J5$9mn>GL0;gS6N<bw?ydcl+6OMCmKqSdAIf9jVGxd5y z*$kDyoM_&b+xn##x^sc<`I0|Zopn?6UFMC`6hntMv%_T!8zRZ!Sq(CK*D($f{Nc$7 zTv+Fivz^J|u`y9zY}huxC0zIW4Y(=!!V1+#jDZ9%9EFLEt@>17+t6^i95nQ2tVz~U z8VsB$s*9is*qyx=BOk)jm{Z$rwI%3O@jFTcoUbI5z@k7w++;-4e6ki+1Yi$Q_4kKy zrNSJu#Mi8U?hHc0h+Mgu?BSv6nw~!Pp@j+F*2$ogOvi@)a!edHfZK6ds!0Nu>M7oC zkAMej9iwBaYY|HsamKii`NDADud;imrQz`6Z4xzxP+VHfO}$t7G^8#+6W@IK^4-RF zPZ~7Zn(btkSiZ2%_hn^F=E+?p+I13$!jCHh;YVmC1d=KnKQQ?z{IxSO18=+)8D73y zKDk<X{`~njFfawvd}N&pA&87zcVVNrIk=|u(81k-A+EKw)MlqwBj&TeT<tfrv{GCk z*p_BgrcF-fU}ni`-B9FqB+sYX@*0k-?%NJaa_0#C_;K47_&S<yyJg6PbbRETh`(w_ z!pq)43!T97?M96I4Nkb~SK<0K1-0$Z^i+->=~Op%k%Uj^hc#=6*L?lc&1}wZTxyLC zEi_jydU2xC2^P&L%;_UsaRL#K+;)Y0#&x{O1)9#kkR{Zoq!0uMld-b0h9Gl+xExw% zh_Lt!Xo)VoB^mtu2e`b?B7GUg0Yrl8kgN7M+wKNU@x;*3uoPck4Pq*DI!6}iQ6AEq zq&FRVxVH7M&zIVSE4CQj*mQVFcwYm3qLExU!<DeWotmn1E$Na)Dcik;_9_mtAw_pG zn8qK2u>l8LCxB=hY9{oY+h#^|f%AfPFm;()=j^H=x!PL&g)}Ph+z?H0-rF62F|Vd# z1gnSGyDFiTPO*aJF6}b(2t2-#(b^LBc{lg3zD`xgTuBTjYI=IQ{#kJ~H8mVMIywp} zDgoKq<RglhNMc9?ep5XeZ(awS3RnaBMjcm7u!j@{Vz5iZ^N9Mx5nDuv_8+nMvgmo- z4l{RqqA9kbqodcs&x?GSByt|F%knIZ*rYyR!=cg+d8&vt#~Ds#LGRK`-leeID2$Ar zJ6ymf-1!+E-j>tp=J3rqQE>3tJ0(5F=!aYJWBTC84N9qP?HMAgf(pg)Pd-H+>RM{! zp{cVonbGaDv-LW2`&vQ44T(NAOV&mj<@7>prkdV8`uS=%+;LJy?u#1dYV|t0sDS&E znhhywf)fqvi9;Be^X%GVcE`jN5lu~H(Ki-%kzc3+$AFJMoKf8bs~a1L5n>;9cddJj zS-rm`ATFAX++ZSI`;Vih8?XY1N^yXn0dOnvC)~6tfRX)YWN7I07o~#l&tJUAxZEx( zyA()$HSi(|-c}nDncA~byO;0uFuYq?vyiUq$WQxFG_S$cEjRb|{%Ep2hf$YaV0PHk z*jVM={e8Z4wB6f---^l<syn<<gBy!SNrDWLM7`TGjt*%9{<0xqoq%um^o5M64$W-y zQGU@0r*(7ew3;3b%BA_$)KF5)?fshzIk9;}*-;gH`|_NqC=Ad}6_k{OdEp*w62!r9 zi^$*%LSk4zs7i{9Tv1W6Axb_xu)e;o2u@|ila6GR`r4~*J%*NT#?kNz;JYV9e{Fk` z$0eT*xy`GakbI-K=X7@Vb??3QPnX@FZiZXk!S`T!Y@6T0Fd$#k$Dn@f$5=of{g>+3 zt$}q3<9@ymH{-FNom%c=SY7ApHk5x8ZdTG1>#!KC&UPc-&MU9Xj~A(9NXp1~ZBLYF zb68kdWLhLcfya#rq1{U<P9MhYGZx$*Fc27sibH2)Xc*~GKfCj|rFL|7o*fLFQimUD zT`P`VUI|P4q@-l~{!ahgXd!)!D!GB;a(Ya+C1t0coOZ*Op<91GmQ*X3%sLP;N4YYc zXR1O6O<P&kUmu@oS@^E$Zgdk_-91?>lro}*&(BCuWY{gA!rOKcw$IQPN3Y({(cLX1 zsi@)&g`Sf1_xDR3Pdru(2=FOd-HP^mWq?KD<i9{m#4G7|iR|ob7YA-a6EL3de*4DF z=bev7yw1CKmhdC~>a5Ck6z+8YE~&G{w&iF&uy?InQdWSya@0&}e$JJ$QD+i4rrR@x z77JnuIsn!VuQ=s%?j8K9FB@tmcTR`vYzudZsl#ew*2S`#EC-Q37Psb6T&H(KR+FXJ zlvGrLKMX7QK|R$%v}+ln*q=ON6Or`-LA`{I;*`hIuUP-_T5lC7;XT4)!lzHn(hM(m zUNwXS2M_IlX|WY`<Wa5N&i9=B<3i2{ANQ^L)n&L`7v8S^zDntbUCD*A;cDA~K10RB zvzLV@$2(AuIh4~XXLc6<{L+=Jts1VngI`|my|n~9HftvOpPH_uPlN?Q4E5Gd8ySrI zVsvr8B*BEl)5yqZ@Y73B9x|J!rzR)1f_~GvJTD$MaV|^(0#7lj7$SBSmZU^bz=klp z!6fdPoBX#-K?v2(BUjR$H4C?igr3VX!x_0^yxn=LBk~tS1BGMGUbi$jwt=D)W6rbP zzh{awQoQZ8Ep%jQc`j}yQtbBUGc;!>+}ZN4c|-#|y$wvB7~r68`h&)F!b3Pv@(3K9 zHU?B<lBqF0xKi~_8DIcmKxga288@6?2)o&%)11Bpku_{<TStfJ2DnjcT65l*sweiy z;r~83!Ith4t#+0JE18yeU8p<qsRO@7EwfKn6DHT*eb@1FU&m^(C?UciSngA{vfVx{ zw6QWmkdFQdS9h4!s097gYvjAQYJ6ofg-M+zeAUDy_Ou~RxoPV_059zv@&X6PtR2Mk zN?373*w|<E1vZcCYGmR=f;}?$=?hp`M+%siP*G8#^&0`@Y6Fq7lL_lIOohhmP_!o+ zs&i6>+fun%i6|9sT9{;>loysO^!I(vG)c_J0WWJMrTUnq2Y!mT?=UL7P6z`xSm`R) zxFFeZ)F^+MG*wHTro3_TkW!BB|BgyVdwJP-x{%(5F*p#MabKZbEJV<w(kQEs(|W44 zq@*Mw*FuYkh^Q%LjM;zaLjSCCBMH%Ou6ujvc`I}z_D?pJ5*iuVOpJ|P)8Elytl;H! zI|go+f@2qYGy$rs8f5{B?Q<p0X(FSo!N}e62fX$>uauT`8FHPh(9Jd^p~-yOp>D|y z2x-4_4Q#vEZ0xkUKOY+j%5hhSGfwUW%=Wf_6!H{%xVYuFfh9iI1Os!srIl5Fa&j_p zSZFAZsAa-yQsD-!MR<K3lA?AV06v%YkKxscC}M$vr%@*K%CD`j%gM{gJheKgiRn6D zI2`!#3~q*Z<2Omns5}u<BF1YusYWYW#!~5@eTDIxytalvzT_#*4QGARd3iwgIp<+M z=6<(uP(H(MC)eEx!6OoX>l^|U3UKK*dDPf}6IP~+E2QD&^|)B>43p#|!@Oor)w`5A zfg#)zahCY*{6`*nvX^0bfJ>Q9{Rl)*@LrNJ!P8-DB=1SX015Ay^Em-iu<VK>w2VaO zyOL7f#bF7CqtvUnO-;A#_-NyBKPObjCA6VLt0z-n$=U|Vg7boGG=^9xqh<48Zp+hj z5CuB!JTg)z{&p2-9Kz?r>swRmw7jxXLh}(N--1_&iYkaZg8~z&Nlju9=8(!SUQogJ z9O#NM{bOp)J%}V;3h<dUjEuH!;B+MFb(*yqUUJ=O=R{y!gb=X~{nVNCPR>K|x>?DC zY{Y~;?89}6sj92DJjcQ5&ZChU)(xe@Lg5T{iqF%Y9nI8eIBSaB)U^4WtmS@}zfk7; zjCaZ+F1RsdVTK1xHd2#fyl~cEs@*FokU|=75;Yi1k>TH0;70_JU}HP`Wz!^ocYcf< zs20)y8;tc1+}Q<`sYFD0(hw0mjFSh5XEKNYt37#O(blfO5l{lq0AnB-V27oFRd|{S zw8{dSKy0oXa)3)4;t+`+2H?8qxe41Uc0-)(AKGkR_t_jibEG-U5m*CIU}9luhVRp0 zUyn?pa&dB=zt>=pTmKuVwGB(Rh;Bx<YvN?6F4+;%b=vMLy~C5f7S@Dll<R+1pt+@B zVv;{;#}I;=d07X)<LaBJAJi-zQlRph`#nES=N#P31(t;bqi)D8b|;JS2S-ez4}W~u zKUlRg*+D_E74*JYSYBQZQpQ^ATXV!<(5%dT1uoX9VZd*0INYy9>hAL#&C4+5uq$Oh zl{`yfUsu(V*bU$7mJlgp!}b97M6XquMh)Kpur&*Ou0SLpQ{CNH?YnSZTs9FOrNp-$ z3-@&_UVd12Wl%dvO|D5bp#OkEIN5E7>Xtwopa7mCVxsGRQe)qN3sh6c7{8A^t;B%w zA5#1VystUX|8{Pdf$rs0GUKkt;zuy^j@2&)u)NmF3hOjP^E29+D0%UUl9K-=2}#Do z!b7Q=fPiP~=(=e`-Q@mMjGouE;r`Ah+=~yWFBzEgXg-2kmBo6i%BWG^>b=qx5jYoJ zTUMs3@c?+H*=SLzxAm#G3KXa$qfZX{8x=5lKjh49)!{tFu-@Yiduz~kLdND8wnLo3 zwy|fN{N)1};3M*+6ZA;u@ZQjWriKXtnDPDUh(~Ci*yFd-0*ElHxQbWsK;l;--$?ky z@wOu?Pa1gpt<nW|=9mF*DTz_@e4}7=R<ypSzIN$(2Z;KK(UUK-PRfDsk=iR-ASm-D z73sLO!xjVP@Ffu8g4u%FY6l!Qa+mne9m>!#v$ezjXkUIp_5O!3@B&D5HJT}%S=d8D z$G71VL|Mf3ThT9;zJ@<&y3ix?BLZuPf)v3B_ncNAGjd9ucD7AUGx+RmfA)Np-9j}H zQ5;jDrq1^TWahs)ti(;~dD=v}=odb`2}?QScE!mWU<nk>)(;J!;w>w)i{)}=-viHI z2nC~WI%7ix-(8<oS#U&?!KL*Dqn+!#O6YxextS9s!A*Z>1ZVn6ePIl?XRp=SRKGT? z8A;!oE4(BXhClBPrmthu1xRU=iO0upZ@aWeE*Phr>)gZMpPqS82e@JM^IdMIOH9U< zg?W+tiX#OPFXe%$sW84wvxYaT+l}c+L}t~sa4BeAI$a8)clLXBd9`<5`FEI5m%MJ` zzP_C1Xmg=`cwx`ZlhK(rwXZO1VNXo4`Egs7n5mrjU~Z8Y%Uu?Scdop9arTi(WRLB3 zQfn46THH1@_Qk!k_~+eL(70-}bZNl63)CF|JVwf;AAtr0oYq605BQ5_Bw~uZ)a*l3 z#Uu3(8U-VnrF!$U^kKQEfdnnrOFwenQOiu?u|k)^K6v3YKZxKaN*cWPNkU)Tu$9<g zDxorGng9#|hK{D+^9?C)W)`}Ea~O>hBK0#$VW14w4b88`znX$L5qb9~(2QXJq?HP2 z@ngxEyy>nLZ?>EJ)OD*j53}`K+cm<a^(`}@H4Fn>RmM8IAJ<a}(FX#QKFU7OQh@Im z&%Z<r@hw{1EKmSNciz7LybDkX(}9;5Vv8mX48lyoWj<}a*d#`cA~w+oae}%fhUJy6 zY%nE^>2klL5hFP|%T%EYzSCy*z1gdKiyzS?0)jhdeq3C00#?BvY#NhCPB>xOmtJE# zyn3p0;SC;|re-G&OFCD4zg@m;o&MTiHg5~XUB5?3+`|iK4#e}*U@n@J_S6tvKqF{n z*!y-snb`Spzl*q4i`g?yh>i5w+{_dkRv)=s1!vj(wM=<_0F(|Fk@nh{Ju&ZLUV=Fh z?e;pCUhNsOu85z@qBfGL*vLZ9@j>=pUnLB~hz}MLyiq%0>+?O*9WLgZHVv^$!U=sf zEn7d9JD)L$j2zh?@8{Be&gvD?UaI1wMS!K}UD;+umrN%1`6s9^0~D~vx9RBLD&9y- zNl|UG-3^f@Y=+poX33Fx7w8z-wU1adq$R1&CHfQ{JDQzDE9=DFO{R~%BS?V;`|2GE zYxD#R>-9<|Oy(y7rqPDj``oRpqFn$tqUo!J=9Fg7qUwdFi>Ky}Spp%g49mtamt`&t zGgblYnGdQKFFowS*W8;jeUSEE47Gena??Uuc{l8gz$WeXOn@y%iWCaZ2V}fIQhTUx z7VHw>cDohl8*)Q#GXG4^-?xRP>uCU^zcWznXm$~Tn&Ew(WMgO7YFLr@cC@;RG2f7Y z%QjXCt5d67-(Nw<dFi&tNgg9Pcjuc@-WwM^IKH7lx%{)&rgE})iR0yR6)t;PZ9~sa zN^cK)(b6JQi$$r%HlGonw7ShupW3<s&)YQg8}KF5X_;S&(SECv*C6SG`Gjs7H{Tbs zllWxO9Y_KMceg8`@+ezEt=v^3)J?<RQ=XX0rwh^|7zqn+;t|5!B8H3a<`3Vfg$cL1 zUCB|xVZVnlLhkxZ{_f_eX1{ZA8*Nd1uhkkoeD<gD=Ifj8bs-k>uca%Ff%rG*3)ee4 zWn9JTG+6f_D6Q%+bSOi6rKzRGD+@w=(2*kuxQM^dSjwp9?=9-vlJE>{JOm-|g+bG* zjO0B&4E@UX*>)o_)7==G_$kH5XBr+BMv$jKLtd}5AE|8S)Lc|(JF&@o5txs7LBcn3 zM>K+VZaG_H6ul<KJ5Y&O^>9NE-BW|N0<_ySzBHU?Uvt8-(Wb+YR&pV2@iQ~_p8b4% z+U%|W446Gl?aI*q-u%1)htZFQ+2L4E?10nX)Ivya1LiWikQx`W&g_P*Eio|ZJj)DY z3_YFE5822t_9?Q9=lFv7h2`m>uU_wr)8PaP5E2m~(7tjMnV6W^7Xpeq{+sS}uWq5% zxI&}9<@UJuL+btzyX=O1hM>0u4wW6R&HICMSDYY>ku;i5(5#Q0*(sJy{3XyxN$Fqs z$Gpj*szqvO5;8KWgDXd@IXOA5;AT2rQ1#@U*Tbku8hR(V-YQd=3Dcy}(jN40fPvP- zJMHQn4#X<ie0nNRidO3z_ez|}CceZ&!-q-imEH7oe=@ml;`IFxqC0{uqekCdMAHRn z*l;ThDRqAEZ@i+Ssa`V!2p>Y1uGpSVM!$1qR^jWJ1x!um%@2>B1@$HG<|t!wNn>+6 zvbyrwcUO#mekHAy4a!wHz5D$!C$gF-KH7$0(<b!hdx3|D)W4nfyCMjb@d@aCPLC?k zx2+p&ZNChZ2@-hF+_xh?V~DqfG}yRmwP(T*f1!)BjhgFMdUAZcW5;hz3<4c%Fl#gg zb7^N4m9aAE1jdr)o$_lh$D^+I%e-mL`s;&4guKx5Q7=png7&rm>22Afl4tt-9<HWY zHZZu<$&B8aXyt$xK*gUcZDuzXV-1%%;e>xO<SAoh7koBCUDx_8k{XI(4P=;i8k>_q z;82;@B@aHYzuqL10gB=5@xpVYV5^?j0k84H&9mvPGjB#%DEOU|pFK1{UhNzn&8n6V zg?;=;7ZDjbU!qn7d8|7>59^HY((x~Axo@Zw%lX+Mk|=uft*T1T$8@)?f}&}D-@Jh$ zxKXfi^Xf1sbh$^-tJyZ}YK9jt4ch!MPi;I-CVeqy)L~>gtkZc?3H8C&?i$?47P~q- zW%Ft1*ukv96-@LztTxgbRjRKNgp{GY%qP$njzK}+_~jek>vd8B-EE?8wrt?vCn5Q0 zu=K+ozDf*L)+4dPFlxQr+p;SbZqVT)$dsS;9BwtIJ8hAV;>Oz%Bm@Xy51)llTg9vO zbbLr0dDejA%RE7P@cE)#RR`Dws)A>R`e#eJ!=aP)gX(z`i?f|S+TC7T4{vU6?tsT> z+Oje-2%X*C^5d@NG~QXm=0Vmo)mvF=jyu}~zbM2!>Wg)GuBy27@LU+Ur|O%+o{cR6 z!AWHTB$Z4{Ig$%4_s2uPHjKbkp|j*?cloCr@{;s6sXRX?#U|as%L&TbS_)I?x6~li zm8SgM-PhkA)dikWc(iVv=Iy-l9iR9Km1FNq-4^=sTN_ub!C&tUu3yV=qlkmYdrei_ zvbWe6;n>^Dg0qaNZ5lLCbL}uP?#WBIzNgWGNf@T_T~kSuvS)9Ggp6upUdrXt>=U)W zN3JW!y>=CoAmztcB(O=LsP2~rg8ZlX5^O{8Qo$=TM@FM?(B!SX*#t$8b)}=i^VzU$ z8vNHI$sAUFQ`YCF9UUFVU`au`OG&e=`P!0Oc65XIoHy{j+NGz{CuRLEZ9G07FCRtk zj(s>h79RJSNfeZw%1YFo7%8dkU%=PB68Q7x=5vas*?@au;_SsF<=gkS-qtf~ua9ps z7^SZfuaRutqF|T6NKgLakcF#rEG!k=^eIv=J0CY^Z=;LbUj2woKeOk%F_!fHOuJUk z_h|1)yEcaz26z_*1KCkGF-6-q6bd62f#KKWom+MRSB}_cSyUZy@=c%N0|{9_oQwWT zm;CpdS)6oacU*pUS?>;-<o%|@%b1s?I1hrle6Yj0_}<@VwsKEvS&$xNkR88F#9fz` zP{cf)%J4z$D!|RUgNKnoc!A*)mStkw0|XyYQ8hG<=TM)>tEo#%ldPxr#zU+S%Bfjc zhB?T{3|{&@T2Ww-jwFcx7nQI~>I~Y0f?YQ0Fw5ZyIiD~l2s@#o$#aoy>`ew?z%wg= zFs}R?F~{=);he1T33C6|cG-~HzB=u+p{Wc_#6x%^v2Tv|Q$G6>R!jk#>~Ce8m1d!A zRm&|6k!4_Io-*cVSJC+PEf}Orh-etEz@if3%kQ`^J2q-;Ke3wo-SzA>D%Z~(Ja4<S z2Uc``HDd@k(fGY<mGQEKZni9hhBPD6Gpl7UVdMlpH6VS5s4sNdh}etY$`0^Fe0xvw z;l6)6M6=Fk$#43@F)Qsy#A9MVEoMDz<bcu+<W@oGP<R-?wg>c+^wna0C?`BRe;Fi8 zyg`(${7DyLA?RCk+8a49L`PSM``STAXZ8?0WLFT(@YVnM`4uEc;|<nZ*^MJNL|(^| z9$`{gz>W(YJi^>OaH1|mPiPkwlBYjCsop*m`~}{NvFxQw*32UN0FTaTxw<<3HTY@B z5MIvt;?ZnTNeKeDmAuRtB%w~|tp|1gU=Bgz?EtGnM~&wu1D?kf_a#9K9?Q}9FpU=r z$r)ZHtJKHW1h2fu4?3;)G`3IFBE1o*#>kfR0<=oFb&BLkLb7&m$mSbK!khaWI7m(B zt~;<=8OgIrKFYTy&Ob-e4P?T#8xs|EO~(MN#U{I$_L$q?QgOiQ)VM{h`=R+j-0f{L zYMLzdV_L1lxKN-%*AB+h{1J8=1wkS`kF8gHHChnO7N4f?6qCPal0D|{f6pgJ{7No8 zLA>erWt^~7VHaY6eqy%9#1Oi3f!GZc-=jAS*n#&qJuExDeV|||DER2=Hh<OesuPS_ zAJU!;Ygv9Si`&#`a;@ev3w-KG8T|^WtA~zxnC5=YwMFWq7`2c7c|={W*~cuTEdc=k zEVWApR}(j?vHZjRMRW#?g6KR+ll~W*l~D;rek?3MS^e`XOr*3m7YS-6B`n=8RKO)? zL*!iX&HcHEGg0hM6$!~A?s?VF&`v{Ha6@wda6p;z!O(uj6^pWD&%MHBGXrg)m`qM- zpCA0)wc(pRlN|WVQa1lYMQu9QgZljS*`b1ZSnGZBm-&6d9%B@p20f|_o=*9ExN-3O zxS!93&UH=~cIJ;mrSzAEgoa+}f`u7p)p}h?+MC92)ruR%ZJ*vm8tAJPf#~}^#-jSH zLpdj6YksZ<aSwa-DEWv&KsDAiSK~`R7AI!0^niP_yHL%#`<XdnU`0|9ip1zwvPs~8 zhJ0;=f-6q$l1p={RD07VgL{r7m|kl{-tBR-!`pn*S~Aj3?bNcp4Fzk_mLP1oa02V$ zkCm??wGzk8pC2`<&4+>HFUq_gcjcG|Twml)>o@Se&++uoD>-lafY6bElX|jr!7a;R z?pHxAIXz!w5-lovt+iLvmf?WaU@-4agIZ3O!?o9vB5-C{F{RQdG{^E-Q5(sVMr~-= zE!CmFSvi<1uxN;sPutvKCGU&7R3XKscmq6#f%mH*Cy!Q~>2|E9U??Hu;kzbkt@4mF z67<UmFK0conJ9rRPy5cMi;mhSv&gN4mG%RsFI@&Ui$VrqQ|zUFo5dyOKi$9z=U4n& zJoL_H9UZB9QnMwYG(iVY$f+BiI9}5PD$_mp>$j@Rgg8lsE*$gx5Y0Hy{NsiKvSHGz zCFhG(My=zNRAbd=-HI9-Xc1+Q6jasML`u|dY-g%1#1Wayf}gsi-rJeke1Sz_<w1-4 zh!8y5eB^4A_7prdAp7~VXq>^_D4--I>=m8Wm;#Oey&z$(iJDZH^bSW(aN}0>^I7jh zwaz#!NgZL~ALhwl`kR`XF8b5>)JwWebDN{}oY7lbC(uzKSDPf}LhG}6%Vj@z<d}u$ zVGp@I<~@26_2DjIWU5i(Sdg|v0J^MqWgahDi>>2u72h^kfeGF!vmf2@0F=k7h6pF? z<Ptpjg!;7s_vGXa+SClhFr)_q0e3gk;7y?7EXBx_q;cv-Zprwx9&3dmpi$hLzr?$w z7@m<_x;ZCbyQ-<NsHSJ&Trs{Rf>xvWCeX|%hR|e9mZr$uy6;!q*cexjv=!w@<@@Z0 z+rHu%xcWej{2_lNin6A2Ey}3w9s9(=;r6)&4|hF#iJi6Hx2BQL{RK-1x@cALa~BGg zGMY4I6*M%cH;$&igyB4`tF1LGmZUEnrzueYZ)zgOX?>_!NM+JH*)o1N_X3t3orvlC z<@L@1THH@#L@-$qajnkTvB38IvQX&3GBjAKYGx^zuJ)l-L-N_d9K6v7*hQ(2OIgSW zhm3xM;cq00S_6J)<#w}c0PC<CW}<PIPfzWF-lT>*3mlmHf+b3`LpU}`8uGWpHZll@ zY<~H}vh&~f_O9-Ng19k;oNpH^QY)QsP<;2_=k~RK&`n3(wG*1?ZMPf>QNSsC14k(P zEj9QznHhKkH4uZuN09TSk+{1SaQNMOS52<J5iA>`I-Tr{uvQkvl+7{RD3V*aXC8dU zdFM3@4_u_!HE#_SHr7?e-K?;|Ex16L?Z)fT!(e@W`_$-x|5JwpkL9bV-fWoHdD*mR zXi_;7hv3<&7XQPkKK-a~iFty`S4GYK5Od&ix$)#mnd(|YJ5&Z5X;r%?Ri;*vx&pfR zptIRZ|IY#*hgD-+)65LrqN0&e@;k5lsd&~M53#j{RaI)t>!*e#a&(+fGH>l6$OwqU zBNQZdUf}up_IQru^@;8*A%NE*E*76s+0snEn7iwH@(H19r+FUv*wu&1Fd$ftTA=_h zj#giI%NgEM!LPk<u`O~C9>WC%jDdrrT9iY-t1i!~3~tV<j$jvGsed&i6pFhzPg>2E zR#*CUk<qB|?b++1rP@ocdni~#(<PEoV|Mwz5s$Nhww1pVaQu;qBY6CM!g^FC-r~Z2 zkNQ<79lPY#L+EDiN#N(~N`(HAI<cAUhA*0ht@9#y+ULZ-cqid()MMhbJ&Abx8s~H& z)A#=8F^^Z8udz&l_&43liCM^7qgtJ1@+Th@m<jgT!ZVK%wzr2GKY_amIA@c~_tOW1 zRBzvqo+80AJ7fz;DxTt!z<rCfP0T$zuihS9shyt#?|kH%sp{^x+FTilxqm0(oH7|u zuKFPC-BjEt(1DZD-8Cjbl2Q;YsJy*xqI`dQv%a(OIV>`@N#}cEgO--d&G)xqFYCXK zZ##nLLD5YUU*rW|R(q@N1|SupHP(^%)awx3?VJBLr41ZG;YcMSzIB)GReRqJgK)|6 zR$XHxbLO-+ZYJVg-}dB$^E)rsrQ>-KO%{Q1d*zW|=y9s-1Fnwc<~5?TsgNE{3fQcJ zBYZzMW*^ADzllEHIB;1-Fyh`NL1(MSm3u_sF4XW89k)u%NeK(Q_EJH7(cMo8Wx~Qm z^uJC=3W{k;k~46+(keJTKKlj17!8h!I*hz>o1T(RY4NZ=Lp%@%?{$aVbAh*ZUp8Z{ zw^-ce*mad9x>=lu`}MoHm_`DbYDMk7mrKD_7@mW>eJKNF`~+T`Vc!Zy@Avd~ZI4lQ zVy!<Kp150UglT*lvwB@;P+g`3w^8=XfWok?JBGI58iD6-=~vEGMp^1|p4A8(P&!Lv z#qC{SkL}TFFlSS`P<*>Hwe{Ulw_7(g;0{Rqq@MbEQyB?h80I+SV)sEj^Z_diQNyyH z-*{OthwDC-BEF~%7~=4PCrt$pvWJZN5D!sk5k9mMhUe7j1N|OS?L0jTZQ7G<t3|JP zo=Ylwc-pdiB;K4Xwd*cuT?%U?M#Qy}wzu0)G4#3TwwxHT!M?k_J4ksUmll%>VPw?1 z`&73ikGn!d^nC2H>-%)fZ|HvE@Q}t$fBp4Y=;*!K$Gx4OZ{)I21c@&&NOthqC3=;} ztw}NXiIoFblTf4uxf5@Wjw@_A)nL=YxReT>zq6B?_c<~=iX>(<wRofG%?Q*@phqIR zx}qLd5T`^#c>WhnR~gi18!ZDAw^H1#NO6igMT)z-YjAffQXGoAySsaV;_mM5?)Uxf zo%=JBOfpY$a%9i$KH|FekU4T!+{sLaY{3lqj8OkRZB`AkK11N3Y_>zFEs7s*uwL2T zZjRbA8e#aU1MDB6=q<!eEkz_4H7YQuJtsO171i0(>MxTTt<K=cFuu(e1o}P^kx&(y zfsI~AoxWRsS9FC!Icx0_27n_?dT)YSUJ__6`bIhZ2P+HI-cmDkyb&TyHr`lJ8nNDm z12Xhb3AdTH_RNG}5a@|d|M|S3Vt=)5|KcL|bnTA8YKezHflQQyHo}UWZ~E;A*gOKM z!*Rp31oEN+IQxCCLDahLyftO=rOI@W?|osH1>ByN;&KeMz7=?|owq_=S9d<{Kf?Mm z!M;A0;R1eZ3=B?@5%CFE<P!`-{(-X+7dm$|G!Dy8qZRB7)J+;cx-&-DQJ*IdkRnr* zbvY<GfEjE*g%aW2{fG-ULqz`B0}sOQ3`7_CwTm9a5O6gY3%!ZuH{G`0=3(9C@GyZZ z_}T9V2*!Lv%t#+CxmsO^fw!HP4pvLEzH-7G@85XUh~>$1O&;%t=XLD+#dsRaWXAC( zUcF>R&t1I3(v*_BiYUe1m|{xU_RS(5Lr8yZ^`?a}Jq>@>get8HYrm<IrF%HSm;;5V zzhNldQ~H*HO)fl|ZtgwYN?S`pk%*uG5ezJhXBVr$A`e^Mam$PuBEm7A2{dwK*m9w1 z%jj(UU>(ze#&5bu8>kl^w<r|XCM)`{YT(y8j=XVz!-{=q=DOiJwh$hEYen(=;y_xm zKteC&PohUu9_Wgd4hFbgQUct{pI>YO!)?17MQ@3DY_QUKb#5t<j12{-s_q@Uf4$Dl z9|z`w7}aQPr}yq9hU;6mzW529;gk}L?y7X$cVTH-o1k_>_$4)Vp}^Gb6<0k@#6mSg zZbByaPYHpbmoL(kJy%6u&KjXN^9l8UmrPm|cfw^-2|c68LAaq>e_A^K!Ku%ibsQ%N z8WitZr1)#eBPCpf*3G~~>Mv_40ExP7W7{<J!94(lUhG5Xr?EU9EqDmeKaU_Syw8oJ zbbzjjM(_LEwTg|P`>&M`LAS`+i}`PP&^wfAmy@;H`r`U{uf{^nYp*6ZV^`(e;}jX1 zNURa0Z-hICVQW&zobVvd1Z}a>N9&n~kB`DHMf0J&^bC=7{~ru4(bB}brU3htKN>O% z(T=lKwCq337tngqH<Uk@MPfUEEj7)N_4&c2S$ly~nUL&S4-F2`$n4=7gq<?-euM(l z-Q%dzi%qij$I?DVE}5UCHt?28yHLX*=|;b$%O>{ChXqX;JTUAQnJP=FRS9Ud?C(gN z-`|^BBZP#jNgn%bBwqiJ{JCTzY*CF3=y!NMYp88B^X1CsQRe3%&48Z+7omqP{uPDf zj&wk}rGlUif(g32Zuz6uLqp?Rw{+?|#K4xBC)I!^Ev?>JlQk(wIJFr8>N6b4+GLOu zOmaf4K3|~$Eam<lKa|(I#H8<HVg(F$sJ@k(Km5E+@ucR~D~lhYzA0o|?TqyFyQ&3G z=MzZx)8>y<n4C1YPb}Xof6sy*C0^dw4!1qkK#xCO&@EvJFF-hketVmc`t*KDt=EOB zLY=Zd;=CHld8zaqvd}BDNnU!C25wgf-qsKGQQF>i7J)49^Y|qB-Z0CZSPwm)h-F2E z56%f2F|eR1HC9f@mv=sO@~O~-YOMS9?<?Kka5Do^kav<911%~3_`MaJG_@TU-KXc3 zTF5u+vz~I@oJQH;j*z-iL$yqEtJvX$sxAUc>_c1EjZZ@r+7v{TNOOJF)@qv8_7+g! zBQ0{R$gavMkcEb%xE3oDraatj%L4XF)<?c-I=2$_%T~BXrZpE9l;3KA=F;-TxVQJS z&=wXHxXPsE>CYD?ERBaUQm{XIawskIk&kDC-@5?l13LS(_oBykSx*2&?5DBC>hhxk zR1Gf(>6gpUYKG-E2jYif!XI5X7Dk($fK)d)6vERt^$h@qSr!<Yd|<k}iUIZAZk9mQ zJvShXN~*iYKvUYi(VVqmA`g5@7o4Qh>$_An8tM7_=YvR4i6dXF3iDI|BDwG^3CTL> z-5s>yuMv5HFiLPbn(jnMM-Qg%=@Q}ribfXC!xcp61TXVs-CEw!ADFo!@OV5st7W-& zJN;>qXzNs7a7(I3Yp4?g?g94Pl-W4;tl6HVaik2wcsmzVMQ<=?jpYg3KYGQSf*`bo zsC%ns&T9LW@>NOW0JAItb6C(Eo8og*mm-CpRr4e-IIPNiAH!D)6f<j~Ptocqqn4ux zuD(CHVawDN>hTQky;!Lgo)H9Ob!^UfNS8akz3Ji4Kamk6l`rkKfR*4+-{++gGGAi+ z9u9CJpB-64eXhiv!D`J|NYtK}`R@!#>yCDe2#IrVBqS$0R+b%TRt{Plze)Tjv~I)0 z2??@ps{&8>2)*d6NVjq)!fr>9;w@+58VaTI1(p6b*F!zaKeGr?@sAurq(jHTeP$;A z#x&%^7MY%My2Cg~klBwzx;zlCh2Il*=^I@Bo&2*TQ(beHpGJ-@)BsX~;GyL{M6$l% zQ>=d|TMHgv(}tr!^4mXK&~K<Zvx(385RXDDwl3U;!F3(_m)Rs@8M;OI1=quEAHLdw z2f6)K$S=mL)Qm6pt6iF81xeoV$~`+urqOZ_HEG{#va&m97c*_hhG%5Hej-sWW#x3D zE3z003CTAS^U&ny9-G*WN><)+2qVBl-rOJck9*6&)YigRvb+ia(7}cQ)0OetR_Kef zZ(bhbAh4$=_RUI7N?X`$1kKY!T3lLUC*SaJpNiXraN|Go`~&J7#p%n7!Jw>%jQSuf zI*f$U>JM|-xqF?G+UUec=PNr*emhiica=KJmd8ummuTZIi(*2lhF#h6b6@mL@CYJ8 zHL>TF12fum2O?XtTTfaW^O!M{)~*j^-L<8(70eD)9uFOhF(?<54s}WEF)t8Jg%h%v z0`w~3pmd1OIfJaDAYO#Nu!2{(TjG#MR2-K>Mk7DSY7{;J78ec`eW5{X=9uR>^Zr{K zrn1@a$(Q?2XdWn1Ol6(Hy$VcQ%(Y0nYcHBF=Wp<RS9(lBJWo?cwv{1mW7Nd9;Eddg z99>=Kmy3VQZ;1@<v|gfa#bt;7&_y|DP3J-yx(2_Nq;8-B0caADJ5CN@P~paTkC{o| zvk7>2R=Wf0kkTeSLerfSqdo^0{k|oC_rP97Oa|?^zR`FgK>-HNWxi<wcElS~*w9Qb zR{7gCxfGeMH)o;eW0p6KEnyvQYxsmXy|UM<1zP8*d(&5-1GKjJ;E{pqHvx2$rKFom zIJ*<p&Rq{n;iAX_A1RW^2*+mcS&YOM3oi8mz1&Y>Due77Jb&(jNuz}&hw-G$@hU1` z(^4I_PR)N1MBOnc>zAAQT=>`H_dJR|L$4XdE@OJZ=)0q~_kEZ<uh`s{vmJgi`aC_! zeh9}`#JtfRc-wA6qb78a45JS$^$(I8&y?}>HRd4P(50IjHnP`H#Yvq0nCSC*-?LgW zG4Jjm%i~~xaG(afCgr!mQ~_5DlhY|_>RM?_O%1S3n$wEVAat_!b=^j{zp%o;bOKQ^ z65SiF_p;J0B5=0!-}_o6u+Hx6)^y2w*Tw*LKFf=bqr=%aRLbnyOUzmZm!0c=wnS-9 z11kkJ0uDhplo*eskpi7a)E%?0OB6O?(|NgZ-^7B}PZY;(erDRqRms`+t9<FgUf>;& zIc!udt*oRM%T%T7p+E_E|LB!-b7Elx`}$*lZ3$~W^ts#`XBrQ7Mo0!h+LZP0$drM( z;+22)&E}t7xBgL_uih`K+aTmkB(y%vkWvxdNw^;V$;nl3GihLAVJO<VsVi!Q8XY;O zNotEcfR;jfQ+NNeqC@~;B-`25wp8-}T!0GL8z!_-Rf=EO(<=~O@P1{3tdzg(PgP7n z6JTWh(##og;fJ%7voV}7M{>Lf+#>{QF{^(B(4QeqgRC$tgaT#t;Wz1pacqC3baPvF zn-qYIDi`7U>>>_JG4J$T_bF8qy)w#15DM@x*~SV0eO4zxe7lTZA<yNoZc%i&bSv2# z90}1xI=<*$Sm>);!dUlmPM(XbM|k34egV%{q?-1%j>rzK#s^jV^HRsNRu&BP>?z`G zP6z`@w=<K#j#Jxmj0)Wfg=nN=<M!k(&JzV2mS-7J#75SX1|LkccWyaUTgSGyqMqV_ zhqs%Ws##LrT>nEscPii9JRUr2iTu%k-B(U2@+rGrGE(YW#Elz!xR3xU%4@qO2VQBp zWg#H!NOV6leR|6Mu5uY~Z_{}}hr|L6ij4^+C)_RbEN*o4H9eYGQRL_H`EHiS?8JoI zl7I`yx)G>g!&ToHlhYhU0gmUrpN7Gig|eo<8(}cB#46s9KCcCS0KYcs<{6QsF98ms zRAdg~5zX0XA1hy>Jr4j;!Cbb>34X{r{<CyCz=bnqFD+7la>E@x&90G$9QbOAh~((Y z)x+sVC@6<&91bBO1YS4UoYbfMz=OaEa4aeSv1g;N+l|q?ai4VMm&Y>DTW@-|d#w)t zMmuM>j?$jPYya5FSxwc99C?1UClK?zu?fB5F7ATzed0koT}V1lESF0*7~5H+)pyrM zF!=Qt(>TfLD~bY$Sp>Uygq(*z*>1%^pv=76o;^8sS-0KpCdXz@ygWC{Fj8CK7}F~z zr(T}S5uhYl+nSjkpBR}f3&g-;;p^8>&vHQUGB^q_G~KBfH>CdbP))c7tPoDyUzblf zrfH*$jT6oha90J+=FDJ|Co;D@C%!jVU?L{WSuU=uYk2`EZkDg({c&vmYg45TEgRkj z9Rjo@LiovvFf31#Wvvb6CK~A)kNG@;uy74!DI~zAI;!pIzyj&|`TzBVHPYlq9L?N2 zAApe_Jt-p~H{bO=)DVY?aBm`ov)Ha!;dDdg>*COaH{HLMBc~GxYOLV+1)m^F!ixlX z+b$|jlsr_=OHSJs-TeroG2QocIe8C3nE8p7W2S>FSx;U|035b45<LNDXYKfjUS+eQ z_!lk$#o)=x9J;%Z)VuKA338-^vMO7iM5$j8E~-nTX?4B%hhbxQ9v2m`uvES9sn)wb zJI0-_$S|VGCaKTfG@lTiroe@Hz9FgC7is#{feSwSh{QKBGI6MFoqrztcx|Ue^CRhA zaLJ8slF2V>n-r#Gv$wEhvbS@@M9@j63lfsz|3s+`!ef<EF;AqC*JE73z*v~WOk$l~ zm>-d}JkBp@dAeJ|T~cY2lEnK1QEVm~ieqYh7XNmrY&PE|$_nCKthFZ>wvUb(|5uvm zeYN)VrsZ15AANqMyOA)fqAGQgLyl1**i9<b>KX%=J==X<4;zs%BLX$DfVYY%ump;+ z=)avOk`(x>9(aqwL@M&hLz<jGTDmEn$V*m@$#dy;NEEb`zj2CzqOZO2@D=Zj<d%_~ zVQ{7Fh_#iokuGQ9=DWu{q8FFnmHs_3KDmOvp^O}ppO@9ty&0-NnqlvpMdg@jok*5Q zw5`(N?A*v<Q__XhL8`h(zc*9-91&WD>I^_D5OcV)Jeuq6eZFnaT}~^&j7-_vlldYh z<_I=}Mf7Dvof34#R@l7!oU{qpAXF@#Hrj$IzUL%%aZP(2iG`F3yg1dKbw#U5u~s*k z{NKPs`R|_s8LeDU3<PhrIw*Q%fJ!0HYr)&sz7Jf*`(ph8k(0LWdC|d#t1;(!-inOv z*U^#Ctz>Lw$@rb4rm4Xh|7!_DGi8aIvPygd#++0Eg}!0jM%{NRtZ?_BAl#~dc;RYK zZivjbF1{J#@*Qg})YJ++Q&GLaV@Zn9>7!4)M?zDkMrY>v-&Hy)jl2rq6iA}9B5~o7 zMhy1W{$`&DLAyY!=;sRJ;H^Mt2fg=EG!1~dFCTzV|F*2lWIFL2FpUtG!1tIgC;UMa zIRxYwcT7-M$W8U?Khaxjb0$iabEftbwE%<OpA+0%u>qmw^7?;Gil=>S87wwBGIIs| zj`UUai11L7D(Z+`T<Qh2qIv;xZhMQDUT|7?*}|;^iY2O=K^i(BV7GdsYB=n^I)%b! zI2cSw8o9nm)A?pA<nBHbO1qF!EP;YTsY@Q>(GRHOY=>9HeyuKty__By^rx})M}Mr` z$M2hE;+VTU)P&*P@p(o=J=;%xEwI0@B@hm9W8yHed0o#n(A{`XezkOPa0K)bh8amo z3+pY82kZA~IiKVeHC7ZAHAWuY!lQk`meSIr{*9SD0LfU{M|J=t7Hh0wV1)RQvGB72 zS8{AMzPD#bW$Xn-=N&wlIootq#koEZEL3SV>pa>UF$lH8)(rj0Xiv;K%jWl2C{9$< zoQcnm%Yq|eFqfFE9L7t0Ld)txQ%-}O>rZ^I5zp)=^WB_de#ntU9-ME)`pqoGgg@X- z|IkIU(hKn<!wk?h7rFi5>1K8*?S7;_w15p_band~G}kH+JAM7Lne%Ag6R4ZE3@d3@ zhY>kMg_H<S$!J8@!D)01*7BW%b+#MpebZDwMcN;gz+|m#G&IKUJoousjn8%Yzx$_N zP~zh`N|w2OPpRd?M^BFvpPzYFP;bJNFP--4Y1GAnu3`aj#^5MprSs}q-j{JOHM#5K zomqf`gTvwOc#f3t+X|qhc^LpyDn9qSTa;3D?Hn|vTIuV);Nt9xAy7l=K<b@Y<=aEj z%#BsXPa75&G-MDBW`!eaSBc+9kPkft{4+7Sui2(MYy7K(0nUn^^A)Tg9$Eg1DP!_y z?&q(dhz?J=NkWS(zpXPUX7<+}PP~(Em3>USn67Nj%Rl&1mZ*4tt9de=5qBrY-eED| zbqiW!fd-@CEmX^dS_?$s{RNvI4qc5<_j!3ZX8Dh_qfD1p`c_y!WF;!BH1DT!oV%>0 zQfdx1Yr-)^xx)IlLuz+NXv=6Hojr%^O^Ase$tWsn$Gm$L!o^m6YWIziLB+GI7?OCV z0rPXTq7Xelc#G${=aiw%EBvosY@^`d@V~ACY<_RmoJZgLaUR}Mnzx+|9&gHyhs@7H zRDrq$lIWN<JIAHj?^b1qEKub<G{&X@9TmAJwTYrVk{5hmbI`>}06H$^%*ETAJyd|P z(3gMlyIz?gW^1DvTnC+w;~6)62lT--1&S@kZ_jsVI!7l!2018EEWt{VrtAdP*GDI7 zk5h*Vze0i@Z=4KzY}&`!sZ?JbH)=j!?R@U9l%Q8Q31n{&8QV864$=QweaELmuz=SS z46GN9gCW@%e|ba%br9a}xZ=alRpvrz=`AlmLS5QpkXAJPiM4X3v5rjE+Mf4*;Wh7T ztTL5iy;WE-g;W;~#>qkVf*5U5Sb3`U4yat$M_x>})#^Ffx*+b~b8y4LEQDTv+7-Dv zM1%0E=vi|7Cx~ri7Vsh|YrUd%f=c^9FdX+zI^Dn{N;XxVxq5j1%bj*z+gCjyL96IY zB%PFO_E%};90|`x;Nhi~+Is}t7U}o+5OlM<?3KK+kE`eSDb!V#M_+&gRuVI^r-c)2 zuT-Lp3NS5DqK`2Vpyf)GWjXL7`v7gq1+WMn)@J3n-(aNA`fjok#WE(xNVsKD;vEdJ zF3J6;)_$hNJt3ij4RqO$tw+F?Hik~%?cn4>cJ_5k$N7wslTwQ?JGw$2wZ|%w{4iw0 zYSxBs&>yCQZMBUU2LG3t3^gsB1=RCT>57UPla@k`sfQC^U(hBsuIVSlRn(QeJ2#l9 zB<E&Y)}BV@1Hp;aHqkFNn}s#<Dr*S7dPOK3cKcrLU=!zXpZSQK99Wbr+vgE-a$Y)b zH^=Zy_m_;m4FXQpm`AFf5+j@efJJgR7l+U1R<FO7CLz{oVKb#AEq`~rL(Uh+&%Lzy zHAh}!E@G4xz%q(Mdi1%d($WxN$zc)gwvn_brMeFcD_$#G>I#2$AcJVtDtQ?bBz-?I z{j5;k$djk8tat-B0)yfG+n#qGZ-B*x2OOwS7S8j>{qgS0O}GpkB34TJ*Tgahn?*Nn z@JeR{>^rZ3d1`09*VFY@6fYN&>GHNkwmKaN)pXR@1<Lfq8M{pvTDJ{s^^DKrKpAt) zf#9!qlEsKW9Vr!TpRL&E-&EVHnDtqLA1FP$O{u=#5@@wLA3(Sj5icggTz>bfvrDf= z54dyd{&{8tZC8xCa_3oXAkdiZ=;c&Z$ZE|#!x1_)&rbg8WsBlIe<b~Q89rMpw=fYc z(`6Xk72QpOp}x){_e{-Yvhd!X#N#2ukaVF&lknhQK|O8lLj2GDDI;1A$rC)Mv%}+| zL$+l!nJwN^wIa**_{4qF&ihq6a$cO6S5u!IXS8s@G^0kv2t@rmk&k(p?|Z}=YRqry z2qK2=&>4@2XzbpFh0vGV>Bl0#W5RPnr<_+v0Rw8Y`}yu91CTvxrxp$tE7S0Y^l>#f z><!14orMIqimrE&oL?A*rah`(mo%ElA=MqeXQt^@t+fa|Wc>NlnASVc2~apsO#to^ zz@mj6vl@divX^B->hm)`by21<&@)Nr?wfB|K<#1XC3OakgOZK+T;2#J#M3}lKQ0D; z^IMvbT1PHVr3p6cU@cak%^kKetoiOkE-u%~{UH@=Mv((4Sx;7?StY)9B0;(2Eyqrt zApKNQV|)*JmfxzA`}#P?=3xJAr`D$@9RjO=t0f#WHIFJBBLm(uwa{_a(m7q3=4{At zH6~s0^*$(~l)ex4WzES;R|P!4=NORD&exmH{qnhD{`ZEf3ESJtilb&|GH|=e_aPbT zP5oYKQrYw=qiu6E(+$icSKb0~_jAL&_<J@CKvP8V84f2b7bn<2gjHt4Zk3mxba!Wv zn1IOsI)JF6A{EP5&n&cn-|OydY1XJjR8ON_;g`Wit;tBC^<s4oDMxNIZ)JbpV<USW z(buYwJb+>8-Lc3&ZngJjx9D$`U<gG@xM^O*KYux+hjh~4VK?=nk<Dfoq5j#^EH`qQ z4|)YNtqBv{ea`R&PAvs~rP<jRkt95M<DDtZVkdGt@ra4{*})|;N~(v`-K*HsBocS2 zWlu(U+lwBC*!G?NX0bqO?u8rd2^7mDoZzFHkm;7uVVyMJmUyq3C>W?&w&~0JX6L{Z z_0hq;2UL5lCezlBndm{DD$ft~NFnd$*uESlm;BG)%$CFsH*|3XZ02W+Ie>&FR-roa zIaCCF&*6yyRN~O$g(#}vZ`ttd6C^~M%EYicw2+C<(b2e$#E8o9`j$>V-qQQ$=S|5C zCO-EGAZo$KhY$z6A}H<uGE;8a(?!LxXH1Fv6cHpU!ycERb-Uv?`UYCX+|rYJLw4wO z&0tzlDu9^?`9{^3ksBMsEqc!k%Km<{ycKw;`Cffq_^DUryiuWz_{+>nSxo2E-{$;s z+#df*4xOg=xZQ0`M%f5U%bcyFasRfoe}>ieMsX<ERmvBqk}s?>#FCPdsjD;ZSrf(U zOS4`^a5lQJ@Uf(88;sWvj{EP9{mNMfnUZ!oPy6ewab{AH!bZ@X-cuk{SG0!BbAP${ zxjDX^Im;R2?@O639JU}oWg3||%LXlo(R6mwpG4?;6g1RqIk~y%5;#QqSIVzV8EW4r z3X*JFR5tMN@LX7sSZ2@$agxL|cw^_yk$%RYTZrvN{JMJxi(Iyb_9T-%ogLa)m<nWt zI!Tuluq=3~3D)8m0*aqVo~zLfy#nN*#Bcker{73Cz0RZ6Khi>a23)_KeqNT|_<U~o zedhC}E$<NDAMHh6b3ew35vAUtZ>(f=zY$$sYeenq9erhoLT9%>oC@9ms`cC?>)F$k z7%{x(^hdl>zuv`al9Efs$63@d8R^^&W=0juK?aAJXF@!OCI9=jn{YNGc9LVHoAFh4 z_n+6dI7|f55cnGmgrK8;{<gvIcQvHUNKkg1827~E;80>B{VATR;`}SfR{0PwAcdHQ z<w_>eYhfLm8$}H6X%NtIXQZTy^Dw9ply^1K%s9hao#Tm-PQbj~+5ZjXpa1=k0o$FI zwDQ@1OlT#IwVS#2Y>B7Q;pCm*%-;Gf#_9I#lU!gWI#M@Q_@yt}%nBn6x%bFS_s4sT z?$fFgd@QJYQqbck1<c^HdITGQ(=!Nh)YbtOI;U1(aN1g*mif1DwlvL+wG$j9-*3l7 z7<oND<R5|@jVLa>oU(_cS<I~<_hq9yS5~yXm`kukNx^AuA2AdnNXft<@8-&gDUHh# zo`~0_{IIu>O2U2sNXwifOrz#v_(o);3v<)piV6=tv}u%37{QWXcU%)c&vc!bc#f<t z*TM)D#PvX0j*T2>*$+~LW3Zd^Bi64G?{WF195q2&9LV}c0!=TzLzCnn0J~ye0iBW* zHtE%C8X1{Y0gh0|d1Sn9<Fb&m^D~$CySeq{Dfc%njcx(j8~G>mWL8htdq2Z+EdhZ! z_GFx=x%q4ogrE{4va1>cr>mVPyH|DAWy1&l!R?dU%Sq)fevNrgcXud!PZ`gvKR#jY zX=q3=GOS-JH;Y$C^QNCg-R+X|opo`E_0c?c#Kb|CcBhwn02DHFln7aMa=dIF3wwa^ znTtp*;iV@nFlUcoXtnUg<|QWA43ymFp}arM*DCpTWAPkW=u1uCnl<KnQrN?J$1$^; zJ93EIz_%5u7+D>k-l29$)4D&`#2SF))h$Kbm{2iQ#ymJUNC#^<Ih<a2k|YaCc!{dS z()ct9S9B#>;CtT7wOW@(H*c4|p9M!2Ij%pkK0PkGMxARstWWV>czJ9;s%>Nr@g(V% zn6*+v1wiSzS9LM1?>$%#;(f1`#)<pP3q|-<iIDC4CBFc%8Hyj+Fte|Ku5o&{Tv(-| zF_-7zdC4p*VUm^5#TyySGsrW!v9ujpuM4&$tD7YK=FrW*uvEOp3tO*Jk+6b(P2fcK z3fer=wK4jx?%KP)xMl}?!oQvt-&X@fEQ<oW`Hh;P3#*^=MW&4OR8@`W+r8fJrL(ks zES<i&k3tI=?Q`OqewaL5L(;6P2ggn<Rv87q9&r}lN)y7t$%qyz?;MNgSD=oERH)bF zYBAr{hvtlwj>26Z<m9*a->yYt%bFRhWQcR=)YRnsi1Sa|d21$x_!CPW970FPJ!#gf zM}&)Zv2!+C!W0Sj@R?2n!)&$l#c*XB78ZH2hU%b-N;bjE<<6Oyc;WCUu2&2~&>AYO z0w0ttI}1271gX;<x>#|FDzps`4;S{eQvCD`6zN4pL3XI~B3qkp5&P6*Q)1W6zalA~ z#F<@TS-zUtmnnV#$+<LQZ8zyT)O{{?k+irR!SEH5boGmEb;@eR*u~#lke~J6Pa@(g z*<*cwPw!=n;?7fJO2Cu7BRkQP2QmUWr5UX3e+fZ{_q!UP&5H{<E2~C=c^a&%43BB- z7VS*i?<t13!AGivOtFECB^4}&eFNwRiCwLCPj^{g<rZ5QAMS!-#zdXcSqHThr(8T% z&db$?@$;yvv|Vlb#Pre`m{PeXs#qxb{|)sI<#)J=hHnYK*)0Ag=AhXu7~1LM1!dRw zdYu`k7vhGW2)nAG1-$YZwt<U~@!9JYF#0tbty0oDqN^Yjbo(G7wdt0#Rg6f4mYGYO zfY9h;KR+x$F{cG*iSv}lz!30wHnG(@qc@%N{Gyl5E9)7!`s`<H7~m6$?<Yvxq=D4< z3BM;(P3q3NpaPE_T3o7(h+!d!KZ{dimDANU0u>ammhyRXB&-jlhi#)HoVGq~*4i58 z<+)7Uq1z=^peS=T?y1ST{dh-w@s#zPw;NhwCJ8W64K;wL!otI~n7;eW(-K>8e(rj0 zIMb3GN#jBO<$kp^rR#~BZW|hkf){kc9s>K*GqSyPO8+~Q7yrwKDT`4}azjWP9O;it zbQPMp+_5wc$2P|aAjd6=Da>Mc66-<uF#M|8NN<sdoJ$QDqWdbeESaqT_SdCCzXOsm zQkAypU{dH=?A9ms#-RD8h!g^Je!S;%0KqAmndBNMj$fZ5IqDM`&hEza<ut?&cqlY# z^RbILM+Df+c6>`ITpI1}SAmQD9jRSb&fGVVHs=9P4jJQKFmKpsYs+Yl1G15O2BwA7 zZ($CaT|VAPvJF{Y*Afr8(~W?gn65jLPPtfmax$l2i86oho<m)M;*lIeQ19g8?|}^$ zZJ)~vu#2x9MbW%r025KtuaJxIz4`e*@atks0f+>P+-<kouZK{F7~_zvw7mB9@b21A zq-f@BWMm{QHa;F>16hd~sSkty?RIABp0_jLHRBgu$NXxpm{NGC+bb6(8_KdRm<pxR zL7wNRVwGqxHmJVA(2uySFY7^G&bPR&hcd?MPZVAL%<rWt1IQ%|GNI+xbPCfZUpzb{ zH3pr^mT&9Ke09U0(T+)v%?ozEqGcC0&TS8kms=<(TnT$!99d*Jaj!818?@FdFkm2< z6&7ZA*U&C>KCF9Y(j-`-fii({yxy=s>{vjr?m@g~m?I9wS4U~Vw8nV*Zw;v|CT7C2 ze{3f@g#K<!ObBH(>fI-G?8lS7LF}<eXGtz4O9hER<V)Nfd1^PH!(;4Ynv*PW2vsaO zo%UL*Hs}*2isl&2984-I`nw%^vsbQZB$M$@^&OG$4;I<yw!pk#2K5d_w80*#K(^H+ z;+8&_+F-2*RFc(iWLA^=T!#1f&EnFNwm=p<gfw&s=~h>(Y8jHbNjghOP#Or)begiU zX=oo0L%P{S!Q0)~nNC6o3V@NXR4m~pY?=`G@XBAZ>NLS63KHr8Mr}uAm_GFs>HC*b zl`?L6u7(5sbz0jl&s%-7h0zw;<b}oFEJ#o+nr>hESF4J{0aLv5N?$tX++M!e1nZ|j z_2oEa+7_D>+il6qx^B-^bkw@RR$)osu`bD-5q8Qb688%c_8nyJ~tz&ka)YWi3$ zu+))~!iUcy7iwih{7Y$A^iG;zp+Loj(Vfq8t1)%>rpRyv`u?x(I%-Q6>zbV^D>-{( zTV?>i=gVDWYntIw8F)qdm!UUw;`+`JsY_|OO#waPSn&}lsSV$FWDPKx)nSM_Yci%3 z9---Z->DSgcFtMeapuT3ix<rh{uwfEYhC2c@W|Z`%4#&#ENB1jXc;e31->b-ti*zS z;tA5LGx>#^dCtKAUj}ByiYsd2L}d1n{$~h!E%Vi?0akCSWorof5sD@0YZ})LfKsP4 z%mAkgnD4I6thJHD?ozodtcpb!&aWjS8%s;W;s+h2Qwi%gC~2D(#7}1h0-gB$_*Bgg zWLsS0mZzdZ;u2PjHj|xEh6VsXf=jZUNd3@ZNtvgt4@#`-qq2hPQP%Fg)#APPi=!z9 z0qe2)X7O|mu;0d`0_nx7>4I!20F?CKvP|%@L>b_O+doQ3NGSXlYg6WQaU**Iv>0JF z6u86mCF3hKjGjqDt5>=ZA;P3I(?LTcBN112*s$74*my9N<G^tTqYxapd~2q+4f^Zk z{zfPBuuvX7cYVV^(4<Kq+PrcbvTX3sHM^QYMn>lO7M5yYyF)|M>*--$oz^eoH+;-a zpW=-og~<FPiNtyOB{Zfn(asCxw~68<Yuo0`LSnP#if0C{LZ0gX%L15qK0{=x+C&E% znbMpk?PAOqD64GX44iD!H8)mTShh^*;Og(>-yq=8WopV}TrMN-oM&<}?6zdyOVK1G zLc*y~W26g&N)siG+^qutCz+bHlZ7f*#S-Nkh~}ZaYkB}pI<iMz*o~vGwcd!+u|B%9 zzw%KAE4>9QnlpZYp|VT`-z2#CojyKKF|M%CGZgFS1kTn;?GWR$P+Glb=>flU5a1|t z2Aa$V;5kYPil>jKRKOnx2Pb%nQLAxuC39fT4**`TR#MraN-ZOtjqkbWU<?Boa;PW| z1%#emZ+%qt<Up<)`(_c4Ow~y*?vR3{xbv<UKtWSOkJ}L8WB$=4YPEOIN)n1k7#xnP zvJzd0sTUq+V>8t^C)(Zi{IRl(!zp3IuikFkBRHY+;*d&*_>FO@mg>to4l(ifq9X4Z z%Z9do!z<*X3KJ8Pn@^BE{sN)kD9sAMcPfQavS2y`0EXJnj9nWVtoIHWl+|C;nc;g3 z^CYnGznr>^sGG*dP*Imz)ihr*St~YA7=>^1M}*&;U+%i^4JWt*escJIOj|%C)d=M@ zlcKE#BjckeV6aWu_*`ae3RqQde3q&rmZG0(Y~1ep@9>m{khNQY>sMqw#G*}*i_HRH z=MqIJ)LMq<4p{^5FRH(Hzx;cMFl_%dAlOR{n>1DHwzzUiknUYr{3H_T(`#DLZTyu% zJD=F~oivpeCE@`RoZIV`L6!^-er+)op%OKQHLDC@f-;N@%Jg}*kYh;Fdbk=S*5f%+ zC{Y#$z6U;#?C{=o2ZrccjZAua0C%_qUI*`AJLmndS8tm$J7DWCVe|3)tXy>UM~aw; zsKLvkH+ttwz=38fU@=s9eD}No0GK*}3@-SDlVCgnNLr}1ArJ{nbgv~TN@VnzF-7T> ztT>~i2gb)}q%x->hqOY=nvf2ppoNv{o4$@!0Tz&ARL@lqtH!_oY@vlxCq;)#QyqEN z`isGnx#hV_n`acA?50RCFkU``IhAsJysI}G8<}UbD|@m1!en}$KCi(`Gvo<}Kb9m@ zq#L7ii%US=dk$t^?@tFq|FM*RB}ndl2{zEoS3I&+EV+#uw8p|>Bcx?$AlN@V?%k36 z+BAOCzhe*7JO*y(&i0v>tG~j1#wY5h|IY=;`*`1ejC7TY_CZ~sAbFYD50C&t{0rPC z3!vmF0M1h+pvQ%-_XOx}hQQm&o=&BHLmw&^>nSs1<Cq!l!JyfXbG)C10q+#~u6YkT z%YQ-V7h9f1kZ{L)?}UCkSn^be?qqnjcY;)iN$>D8g9kiY>_fEXyj63!KW30pHE$`+ zhKQ-AVaTC!vW-ajynYK*<!bf~ja8ihGl;iC;Dy-<wz!^$%V}(2tpD0I9bhiYoFe^1 zt6H8cGjmG;z#|GY33cDXt`h*5c-O(*z;<a*(#F~pFtqRY!Y3n5IzBezdvj~Q8Mv6R zV6)B;2riO~x_x`?fUc6%ONr-p_gX{%5w=Ek-7kahzNehJf+!0VpTrFfbEAihxtjs- z^IIc<l#fsDZwVt|F)a^1p04%P{H+-0L?dBY&CrZ<>UMqyVwmcJ>dd1(7b58D8rTbR zo3*I$26SJAzq^FXfnuYRj5YT#Vd%^)MzMcXU)R=!pK1+$y#WS0c}ojo4rjZ~GO+0r z_312T=jqJn#J=7Nb+@DkT2|S1#X&cNas)gci;H7jI^vQNZOO_?MQ_ctZ(1E5cLi#? z?k3e~X<F$&^XzE>GZ+(`fg51D%2-NsDXFS*9bx>A@8umqxR3i8LAzwNR{$lW)N-u( z{o^C$<pTHQY0lN%`o>I5%EqLu{~;n26%`rRn6-`f;`F#G?Dy}(>U`}VKOjJ}&CSic z`+IwPB?~8D2!e(=bv!n@(*#^4a(YV6)mCz;zMb$5s=DzUQZA-e7#ZowuE1Lr(xnw4 z517Tcy;_@gF~7_#V^>T<KfNKlbIfvYA!)2@4)UKHSDB<vsC+5Dfm-sO-|C*Ht9yKW z4B?}}tdk3}iXxEuk0hj=SdCPGA=iwYbWHM>U<BKxfBr_$4J$4t=K{VZr!%SCXIGUj zvIUCB1=Pc%Ort+jq)o^EeE);Hv)>>Za<j(mq43oT9Ex(FhrSd^&zjpu-^SW?BVqYA zSn96prF#&)J)*&8jo-=Tc{#gOn?HJ*YSdj&dFu=qkVl!|n6^q5qyqBJs1<zz_`wLI z<eszLZ2mV%@{7%$+eqVKG`PS{>ilRBHSFibaNw#;Ubt)?o<ELLFAegp{<B^u^qN46 zs`1aYn&c}b$<2i1Wsl8j%oit=zk938b@eGJTl-|&3v*36Wo>ky<(V|?F6MEi7d@%F zOy1J!xam7)CyR}M>6?p!t6{g{cC@s<^8P5pb^VGxMS8~~bzGytGJ*a&>9C$VZtuGu zLFvf4+=+msjhD$1XOULuA>)T9CHQ3B%EZCaUanRXHF3!JL$k?7$4{|DyLZcOx<Jt) zu_1yD2>uZ%Vm$uE=@Y7n_+!mw&IA&wR6t)8jbOpzHwMx@148<wFoqHc=*R}S{EW~c z+ulf^@iGkesMrEApwIB29E>Y_#igjc2`LALD9P%sv0YK`Dly@3V@-qS2}`wZmUm@2 zT5b^Woj#O_UR?&?R}ZH8zl!R4T|swscKX1`%-{ieZ7kR{=gy<9e-bVy=GOov;p&=5 zhL5;o9STOs_kQHdMz<UQlo-qJD|$Gm_n>ZTrs--UR4JR=k)~8a0F~=@v_f_#0@kRg zKq-)-4qFBX#d)14KW4-7u8LxDU^ku(vDk6F`o=E(B>7xfRMjG-DJ&la`FW)utkZ4! zaxSB(pK+}xBCZvpZ+MLogbY}sfzc#J&()RL>UD?5t0p$(F*Mnp!9toOpj*PgxB0my zQr3T%=QfE!N(vTvKknx{qg_uYbmmpiDilj7+1S|`rcdr*)he~!N9SFbaYo0mu&HE) zY*Zrm6N}11FNmwO?voTUY&fYm1YFLG&QfkX$a1?Lw-NdKnE1~ip8<pUa`B`gV*zF) z7Rdrd`sH?amZqjtR%fBZlaY__G(Et(M`}{G36Ai%J<bjqH~trkbop`+|LTNzbSl1i zGkR>$-*J5A_}lq4e+|OzbKQm@4$xW@Ov70JM6cr^!e%K`a`R$fwH^THs!?ZW&uo-q zCJ+-;dG24ig>TE3v28~>hp=A=C|1|fS_4{n6nS9z=Gd}oRigYHCzMkiP6MUcF=Y65 z5F?2F<GEm1R?fp227Ps{KcXyrayz)sRX~Ss(TC(^YIt})HS@M6C&wUDgluVL3XCDj z?9lR>EnBprCNIyVSE3ws4$Z<Pm-Xci+m<o3|L(G@i)Z5y2s@bhi6y|+?{`ci4N|!y z%^P)VqRx{7?QKxA^8*7WyE#i(@*51<Z}?~WAOQ1XVs6_3{AczCsbmvbEm#M@OQvf& zT;^7tTu<d8Y5!I=koO)0<oN2WZSQNf8UR5s->l_b2LVb5W89FBI?%p1@GXhtO=-~~ za&wLk9*qVKgSp^1F`%F23ZD&kjvB?VQEQrOv=rBkU){m`gG)=!Y97;FfO{V?N{G_O z^$4RYjXVI^rYX~`4R6`e!~-?CKoQrc$f|zxeDNVm2hX-9xIxxT$VE4enw;f?@cRhd zr{1iia0(M2Q1t+UkQtrdtZd~KG*eyDivps)0PaACWG3=50cewz`Hd|Y4gFRN0T}W` z3|$8E@>{=M2>qPX__gjue;dXZ+o?eK-gpycaDQta?v7o1bL<ong<UcgT9hP|vl%Lq zs{tYb_JDP2Y0C5U8n=gVh%R|}sm==o8*AEJ<^YbrbwBtdsi7eS23mH}s#YL%u<waG z7(|c!u;)x~Q?1l)X#vc83Z@l7TELfvlOV|^TQp-07_soligR-F+ifArQP5$9(lG{o z+-<NR6A_)$AK?}?#cBY5HXDzqyB^PBP|SbL-`@ILHYPhwBZ%pb!D`tqfKXliJ>_6Z zOwRr|CRguDbRq!B8F~!vNXm|>=Jo7qE6f=(-#;vd<`xE``D2~vc(-xA{Y|+s(W2|9 zR4p3}1vZ($xK0YBkCDtX1=V%!?1ePC-|7g4q!-H!zl!i-?_@Y^xF27*HMGf9l^do3 z_~v6}rW5c8w1E><!1lb>1(u+Sz*(@u`;7oFh9KCW_}u5Gdh%EO^@!xZ_V7Jea;soV zHYbY|33U~fcOLOZ8^8lzE|689(DgtI-UMuX^6rncr8|g4HN7ixib@80L}R(tim3L1 zu?`#kG5Gb&X$dCPe}A(EGMr(ol0hi0pjWN}4~oH5*_k>j?$4jx{{ki0U>HDA7!iVm z%r5S!>56&MQ&f!X$%hxjMlGxiZTrT8eifdqZqAIyGm{5HtJ4iW-rSF#&KwMPom_3l z^@YYt7Vu@R0K<HuWC5%bw@xiEgQoq5rbIS{o5>PA?nsRcpd6j%qIPmFaeA3&KfNy1 zq7I#seTI9J5dZL7-{8B2W-5#8_qENUNd$4q2HRa!iGn6oZ5(kHBQ8GaBLJC$Y7NGk zfy~rZd|4B?_h+fadBNTCEhp6i&(0AWk*>pip)>tD@0+Ne?ne`lhIvYqOP@^ZmUMu@ zKX%BtKguv7Y`M|VqG$wx{(TbZ%JszpY|2J!1(Eu0v{e71ZzI+FTd<}dT3iE=aUas> zs+O5CAvx9qQTO#V@Sk{e4%R2<699;CNgdlaO^|G0`u1(;1B>|JcCzD_ueX-Zf-%bA z^^g0S`fXKgHR1!rqa|3W(zNS;v;TKSY)J7MA)Z8FpZ{awPwX0sz_Q@xotP77xO|lo zyIb4P1Jup;_tRVE4S*->g1mqbB;S#IO1;6R6_swIbaKv}ob7#AE;Lg$oCMj1Z&w%B zmw*J(K}<-(C3DBPtTGdmM^0^k7XU6SYe-9OE8F07I181SM<%z{y;x}ZNz}2H<}Hj` zQWW1NE)4ZIi*toVAcuaQVja_KuvAHsT4`v&1&bkt@-TTgUA`q&#*XZ@0E1TAka3uN z*&Hf0Mp)Xhu9%o7isrj=ZzpQJ<AD<v_S$smV0731B>ESxL#3m=tUnr}B%hztVqnU5 z);r+*;-E>_u+O8r|5*HDC;n<0g40c480<3vk6(WTtq;T8v7?|{Nzd@j_M3oXr#39e zpocd;z7DenK??6kPyjo&;9;KaP!fXV+cyiqlfehBTcSj{RV7EB^R&>}#$YYsL@u>T z?CW+<zvy4>$UH1~>O<ty25po<t0h_M;^KMZ+ru0NtcjVEyEU0Vnw($9l|CM@O}*+K zGn+qxo?0}@cdISuN-+SHdYU|SIxxgsSbo$Q-`9&5-1bX&#)C~Guo1W!CEo7a29Fb0 zImVqgwnovD7*sCE>%s&{)B_emF02v#P`fkF@36+t44-`$-mG!_NISf2H9+Hkw!m{i z?G4at?e|x6%h6{(9Ng>0WVejtkmgV%H4bfZ5Q{RS7k+k}a&N6W*HOS!k$b}8s-|3j zD27~jT3OEF2MiQI6TwX%H}oum@`t5}wv)@f(dwx=Q2!uGmso)N-`h*pblLl}db^%E z33k5;<zJCYfS-)jw}XdQPhDks)ENG<+yMTC6I`N9jZtXBsLEA=Y$)M$d2m7JWxSGE z-iAU*%j?BZcf25#MC03+r9HYL@Nt>U{L75*e)4h6o_QP!aIuMjqYB+jJhOVdNO@jN zrf!M>EjvAX^*<PY2g?0BO@0}OAaIX!pQqo*_sjGyYwJa<)i3sb5E0C!ia_Iwqwyiy zGWJjjs8FkA?FAwbf|^Xv-$+4SJ;~*`JX^z-$y3Moxp*$k9AcxEoJjPlA3!9f^lC+& ze^I`<SxzMY*$<wuqx14yJq!E2ll-MBy8or6)h<S-+fuu5#v1_v5~6A)1Vfv_HC>wW zrG@I@hkqX~-iVlsKm5Zu{-N(hyFV&+5<4T89cx#8r-D|#1siKaJzm5YDt<A#-BvfZ z-@*d}upv=6$Bf68_*$-J9C$K9SF0MN?Y2JRTq!QC#^fn7KquOTa8wph*A#SXRjm<J z);%C9ARXwGMULq=1aq@@0qXqu5fKz!)4NK+iPC0GlJ5@Ewag0n1e=#%d$)JdnD2XY zYedess>4-mo4<9jLuX|<4{-BajQqtL8g50kj7=9Z3~|0X#aC!|ACP??{gsxYl829R zLY|8Yg9J5cIzmyv%lr583L_}NncP#{Q}rx!pC|j1P~~4BE0=qbNBo5G;t!hCS36gV zj)H?~+j7<-kYTVI8m-JTl?}&ckxu)zXMCkb;%*Mqd-~1WtCtr{tJ>mqT`RuH_l-DE z;Ddvw8OS&;2du&hVpz;xQ?F)Ne~VR{dVzm|i|UibZ+M|wL_h}4Q(9{BGTyPYhXf@O zd>yN2D5UR)Sk?IhTz^Z%fnDROSKq(HqLM`<LvLAo`>aQdkNe)!r6>s^`RW%^E6F0w zYHh!>IHQB)E0FX<$67B(-VP@iUZ=&uB)V1)G3a+h`29V!-(!zZz8UUCv3H}@m=&jQ z$)8M4oBWl3q(WX#8!S|^=`?R)qhvq@+z4_a_tOE;O3Qm2MV{6Rhu)uOl}8}~-yyqM zjQ^okl0yl0A}>2bUt%$L89BTQHM}MfCZ%x__~qb6;G9O&wlru;EqJ<z^}TGj7B|=O z@BCLFH3r|_(p&h~$NzmR=J@pJprC6KkkqCwzo0**42S9xdTRMX7Hb}*TE@3H^FD}* zoX+D_oP`d$bn}xJ%*i>rM-7jp#5<1ugO3}GCY$l)0t>rO%*7>=eNTHR<nZlF>HprY z5z>ukGr7~9NyGpQ>*i$n)&mgu4Ln%g=x?L*U<kN>G32kIW9*g>xVJu#5<-lVlhci7 zX)@Sh(x!Mm{Mv^yUh!&{bf$TkT=d^9&C@5=yr-}%iX=JIRGKu~ACfW&(Nk`JIFNSF z$7gbQ`i%_Lnczt+h>5yIgVILwlx8g(5c`;Z1_@2A&UB)N-DK@=zlwdU>|ypY-rHC& zaq{?Ca6dQaX-Ta2eU{$m5fs`+3%gFF4LFso#@3n9`jFOz{AYAMR!b;oJIJR1dPmM~ zTI-F1qNeDZr#!9c<*W_-;wL3ga|75^On`c>s^=)lu)EC;*APB88j}DPs<JDG8$WIh z-$Nr#kDoSdho}+ZH*>0I1Lv_S)~6eoV|8D9>^r5Nx0AfCt(LmFmePT%5S)Dl%xs+E zsUEtg0tO(^yx;;eo0B!Huf#p3+86%;m`KuEsZMI)#r(+~AAh8aOR#P4Wj8YiT{AVw z*O-vpS{tg5pQ^GI26HR0WpOi-(pjYk9!lC&lD40E1KiYK&TATlsc85~qcwrJQgM6R zBx(TpKvmZ#t)!R-d6G&DScRZ;vxB0Sv(G@F3rO|(L2EjgYP2__U(u6*sJt0YzZiKr z6G@+9QKq6Z5Y+tu+O}Q{ndqi;Y~T4xLD8Q)w*ScY()s2xu7gG^A_S4d_?dfw!*c6r z{mS6@vgdur_mM&vvT;{auQ%SM^7LUJ>rGq@+aLtHz1GTV_IjbwM23j?czsneue7i~ z_oKe4C=ic_<}h~0qMx`=NU;*=cEl!Gb?kVYn*m(O)A5SWp49i<Glm#@$m|xNGx)cP zUMc~LN5E}m)s3P^78~PmJN+^Gs1vwiP9!gPIYL4BQ*qV8c2NaxlAfEwcn&qq51NEb z%4ls!e>>V{5C*%sD|xw=qDZvBb}}I*xnEJm>kdDBw>0gB8T_L3+&vufN=9N7WX#fg zRn?zQ`Z<v=+13{!9ar4tCkb|N-3mN!W3?)fokRMLHp;g-Tt$D0hrV0)&wxrV4rRV2 z5V4qzr~gz?4wt6nN!OBh{AXNP#OI|a%^7k)%9)wE#$@Rx7$V7S<JaWsVT!3EKkHUp z#ix&mfUihl*b@M6B=pMTkukW_Jtr#e{WP`|7UY=AcZ0y@Wy=V$vqySv=g7h^z_Tf7 zL!Y3xXxE�DKx3fTrGa(pgTDWW|nT;@r)5<6NL*d1u-Xc)ecGE{`lxSYxVG?5jq` zCdH{02{<=Odwy*xw!YYEFU)vx&{UF3N+s^}{r%E$1H&C1iuwg4=$wHYR6zL^$%F$F zi}%&rMAc?(_wD5&D~%0|Wi}9j>$pFjQMT0PYCA*tj&}~rG@7c%<7a#7B#r`WmzA)h zjo5waH}jwZI#;#2Fn{6hp85@I7tMx$ib^#Nszw#0_t>~w#(NN~CT#0zbzK=A^MG0` zKYQ|?Y<vK@1tBr_(m$g3;racAu|@>FBC%8bG$F3uL#oDSZQR9CXZ*zz0E}V3`?pJ2 zWe@?nDp6Q&C1pge(zN8>3+jRO%{Bb}_()X~j{eD4H2vP>7*AA!Z{i{sYH!u-&qgId zA3D#QlQ}+}<AlL9qsd>664F(t?XInK*B+T`bklsfG}`trlz6mxo*p^vfxK~>(#rjo z>4-g|Sm`TMp&HGC7g=PJSC#wCsFz=tiHEX#8k$NL%e=iqJMdvN3L`0zEjPa$p6L9` z)MDUg1@V}&epH4k_Po*oFBuWqKT)g;^GENF&cb5<tydO-zI>26VHn<{!zWEB$DATs z57PhA>^U5<0IgdN#Rv6o#mc?5^F<@(`I%v7Rl*J~%zQ_DvlF_FD7lqq>lYaPvdF;K zjIX6{9R2f-=QlieKLE>oBLJlD(5zq=1^AntvLaBRX-2gIpRT7~xv3nCzp_LO?m@^{ zYeQK&+?I#`)6!LkMb&-XOAOtJbV?}*3OJN>iGYBBbc28|-8C?Pq@)TGLklP&gVfMN z2qGQQ-Q7LJcl|xz{5{V+_ue_@p1s#vdo2Y0(0`aET#1y|*F%x!h@C2;@RMZKA>*Kd zZ)ayu=rWA_mg@1!evyow&qzJ7ADT%OY;T`!FTZs<Uh6Z7unZh4HPjhycXr=5r>NbG zqtTHhO`C>2(LcUeVly+NeBy{?T^nEl{WwF1(xL?TpXFAhb^dO3l<rxnvT7eQHKgI9 z(I|2L83s0u<>Pm}_lQ8<XR$a*d*a7fuuw54a!{eoGXh#ZExx0jsIRdhfirJNc6WtN ziSi)22RS^G&Ml0`8;2~Yv&G-N^>aab)xjKR5;$f;NS#5f0K_D|xQZc&K!oK3h_Lv^ zG{VgLOZH(w98R~0+@<{>br&RPX8H;EKuhK?0&SD5AqV~2ch&1o7AoXF7*>U23w(Cz zjWIj#51GN-C-b=)A1`8*#Gt>V#4%rYd|aH4Bt2pz1|Sf~v6qCYrfGd93yNp2_SB`X zS%vfGjz}8fO<tN9_e646!NO9noD*z40XG7x-<D2x1f63q4dm3k3cE9|)A{f1$;jg- z&0MX)e>jd7uR3U&TMx>y<2e&7z*jhH_=y|xur~fTbV9&dWKo$6OU!OrniC%P_r%lH zSQ#GIPRP|BGf3)==1#2QB5rkdmYC|ULN(3f?Boc(10u4T{XiA`E0C`w27G^moSjfw zDT>%-WM3xzJXk6Ga+N`9{(IpY>!*ZcIK<1?R8-h9xW>u(nr?emhJO-TXqd*U452M8 z3DkG1>zxp%iz_ru*rcKRqE*2!lDT`3#;X}rYx#3g@17ZYocSkd>W_)S^QJFNIy*2L z!Movyk<xDl%oi59f1;%SGWJfKsMUKPwzYBqbaY@EW$tRAml1Q=%80*W_#p-TpBN8~ z46F|<ce#_ZN+<rRs>YXPS7)^?H)UW0af_X!RPb6V_4DTyO_pEa@{l2PU_d93P5Hc* zoND%+C%bw==@^)sA2S%T%OUZRgh!s-m-xOA#5k#;)!DvIGO7=O?)23}hBbfAi&W*J zkH`g~0`>GlyQ=Ey-OoL%cJ;@%eERPO9IqbUR5sX=+zUE8O?#zjq~8Sf>pXEtayj`$ zC}MF?I`Eg3v&h?9qwPR;yoiNy&(uuY?CO^feO2qk<@bHq@v{6_i_|hJ4Wy+-TtIq5 z)w9CJMECRbw=Pz?X1~7ek=jx}*dP1coa5Ri%w}}G=o|G0c4x^)v5_-*8NWOo3g|cW zNm3Kp-j@hBto+^7@I4Bj-!er&@WEYt(;(>$lFk2m*~<U#Wdl!!ROFAuKo=Cj8?OJ( z^|k<hALRbGil%`YS6fcQhR3D9&~MYLs{^XZ;gM)=Ha_>9r!c{ZtGzS2ZH=Gal@tGs z?Um?;%*N8cTMl|3(&rDWYSKK5A%{x=g_EkmV}RJutSA>3SDcvl&V+80S+GrC`m@bQ za@M#0!@hEE%Wh=0bPwFlVoy(((gK?@B~IAA-Kbm<oS`A%N_{+!N{nA(hL>FC8vT-{ zYxXdcBRXQi7O}Oza+VG#e4-6Hgo`rE9HjzsLnW<WqH-$Tbp-mc`%OPRXe(4FGN)MB zZsZi{fPoMw+mGsQ+5bqnoiP!wF2Dha^LR}HnENdvRc}D%sdD{JxAp^tu-T5<t@Hhc zpA4p)ptaTe1xDP`Pw)Tr6xcVu3tI4QTtxG?NLg7+`_cuY=+d?OQdt4808)kAwT<W{ zLn%{ZW--?sPteFwTth=c*lr+;xjFdm_6Ii>mtn&l+-7%Ag7ZJ0aW=z-fV4{BCm{BE zW~AJr$A@wU9|x`pa8AjYV`DJ^+uYxQ41)o)#oD{5GFev7FPsLMqEoa5HPVzZc!}5x zN)zkc7Mv5D;ZMDXvxPi`$2<NtwkVT5+?c#qJ*!8Oi-w&$6F!^Wb}3h^H%A#KXmTpM z7=BZ+;5V_sovT{|JtY}$_4KOWoEH#!J}g-}5tT7{5fgp%l1T*J)jjN0S*Ua+rg}lT z9~@Ngb<_2|_s^HES)n4O7dd?U1-91sICPFr(v$SH66*cSlwF==1U}~y$YpnC@)6ap zy~^;fuX-j~PR3`37+fq|iju=N`6Gm$j1H^E6JEk6Zf$T*&M=>`H^TH+)JM5$j)YiG zlF#i;z56HR1SIDJ_N6qdjbP+(CJ+Wpd!A1C{#GHl_v5y`^Dw7zE$j$l;DQwZC$^x0 z>mmi_&wg_v84dZOqqt|--CLd6CULBQJ7?NbZEu@=p6PYdSmskzys_iultxf3WcBZN zBijkTfSlx;QUh(*B8j2l(5WyL0jY-+0Tv?zw31~s*XOi6BpFiAj_{EgA+Q*QE@GLN zf%_A+q#E_F6u7u!2@efw{foELPGX>^D&N!hs@NAiC`HlupE|=O`ckPDp^j1JwMr)y zpO;c*F&?DgQvemwuSS%?s*)r+sx5U<G-e|+z{5xebKYJ5a9Kf-RzSDW|I)p^K+?7y zwEHhJ16`6q=IkqozknGfCs<%EjeLE=(u=k#BD9>4`tC=6z-8Jnd#SZk;|^e(d3AM< zXhFte_I*U6r2?v*x0Rc<l6DPV_Td^2&}TerXLU^baR<0oKENOV<E_0E@NgsqnaMYb ziXHKwAe!r3*-pSlH;bQ_KkyKJ$RKB_ny=)-LKfLJ^><|7$oCw+f3;Nau-=TIwRPE> z&mBpVXmXbQTy*ilXZ`B)XXt1P%DueP{^zUo(CivBX9<to-mi%o+fQ2GDp1FbdVpu5 zFe;#!4y!r1!(c=t?61pyxqyJvSbrMJZk<PPKc;IqCZK?6>rXPD#}xHPQjpOg1`+$< z<10>(WZ1*E37O6H!G*RzwHCi3&Yqa$V6o5)V12hg&W$Yaca-Bd5FIx`7Fn&_OCMz1 z0Ist$PgO}4G=Om6mJr<@;}j4^nvKGSR-&ZjaC{+v2QikEZrK}|&gH|OAh<gQ#+)Ga zgK@~2`fvK}MVxelQVT^h9{cqDGK}(>M^yUm^`@3zEj$-;xs+O#+swd_&Aw!6Xo&u% z`Ef0xBjLcw=<51x?8BFmfX64Lde-PIFZ_3x&*K;Vu6NFhB)r?|eIZ${qE|+5twKP_ z9F*@Y<&!I4yW?Wqvu7;!+d*9(KHwu$=rS2BcGoutT?3KSk6se9EJ-g!z)VJ_)^R8R z+}~1Fl+$(N0A2I43tIM4oUjA@*9mSoCj{|;;7Him#Tu3`>c;%hMC_?dzK<H(4=^BE z&<1pdWJI?J#_U+(chw1!0c|*rbD=aq5Z1wC1M>Viiiipz3v$3TVe{(jcQAmcIROVX z^JpX6(`2=Ef9O8CnM-G$uGyZs>&q1Ob{y{N9y-$JF+AZsI7@NWyF(m`IlY}aWBLQD zNa%Yodj{J)2Q#~z{)oO+Z`NDeX_1!Ta9tZE$lq%JtW0Z{YkxY=jY8GWq<KO_`W9+U z_0!2%`9vPhr!MYtQktAIBqqBkdhn65Y6^75qw4xn-r(FO`6BuGJL2-+^pb%?|E+d+ z;!Q3fJXcg|s~#?I2_V6t4E$o<;&2mz^WjVq4KN((3@hAthwPk6$8tIr$!?)ZyyKT^ z4nW7^D=b-UEKGUIRD~vdjZ~~;;PhmJns~BC7^_>{30&3F+Cx7MB+r}<mb$~;`bL55 z7MAa%Wy>EdT!V_HV7Szz=e_IJdfk9&Kban^9jENDNOVfb79lq9034laB1f}Hw(JWb z>BksvuiHQ$##R@5`_%3yv4&vLTy4o(=c5rV7-X-VI1+YFwl&J!{I#*0H+UQEBYD31 z+-Z4!gC$@0(LNZ-+aT%Nz1gay0BvdT9&6l&INI%qryAe2yBH$aWbF1n48*%1oqO#K zO}#7<UK|H8o7b9O=(Bu%Q@g$`hBTHe)uCqIr%QN~KZ3>tmwo<wYClC{aK1O>p4tC3 z_%!@b&Wh4}a5%3Ee2`vC+xz`}ScC8Q0!nm?7XhpJAk6MBhPX93J}7K3ew;_m@+Njk zen$DmpYgv?SH7Ba=mZ6q%Cdu}aN6qbu({?}HGs**{9>9<Mr@1RQ)WdE$@BP3fa4*s zJauPEGX?>UrtfH~h`YIw0+kHNZZAY@r(q11B3#4d9x0R&2@kx%mCT_+Q(N>DPafkr zuuW)1@|07LfrhHB5!NDM8deiTP@I+k%(VyB!lXcIBtW+y+cK|?Sz6-;$Hz;${*I4F ziiwLm!7f+7IGJX)1#WCi5)c)}L_JBU8G3-jnIb?!=(!w>Jlo?zJ&(7U{!v<h+<!+n zt5kV;u69lz+vzg@QL{x*Z16ONaBNLI;SBNYF;UB2{p%+GUCR7clEsOnpj0vF3lYx# zgr0T7tdHSbaq36iA5%(qjLKfQP(7~{0fE3@3g54|8NU3C9o(dcW4DF*5|Hot{-(Vr znmTvKUobPN`kNnSk20SDShX!xAE<LP+)aAkj_!rkeQ<mTT5xiIGPR)NzG>KR4w$ld z!X_$8E20r5%O(cB5vOe9mZTlNd(b{&iNdvb2KQkqo!4!ki{~_F&m~6^JF3<{BO6^u zp9TAzF7B@qBcGL)|C8uiLo=2&xJMSjDdD0iZF5pRueDSknTEs`=j1^Onnee<{K0AC zwj0G~=W<|%%>LYiOY-xIVS|Wy@3&H4hf>FyuG&!RT|Bt+LjBq8V4D+!*k8JIdm*kj z_0vhy`_gz@EzlwTK}?LRC}FsXaJEVawn9dqh&6O1_Kn>d1mdUK8BgRB$4s$J^u*p7 zr{6>fJrWm|O2G0yG=Ahi-EsR=()p}1UOtyGrSO0Q{T6AiiGi*(YoQSo!Za+AO%#mB z?LIM;^kCr?bopNWfz>3&3K#{`;=owvyn+HqK|uky$rWEna>!s^5S$tIbL5*MD48P9 zv1UjuxSv8oEQId?o$XKMA7A14fiad?0H~-7%lqcW{pq{?-(o$PDeFjKA)&3C>rQgB zd<nmYn{kAQL^k~o+nls^?5DT&4g3D*BcE>?$X5hqd@A@01Yv%d_?0r}5k|q@49c6e zBOYozcQMl*dhsAnWY5J=YlTr6CHU<zM7@@_j^1BIaaCNz#bT}*$OQTa_=(B!FNL;4 z5M1|g1ADTapu)V59Be>0(ekEL!^yTqEl+q0aq!#;?|f1_&M#ez@qb%WgA?C=q3Kvl zVdoo{PSeLMzXe@*YZ^?6!a!&YoZ`=51hW#f3=N|rBJhr?{_*eLyzg2&Yx=9(o0CTD zyTb4eXn{@S0G%<|(pcbSc<%7S*{sMi@*u`?IUqyi+F^C5n_d|H`n#tOrW-Nqeqix( zGWDr-o~=tZ>Zo=4lT=_Jg8%K@k}GeiuS46Q91bjK4z+o`jvv3$5+{8xB^hDVSXY&I zW^lE-RlZXGDxHR5Wo)$_zaljObHC$qrk1TAABcIGk-Gd)DY@a?^pCUs*iiZ#oLCW@ zDVsIy98Rl{Nyoy6pVHO_McToEsRxwD^gM*w>ze|LWHHBwzK-3AFKE{p^S{M%GuYDf zxq4A@aLnM8jIq3!hVdRZ=Y6ap3aD|?(V<RHPp6=w3LPBO0!MS`@xnr$ixc2-d}WT% z@aFwWkEBl_j8_qd+gemwgDGp%TBHkd$jL^o4kjpu8N&w`{s(P5j3HV%zHBfL*nL(8 z5+zZLVtz+9v){Dy+suq$oGLd7gwmGmdznPPFDtFEmC1-NB9EH#sS~pQ1pNH=yIIM^ zhxgID65dDkRXJb3ZeIFTTATTvMQevieh8>hG(a-a)YupR5-$)F#ZS?rX8vmYYs+s8 z+si+ij{*@`pcEUV!;!Bm1TSkd*J(wdc|+Pe#;;$84iCRpR8|h{S>@p2!6#98z4C9t zPs_A~%s!)?9@!T)@DU5OJ|dnl*leNJp&)=R<HEUi2YjWUM*cM{e^ZhmOj1dKhNP*d ztVM~st@WnWXy+@3mk07aQ>hSY6%^<+9-TZ53F>boPxi12t~fktWyVyFXTIRO`9TgV z>W$Xn%C@!n;wTZ2dp(O;BTttJ_Kw}pymGZG+FLCHJq|)am4qS+|Kd5>7Gw2EaW%e= z)9vYS7%;`uk0J?cY<wQ|%Zh|SgaDKq^9l;`Xj1(PFl;D<IHrtqd5`jd-SuG-HbG^j z8)(2I>K)p*awGLZ!=r?qD*CMPu#>SHxCTKus7gyVh<wsvz0c_N{KGdu!UDCGHz+bA zV<HP*zmxD^sES@>l)e($4bgE}6`Zz4IBPn*lW!NCF26oq`jw6{1#f9iG<dKIl)*hO zdjJi&Zu1`$2^+K!B?#Z4f<7oQ%D-Be2=>|OgV8tX6wSV~uQsx=u|ZEyGqy*NDg*^d z8yOpShlPU$_muObjY?=F9x^<Ti;R4>8BPvg{@Vd|$W$`$$LyzqRxxwodAuZaPZox6 z&gbvyS}i7iXz^a@I%O-U2*i(X$KG{6wy(b{PaySZ`g`hDA-yy(CTMVSqq*50JnOc) zt<Xg@R(%IOA#{(~5?H_Y_p!8Jao|CeZ}6lkb$ijQjEulVF{<g4h{%?f{ybg`Hb>iY zSJ-f6CdT7Y^X(quXrUrB0W<6iy8J6SIX#wFP@trw4C(nI*lr_~gijg*+6>HA5IfGk z@(H*o!(+5la}D$a_8{9<67baJnu;&tFI}HY<1b*<h}_SmB_JS>b#-+O`SfYTq~P_W z-S#EoMZ=M9MwWDv{vh%!F8NcS3r&}rHhNhtB79y-%IL8Bi-S*5R>{T6%H~JuRj(9d zlk6m8lNQf`5cU0eADbp2Pvm@+q0R&4_;_;fyl+{-&fqYr7pV~dZ^$4RN)l!92U`Kn z=9fJ)b^CwRcn01u@03{oK%wYN1Zcsef*c11adGjLkbgPgPClXQ`he!7oOuwNxk`2( znWIpH0w5nP?yvp~-i78);GpmirP_Jh+XbLHn0)Z`_4RQfkleyT?)}m4I?Gt2C#M0@ z!P1zX<MoQ~KMOZ|k_Ew9gmKrahly{_j4EE<d;C43vHn7^MG|xJy|O@+79_NH)w~@X z<aX!U{q80L#K?_nY-1T%*6%Lh_5&BWZb5FJIwP-q>wTQLL8K{JuWa0#4OFy65$&S_ zy&RN2s9xSyH1WJzmm2x<vEH!F5&D3SkC-YN*UioCTS<w6m)A2tfb!q&Ce7H9eZh$4 zF6KCSeAGHtJ&R*O@KmMN!Erv8tpu-a_ec=1-5m({*oT2G9AAQF{~^lxt)SLf5F6DX z6Sc8zf8&K&Re8r)HSpL_%zhR8dz3v_HJ)ml<$VqAPj@?$|CM@og9tk54UZWRG%22% z8;=DO=sgQjs7;bHB!=KYBt(FLV)H3CFZx;UUnM%Gdka)djLW;+_mAbY0R>^#j|3Ed z!?m`Z0)GAxb*?|S%(aI6Hx&6N)+@ZG2Kw*)8x#~oC+^Pqv$7IQg!zpV{cq>2G2v=K z&;t>$2}n*>APwxJJD}6bEyJMJJ7k-V)r)0JEtZ-Z=88W-v><>~<%UIx*J~OW&~Z`` zf|@4m^g{A5QcH)egc`9FlM6q;q_=l<Cr6|uw@|<0FGXL~RCkvm@lhS*<f++ddcxMn zE?-_{N$VfBgKsd#g@x#!{8|A5P1p15!#$$$8U&X;DD99BU2$Y&3{>My@8?04&nPQ* z5wqGue=e!YM`bbtt;NNUboKPu`T0q5b8~<H`Gc)7^1otZn&^L0%b%94QN}*=h0Uh- zoFPxbQ<qb!und42CZ-Tq9&tho_lDGX?zIgGc6Rn}KYm2KDS=FMq^e<UU@A3^UjFBP ze5)^9@~zRY59Wa{eY&xfYiSxs$^sJEuV3t^zc$TJJK0@3u@kh>WtQ@4-e@m=WGZJ~ zk?@K7x=@1wX?1ddrYE15u}LjY(5V&P*q_MIxopW6xJ7Nt#*;XTv0%w+Yg1kXO1HJO zX=!Q6lKe|&chU($<|aBrka2+!SQc1@Cz^-GU2+-Bd7^01PpydL1(P5a_Y8dYRiee~ zl~q*<(QmWN@MS}!KZjpIpRztj+`W~1bJMx}U5T~%x_4sI4F}d?3acznpk6<{W0V<o ze5<@C^Rf2C*Qon@B`u#%!B?7KLj2Nb5?Qf#ii7R#_?H4qqTDuZd36<7foA7?gUN5I zQs*%Im%qOguLckN{wA&&G1*5Kr_7N@2%g)!q4xj?08UDs?E^1z)b3=77u<k=Y1%{1 zH^<6EKrfDKcxvcik4V_;;1te+4$$AhS^JgHQ98*y`k{ocub#+#n(HZF7j1_T>k)3n z#@iX4eC7Ijf`;oLfiG={&7mxhLX`mr$Kk$9*m<&krN{P&aAonxt8Bq5qkOpn=K1EH zjSIL+1j$JT1LJNc(%#uIHoM#-;mCXYl>2%eb37S9whjy8tUJItsWh+$GlJh&J!k{< zWbj@*Cvd{?wo4QkZjHFtLE!-audoaVpypU17JYT8W4BB!a=n&G!T<}P^+J6}{Cm;M z7ELL=`qh)VpL#wTguxf(3GuPJ&M;daQA$u&66FdkN@Q+k!BmcJQ?j(ZzN1Pn-M!6b zzZ28))rOXlSPCyb=O43srTDe$^MO_Z7EWFx-ar~9b70BNOr|AN_~LL}?N<ZY%5}4~ zOFsiL!xSXe!HW$;cH_y{v+Qhg=H9un$YM`O)FzyG7(0STf!cFnf*Lkrv=~r=RSK|i zaMwk!l=9UQ!IM(+d+5$s`}B8Y((jzzjk>2jid5z?gG=m|&z;Xr5lS2^_xqzy&BS=T z8Q>1pr%nSrMJb~zE90yB<5g>4^r}AVk5-vI&o=Wbh2<~5YM8+%|8NRgz%HavFl|sR zEHB@qVcB7MYAbJVk<-%S6fD*bOrP24In8?6t`Cha{jIKswS1-dAM7Rgk!*pg)VR=| zcw$)p{jI7;1N@q(G++}Q<bC%R_z$ZQLgk{0Y_bT%L3er&q28zBJ_NF`5>?fQtc|?) zdi+jDFWvt(=U?6-#Gp2v`5z)X#Z+;nZe?9G3GerPIK|5F3*rYxpV=q*6&QJlH`M&B zQ!;lN1lNKwY24$otF`*8nuxKtQW|ckXZ}syHn^r<CmVaYVb+0}oc)33uDsG;6fUFQ zn`E^leEOisad6^FTXz64(WK=G8He+_+{snUIfH|vKBG^-X=fRi9)5B6#*M+v5xwoB zo_CequI&HoYM?Szf;(lu5;|6Jkz5nX*omR1F&pGOU_yHq;EMRyF>|n@!z`>%Wn}M2 zn!e#3a2vSL|7`Wb|Mq=I*LgPi^crNr`X$d-uAS874;n!}A#GuQ*;8fA(u~DQorQHx z#4pg`9{gMUkEiMO_9A#^!P6v(Q4#WN3-bJH3cL$OefKr`{IB=dKY*)L&4*bctGcGT z+WapY&%et%_hY|-0)L2{l5xc3)nD1Gj5qt<kf9rZy^3M6Dk#Z>;(xD^^xK5E0X95v z9KZ}Xkbvg|xek;8b2tZN@cTlz{#~6auVdz<KfeB)iZD7k`E7}HuE9ht;Xh`oZD!)U zFTHp9oNQ)xLdu9$aC@!JhHjw)Y`Ae$jt3Aey3Lq_!zFULmxh%8%6trypT%};e6_r> zOz6%TwFFDpIW`^HnWsM?;LKWAs{@$fCBAHa8;X;Ie;_@91Ot}eVABoa@9W?!{0BtC zP3<D~)KWDOk7iw$bT=b3TFi*(MIT-K!b&n5*)x9PIx#301nYe8J+C<V)~jo^r)VHK zQ!3jK<6voN%5b>_rdv}E!!lS)Ilqch>QGB8Voz||+}WF>Ww2y7a?U>zL&>fJ68j#6 zE?WWzce}F<nj_lx(1(I?jgAkKttexv^1cx$Mm?b*4eRV$T3WL{BX@nO9#8V)M`tR^ zK6Z$%^+jwFMgCJFQ13(j-s<5+34{oyrNy+z_4JjrtdYNTcP0iiYwj|2+_0YIL5+eS z6l`^>oI^0_xXwBL(*u93=a`1<-G4TW`&2WU&sEZf2uCt9ufLnMecUx=dg|1tH?2{) z^HQDR)}CK#pYa&4GcPP_=*0kfa8ycHiiG`rqO1h|j6y+;(~3Y2Yqca#$9|x`0M59U z)HlIA?~=+^eBI&=W(y^jg5U1*AsGLvT>nSe_>P92<UO*2u8h8H+d}!J@xF0cl;uM> z3&sB9!-HC0-<$h~mb{b4ys8>98#2dYKNPpnxn0fU+BM#m2kjep{uXweIZaTxO1vGA zCm{UlF+4T7y3BY%|C90Ytu7tvhYC*d)Hwv5X*o`h&ywd|_Z1I5Q9QTh1`&(fstCN# z+c!uH++6vrOH(9ueYxZ=q{5-rxeeJflY!SQ%3elKNu5#eF-*_JWUj$9PUE)}@R{FY z;+O8cH7dfnl$(-9bL=EUoH}q?2N5owj(gQz)Ip&(&j{Gv)w9$?C=6R7rr|nhRb9cE zPz_Xkb<jpah{_8Y`=pGckbD_1YX`a??gi-a?}{H_e-%2qZ;d_Er_mtsh&e^sPS3$M zt!&VtlI9C7?dtSQgIZZK4Hs9#BYp$5pgTn^jtX_(w;>J>vgpYB`+r%fRs8auit6WX zA5ngOBK~}z`4k4LL#3XvPm;(JTv7|XpOBA%Kaj|AhHRZ03@k{5zZ7LvK23u`8ddty zgok{@TT1#3WW|iyyH#V7C>Hz(Eiak~Er@WK(2aNr@Qqinc69H%z@)iB;(nC@aV?HP zFXSzC=^k==+sZ>b*x&Y<i+Iyd)aTo`FALw?f8FgVa>6A|MbsB8Z!5=TD-lj1kL|$j z{uioy<wLrFT^u4L<%l+7{VcDWyo4f4Sr5T2=IVb>mW6}1TiMB=xT9J@ow{Nr!%fNg zkSRsRU&k$9;tLZtLG3&fna2Km8dX(H6%3Zb+v;|9>pE$K?C&oEWPk?6HEj1_>J|X} Ns4Bfu{2^}<`hONN9y$O3 diff --git a/nginx/landingpage/assets/imgs/Malcolm_banner_white.png b/nginx/landingpage/assets/imgs/Malcolm_banner_white.png deleted file mode 100644 index 1efea17952521adcb778dc1c216cbbcea868ffd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45426 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 diff --git a/nginx/landingpage/assets/imgs/cyberchef.svg b/nginx/landingpage/assets/imgs/cyberchef.svg deleted file mode 100644 index 9ec0f9519..000000000 --- a/nginx/landingpage/assets/imgs/cyberchef.svg +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="400" - height="400" - viewBox="0 0 400 399.99999" - id="svg4819" - version="1.1" - inkscape:version="0.91 r13725" - sodipodi:docname="cyberchef_hat.svg" - inkscape:export-xdpi="337.5" - inkscape:export-ydpi="337.5"> - <defs - id="defs4821"> - <filter - style="color-interpolation-filters:sRGB" - inkscape:label="Drop Shadow" - id="filter4682"> - <feFlood - flood-opacity="0.498039" - flood-color="rgb(0,0,0)" - result="flood" - id="feFlood4684" /> - <feComposite - in="flood" - in2="SourceGraphic" - operator="in" - result="composite1" - id="feComposite4686" /> - <feGaussianBlur - in="composite1" - stdDeviation="5" - result="blur" - id="feGaussianBlur4688" /> - <feOffset - dx="1.34615e-014" - dy="0.7" - result="offset" - id="feOffset4690" /> - <feComposite - in="SourceGraphic" - in2="offset" - operator="over" - result="composite2" - id="feComposite4692" /> - </filter> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="1.979899" - inkscape:cx="40.62369" - inkscape:cy="206.8588" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - units="px" - inkscape:window-width="1920" - inkscape:window-height="1138" - inkscape:window-x="-8" - inkscape:window-y="-8" - inkscape:window-maximized="1" - inkscape:snap-page="false" - showguides="false" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" /> - <metadata - id="metadata4824"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-61.812519,-579.37011)"> - <circle - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" - id="path5494-5-0" - cx="209.06097" - cy="843.2403" - r="0" /> - <g - id="g4673" - style="filter:url(#filter4682)" - transform="translate(5.1770318,2.0203049)"> - <path - inkscape:connector-curvature="0" - id="rect5513" - d="m 243.66981,877.59676 0,32.00949 97.94463,0 0,-32.00949 -97.94463,0 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path5516" - d="m 243.66981,877.59676 -97.94463,0 0,32.00949 97.94463,0 0,-32.00949 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <path - id="path5432" - d="m 252.43415,634.65787 c -2.93079,0.0237 -5.85751,0.22598 -8.76434,0.60581 2.9e-4,92.54556 0,151.78177 0,246.9062 l 102.82518,0 0,-51.59276 c 0.34138,-2.19919 0.64564,-4.39387 0.82997,-6.13864 l 0.74658,-7.06246 6.41143,-2.55609 6.41143,-2.5581 9.34811,7.55758 c 5.14171,4.15711 10.34711,7.56009 11.56798,7.56361 3.05362,0.0103 24.90114,-22.4949 24.90114,-25.64946 0,-1.33375 -3.32577,-6.68709 -7.38833,-11.89487 l -7.38636,-9.4676 2.32909,-5.44225 c 1.28072,-2.99325 2.66205,-5.81504 3.06771,-6.26947 0.40565,-0.45443 6.4466,-1.77039 13.4245,-2.92441 l 12.68785,-2.09721 0.31968,-17.45587 c 0.19141,-10.42474 -0.1393,-17.92314 -0.82203,-18.61518 -0.62875,-0.63732 -6.64398,-1.99532 -13.36493,-3.01699 l -12.21726,-1.85568 -2.69443,-6.71426 -2.69047,-6.71226 7.36849,-9.55615 c 4.05209,-5.256 7.36649,-10.33897 7.36649,-11.2951 0,-2.04511 -22.89779,-25.96343 -24.85547,-25.96343 -0.73476,0 -5.85983,3.4567 -11.38928,7.68437 l -10.05298,7.6884 -6.15927,-2.5883 -5.96467,-2.50376 c -0.0655,-0.0303 -0.13101,-0.0605 -0.19658,-0.0906 l -1.89623,-12.34168 c -1.04342,-6.79095 -2.4584,-13.03053 -3.14516,-13.86931 -0.96141,-1.17423 -9.08067,-1.71556 -17.20305,-1.66447 -8.12235,0.0511 -16.24958,0.69142 -17.22093,1.87782 -0.69477,0.84854 -1.89525,5.90378 -2.8493,11.68555 -13.78021,-15.03842 -33.09617,-23.61037 -53.34456,-23.67301 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccccccccccscccscccscccccsscccccssscccc" /> - <path - inkscape:connector-curvature="0" - id="path5490" - d="m 243.66981,904.03117 0,16.911 102.82518,0 0,-16.911 -102.82518,0 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path5488" - d="m 243.66981,635.26335 a 73.110297,74.107784 0 0 0 -50.24705,29.88411 73.110297,74.107784 0 0 0 -24.78797,-4.48825 73.110297,74.107784 0 0 0 -73.109015,74.10849 73.110297,74.107784 0 0 0 44.891955,68.35225 l 0,79.0496 103.25208,0 0,-246.9062 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path5492" - d="m 243.66981,904.03117 -103.25208,0 0,16.911 103.25208,0 0,-16.911 z" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path4473-2" - d="m 141.92964,901.472 204.28572,0" - style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </g> - </g> -</svg> diff --git a/nginx/landingpage/assets/imgs/github-mark-white.svg b/nginx/landingpage/assets/imgs/github-mark-white.svg deleted file mode 100644 index d5e649185..000000000 --- a/nginx/landingpage/assets/imgs/github-mark-white.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg> \ No newline at end of file diff --git a/nginx/landingpage/assets/imgs/icon.png b/nginx/landingpage/assets/imgs/icon.png deleted file mode 100755 index 86180f0bad8c3e7c4ba54001a0629adfc78d6a86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89100 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 diff --git a/nginx/landingpage/assets/imgs/netbox_icon.svg b/nginx/landingpage/assets/imgs/netbox_icon.svg deleted file mode 100755 index 61b9b5aab..000000000 --- a/nginx/landingpage/assets/imgs/netbox_icon.svg +++ /dev/null @@ -1,20 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320"> - <g fill="#9cc8f8" stroke="#9cc8f8"> - <circle cx="37" cy="284" r="23"/> - <circle cx="101" cy="37" r="23"/> - <circle cx="101" cy="220" r="23"/> - <circle cx="284" cy="220" r="23"/> - <rect x="93" y="37" width="16" height="180"/> - <rect x="101" y="212" width="180" height="16"/> - <rect x="93" y="212" width="16" height="90" transform="rotate(45 101 220)"/> - </g> - <g fill="#1685fc" stroke="#1685fc"> - <circle cx="284" cy="37" r="23"/> - <circle cx="37" cy="101" r="23"/> - <circle cx="220" cy="101" r="23"/> - <circle cx="220" cy="284" r="23"/> - <rect x="37" y="93" width="180" height="16"/> - <rect x="212" y="101" width="16" height="180"/> - <rect x="212" y="93" width="16" height="90" transform="rotate(225 220 101)"/> - </g> -</svg> diff --git a/nginx/landingpage/assets/imgs/opensearch.png b/nginx/landingpage/assets/imgs/opensearch.png deleted file mode 100755 index 077f1868dee49c81e269c88206333fd267170d8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10327 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 U@&tqjcoYcI(J)Z2RkM%!KY|oHg8%>k diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html old mode 100755 new mode 100644 index 9e4830aff..1e5344c66 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -52,7 +52,7 @@ <body class="bg-dark"> <br /> <div> - <img class="imgcenter center" src="assets/imgs/Malcolm_banner_white.png" alt="%SITE_NAME%"> + <img class="imgcenter center" src="assets/imgs/Malcolm_outline_banner_dark.png"> </div> <br /> @@ -64,25 +64,25 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/sessions/" class="btn btn-primary" target="_blank">Arkime</a> + <a href="/sessions/" class="btn btn-primary" target="_blank">Arkime</a> </div> </div> <div class="card bg-dark"> <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/upload/" class="btn btn-primary" target="_blank">Upload</a> + <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a> </div> </div> <div class="card bg-dark"> <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/readme/" class="btn btn-primary" target="_blank">ReadMe</a> + <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/opensearch.png" alt="Opensearch" class="image" style="width:100%"> + <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a> + <a href="/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a> </div> </div> </div> @@ -90,25 +90,25 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/netbox/" class="btn btn-primary" target="_blank">Netbox</a> + <a href="/netbox/" class="btn btn-primary" target="_blank">Netbox</a> </div> </div> <div class="card bg-dark"> <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/auth/" class="btn btn-primary" target="_blank">Admin Access</a> + <a href="/auth/" class="btn btn-primary" target="_blank">Admin Access</a> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%"> + <img src="assets/imgs/cyberchef_hat_text_512.png" alt="Auth" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> + <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> </div> </div> <div class="card bg-dark"> <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%"> <div class="middle"> - <a href="https://localhost/mapi/" class="btn btn-primary" target="_blank">API</a> + <a href="/mapi/" class="btn btn-primary" target="_blank">API</a> </div> </div> </div> @@ -119,7 +119,7 @@ <h3 style="color:white">Internal Links</h3> <h3 style="color:white">External Links</h3> <div class="card-group"> <div class="card bg-dark"> - <img src="assets/imgs/github-mark-white.svg" alt="Auth" class="image" style="width:100%"> + <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%"> <div class="middle"> <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a> </div> From c149fd6c98d00d8183cfa58598241fbfd71b058c Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 13:51:01 -0700 Subject: [PATCH 09/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 28 ++++++++++++++-------------- docker-compose-standalone.yml | 1 - docker-compose.yml | 1 - 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 34c04c258..196458fe6 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -97,13 +97,13 @@ ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/t ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz # component icons from original sources -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/landingpage/assets/imgs/ -ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/landingpage/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/landing/assets/imgs/ +ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/landing/assets/imgs/ ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/ RUN set -x ; \ @@ -228,20 +228,20 @@ RUN set -x ; \ touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \ cd /tmp; \ unzip ./GitHub-Mark.zip; \ - mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/landingpage/assets/imgs/; \ + mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/landing/assets/imgs/; \ rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \ - chmod 644 /usr/share/nginx/html/landingpage/assets/imgs/*.*; + chmod 644 /usr/share/nginx/landing/assets/imgs/*.*; COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ COPY --from=docbuild /site/_site /usr/share/nginx/html/readme -COPY nginx/landingpage /usr/share/nginx/html/landingpage -COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/landingpage/assets/imgs/ -COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/landingpage/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/landingpage/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/landingpage/assets/imgs/ +COPY nginx/landingpage /usr/share/nginx/landing +COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/ +COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/landing/assets/imgs/ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ diff --git a/docker-compose-standalone.yml b/docker-compose-standalone.yml index 9d054329c..0d670754a 100644 --- a/docker-compose-standalone.yml +++ b/docker-compose-standalone.yml @@ -720,7 +720,6 @@ services: - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro - ./nginx/certs:/etc/nginx/certs:ro - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro - - ./nginx/landingpage:/usr/share/nginx:ro healthcheck: test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"] interval: 30s diff --git a/docker-compose.yml b/docker-compose.yml index f031a1aa8..b72ace183 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -800,7 +800,6 @@ services: - ./nginx/htpasswd:/etc/nginx/auth/htpasswd:ro - ./nginx/certs:/etc/nginx/certs:ro - ./nginx/certs/dhparam.pem:/etc/nginx/dhparam/dhparam.pem:ro - - ./nginx/landingpage:/usr/share/nginx/:ro healthcheck: test: ["CMD", "curl", "--insecure", "--silent", "https://localhost:443"] interval: 30s From 31d87a08ff19850d42b2a44de39873177194c899 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 14:09:06 -0700 Subject: [PATCH 10/88] landingpage work in progress (idaholab/Malcolm#252) --- arkime/etc/config.ini | 6 ++++++ nginx/landingpage/index.html | 10 +++++----- nginx/nginx.conf | 5 ++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini index 34aed4c57..5a0d33b81 100644 --- a/arkime/etc/config.ini +++ b/arkime/etc/config.ini @@ -3,6 +3,12 @@ # See also https://github.com/arkime/arkime/blob/master/release/config.ini.sample # +# [MALCOLM_DEFAULT_NODE_NAME] +# webBasePath=/arkime/ +# +# [MALCOLM_DEFAULT_NODE_NAME] +# webBasePath=/arkime/ + [default] antiSynDrop=false certFile=/opt/arkime/etc/viewer.crt diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 1e5344c66..bdef19909 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -64,7 +64,7 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%"> <div class="middle"> - <a href="/sessions/" class="btn btn-primary" target="_blank">Arkime</a> + <a href="/arkime/" class="btn btn-primary" target="_blank">Arkime</a> </div> </div> <div class="card bg-dark"> @@ -82,7 +82,7 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%"> <div class="middle"> - <a href="/dashboards/" class="btn btn-primary" target="_blank">Opensearch</a> + <a href="/dashboards/" class="btn btn-primary" target="_blank">Dashboards</a> </div> </div> </div> @@ -90,13 +90,13 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%"> <div class="middle"> - <a href="/netbox/" class="btn btn-primary" target="_blank">Netbox</a> + <a href="/netbox/" class="btn btn-primary" target="_blank">NetBox</a> </div> </div> <div class="card bg-dark"> <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%"> <div class="middle"> - <a href="/auth/" class="btn btn-primary" target="_blank">Admin Access</a> + <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a> </div> </div> <div class="card bg-dark"> @@ -121,7 +121,7 @@ <h3 style="color:white">External Links</h3> <div class="card bg-dark"> <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%"> <div class="middle"> - <a href="https://github.com/cisagov/Malcolm" class="btn btn-primary" target="_blank">GitHub</a> + <a href="https://github.com/idaholab/Malcolm" class="btn btn-primary" target="_blank">GitHub</a> </div> </div> <div class="card bg-dark"> diff --git a/nginx/nginx.conf b/nginx/nginx.conf index ec6ea9112..ad96c484a 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -282,10 +282,9 @@ http { } # Arkime - location /sessions { + location /arkime { include /etc/nginx/nginx_auth_rt.conf; - proxy_pass https://arkime; - proxy_ssl_verify off; + proxy_pass http://arkime; proxy_redirect off; proxy_set_header Host arkime.malcolm.local; proxy_set_header http_auth_http_user $authenticated_user; From b8bae9a4d8ecdb87666687959fc79a683f8b2b03 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 14:49:23 -0700 Subject: [PATCH 11/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 4 ++-- arkime/etc/config.ini | 7 ++----- arkime/scripts/docker_entrypoint.sh | 2 ++ nginx/nginx.conf | 2 +- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 196458fe6..5f5f266dd 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -235,9 +235,8 @@ RUN set -x ; \ COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ -COPY --from=docbuild /site/_site /usr/share/nginx/html/readme -COPY nginx/landingpage /usr/share/nginx/landing +ADD nginx/landingpage/* /usr/share/nginx/landing/ COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/ COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/ COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/ @@ -247,6 +246,7 @@ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ ADD nginx/supervisord.conf /etc/ ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico +ADD docs/images/icon/favicon.ico /usr/share/nginx/landing/favicon.ico VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"] diff --git a/arkime/etc/config.ini b/arkime/etc/config.ini index 5a0d33b81..3a71c6291 100644 --- a/arkime/etc/config.ini +++ b/arkime/etc/config.ini @@ -3,11 +3,8 @@ # See also https://github.com/arkime/arkime/blob/master/release/config.ini.sample # -# [MALCOLM_DEFAULT_NODE_NAME] -# webBasePath=/arkime/ -# -# [MALCOLM_DEFAULT_NODE_NAME] -# webBasePath=/arkime/ +[MALCOLM_PCAP_NODE_NAME] +webBasePath=/arkime/ [default] antiSynDrop=false diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index 1a6b4b031..9a5298a67 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -16,6 +16,7 @@ ARKIME_FREESPACEG=${ARKIME_FREESPACEG:-"10%"} CAPTURE_INTERFACE=${PCAP_IFACE:-} LIVE_CAPTURE=${ARKIME_LIVE_CAPTURE:-false} VIEWER_PORT=${ARKIME_VIEWER_PORT:-8005} +NODE_NAME=${PCAP_NODE_NAME:-malcolm} MALCOLM_PROFILE=${MALCOLM_PROFILE:-"malcolm"} OPENSEARCH_URL_FINAL=${OPENSEARCH_URL:-"http://opensearch:9200"} @@ -59,6 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}" + sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}/g" "${ARKIME_CONFIG_FILE}" # performance tuning parameters [[ -n "$ARKIME_DB_BULK_SIZE" ]] && \ diff --git a/nginx/nginx.conf b/nginx/nginx.conf index ad96c484a..922f7e3ae 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -284,7 +284,7 @@ http { # Arkime location /arkime { include /etc/nginx/nginx_auth_rt.conf; - proxy_pass http://arkime; + proxy_pass https://arkime; proxy_redirect off; proxy_set_header Host arkime.malcolm.local; proxy_set_header http_auth_http_user $authenticated_user; From 01d73c52ce7900fc6708dd352b72c9ef0ca6becf Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 15:01:53 -0700 Subject: [PATCH 12/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/landingpage/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index bdef19909..221664e2d 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -100,7 +100,7 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/cyberchef_hat_text_512.png" alt="Auth" class="image" style="width:100%"> + <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%"> <div class="middle"> <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> </div> From 4160edff96aa3ebd2deb95bd53070ceab24ed3d5 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 15:15:11 -0700 Subject: [PATCH 13/88] landingpage work in progress (idaholab/Malcolm#252) --- .../dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 2 +- .../dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 2 +- .../dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json | 2 +- .../dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 2 +- .../dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 2 +- .../dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 2 +- .../dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 2 +- .../dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json | 2 +- .../dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json | 2 +- .../dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json | 2 +- .../dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json | 2 +- .../dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json | 2 +- .../dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 2 +- .../dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 2 +- .../dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json | 2 +- .../dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json | 2 +- .../dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 2 +- .../dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json | 2 +- .../dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 2 +- .../dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json | 2 +- .../dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json | 2 +- .../dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json | 2 +- .../dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json | 2 +- .../dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json | 2 +- .../dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 2 +- .../dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 2 +- .../dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json | 2 +- .../dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json | 2 +- .../dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json | 2 +- .../dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 2 +- .../dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json | 2 +- .../dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json | 2 +- .../dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json | 2 +- .../dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 2 +- .../dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 2 +- .../dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 2 +- .../dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 2 +- .../dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 2 +- .../dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json | 2 +- .../dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 2 +- .../dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +- .../dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json | 2 +- .../dashboards/95479950-41f2-11ea-88fa-7151df485405.json | 2 +- .../dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json | 2 +- .../dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 2 +- .../dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json | 2 +- .../dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json | 2 +- .../dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json | 2 +- .../dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json | 2 +- .../dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json | 2 +- .../dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 2 +- .../dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 2 +- .../dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 2 +- .../dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 2 +- .../dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json | 2 +- .../dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json | 2 +- .../dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json | 2 +- .../dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 2 +- .../dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 2 +- .../dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 2 +- .../dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 2 +- .../dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- .../dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 2 +- .../dashboards/f394057d-1b16-4174-b994-7045f423a416.json | 2 +- .../dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 2 +- .../dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json | 2 +- .../dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 2 +- dashboards/scripts/create-arkime-sessions-index.sh | 2 +- docs/cyberchef.md | 2 +- docs/kubernetes.md | 3 ++- docs/ubuntu-install-example.md | 3 ++- nginx/landingpage/index.html | 2 +- scripts/control.py | 3 ++- 80 files changed, 83 insertions(+), 80 deletions(-) diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json index ea08b505b..dd55d865a 100644 --- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json +++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json @@ -112,7 +112,7 @@ "version": "Wzc0MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json index ca7c366cc..7f432f35b 100644 --- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json +++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json @@ -87,7 +87,7 @@ "version": "Wzc5NSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json index 29f6d1479..897ebb88a 100644 --- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json +++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json @@ -92,7 +92,7 @@ "version": "Wzg3OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json index d987bbbbb..fdcb0d860 100644 --- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json +++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json index ffd6b9508..c7de97cca 100644 --- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json +++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json @@ -87,7 +87,7 @@ "version": "WzkzNiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index 2b488d10c..93f0ad777 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -87,7 +87,7 @@ "version": "Wzc5NSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json index b1d6d1f29..5b12108a0 100644 --- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json +++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json index f513a366d..3081bc906 100644 --- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json +++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json index c8d3a2d0f..c4bd61fdf 100644 --- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json +++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json @@ -82,7 +82,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json index 29e76403e..ad93e575a 100644 --- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json +++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json index c5dea9322..379e2e8f9 100644 --- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json +++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json @@ -82,7 +82,7 @@ "version": "Wzc1NSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json index ce98e6a07..0ef978d75 100644 --- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json +++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json @@ -127,7 +127,7 @@ "version": "Wzg1NywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json index a6e04508f..76236f328 100644 --- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json +++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json @@ -92,7 +92,7 @@ "version": "WzkzNiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json index ce8e25f98..c226f7e9f 100644 --- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json index 15d5d76aa..a93e2e466 100644 --- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json +++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json @@ -72,7 +72,7 @@ "version": "Wzc4NCwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json index cf9e7a2f9..8e32017c8 100644 --- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json @@ -102,7 +102,7 @@ "version": "Wzc4NSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json index 55f5dfa5a..4975bb3da 100644 --- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json @@ -112,7 +112,7 @@ "version": "Wzg1NiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json index 4e1a4b49f..f976325fc 100644 --- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json +++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json @@ -122,7 +122,7 @@ "version": "Wzg0OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json index f59a125d8..e80a561d0 100644 --- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json +++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json @@ -107,7 +107,7 @@ "version": "Wzg3OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index df5b2e336..c33f62e04 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -117,7 +117,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json index f1e645856..021a33650 100644 --- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json @@ -72,7 +72,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json index c569968ca..2f3585c98 100644 --- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json +++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json @@ -97,7 +97,7 @@ "version": "Wzc2OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json index a3db7ce3f..3f5bcda89 100644 --- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json +++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json @@ -127,7 +127,7 @@ "version": "Wzg1OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json index 6fb7c22f0..a853ad2fc 100644 --- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json index 5c3d64b16..2158350bf 100644 --- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json +++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json @@ -102,7 +102,7 @@ "version": "WzkzNywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json index 5c6fc3a98..de6fc28aa 100644 --- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json +++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json index 3b045fe14..f42f2026f 100644 --- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json +++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json @@ -82,7 +82,7 @@ "version": "Wzg4MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json index 6939f225b..90f6202fb 100644 --- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json +++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json index 8bae2a4b5..e19a7f47b 100644 --- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json +++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json @@ -87,7 +87,7 @@ "version": "Wzg1OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json index b44c79a94..f451ce54a 100644 --- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json +++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json index 7f104bb9f..b0c8c9330 100644 --- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json +++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json index 8a62f658e..b4a9dc84d 100644 --- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json @@ -47,7 +47,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index 4d6aad23b..62c4c17f3 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -97,7 +97,7 @@ "version": "Wzc4NCwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json index 5249c597a..3a259c876 100644 --- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json +++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json index 8f35eac92..e86eadc09 100644 --- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json +++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json @@ -77,7 +77,7 @@ "version": "Wzc4NCwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json index 9de0cd9c9..a90ffa3ae 100644 --- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json +++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json @@ -117,7 +117,7 @@ "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json index 63773559e..044bef8b1 100644 --- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json +++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json @@ -82,7 +82,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json index 3057f4443..c29fabf3f 100644 --- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json index 3fb604769..29018b3e2 100644 --- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json +++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json index 17499094c..9f3c8535e 100644 --- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json +++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json @@ -127,7 +127,7 @@ "version": "WzcyNiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json index b34f26e0d..bf3b569cc 100644 --- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json +++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json index 53d30ba5b..a080c3e2c 100644 --- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json +++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json index 90b3e5b69..22fd40a17 100644 --- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json +++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json index 06d21e77f..6fe1e0aab 100644 --- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json +++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json @@ -62,7 +62,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index 7297ee956..ebc0563e8 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -102,7 +102,7 @@ "version": "WzgzNywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json index c3fc04632..9c2307012 100644 --- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json +++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json index c21a60eb9..7da2f2b80 100644 --- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json +++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json @@ -102,7 +102,7 @@ "version": "Wzg1NywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index e6d1dc56a..b40361267 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -117,7 +117,7 @@ "version": "Wzc4NiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json index 9fe63e3f9..a09f62ff4 100644 --- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json index a00e4c84a..c014f4a80 100644 --- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json +++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json @@ -82,7 +82,7 @@ "version": "Wzg1OSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json index 50d04fc53..3bb747c95 100644 --- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json index ffebbd121..7e705d7e5 100644 --- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json +++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json @@ -167,7 +167,7 @@ "version": "Wzc4NiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json index 39639fa5b..ae7dd1c31 100644 --- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json +++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json @@ -87,7 +87,7 @@ "version": "WzkzNywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json index 8cb956b83..27e948b3c 100644 --- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json +++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json index 6f67963ab..b36c99d39 100644 --- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json +++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json index 2dc78d81d..3b3d9494a 100644 --- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json index 5191afdf9..85db02f8b 100644 --- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json +++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json index 045dcf481..fafbb9724 100644 --- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json @@ -72,7 +72,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json index 42c7553c9..7696aca08 100644 --- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json +++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json @@ -82,7 +82,7 @@ "version": "WzY5MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json index 32e1048df..e1dbe8789 100644 --- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json +++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json @@ -77,7 +77,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json index 6f224eb64..902c9edf2 100644 --- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json +++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json index 3ac877cb5..8060287c3 100644 --- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json +++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json index 4a36a074c..1d4af528f 100644 --- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json +++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json @@ -112,7 +112,7 @@ "version": "WzczOSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json index e1cf5ddc3..3935703d5 100644 --- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json index 0bfe4edcc..1d7995bb7 100644 --- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json +++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json index 74b3b254b..d1f6db864 100644 --- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json +++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json @@ -107,7 +107,7 @@ "version": "WzgzOCwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json index 75883dbc1..e72cb9bc8 100644 --- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json +++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json index 5df1371a5..02179d422 100644 --- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json @@ -87,7 +87,7 @@ "version": "WzgwMSwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json index f13e54751..662b0b6e1 100644 --- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json @@ -47,7 +47,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json index db0f95c3f..b0f9d6a7f 100644 --- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json +++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json @@ -137,7 +137,7 @@ "version": "Wzc4NCwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json index d914f693a..d03bbf685 100644 --- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json +++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json index c785b26b5..a871622ba 100644 --- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json +++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json index 20d4cffc9..47a28dcc3 100644 --- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json @@ -77,7 +77,7 @@ "version": "Wzg3MiwxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json index 83c8325b6..d122bfa4e 100644 --- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json +++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json @@ -102,7 +102,7 @@ "version": "WzkzNywxXQ==", "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](/sessions) \\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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh index a118dd46c..868f9d135 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/create-arkime-sessions-index.sh @@ -199,7 +199,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then 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\](\/sessions)//' "$i" + 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 diff --git a/docs/cyberchef.md b/docs/cyberchef.md index 4acc3e879..292be4e89 100644 --- a/docs/cyberchef.md +++ b/docs/cyberchef.md @@ -1,5 +1,5 @@ # <a name="CyberChef"></a>CyberChef -Malcolm provides an instance of [CyberChef](https://github.com/gchq/CyberChef), which describes itself as the "Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis." CyberChef is available at at **https://localhost/cyberchef.html** if connecting locally. +Malcolm provides an instance of [CyberChef](https://github.com/gchq/CyberChef), which describes itself as the "Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis." CyberChef is available at at **https://localhost/arkime/cyberchef/** if connecting locally. Arkime's [Sessions](arkime.md#ArkimeSessions) view has built-in CyberChef integration for Arkime sessions with full PCAP payloads available: expanding a session and opening the **Packet Options** drop-down menu in its payload section will provide options for **Open src packets with CyberChef** and **Open dst packets with CyberChef**. \ No newline at end of file diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 38e14b911..13ea6b2a4 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -537,10 +537,11 @@ Started Malcolm Malcolm services can be accessed via the following URLs: ------------------------------------------------------------------------------ - - Arkime: https://192.168.56.10/ + - Arkime: https://192.168.56.10/arkime/ - OpenSearch Dashboards: https://192.168.56.10/dashboards/ - PCAP upload (web): https://192.168.56.10/upload/ - NetBox: https://192.168.56.10/netbox/ + - CyberChef: https://192.168.56.10/arkime/cyberchef/ - Account management: https://192.168.56.10/auth/ - Documentation: https://192.168.56.10/readme/ diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index c7fe7ea91..736ef9107 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -280,11 +280,12 @@ Finally, start Malcolm. When Malcolm starts it will stream informational and deb user@host:~/Malcolm$ ./scripts/start In a few minutes, Malcolm services will be accessible via the following URLs: ------------------------------------------------------------------------------ - - Arkime: https://localhost/ + - Arkime: https://localhost/arkime/ - OpenSearch Dashboards: https://localhost/dashboards/ - PCAP upload (web): https://localhost/upload/ - PCAP upload (sftp): sftp://username@127.0.0.1:8022/files/ - NetBox: https://localhost/netbox/ + - CyberChef: https://localhost/arkime/cyberchef/ - Account management: https://localhost/auth/ - Documentation: https://localhost/readme/ diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 221664e2d..1a22674e2 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -102,7 +102,7 @@ <h3 style="color:white">Internal Links</h3> <div class="card bg-dark"> <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%"> <div class="middle"> - <a href="/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> + <a href="/arkime/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> </div> </div> <div class="card bg-dark"> diff --git a/scripts/control.py b/scripts/control.py index 6edc27f47..3ff2507df 100755 --- a/scripts/control.py +++ b/scripts/control.py @@ -458,12 +458,13 @@ def printURLs(): print("\nMalcolm services can be accessed via the following URLs:") print("------------------------------------------------------------------------------") print(f" - Landing Page: https://{myIp}/") - print(f" - Arkime: https://{myIp}/sessions/") + print(f" - Arkime: https://{myIp}/arkime/") print(f" - OpenSearch Dashboards: https://{myIp}/dashboards/") print(f" - PCAP upload (web): https://{myIp}/upload/") if orchMode is not OrchestrationFramework.KUBERNETES: print(f" - PCAP upload (sftp): sftp://username@{myIp}:8022/files/") print(f" - NetBox: https://{myIp}/netbox/") + print(f" - CyberChef: https://{myIp}/arkime/cyberchef/") print(f" - Account management: https://{myIp}/auth/") print(f" - Documentation: https://{myIp}/readme/") From 618fc17bcf3ce792e90cca4f0c1219cff480522f Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 15:41:28 -0700 Subject: [PATCH 14/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 922f7e3ae..58169a169 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -168,7 +168,7 @@ http { set $filter_value $arg_value; } - rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'sessions2-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'sessions2-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; + rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; proxy_pass http://dashboards; proxy_redirect off; proxy_set_header Host dashboards.malcolm.local; @@ -176,7 +176,7 @@ http { # Dashboards -> Arkime shortcut location ~* /iddash2ark/(.*) { - rewrite ^.*/iddash2ark/(.*) /sessions?expression=($1) redirect; + rewrite ^.*/iddash2ark/(.*) /arkime/sessions?expression=($1) redirect; proxy_pass https://arkime; proxy_ssl_verify off; proxy_redirect off; From 7c7156dad651a412abb568f8d00e2beeadf6603d Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 16:06:38 -0700 Subject: [PATCH 15/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 32 ++++++++++++++++---------------- nginx/nginx.conf | 11 ++--------- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 5f5f266dd..73ec74c2b 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -97,13 +97,13 @@ ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/t ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz # component icons from original sources -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/landing/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/landing/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/landing/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/landing/assets/imgs/ -ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/landing/assets/imgs/ -ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/landing/assets/imgs/ -ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/landing/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/imgs/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/ ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/ RUN set -x ; \ @@ -193,7 +193,6 @@ RUN set -x ; \ make install ; \ rm -rf /etc/nginx/html/ ; \ mkdir -p /etc/nginx/conf.d/ /etc/nginx/auth/ /usr/share/nginx/html/ ; \ - install -m644 html/index.html /usr/share/nginx/html/ ; \ install -m644 html/50x.html /usr/share/nginx/html/ ; \ install -m755 objs/nginx-debug /usr/sbin/nginx-debug ; \ install -m755 objs/ngx_http_xslt_filter_module-debug.so /usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so ; \ @@ -228,25 +227,26 @@ RUN set -x ; \ touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \ cd /tmp; \ unzip ./GitHub-Mark.zip; \ - mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/landing/assets/imgs/; \ + mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/assets/imgs/; \ rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \ - chmod 644 /usr/share/nginx/landing/assets/imgs/*.*; + chmod 644 /usr/share/nginx/html/assets/imgs/*.*; COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/ +COPY --from=docbuild /site/_site /usr/share/nginx/html/readme -ADD nginx/landingpage/* /usr/share/nginx/landing/ -COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/landing/assets/imgs/ -COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/landing/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/landing/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/landing/assets/imgs/ +ADD nginx/landingpage /usr/share/nginx/html +COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/assets/imgs/ +COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/assets/imgs/ +COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/assets/imgs/ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ ADD nginx/supervisord.conf /etc/ ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico -ADD docs/images/icon/favicon.ico /usr/share/nginx/landing/favicon.ico +ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"] diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 58169a169..fc0289e84 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -113,13 +113,6 @@ http { subs_filter '/fonts/glyphicons' '/auth/fonts/glyphicons' gi; } - # Malcolm readme - location /readme { - include /etc/nginx/nginx_auth_rt.conf; - root /usr/share/nginx/html; - try_files $uri $uri/index.html; - } - # Malcolm file upload location /upload { include /etc/nginx/nginx_auth_rt.conf; @@ -291,10 +284,10 @@ http { proxy_set_header Authorization ""; } - # Landing Page + # Landing Page and README location / { include /etc/nginx/nginx_auth_rt.conf; - root /usr/share/nginx/landing; + root /usr/share/nginx/html; try_files $uri $uri/index.html; } } From 7af5ee6d97e6763e23075cd067dcb91abba94c07 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 16:20:57 -0700 Subject: [PATCH 16/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 10 +++++----- nginx/landingpage/assets/imgs/api.png | Bin 13065 -> 0 bytes nginx/landingpage/assets/imgs/lock.png | Bin 6031 -> 0 bytes nginx/landingpage/assets/imgs/markdown.png | Bin 14943 -> 0 bytes nginx/landingpage/index.html | 10 +++++----- 5 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 nginx/landingpage/assets/imgs/api.png delete mode 100644 nginx/landingpage/assets/imgs/lock.png delete mode 100644 nginx/landingpage/assets/imgs/markdown.png diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 73ec74c2b..64df47254 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -104,6 +104,11 @@ ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /u ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/ ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/ ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/upload.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/users-group.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/help-square-rounded.svg /usr/share/nginx/html/assets/imgs/ +ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/api.svg /usr/share/nginx/html/assets/imgs/ + ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/ RUN set -x ; \ @@ -237,16 +242,11 @@ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/conf.d/default.conf /etc/nginx COPY --from=docbuild /site/_site /usr/share/nginx/html/readme ADD nginx/landingpage /usr/share/nginx/html -COPY --chmod=644 docs/images/logo/Malcolm_banner.png /usr/share/nginx/html/assets/imgs/ -COPY --chmod=644 docs/images/logo/Malcolm_outline_banner_dark.png /usr/share/nginx/html/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon.png /usr/share/nginx/html/assets/imgs/ -COPY --chmod=644 docs/images/icon/icon_dark.png /usr/share/nginx/html/assets/imgs/ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ ADD nginx/supervisord.conf /etc/ ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico -ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"] diff --git a/nginx/landingpage/assets/imgs/api.png b/nginx/landingpage/assets/imgs/api.png deleted file mode 100644 index c6c4eb0077d1c2fc5b98f0e87ec6b009a2648d82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13065 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 diff --git a/nginx/landingpage/assets/imgs/lock.png b/nginx/landingpage/assets/imgs/lock.png deleted file mode 100644 index c09d3081678c8358d6ba4f99974b81f674358ca3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6031 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 diff --git a/nginx/landingpage/assets/imgs/markdown.png b/nginx/landingpage/assets/imgs/markdown.png deleted file mode 100644 index b70d3815a9838438b0605a12e5216accd920592a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14943 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Ð|dv_344gIV<a%Dy$=kv*_zVsS97AmdDay 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 diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 1a22674e2..b9fd9c6e4 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -52,7 +52,7 @@ <body class="bg-dark"> <br /> <div> - <img class="imgcenter center" src="assets/imgs/Malcolm_outline_banner_dark.png"> + <img class="imgcenter center" src="readme/docs/images/logo/Malcolm_outline_banner_dark.png"> </div> <br /> @@ -68,13 +68,13 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/icon.png" alt="Upload" class="image" style="width:100%"> + <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%"> <div class="middle"> <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/markdown.png" alt="ReadMe" class="image" style="width:100%"> + <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%"> <div class="middle"> <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a> </div> @@ -94,7 +94,7 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/lock.png" alt="Auth" class="image" style="width:100%"> + <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%"> <div class="middle"> <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a> </div> @@ -106,7 +106,7 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/api.png" alt="API" class="image" style="width:100%"> + <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%"> <div class="middle"> <a href="/mapi/" class="btn btn-primary" target="_blank">API</a> </div> From 48b5a514bea1cb6df32e7846a7591a4d92930b52 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 2 Jan 2024 16:24:47 -0700 Subject: [PATCH 17/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/landingpage/index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index b9fd9c6e4..202d3b35f 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -68,13 +68,13 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%"> + <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%;filter: invert(1)"> <div class="middle"> <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%"> + <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%;filter: invert(1)"> <div class="middle"> <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a> </div> @@ -94,7 +94,7 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%"> + <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%;filter: invert(1)"> <div class="middle"> <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a> </div> @@ -106,7 +106,7 @@ <h3 style="color:white">Internal Links</h3> </div> </div> <div class="card bg-dark"> - <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%"> + <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%;filter: invert(1)"> <div class="middle"> <a href="/mapi/" class="btn btn-primary" target="_blank">API</a> </div> From b6738188b9614dc37d9d3d690f5bdce19867f11d Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 3 Jan 2024 10:38:27 -0700 Subject: [PATCH 18/88] bump fluent-bit version --- 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 8a35575dd..ead2cc542 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 = '2.2' -$fluent_bit_full_version = '2.2.0' +$fluent_bit_full_version = '2.2.1' ############################################################################### # select an item from a menu provided in an array From 355601dec75d4664444af09bd64c7488f5ba7580 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 3 Jan 2024 14:08:05 -0700 Subject: [PATCH 19/88] idaholab/Malcolm#321, more consistently differentiate between uploaded and live-captured traffic --- filebeat/filebeat.yml | 4 ++-- .../pipelines/suricata/01_input_suricata.conf | 21 +++++++++++++++-- logstash/pipelines/zeek/01_input_zeek.conf | 23 ++++++++++++++++--- .../sensor_ctl/filebeat/filebeat.yml | 4 ++-- shared/bin/pcap_processor.py | 9 +++++++- shared/bin/pcap_utils.py | 7 +++--- shared/bin/pcap_watcher.py | 4 ++++ 7 files changed, 59 insertions(+), 13 deletions(-) diff --git a/filebeat/filebeat.yml b/filebeat/filebeat.yml index f4429083a..ba5590419 100644 --- a/filebeat/filebeat.yml +++ b/filebeat/filebeat.yml @@ -32,7 +32,7 @@ filebeat.inputs: - ${FILEBEAT_ZEEK_LOG_LIVE_PATH:/zeek/live}/logs/current/*.log symlinks: true fields_under_root: true - tags: ["_filebeat_zeek_live"] + tags: ["_filebeat_zeek_malcolm_live"] compression_level: 0 exclude_lines: ['^\s*#'] scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s} @@ -91,7 +91,7 @@ filebeat.inputs: - ${FILEBEAT_SURICATA_LOG_PATH:/suricata}/live/eve.json symlinks: true fields_under_root: true - tags: ["_filebeat_suricata_live"] + tags: ["_filebeat_suricata_malcolm_live"] compression_level: 0 scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s} clean_inactive: ${FILEBEAT_CLEAN_INACTIVE:180m} diff --git a/logstash/pipelines/suricata/01_input_suricata.conf b/logstash/pipelines/suricata/01_input_suricata.conf index f280362d9..b04ccc79d 100644 --- a/logstash/pipelines/suricata/01_input_suricata.conf +++ b/logstash/pipelines/suricata/01_input_suricata.conf @@ -5,11 +5,28 @@ input { } filter { + # this pipeline only needs to see suricata logs forwarded from filebeat - if ("_filebeat_suricata" in [tags]) or ("_filebeat_suricata_live" in [tags]) { + if ("_filebeat_suricata" in [tags]) or + ("_filebeat_suricata_live" in [tags]) or + ("_filebeat_suricata_hedgehog_live" in [tags]) or + ("_filebeat_suricata_malcolm_live" in [tags]) { + + if ("_filebeat_suricata_malcolm_live" in [tags]) { + # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency + # with Arkime live capture append -live to the name for traffic captured live + if ([beat][name]) { mutate { id => "mutate_replace_beat_name_suricata_live" + replace => {"[beat][name]" => "%{[beat][name]}-live" } } } + if ([host][name]) { mutate { id => "mutate_replace_host_name_suricata_live" + replace => {"[host][name]" => "%{[host][name]}-live" } } } + } + mutate { id => "mutate_filebeat_suricata_forward_tag_remove" remove_tag => [ "_filebeat_suricata", - "_filebeat_suricata_live" ] } + "_filebeat_suricata_live", + "_filebeat_suricata_hedgehog_live", + "_filebeat_suricata_malcolm_live" ] } + } else { drop { id => "drop_not_filebeat_suricata" } } diff --git a/logstash/pipelines/zeek/01_input_zeek.conf b/logstash/pipelines/zeek/01_input_zeek.conf index b09fbcff6..ddf4c13dd 100644 --- a/logstash/pipelines/zeek/01_input_zeek.conf +++ b/logstash/pipelines/zeek/01_input_zeek.conf @@ -5,11 +5,28 @@ input { } filter { - # this pipeline only needs to see Zeek logs forwarded from filebeat - if ("_filebeat_zeek" in [tags]) or ("_filebeat_zeek_live" in [tags]) { + + # this pipeline only needs to see zeek logs forwarded from filebeat + if ("_filebeat_zeek" in [tags]) or + ("_filebeat_zeek_live" in [tags]) or + ("_filebeat_zeek_hedgehog_live" in [tags]) or + ("_filebeat_zeek_malcolm_live" in [tags]) { + + if ("_filebeat_zeek_malcolm_live" in [tags]) { + # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency + # with Arkime live capture append -live to the name for traffic captured live + if ([beat][name]) { mutate { id => "mutate_replace_beat_name_zeek_live" + replace => {"[beat][name]" => "%{[beat][name]}-live" } } } + if ([host][name]) { mutate { id => "mutate_replace_host_name_zeek_live" + replace => {"[host][name]" => "%{[host][name]}-live" } } } + } + mutate { id => "mutate_filebeat_zeek_forward_tag_remove" remove_tag => [ "_filebeat_zeek", - "_filebeat_zeek_live" ] } + "_filebeat_zeek_live", + "_filebeat_zeek_hedgehog_live", + "_filebeat_zeek_malcolm_live" ] } + } else { drop { id => "drop_not_filebeat_zeek" } } diff --git a/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml b/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml index 0816bb59f..7d122e151 100644 --- a/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml +++ b/sensor-iso/interface/sensor_ctl/filebeat/filebeat.yml @@ -9,7 +9,7 @@ filebeat.inputs: - ${BEAT_STATIC_LOG_PATTERN:/home/sensor/bro_logs/static/*.log} symlinks: true fields_under_root: true - tags: ["_filebeat_zeek_live"] + tags: ["_filebeat_zeek_hedgehog_live"] compression_level: 0 exclude_lines: ['^\s*#'] scan_frequency: ${BEAT_SCAN_FREQUENCY:10s} @@ -27,7 +27,7 @@ filebeat.inputs: - ${BEAT_SURICATA_LOG_PATTERN:/home/sensor/bro_logs/suricata/eve*.json} symlinks: true fields_under_root: true - tags: ["_filebeat_suricata_live"] + tags: ["_filebeat_suricata_hedgehog_live"] compression_level: 0 scan_frequency: ${BEAT_SCAN_FREQUENCY:10s} clean_inactive: ${BEAT_CLEAN_INACTIVE:180m} diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py index 8f54857c9..adf07fcb3 100755 --- a/shared/bin/pcap_processor.py +++ b/shared/bin/pcap_processor.py @@ -23,6 +23,7 @@ import zmq from pcap_utils import ( + FILE_INFO_DICT_LIVE, FILE_INFO_DICT_NAME, FILE_INFO_DICT_NODE, FILE_INFO_DICT_SIZE, @@ -165,13 +166,19 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs): ) logger.info(f"{scriptName}[{scanWorkerId}]:\t🔎\t{fileInfo}") + # if this is a "live" rotated PCAP captured by netsniff-ng or tcpdump, + # append -live to the node name used (which originates from PCAP_NODE_NAME) + tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName + if (FILE_INFO_DICT_LIVE in fileInfo) and fileInfo[FILE_INFO_DICT_LIVE]: + tmpNodeName = tmpNodeName + '-live' + # put together arkime execution command cmd = [ arkimeBin, '--quiet', '--insecure', '--node', - fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName, + tmpNodeName, '-o', f'ecsEventProvider={arkimeProvider}', '-o', diff --git a/shared/bin/pcap_utils.py b/shared/bin/pcap_utils.py index 39fd5d313..baee87d3f 100644 --- a/shared/bin/pcap_utils.py +++ b/shared/bin/pcap_utils.py @@ -16,12 +16,13 @@ PCAP_MIME_TYPES = ['application/vnd.tcpdump.pcap', 'application/x-pcapng'] +FILE_INFO_DICT_LIVE = "live" FILE_INFO_DICT_NAME = "name" -FILE_INFO_DICT_TAGS = "tags" +FILE_INFO_DICT_NODE = "node" FILE_INFO_DICT_SIZE = "size" -FILE_INFO_FILE_TYPE = "type" +FILE_INFO_DICT_TAGS = "tags" FILE_INFO_FILE_MIME = "mime" -FILE_INFO_DICT_NODE = "node" +FILE_INFO_FILE_TYPE = "type" ################################################################################################### diff --git a/shared/bin/pcap_watcher.py b/shared/bin/pcap_watcher.py index 8d70f322e..25816e13d 100755 --- a/shared/bin/pcap_watcher.py +++ b/shared/bin/pcap_watcher.py @@ -23,6 +23,7 @@ import zmq from pcap_utils import ( + FILE_INFO_DICT_LIVE, FILE_INFO_DICT_NAME, FILE_INFO_DICT_NODE, FILE_INFO_DICT_SIZE, @@ -232,6 +233,9 @@ def processFile(self, pathname): FILE_INFO_FILE_MIME: fileMime, FILE_INFO_FILE_TYPE: fileType, FILE_INFO_DICT_NODE: args.nodeName, + FILE_INFO_DICT_LIVE: any( + os.path.basename(pathname).startswith(prefix) for prefix in ('mnetsniff', 'mtcpdump') + ), FILE_INFO_DICT_TAGS: tags_from_filename(relativePath), } self.topic_socket.send_string(json.dumps(fileInfo)) From ea28847c2e7fa05fe334b951423121974f30fb00 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 08:25:11 -0700 Subject: [PATCH 20/88] Fix idaholab/Malcolm#323, suricata-update was failing because it needed to be told to use the suricata binary without setcap privileges assigned to it --- suricata/scripts/suricata-update-rules.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/suricata/scripts/suricata-update-rules.sh b/suricata/scripts/suricata-update-rules.sh index 9f4d31aa0..4ea64161c 100644 --- a/suricata/scripts/suricata-update-rules.sh +++ b/suricata/scripts/suricata-update-rules.sh @@ -29,6 +29,7 @@ if type suricata-update >/dev/null 2>&1; then suricata-update update-sources \ $DEBUG_FLAG \ + --suricata /usr/bin/suricata-offline \ --data-dir "${SURICATA_MANAGED_DIR:-/var/lib/suricata}" \ --config "${SURICATA_UPDATE_CONFIG_FILE:-/etc/suricata/update.yaml}" \ --suricata-conf "${SURICATA_CONFIG_FILE:-/etc/suricata/suricata.yaml}" 2>&1 @@ -36,6 +37,7 @@ if type suricata-update >/dev/null 2>&1; then suricata-update update \ $DEBUG_FLAG \ $ETOPEN_FLAG \ + --suricata /usr/bin/suricata-offline \ --data-dir "${SURICATA_MANAGED_DIR:-/var/lib/suricata}" \ --config "${SURICATA_UPDATE_CONFIG_FILE:-/etc/suricata/update.yaml}" \ --suricata-conf "${SURICATA_CONFIG_FILE:-/etc/suricata/suricata.yaml}" \ From 914be26944896345fcc3b63e189ee9534317d540 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 11:15:27 -0700 Subject: [PATCH 21/88] landingpage rework (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 41 +- .../landingpage/assets/css/bootstrap.min.css | 7 - .../landingpage/assets/{imgs => img}/CISA.svg | 0 .../assets/js/bootstrap.bundle.min.js | 7 - nginx/landingpage/css/bootstrap-icons.css | 1390 ++ nginx/landingpage/css/google-fonts.css | 36 + nginx/landingpage/css/styles.css | 10919 ++++++++++++++++ nginx/landingpage/index.html | 229 +- nginx/landingpage/js/bootstrap.bundle.min.js | 7 + nginx/landingpage/js/scripts.js | 7 + 10 files changed, 12488 insertions(+), 155 deletions(-) delete mode 100644 nginx/landingpage/assets/css/bootstrap.min.css rename nginx/landingpage/assets/{imgs => img}/CISA.svg (100%) delete mode 100644 nginx/landingpage/assets/js/bootstrap.bundle.min.js create mode 100644 nginx/landingpage/css/bootstrap-icons.css create mode 100644 nginx/landingpage/css/google-fonts.css create mode 100644 nginx/landingpage/css/styles.css create mode 100644 nginx/landingpage/js/bootstrap.bundle.min.js create mode 100644 nginx/landingpage/js/scripts.js diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 64df47254..115168721 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -96,20 +96,24 @@ ADD https://codeload.github.com/mmguero-dev/nginx-auth-ldap/tar.gz/$NGINX_AUTH_L ADD https://codeload.github.com/yaoweibin/ngx_http_substitutions_filter_module/tar.gz/$NGINX_HTTP_SUB_FILTER_BRANCH /ngx_http_substitutions_filter_module-master.tar.gz ADD http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz /nginx.tar.gz -# component icons from original sources -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/imgs/ -ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite_Square.png /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/upload.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/users-group.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/help-square-rounded.svg /usr/share/nginx/html/assets/imgs/ -ADD https://raw.githubusercontent.com/tabler/tabler-icons/master/icons/api.svg /usr/share/nginx/html/assets/imgs/ +# component icons from original sources and stuff for offline landing page +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_default.svg /usr/share/nginx/html/assets/img/ +ADD https://opensearch.org/assets/brand/SVG/Logo/opensearch_logo_darkmode.svg /usr/share/nginx/html/assets/img/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_default.svg /usr/share/nginx/html/assets/img/ +ADD https://opensearch.org/assets/brand/SVG/Mark/opensearch_mark_darkmode.svg /usr/share/nginx/html/assets/img/ +ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientBlack.svg /usr/share/nginx/html/assets/img/ +ADD https://raw.githubusercontent.com/arkime/arkime/main/assets/Arkime_Logo_FullGradientWhite.svg /usr/share/nginx/html/assets/img/ +ADD https://raw.githubusercontent.com/gchq/CyberChef/master/src/web/static/images/logo/cyberchef.svg /usr/share/nginx/html/assets/img/ +ADD https://raw.githubusercontent.com/netbox-community/netbox/develop/netbox/project-static/img/netbox_icon.svg /usr/share/nginx/html/assets/img/ +ADD https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI9w2_Gwfo.ttf /usr/share/nginx/html/css/ +ADD https://fonts.gstatic.com/s/lato/v24/S6u8w4BMUTPHjxsAXC-v.ttf /usr/share/nginx/html/css/ +ADD https://fonts.gstatic.com/s/lato/v24/S6u_w4BMUTPHjxsI5wq_Gwfo.ttf /usr/share/nginx/html/css/ +ADD https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh7USSwiPHA.ttf /usr/share/nginx/html/css/ +ADD https://fonts.gstatic.com/s/lato/v24/S6uyw4BMUTPHjx4wWw.ttf /usr/share/nginx/html/css/ +ADD https://fonts.gstatic.com/s/lato/v24/S6u9w4BMUTPHh6UVSwiPHA.ttf /usr/share/nginx/html/css/ +ADD 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff2?856008caa5eb66df68595e734e59580d' /usr/share/nginx/html/css/bootstrap-icons.woff2 +ADD 'https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/fonts/bootstrap-icons.woff?856008caa5eb66df68595e734e59580d' /usr/share/nginx/html/css/bootstrap-icons.woff -ADD https://github-media-downloads.s3.amazonaws.com/GitHub-Mark.zip /tmp/ RUN set -x ; \ CONFIG="\ @@ -229,12 +233,7 @@ RUN set -x ; \ apk del .gettext ; \ mv /tmp/envsubst /usr/local/bin/ ; \ rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \ - touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf; \ - cd /tmp; \ - unzip ./GitHub-Mark.zip; \ - mv ./GitHub-Mark/PNG/GitHub-Mark-Light-120px-plus.png /usr/share/nginx/html/assets/imgs/; \ - rm -rf ./GitHub-Mark.zip ./GitHub-Mark; \ - chmod 644 /usr/share/nginx/html/assets/imgs/*.*; + touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ @@ -246,8 +245,8 @@ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ ADD nginx/supervisord.conf /etc/ -ADD docs/images/icon/favicon.ico /usr/share/nginx/html/favicon.ico - +ADD docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico +ADD docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"] diff --git a/nginx/landingpage/assets/css/bootstrap.min.css b/nginx/landingpage/assets/css/bootstrap.min.css deleted file mode 100644 index edfbbb03b..000000000 --- a/nginx/landingpage/assets/css/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -@charset "UTF-8";/*! - * Bootstrap v5.0.2 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors - * Copyright 2011-2021 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + (.5rem + 2px));padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + (1rem + 2px));padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + (.75rem + 2px))}textarea.form-control-sm{min-height:calc(1.5em + (.5rem + 2px))}textarea.form-control-lg{min-height:calc(1.5em + (1rem + 2px))}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:#0d6efd!important}.text-secondary{color:#6c757d!important}.text-success{color:#198754!important}.text-info{color:#0dcaf0!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-light{color:#f8f9fa!important}.text-dark{color:#212529!important}.text-white{color:#fff!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.bg-primary{background-color:#0d6efd!important}.bg-secondary{background-color:#6c757d!important}.bg-success{background-color:#198754!important}.bg-info{background-color:#0dcaf0!important}.bg-warning{background-color:#ffc107!important}.bg-danger{background-color:#dc3545!important}.bg-light{background-color:#f8f9fa!important}.bg-dark{background-color:#212529!important}.bg-body{background-color:#fff!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/nginx/landingpage/assets/imgs/CISA.svg b/nginx/landingpage/assets/img/CISA.svg similarity index 100% rename from nginx/landingpage/assets/imgs/CISA.svg rename to nginx/landingpage/assets/img/CISA.svg diff --git a/nginx/landingpage/assets/js/bootstrap.bundle.min.js b/nginx/landingpage/assets/js/bootstrap.bundle.min.js deleted file mode 100644 index 68acb7a31..000000000 --- a/nginx/landingpage/assets/js/bootstrap.bundle.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v5.0.2 (https://getbootstrap.com/) - * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},e=t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},i=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},n=t=>{const e=i(t);return e&&document.querySelector(e)?e:null},s=t=>{const e=i(t);return e?document.querySelector(e):null},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),a=e=>r(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?t.findOne(e):null,l=(t,e,i)=>{Object.keys(i).forEach(n=>{const s=i[n],o=e[n],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)})},c=t=>!(!r(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),h=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),d=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?d(t.parentNode):null},u=()=>{},f=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},m=[],g=()=>"rtl"===document.documentElement.dir,_=t=>{var e;e=()=>{const e=p();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",()=>{m.forEach(t=>t())}),m.push(e)):e()},b=t=>{"function"==typeof t&&t()},v=(t,e,i=!0)=>{if(!i)return void b(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const r=({target:i})=>{i===e&&(s=!0,e.removeEventListener("transitionend",r),b(t))};e.addEventListener("transitionend",r),setTimeout(()=>{s||o(e)},n)},y=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},w=/[^.]*(?=\..*)\.|.*/,E=/\..*/,A=/::\d+$/,T={};let O=1;const C={mouseenter:"mouseover",mouseleave:"mouseout"},k=/^(mouseenter|mouseleave)/i,L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&`${e}::${O++}`||t.uidEvent||O++}function D(t){const e=x(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function S(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function I(t,e,i){const n="string"==typeof e,s=n?i:e;let o=M(t);return L.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),k.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=I(e,i,n),l=D(t),c=l[a]||(l[a]={}),h=S(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=x(r,e.replace(w,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function j(t,e,i,n,s){const o=S(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function M(t){return t=t.replace(E,""),C[t]||t}const P={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=I(e,i,n),a=r!==e,l=D(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void j(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach(i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach(o=>{if(o.includes(n)){const n=s[o];j(t,e,i,n.originalHandler,n.delegationSelector)}})}(t,l,i,e.slice(1))});const h=l[r]||{};Object.keys(h).forEach(i=>{const n=i.replace(A,"");if(!a||e.includes(n)){const e=h[i];j(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=p(),s=M(e),o=e!==s,r=L.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(d,t,{get:()=>i[t]})}),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},H=new Map;var R={set(t,e,i){H.has(t)||H.set(t,new Map);const n=H.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>H.has(t)&&H.get(t).get(e)||null,remove(t,e){if(!H.has(t))return;const i=H.get(t);i.delete(e),0===i.size&&H.delete(t)}};class B{constructor(t){(t=a(t))&&(this._element=t,R.set(this._element,this.constructor.DATA_KEY,this))}dispose(){R.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach(t=>{this[t]=null})}_queueCallback(t,e,i=!0){v(t,e,i)}static getInstance(t){return R.get(t,this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.0.2"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return"bs."+this.NAME}static get EVENT_KEY(){return"."+this.DATA_KEY}}class W extends B{static get NAME(){return"alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return P.trigger(t,"close.bs.alert")}_removeElement(t){t.classList.remove("show");const e=t.classList.contains("fade");this._queueCallback(()=>this._destroyElement(t),t,e)}_destroyElement(t){t.remove(),P.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}P.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',W.handleDismiss(new W)),_(W);class q extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=q.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function $(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}P.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');q.getOrCreateInstance(e).toggle()}),_(q);const U={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+$(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+$(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=z(t.dataset[i])}),e},getDataAttribute:(t,e)=>z(t.getAttribute("data-bs-"+$(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},F={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},V={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},K="next",X="prev",Y="left",Q="right",G={ArrowLeft:Q,ArrowRight:Y};class Z extends B{constructor(e,i){super(e),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(i),this._indicatorsElement=t.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return F}static get NAME(){return"carousel"}next(){this._slide(K)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._slide(X)}pause(e){e||(this._isPaused=!0),t.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(e){this._activeElement=t.findOne(".active.carousel-item",this._element);const i=this._getItemIndex(this._activeElement);if(e>this._items.length-1||e<0)return;if(this._isSliding)return void P.one(this._element,"slid.bs.carousel",()=>this.to(e));if(i===e)return this.pause(),void this.cycle();const n=e>i?K:X;this._slide(n,this._items[e])}_getConfig(t){return t={...F,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("carousel",t,V),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?Q:Y)}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),P.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const e=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};t.find(".carousel-item img",this._element).forEach(t=>{P.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(P.on(this._element,"pointerdown.bs.carousel",t=>e(t)),P.on(this._element,"pointerup.bs.carousel",t=>n(t)),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.carousel",t=>e(t)),P.on(this._element,"touchmove.bs.carousel",t=>i(t)),P.on(this._element,"touchend.bs.carousel",t=>n(t)))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=G[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(e){return this._items=e&&e.parentNode?t.find(".carousel-item",e.parentNode):[],this._items.indexOf(e)}_getItemByOrder(t,e){const i=t===K;return y(this._items,e,i,this._config.wrap)}_triggerSlideEvent(e,i){const n=this._getItemIndex(e),s=this._getItemIndex(t.findOne(".active.carousel-item",this._element));return P.trigger(this._element,"slide.bs.carousel",{relatedTarget:e,direction:i,from:s,to:n})}_setActiveIndicatorElement(e){if(this._indicatorsElement){const i=t.findOne(".active",this._indicatorsElement);i.classList.remove("active"),i.removeAttribute("aria-current");const n=t.find("[data-bs-target]",this._indicatorsElement);for(let t=0;t<n.length;t++)if(Number.parseInt(n[t].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(e)){n[t].classList.add("active"),n[t].setAttribute("aria-current","true");break}}}_updateInterval(){const e=this._activeElement||t.findOne(".active.carousel-item",this._element);if(!e)return;const i=Number.parseInt(e.getAttribute("data-bs-interval"),10);i?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=i):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(e,i){const n=this._directionToOrder(e),s=t.findOne(".active.carousel-item",this._element),o=this._getItemIndex(s),r=i||this._getItemByOrder(n,s),a=this._getItemIndex(r),l=Boolean(this._interval),c=n===K,h=c?"carousel-item-start":"carousel-item-end",d=c?"carousel-item-next":"carousel-item-prev",u=this._orderToDirection(n);if(r&&r.classList.contains("active"))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(r,u).defaultPrevented)return;if(!s||!r)return;this._isSliding=!0,l&&this.pause(),this._setActiveIndicatorElement(r),this._activeElement=r;const p=()=>{P.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:u,from:o,to:a})};if(this._element.classList.contains("slide")){r.classList.add(d),f(r),s.classList.add(h),r.classList.add(h);const t=()=>{r.classList.remove(h,d),r.classList.add("active"),s.classList.remove("active",d,h),this._isSliding=!1,setTimeout(p,0)};this._queueCallback(t,s,!0)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,p();l&&this.cycle()}_directionToOrder(t){return[Q,Y].includes(t)?g()?t===Y?X:K:t===Y?K:X:t}_orderToDirection(t){return[K,X].includes(t)?g()?t===X?Y:Q:t===X?Q:Y:t}static carouselInterface(t,e){const i=Z.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Z.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Z.carouselInterface(e,i),n&&Z.getInstance(e).to(n),t.preventDefault()}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Z.dataApiClickHandler),P.on(window,"load.bs.carousel.data-api",()=>{const e=t.find('[data-bs-ride="carousel"]');for(let t=0,i=e.length;t<i;t++)Z.carouselInterface(e[t],Z.getInstance(e[t]))}),_(Z);const J={toggle:!0,parent:""},tt={toggle:"boolean",parent:"(string|element)"};class et extends B{constructor(e,i){super(e),this._isTransitioning=!1,this._config=this._getConfig(i),this._triggerArray=t.find(`[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`);const s=t.find('[data-bs-toggle="collapse"]');for(let e=0,i=s.length;e<i;e++){const i=s[e],o=n(i),r=t.find(o).filter(t=>t===this._element);null!==o&&r.length&&(this._selector=o,this._triggerArray.push(i))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return J}static get NAME(){return"collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let e,i;this._parent&&(e=t.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===e.length&&(e=null));const n=t.findOne(this._selector);if(e){const t=e.find(t=>n!==t);if(i=t?et.getInstance(t):null,i&&i._isTransitioning)return}if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e&&e.forEach(t=>{n!==t&&et.collapseInterface(t,"hide"),i||R.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1));this._queueCallback(()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),P.trigger(this._element,"shown.bs.collapse")},this._element,!0),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",f(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t<e;t++){const e=this._triggerArray[t],i=s(e);i&&!i.classList.contains("show")&&(e.classList.add("collapsed"),e.setAttribute("aria-expanded",!1))}this.setTransitioning(!0),this._element.style[t]="",this._queueCallback(()=>{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),P.trigger(this._element,"hidden.bs.collapse")},this._element,!0)}setTransitioning(t){this._isTransitioning=t}_getConfig(t){return(t={...J,...t}).toggle=Boolean(t.toggle),l("collapse",t,tt),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:e}=this._config;e=a(e);const i=`[data-bs-toggle="collapse"][data-bs-parent="${e}"]`;return t.find(i,e).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),e}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=et.getInstance(t);const n={...J,...U.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&n.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(n.toggle=!1),i||(i=new et(t,n)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){et.collapseInterface(this,t)}))}}P.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();const i=U.getDataAttributes(this),s=n(this);t.find(s).forEach(t=>{const e=et.getInstance(t);let n;e?(null===e._parent&&"string"==typeof i.parent&&(e._config.parent=i.parent,e._parent=e._getParent()),n="toggle"):n=i,et.collapseInterface(t,n)})})),_(et);var it="top",nt="bottom",st="right",ot="left",rt=[it,nt,st,ot],at=rt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),lt=[].concat(rt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),ct=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ht(t){return t?(t.nodeName||"").toLowerCase():null}function dt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function ut(t){return t instanceof dt(t).Element||t instanceof Element}function ft(t){return t instanceof dt(t).HTMLElement||t instanceof HTMLElement}function pt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof dt(t).ShadowRoot||t instanceof ShadowRoot)}var mt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];ft(s)&&ht(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ft(n)&&ht(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function gt(t){return t.split("-")[0]}function _t(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function bt(t){var e=_t(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function vt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&pt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function yt(t){return dt(t).getComputedStyle(t)}function wt(t){return["table","td","th"].indexOf(ht(t))>=0}function Et(t){return((ut(t)?t.ownerDocument:t.document)||window.document).documentElement}function At(t){return"html"===ht(t)?t:t.assignedSlot||t.parentNode||(pt(t)?t.host:null)||Et(t)}function Tt(t){return ft(t)&&"fixed"!==yt(t).position?t.offsetParent:null}function Ot(t){for(var e=dt(t),i=Tt(t);i&&wt(i)&&"static"===yt(i).position;)i=Tt(i);return i&&("html"===ht(i)||"body"===ht(i)&&"static"===yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&ft(t)&&"fixed"===yt(t).position)return null;for(var i=At(t);ft(i)&&["html","body"].indexOf(ht(i))<0;){var n=yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ct(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var kt=Math.max,Lt=Math.min,xt=Math.round;function Dt(t,e,i){return kt(t,Lt(e,i))}function St(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function It(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Nt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=gt(i.placement),l=Ct(a),c=[ot,st].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return St("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:It(t,rt))}(s.padding,i),d=bt(o),u="y"===l?it:ot,f="y"===l?nt:st,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=Ot(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=Dt(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&vt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},jt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Mt(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,h=!0===c?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:xt(xt(e*n)/n)||0,y:xt(xt(i*n)/n)||0}}(o):"function"==typeof c?c(o):o,d=h.x,u=void 0===d?0:d,f=h.y,p=void 0===f?0:f,m=o.hasOwnProperty("x"),g=o.hasOwnProperty("y"),_=ot,b=it,v=window;if(l){var y=Ot(i),w="clientHeight",E="clientWidth";y===dt(i)&&"static"!==yt(y=Et(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,s===it&&(b=nt,p-=y[w]-n.height,p*=a?1:-1),s===ot&&(_=st,u-=y[E]-n.width,u*=a?1:-1)}var A,T=Object.assign({position:r},l&&jt);return a?Object.assign({},T,((A={})[b]=g?"0":"",A[_]=m?"0":"",A.transform=(v.devicePixelRatio||1)<2?"translate("+u+"px, "+p+"px)":"translate3d("+u+"px, "+p+"px, 0)",A)):Object.assign({},T,((e={})[b]=g?p+"px":"",e[_]=m?u+"px":"",e.transform="",e))}var Pt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:gt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Mt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Mt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},Ht={passive:!0},Rt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=dt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,Ht)})),a&&l.addEventListener("resize",i.update,Ht),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Ht)})),a&&l.removeEventListener("resize",i.update,Ht)}},data:{}},Bt={left:"right",right:"left",bottom:"top",top:"bottom"};function Wt(t){return t.replace(/left|right|bottom|top/g,(function(t){return Bt[t]}))}var qt={start:"end",end:"start"};function zt(t){return t.replace(/start|end/g,(function(t){return qt[t]}))}function $t(t){var e=dt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ut(t){return _t(Et(t)).left+$t(t).scrollLeft}function Ft(t){var e=yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Vt(t,e){var i;void 0===e&&(e=[]);var n=function t(e){return["html","body","#document"].indexOf(ht(e))>=0?e.ownerDocument.body:ft(e)&&Ft(e)?e:t(At(e))}(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=dt(n),r=s?[o].concat(o.visualViewport||[],Ft(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Vt(At(r)))}function Kt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Xt(t,e){return"viewport"===e?Kt(function(t){var e=dt(t),i=Et(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+Ut(t),y:a}}(t)):ft(e)?function(t){var e=_t(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Kt(function(t){var e,i=Et(t),n=$t(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ut(t),l=-n.scrollTop;return"rtl"===yt(s||i).direction&&(a+=kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Et(t)))}function Yt(t){return t.split("-")[1]}function Qt(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?gt(s):null,r=s?Yt(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case it:e={x:a,y:i.y-n.height};break;case nt:e={x:a,y:i.y+i.height};break;case st:e={x:i.x+i.width,y:l};break;case ot:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ct(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[h]/2-n[h]/2);break;case"end":e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,h=void 0===c?"popper":c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=St("number"!=typeof p?p:It(p,rt)),g="popper"===h?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[u?g:h],y=function(t,e,i){var n="clippingParents"===e?function(t){var e=Vt(At(t)),i=["absolute","fixed"].indexOf(yt(t).position)>=0&&ft(t)?Ot(t):t;return ut(i)?e.filter((function(t){return ut(t)&&vt(t,i)&&"body"!==ht(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Xt(t,i);return e.top=kt(n.top,e.top),e.right=Lt(n.right,e.right),e.bottom=Lt(n.bottom,e.bottom),e.left=kt(n.left,e.left),e}),Xt(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(ut(v)?v:v.contextElement||Et(t.elements.popper),r,l),w=_t(_),E=Qt({reference:w,element:b,strategy:"absolute",placement:s}),A=Kt(Object.assign({},b,E)),T="popper"===h?A:w,O={top:y.top-T.top+m.top,bottom:T.bottom-y.bottom+m.bottom,left:y.left-T.left+m.left,right:T.right-y.right+m.right},C=t.modifiersData.offset;if("popper"===h&&C){var k=C[s];Object.keys(O).forEach((function(t){var e=[st,nt].indexOf(t)>=0?1:-1,i=[it,nt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function Zt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?lt:l,h=Yt(n),d=h?a?at:at.filter((function(t){return Yt(t)===h})):rt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[gt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}var Jt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=gt(g),b=l||(_!==g&&p?function(t){if("auto"===gt(t))return[];var e=Wt(t);return[zt(t),e,zt(e)]}(g):[Wt(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat("auto"===gt(i)?Zt(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=gt(C),L="start"===Yt(C),x=[it,nt].indexOf(k)>=0,D=x?"width":"height",S=Gt(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=x?L?st:ot:L?nt:it;y[D]>w[D]&&(I=Wt(I));var N=Wt(I),j=[];if(o&&j.push(S[k]<=0),a&&j.push(S[I]<=0,S[N]<=0),j.every((function(t){return t}))){T=C,A=!1;break}E.set(C,j)}if(A)for(var M=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},P=p?3:1;P>0&&"break"!==M(P);P--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function te(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ee(t){return[it,st,nt,ot].some((function(e){return t[e]>=0}))}var ie={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Gt(e,{elementContext:"reference"}),a=Gt(e,{altBoundary:!0}),l=te(r,n),c=te(a,s,o),h=ee(l),d=ee(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},ne={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=gt(t),s=[ot,it].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[ot,st].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},se={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Qt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},oe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=Gt(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=gt(e.placement),b=Yt(e.placement),v=!b,y=Ct(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?it:ot,L="y"===y?nt:st,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],I=E[y]-g[L],N=f?-T[x]/2:0,j="start"===b?A[x]:T[x],M="start"===b?-T[x]:-A[x],P=e.elements.arrow,H=f&&P?bt(P):{width:0,height:0},R=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},B=R[k],W=R[L],q=Dt(0,A[x],H[x]),z=v?A[x]/2-N-q-B-O:j-q-B-O,$=v?-A[x]/2+N+q+W+O:M+q+W+O,U=e.elements.arrow&&Ot(e.elements.arrow),F=U?"y"===y?U.clientTop||0:U.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-F,X=E[y]+$-V;if(o){var Y=Dt(f?Lt(S,K):S,D,f?kt(I,X):I);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?it:ot,G="x"===y?nt:st,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=Dt(f?Lt(J,K):J,Z,f?kt(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function re(t,e,i){void 0===i&&(i=!1);var n,s,o=Et(e),r=_t(t),a=ft(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==ht(e)||Ft(o))&&(l=(n=e)!==dt(n)&&ft(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:$t(n)),ft(e)?((c=_t(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Ut(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ae={placement:"bottom",modifiers:[],strategy:"absolute"};function le(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ce(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?ae:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},ae,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){d(),a.options=Object.assign({},o,a.options,i),a.scrollParents={reference:ut(t)?Vt(t):t.contextElement?Vt(t.contextElement):[],popper:Vt(e)};var s,r,c=function(t){var e=function(t){var e=new Map,i=new Set,n=[];return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||function t(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach((function(n){if(!i.has(n)){var s=e.get(n);s&&t(s)}})),n.push(s)}(t)})),n}(t);return ct.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((s=[].concat(n,a.options.modifiers),r=s.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(r).map((function(t){return r[t]}))));return a.orderedModifiers=c.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(le(e,i)){a.rects={reference:re(e,Ot(i),"fixed"===a.options.strategy),popper:bt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!le(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var he=ce(),de=ce({defaultModifiers:[Rt,se,Pt,mt]}),ue=ce({defaultModifiers:[Rt,se,Pt,mt,ne,Jt,oe,Nt,ie]}),fe=Object.freeze({__proto__:null,popperGenerator:ce,detectOverflow:Gt,createPopperBase:he,createPopper:ue,createPopperLite:de,top:it,bottom:nt,right:st,left:ot,auto:"auto",basePlacements:rt,start:"start",end:"end",clippingParents:"clippingParents",viewport:"viewport",popper:"popper",reference:"reference",variationPlacements:at,placements:lt,beforeRead:"beforeRead",read:"read",afterRead:"afterRead",beforeMain:"beforeMain",main:"main",afterMain:"afterMain",beforeWrite:"beforeWrite",write:"write",afterWrite:"afterWrite",modifierPhases:ct,applyStyles:mt,arrow:Nt,computeStyles:Pt,eventListeners:Rt,flip:Jt,hide:ie,offset:ne,popperOffsets:se,preventOverflow:oe});const pe=new RegExp("ArrowUp|ArrowDown|Escape"),me=g()?"top-end":"top-start",ge=g()?"top-start":"top-end",_e=g()?"bottom-end":"bottom-start",be=g()?"bottom-start":"bottom-end",ve=g()?"left-start":"right-start",ye=g()?"right-start":"left-start",we={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},Ee={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class Ae extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}static get Default(){return we}static get DefaultType(){return Ee}static get NAME(){return"dropdown"}toggle(){h(this._element)||(this._element.classList.contains("show")?this.hide():this.show())}show(){if(h(this._element)||this._menu.classList.contains("show"))return;const t=Ae.getParentFromElement(this._element),e={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",e).defaultPrevented){if(this._inNavbar)U.setDataAttribute(this._menu,"popper","none");else{if(void 0===fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:r(this._config.reference)?e=a(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find(t=>"applyStyles"===t.name&&!1===t.enabled);this._popper=ue(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>P.on(t,"mouseover",u)),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),P.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(h(this._element)||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){P.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_completeHide(t){P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return t.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ve;if(t.classList.contains("dropstart"))return ye;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ge:me:e?be:_e}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:e,target:i}){const n=t.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(c);n.length&&y(n,i,"ArrowDown"===e,!n.includes(i)).focus()}static dropdownInterface(t,e){const i=Ae.getOrCreateInstance(t,e);if("string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){Ae.dropdownInterface(this,t)}))}static clearMenus(e){if(e&&(2===e.button||"keyup"===e.type&&"Tab"!==e.key))return;const i=t.find('[data-bs-toggle="dropdown"]');for(let t=0,n=i.length;t<n;t++){const n=Ae.getInstance(i[t]);if(!n||!1===n._config.autoClose)continue;if(!n._element.classList.contains("show"))continue;const s={relatedTarget:n._element};if(e){const t=e.composedPath(),i=t.includes(n._menu);if(t.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;"click"===e.type&&(s.clickEvent=e)}n._completeHide(s)}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(e){if(/input|textarea/i.test(e.target.tagName)?"Space"===e.key||"Escape"!==e.key&&("ArrowDown"!==e.key&&"ArrowUp"!==e.key||e.target.closest(".dropdown-menu")):!pe.test(e.key))return;const i=this.classList.contains("show");if(!i&&"Escape"===e.key)return;if(e.preventDefault(),e.stopPropagation(),h(this))return;const n=()=>this.matches('[data-bs-toggle="dropdown"]')?this:t.prev(this,'[data-bs-toggle="dropdown"]')[0];return"Escape"===e.key?(n().focus(),void Ae.clearMenus()):"ArrowUp"===e.key||"ArrowDown"===e.key?(i||n().click(),void Ae.getInstance(n())._selectMenuItem(e)):void(i&&"Space"!==e.key||Ae.clearMenus())}}P.on(document,"keydown.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',Ae.dataApiKeydownHandler),P.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",Ae.dataApiKeydownHandler),P.on(document,"click.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",Ae.clearMenus),P.on(document,"click.bs.dropdown.data-api",'[data-bs-toggle="dropdown"]',(function(t){t.preventDefault(),Ae.dropdownInterface(this)})),_(Ae);class Te{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",e=>e+t),this._setElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight",e=>e+t),this._setElementAttributes(".sticky-top","marginRight",e=>e-t)}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=i(Number.parseFloat(s))+"px"})}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)})}_applyManipulationCallback(e,i){r(e)?i(e):t.find(e,this._element).forEach(i)}isOverflowing(){return this.getWidth()>0}}const Oe={isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},Ce={isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"};class ke{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&f(this._getElement()),this._getElement().classList.add("show"),this._emulateAnimation(()=>{b(t)})):b(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation(()=>{this.dispose(),b(t)})):b(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className="modal-backdrop",this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...Oe,..."object"==typeof t?t:{}}).rootElement=a(t.rootElement),l("backdrop",t,Ce),t}_append(){this._isAppended||(this._config.rootElement.appendChild(this._getElement()),P.on(this._getElement(),"mousedown.bs.backdrop",()=>{b(this._config.clickCallback)}),this._isAppended=!0)}dispose(){this._isAppended&&(P.off(this._element,"mousedown.bs.backdrop"),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){v(t,this._getElement(),this._config.isAnimated)}}const Le={backdrop:!0,keyboard:!0,focus:!0},xe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"};class De extends B{constructor(e,i){super(e),this._config=this._getConfig(i),this._dialog=t.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new Te}static get Default(){return Le}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,"show.bs.modal",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),P.on(this._element,"click.dismiss.bs.modal",'[data-bs-dismiss="modal"]',t=>this.hide(t)),P.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{P.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&["A","AREA"].includes(t.target.tagName)&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(P.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),P.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),P.off(this._element,"click.dismiss.bs.modal"),P.off(this._dialog,"mousedown.dismiss.bs.modal"),this._queueCallback(()=>this._hideModal(),this._element,e)}dispose(){[window,this._dialog].forEach(t=>P.off(t,".bs.modal")),this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.modal")}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ke({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_getConfig(t){return t={...Le,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("modal",t,xe),t}_showElement(e){const i=this._isAnimated(),n=t.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,n&&(n.scrollTop=0),i&&f(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus(),this._queueCallback(()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:e})},this._dialog,i)}_enforceFocus(){P.off(document,"focusin.bs.modal"),P.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?P.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):P.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?P.on(window,"resize.bs.modal",()=>this._adjustDialog()):P.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,"hidden.bs.modal")})}_showBackdrop(t){P.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())}),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains("modal-static")||(n||(i.overflowY="hidden"),t.add("modal-static"),this._queueCallback(()=>{t.remove("modal-static"),n||this._queueCallback(()=>{i.overflowY=""},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!g()||i&&!t&&g())&&(this._element.style.paddingLeft=e+"px"),(i&&!t&&!g()||!i&&t&&g())&&(this._element.style.paddingRight=e+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=De.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,"show.bs.modal",t=>{t.defaultPrevented||P.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})}),De.getOrCreateInstance(e).toggle(this)})),_(De);const Se={backdrop:!0,keyboard:!0,scroll:!1},Ie={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Ne extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._addEventListeners()}static get NAME(){return"offcanvas"}static get Default(){return Se}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||((new Te).hide(),this._enforceFocusOnElement(this._element)),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),this._queueCallback(()=>{P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})},this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(P.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),this._backdrop.hide(),this._queueCallback(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new Te).reset(),P.trigger(this._element,"hidden.bs.offcanvas")},this._element,!0)))}dispose(){this._backdrop.dispose(),super.dispose(),P.off(document,"focusin.bs.offcanvas")}_getConfig(t){return t={...Se,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Ie),t}_initializeBackDrop(){return new ke({isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_enforceFocusOnElement(t){P.off(document,"focusin.bs.offcanvas"),P.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){P.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),P.on(this._element,"keydown.dismiss.bs.offcanvas",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()})}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(e){const i=s(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),h(this))return;P.one(i,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const n=t.findOne(".offcanvas.show");n&&n!==i&&Ne.getInstance(n).hide(),Ne.getOrCreateInstance(i).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",()=>t.find(".offcanvas.show").forEach(t=>Ne.getOrCreateInstance(t).show())),_(Ne);const je=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Me=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,Pe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,He=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!je.has(i)||Boolean(Me.test(t.nodeValue)||Pe.test(t.nodeValue));const n=e.filter(t=>t instanceof RegExp);for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Re(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=Object.keys(e),o=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=o.length;t<i;t++){const i=o[t],n=i.nodeName.toLowerCase();if(!s.includes(n)){i.remove();continue}const r=[].concat(...i.attributes),a=[].concat(e["*"]||[],e[n]||[]);r.forEach(t=>{He(t,a)||i.removeAttribute(t.nodeName)})}return n.body.innerHTML}const Be=new RegExp("(^|\\s)bs-tooltip\\S+","g"),We=new Set(["sanitize","allowList","sanitizeFn"]),qe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},ze={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},$e={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Ue={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Fe extends B{constructor(t,e){if(void 0===fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return $e}static get NAME(){return"tooltip"}static get Event(){return Ue}static get DefaultType(){return qe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.remove(),this._popper&&this._popper.destroy(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.Event.SHOW),i=d(this._element),n=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(t.defaultPrevented||!n)return;const s=this.getTipElement(),o=e(this.constructor.NAME);s.setAttribute("id",o),this._element.setAttribute("aria-describedby",o),this.setContent(),this._config.animation&&s.classList.add("fade");const r="function"==typeof this._config.placement?this._config.placement.call(this,s,this._element):this._config.placement,a=this._getAttachment(r);this._addAttachmentClass(a);const{container:l}=this._config;R.set(s,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(l.appendChild(s),P.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=ue(this._element,s,this._getPopperConfig(a)),s.classList.add("show");const c="function"==typeof this._config.customClass?this._config.customClass():this._config.customClass;c&&s.classList.add(...c.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{P.on(t,"mouseover",u)});const h=this.tip.classList.contains("fade");this._queueCallback(()=>{const t=this._hoverState;this._hoverState=null,P.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)},this.tip,h)}hide(){if(!this._popper)return;const t=this.getTipElement();if(P.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>P.off(t,"mouseover",u)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains("fade");this._queueCallback(()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))},this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this._config.template,this.tip=t.children[0],this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".tooltip-inner",e),this.getTitle()),e.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return r(e)?(e=a(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Re(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this._config.title?this._config.title.call(this._element):this._config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||R.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),R.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getAttachment(t){return ze[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach(t=>{if("click"===t)P.on(this._element,this.constructor.Event.CLICK,this._config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;P.on(this._element,e,this._config.selector,t=>this._enter(t)),P.on(this._element,i,this._config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e._config.delay&&e._config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e._config.delay&&e._config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{We.has(t)&&delete e[t]}),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:a(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Re(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this._config)for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Be);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){const e=Fe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Fe);const Ve=new RegExp("(^|\\s)bs-popover\\S+","g"),Ke={...Fe.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},Xe={...Fe.DefaultType,content:"(string|element|function)"},Ye={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Qe extends Fe{static get Default(){return Ke}static get NAME(){return"popover"}static get Event(){return Ye}static get DefaultType(){return Xe}isWithContent(){return this.getTitle()||this._getContent()}getTipElement(){return this.tip||(this.tip=super.getTipElement(),this.getTitle()||t.findOne(".popover-header",this.tip).remove(),this._getContent()||t.findOne(".popover-body",this.tip).remove()),this.tip}setContent(){const e=this.getTipElement();this.setElementContent(t.findOne(".popover-header",e),this.getTitle());let i=this._getContent();"function"==typeof i&&(i=i.call(this._element)),this.setElementContent(t.findOne(".popover-body",e),i),e.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this._config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ve);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){const e=Qe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}_(Qe);const Ge={offset:10,method:"auto",target:""},Ze={offset:"number",method:"string",target:"(string|element)"};class Je extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,P.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return Ge}static get NAME(){return"scrollspy"}refresh(){const e=this._scrollElement===this._scrollElement.window?"offset":"position",i="auto"===this._config.method?e:this._config.method,s="position"===i?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.find(this._selector).map(e=>{const o=n(e),r=o?t.findOne(o):null;if(r){const t=r.getBoundingClientRect();if(t.width||t.height)return[U[i](r).top+s,o]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){P.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){if("string"!=typeof(t={...Ge,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target&&r(t.target)){let{id:i}=t.target;i||(i=e("scrollspy"),t.target.id=i),t.target="#"+i}return l("scrollspy",t,Ze),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(e){this._activeTarget=e,this._clear();const i=this._selector.split(",").map(t=>`${t}[data-bs-target="${e}"],${t}[href="${e}"]`),n=t.findOne(i.join(","));n.classList.contains("dropdown-item")?(t.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),t.parents(n,".nav, .list-group").forEach(e=>{t.prev(e,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),t.prev(e,".nav-item").forEach(e=>{t.children(e,".nav-link").forEach(t=>t.classList.add("active"))})})),P.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:e})}_clear(){t.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){const e=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",()=>{t.find('[data-bs-spy="scroll"]').forEach(t=>new Je(t))}),_(Je);class ti extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active"))return;let e;const i=s(this._element),n=this._element.closest(".nav, .list-group");if(n){const i="UL"===n.nodeName||"OL"===n.nodeName?":scope > li > .active":".active";e=t.find(i,n),e=e[e.length-1]}const o=e?P.trigger(e,"hide.bs.tab",{relatedTarget:this._element}):null;if(P.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==o&&o.defaultPrevented)return;this._activate(this._element,n);const r=()=>{P.trigger(e,"hidden.bs.tab",{relatedTarget:this._element}),P.trigger(this._element,"shown.bs.tab",{relatedTarget:e})};i?this._activate(i,i.parentNode,r):r()}_activate(e,i,n){const s=(!i||"UL"!==i.nodeName&&"OL"!==i.nodeName?t.children(i,".active"):t.find(":scope > li > .active",i))[0],o=n&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(e,s,n);s&&o?(s.classList.remove("show"),this._queueCallback(r,e,!0)):r()}_transitionComplete(e,i,n){if(i){i.classList.remove("active");const e=t.findOne(":scope > .dropdown-menu .active",i.parentNode);e&&e.classList.remove("active"),"tab"===i.getAttribute("role")&&i.setAttribute("aria-selected",!1)}e.classList.add("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),f(e),e.classList.contains("fade")&&e.classList.add("show");let s=e.parentNode;if(s&&"LI"===s.nodeName&&(s=s.parentNode),s&&s.classList.contains("dropdown-menu")){const i=e.closest(".dropdown");i&&t.find(".dropdown-toggle",i).forEach(t=>t.classList.add("active")),e.setAttribute("aria-expanded",!0)}n&&n()}static jQueryInterface(t){return this.each((function(){const e=ti.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),h(this)||ti.getOrCreateInstance(this).show()})),_(ti);const ei={animation:"boolean",autohide:"boolean",delay:"number"},ii={animation:!0,autohide:!0,delay:5e3};class ni extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return ei}static get Default(){return ii}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove("hide"),f(this._element),this._element.classList.add("showing"),this._queueCallback(()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this._element.classList.contains("show")&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.remove("show"),this._queueCallback(()=>{this._element.classList.add("hide"),P.trigger(this._element,"hidden.bs.toast")},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),super.dispose()}_getConfig(t){return t={...ii,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide()),P.on(this._element,"mouseover.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"mouseout.bs.toast",t=>this._onInteraction(t,!1)),P.on(this._element,"focusin.bs.toast",t=>this._onInteraction(t,!0)),P.on(this._element,"focusout.bs.toast",t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return _(ni),{Alert:W,Button:q,Carousel:Z,Collapse:et,Dropdown:Ae,Modal:De,Offcanvas:Ne,Popover:Qe,ScrollSpy:Je,Tab:ti,Toast:ni,Tooltip:Fe}})); -//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/nginx/landingpage/css/bootstrap-icons.css b/nginx/landingpage/css/bootstrap-icons.css new file mode 100644 index 000000000..53b2c082b --- /dev/null +++ b/nginx/landingpage/css/bootstrap-icons.css @@ -0,0 +1,1390 @@ +@font-face { + font-family: "bootstrap-icons"; + src: url("./bootstrap-icons.woff2") format("woff2"), +url("./bootstrap-icons.woff") format("woff"); +} + +[class^="bi-"]::before, +[class*=" bi-"]::before { + display: inline-block; + font-family: bootstrap-icons !important; + font-style: normal; + font-weight: normal !important; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: -.125em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.bi-alarm-fill::before { content: "\f101"; } +.bi-alarm::before { content: "\f102"; } +.bi-align-bottom::before { content: "\f103"; } +.bi-align-center::before { content: "\f104"; } +.bi-align-end::before { content: "\f105"; } +.bi-align-middle::before { content: "\f106"; } +.bi-align-start::before { content: "\f107"; } +.bi-align-top::before { content: "\f108"; } +.bi-alt::before { content: "\f109"; } +.bi-app-indicator::before { content: "\f10a"; } +.bi-app::before { content: "\f10b"; } +.bi-archive-fill::before { content: "\f10c"; } +.bi-archive::before { content: "\f10d"; } +.bi-arrow-90deg-down::before { content: "\f10e"; } +.bi-arrow-90deg-left::before { content: "\f10f"; } +.bi-arrow-90deg-right::before { content: "\f110"; } +.bi-arrow-90deg-up::before { content: "\f111"; } +.bi-arrow-bar-down::before { content: "\f112"; } +.bi-arrow-bar-left::before { content: "\f113"; } +.bi-arrow-bar-right::before { content: "\f114"; } +.bi-arrow-bar-up::before { content: "\f115"; } +.bi-arrow-clockwise::before { content: "\f116"; } +.bi-arrow-counterclockwise::before { content: "\f117"; } +.bi-arrow-down-circle-fill::before { content: "\f118"; } +.bi-arrow-down-circle::before { content: "\f119"; } +.bi-arrow-down-left-circle-fill::before { content: "\f11a"; } +.bi-arrow-down-left-circle::before { content: "\f11b"; } +.bi-arrow-down-left-square-fill::before { content: "\f11c"; } +.bi-arrow-down-left-square::before { content: "\f11d"; } +.bi-arrow-down-left::before { content: "\f11e"; } +.bi-arrow-down-right-circle-fill::before { content: "\f11f"; } +.bi-arrow-down-right-circle::before { content: "\f120"; } +.bi-arrow-down-right-square-fill::before { content: "\f121"; } +.bi-arrow-down-right-square::before { content: "\f122"; } +.bi-arrow-down-right::before { content: "\f123"; } +.bi-arrow-down-short::before { content: "\f124"; } +.bi-arrow-down-square-fill::before { content: "\f125"; } +.bi-arrow-down-square::before { content: "\f126"; } +.bi-arrow-down-up::before { content: "\f127"; } +.bi-arrow-down::before { content: "\f128"; } +.bi-arrow-left-circle-fill::before { content: "\f129"; } +.bi-arrow-left-circle::before { content: "\f12a"; } +.bi-arrow-left-right::before { content: "\f12b"; } +.bi-arrow-left-short::before { content: "\f12c"; } +.bi-arrow-left-square-fill::before { content: "\f12d"; } +.bi-arrow-left-square::before { content: "\f12e"; } +.bi-arrow-left::before { content: "\f12f"; } +.bi-arrow-repeat::before { content: "\f130"; } +.bi-arrow-return-left::before { content: "\f131"; } +.bi-arrow-return-right::before { content: "\f132"; } +.bi-arrow-right-circle-fill::before { content: "\f133"; } +.bi-arrow-right-circle::before { content: "\f134"; } +.bi-arrow-right-short::before { content: "\f135"; } +.bi-arrow-right-square-fill::before { content: "\f136"; } +.bi-arrow-right-square::before { content: "\f137"; } +.bi-arrow-right::before { content: "\f138"; } +.bi-arrow-up-circle-fill::before { content: "\f139"; } +.bi-arrow-up-circle::before { content: "\f13a"; } +.bi-arrow-up-left-circle-fill::before { content: "\f13b"; } +.bi-arrow-up-left-circle::before { content: "\f13c"; } +.bi-arrow-up-left-square-fill::before { content: "\f13d"; } +.bi-arrow-up-left-square::before { content: "\f13e"; } +.bi-arrow-up-left::before { content: "\f13f"; } +.bi-arrow-up-right-circle-fill::before { content: "\f140"; } +.bi-arrow-up-right-circle::before { content: "\f141"; } +.bi-arrow-up-right-square-fill::before { content: "\f142"; } +.bi-arrow-up-right-square::before { content: "\f143"; } +.bi-arrow-up-right::before { content: "\f144"; } +.bi-arrow-up-short::before { content: "\f145"; } +.bi-arrow-up-square-fill::before { content: "\f146"; } +.bi-arrow-up-square::before { content: "\f147"; } +.bi-arrow-up::before { content: "\f148"; } +.bi-arrows-angle-contract::before { content: "\f149"; } +.bi-arrows-angle-expand::before { content: "\f14a"; } +.bi-arrows-collapse::before { content: "\f14b"; } +.bi-arrows-expand::before { content: "\f14c"; } +.bi-arrows-fullscreen::before { content: "\f14d"; } +.bi-arrows-move::before { content: "\f14e"; } +.bi-aspect-ratio-fill::before { content: "\f14f"; } +.bi-aspect-ratio::before { content: "\f150"; } +.bi-asterisk::before { content: "\f151"; } +.bi-at::before { content: "\f152"; } +.bi-award-fill::before { content: "\f153"; } +.bi-award::before { content: "\f154"; } +.bi-back::before { content: "\f155"; } +.bi-backspace-fill::before { content: "\f156"; } +.bi-backspace-reverse-fill::before { content: "\f157"; } +.bi-backspace-reverse::before { content: "\f158"; } +.bi-backspace::before { content: "\f159"; } +.bi-badge-3d-fill::before { content: "\f15a"; } +.bi-badge-3d::before { content: "\f15b"; } +.bi-badge-4k-fill::before { content: "\f15c"; } +.bi-badge-4k::before { content: "\f15d"; } +.bi-badge-8k-fill::before { content: "\f15e"; } +.bi-badge-8k::before { content: "\f15f"; } +.bi-badge-ad-fill::before { content: "\f160"; } +.bi-badge-ad::before { content: "\f161"; } +.bi-badge-ar-fill::before { content: "\f162"; } +.bi-badge-ar::before { content: "\f163"; } +.bi-badge-cc-fill::before { content: "\f164"; } +.bi-badge-cc::before { content: "\f165"; } +.bi-badge-hd-fill::before { content: "\f166"; } +.bi-badge-hd::before { content: "\f167"; } +.bi-badge-tm-fill::before { content: "\f168"; } +.bi-badge-tm::before { content: "\f169"; } +.bi-badge-vo-fill::before { content: "\f16a"; } +.bi-badge-vo::before { content: "\f16b"; } +.bi-badge-vr-fill::before { content: "\f16c"; } +.bi-badge-vr::before { content: "\f16d"; } +.bi-badge-wc-fill::before { content: "\f16e"; } +.bi-badge-wc::before { content: "\f16f"; } +.bi-bag-check-fill::before { content: "\f170"; } +.bi-bag-check::before { content: "\f171"; } +.bi-bag-dash-fill::before { content: "\f172"; } +.bi-bag-dash::before { content: "\f173"; } +.bi-bag-fill::before { content: "\f174"; } +.bi-bag-plus-fill::before { content: "\f175"; } +.bi-bag-plus::before { content: "\f176"; } +.bi-bag-x-fill::before { content: "\f177"; } +.bi-bag-x::before { content: "\f178"; } +.bi-bag::before { content: "\f179"; } +.bi-bar-chart-fill::before { content: "\f17a"; } +.bi-bar-chart-line-fill::before { content: "\f17b"; } +.bi-bar-chart-line::before { content: "\f17c"; } +.bi-bar-chart-steps::before { content: "\f17d"; } +.bi-bar-chart::before { content: "\f17e"; } +.bi-basket-fill::before { content: "\f17f"; } +.bi-basket::before { content: "\f180"; } +.bi-basket2-fill::before { content: "\f181"; } +.bi-basket2::before { content: "\f182"; } +.bi-basket3-fill::before { content: "\f183"; } +.bi-basket3::before { content: "\f184"; } +.bi-battery-charging::before { content: "\f185"; } +.bi-battery-full::before { content: "\f186"; } +.bi-battery-half::before { content: "\f187"; } +.bi-battery::before { content: "\f188"; } +.bi-bell-fill::before { content: "\f189"; } +.bi-bell::before { content: "\f18a"; } +.bi-bezier::before { content: "\f18b"; } +.bi-bezier2::before { content: "\f18c"; } +.bi-bicycle::before { content: "\f18d"; } +.bi-binoculars-fill::before { content: "\f18e"; } +.bi-binoculars::before { content: "\f18f"; } +.bi-blockquote-left::before { content: "\f190"; } +.bi-blockquote-right::before { content: "\f191"; } +.bi-book-fill::before { content: "\f192"; } +.bi-book-half::before { content: "\f193"; } +.bi-book::before { content: "\f194"; } +.bi-bookmark-check-fill::before { content: "\f195"; } +.bi-bookmark-check::before { content: "\f196"; } +.bi-bookmark-dash-fill::before { content: "\f197"; } +.bi-bookmark-dash::before { content: "\f198"; } +.bi-bookmark-fill::before { content: "\f199"; } +.bi-bookmark-heart-fill::before { content: "\f19a"; } +.bi-bookmark-heart::before { content: "\f19b"; } +.bi-bookmark-plus-fill::before { content: "\f19c"; } +.bi-bookmark-plus::before { content: "\f19d"; } +.bi-bookmark-star-fill::before { content: "\f19e"; } +.bi-bookmark-star::before { content: "\f19f"; } +.bi-bookmark-x-fill::before { content: "\f1a0"; } +.bi-bookmark-x::before { content: "\f1a1"; } +.bi-bookmark::before { content: "\f1a2"; } +.bi-bookmarks-fill::before { content: "\f1a3"; } +.bi-bookmarks::before { content: "\f1a4"; } +.bi-bookshelf::before { content: "\f1a5"; } +.bi-bootstrap-fill::before { content: "\f1a6"; } +.bi-bootstrap-reboot::before { content: "\f1a7"; } +.bi-bootstrap::before { content: "\f1a8"; } +.bi-border-all::before { content: "\f1a9"; } +.bi-border-bottom::before { content: "\f1aa"; } +.bi-border-center::before { content: "\f1ab"; } +.bi-border-inner::before { content: "\f1ac"; } +.bi-border-left::before { content: "\f1ad"; } +.bi-border-middle::before { content: "\f1ae"; } +.bi-border-outer::before { content: "\f1af"; } +.bi-border-right::before { content: "\f1b0"; } +.bi-border-style::before { content: "\f1b1"; } +.bi-border-top::before { content: "\f1b2"; } +.bi-border-width::before { content: "\f1b3"; } +.bi-border::before { content: "\f1b4"; } +.bi-bounding-box-circles::before { content: "\f1b5"; } +.bi-bounding-box::before { content: "\f1b6"; } +.bi-box-arrow-down-left::before { content: "\f1b7"; } +.bi-box-arrow-down-right::before { content: "\f1b8"; } +.bi-box-arrow-down::before { content: "\f1b9"; } +.bi-box-arrow-in-down-left::before { content: "\f1ba"; } +.bi-box-arrow-in-down-right::before { content: "\f1bb"; } +.bi-box-arrow-in-down::before { content: "\f1bc"; } +.bi-box-arrow-in-left::before { content: "\f1bd"; } +.bi-box-arrow-in-right::before { content: "\f1be"; } +.bi-box-arrow-in-up-left::before { content: "\f1bf"; } +.bi-box-arrow-in-up-right::before { content: "\f1c0"; } +.bi-box-arrow-in-up::before { content: "\f1c1"; } +.bi-box-arrow-left::before { content: "\f1c2"; } +.bi-box-arrow-right::before { content: "\f1c3"; } +.bi-box-arrow-up-left::before { content: "\f1c4"; } +.bi-box-arrow-up-right::before { content: "\f1c5"; } +.bi-box-arrow-up::before { content: "\f1c6"; } +.bi-box-seam::before { content: "\f1c7"; } +.bi-box::before { content: "\f1c8"; } +.bi-braces::before { content: "\f1c9"; } +.bi-bricks::before { content: "\f1ca"; } +.bi-briefcase-fill::before { content: "\f1cb"; } +.bi-briefcase::before { content: "\f1cc"; } +.bi-brightness-alt-high-fill::before { content: "\f1cd"; } +.bi-brightness-alt-high::before { content: "\f1ce"; } +.bi-brightness-alt-low-fill::before { content: "\f1cf"; } +.bi-brightness-alt-low::before { content: "\f1d0"; } +.bi-brightness-high-fill::before { content: "\f1d1"; } +.bi-brightness-high::before { content: "\f1d2"; } +.bi-brightness-low-fill::before { content: "\f1d3"; } +.bi-brightness-low::before { content: "\f1d4"; } +.bi-broadcast-pin::before { content: "\f1d5"; } +.bi-broadcast::before { content: "\f1d6"; } +.bi-brush-fill::before { content: "\f1d7"; } +.bi-brush::before { content: "\f1d8"; } +.bi-bucket-fill::before { content: "\f1d9"; } +.bi-bucket::before { content: "\f1da"; } +.bi-bug-fill::before { content: "\f1db"; } +.bi-bug::before { content: "\f1dc"; } +.bi-building::before { content: "\f1dd"; } +.bi-bullseye::before { content: "\f1de"; } +.bi-calculator-fill::before { content: "\f1df"; } +.bi-calculator::before { content: "\f1e0"; } +.bi-calendar-check-fill::before { content: "\f1e1"; } +.bi-calendar-check::before { content: "\f1e2"; } +.bi-calendar-date-fill::before { content: "\f1e3"; } +.bi-calendar-date::before { content: "\f1e4"; } +.bi-calendar-day-fill::before { content: "\f1e5"; } +.bi-calendar-day::before { content: "\f1e6"; } +.bi-calendar-event-fill::before { content: "\f1e7"; } +.bi-calendar-event::before { content: "\f1e8"; } +.bi-calendar-fill::before { content: "\f1e9"; } +.bi-calendar-minus-fill::before { content: "\f1ea"; } +.bi-calendar-minus::before { content: "\f1eb"; } +.bi-calendar-month-fill::before { content: "\f1ec"; } +.bi-calendar-month::before { content: "\f1ed"; } +.bi-calendar-plus-fill::before { content: "\f1ee"; } +.bi-calendar-plus::before { content: "\f1ef"; } +.bi-calendar-range-fill::before { content: "\f1f0"; } +.bi-calendar-range::before { content: "\f1f1"; } +.bi-calendar-week-fill::before { content: "\f1f2"; } +.bi-calendar-week::before { content: "\f1f3"; } +.bi-calendar-x-fill::before { content: "\f1f4"; } +.bi-calendar-x::before { content: "\f1f5"; } +.bi-calendar::before { content: "\f1f6"; } +.bi-calendar2-check-fill::before { content: "\f1f7"; } +.bi-calendar2-check::before { content: "\f1f8"; } +.bi-calendar2-date-fill::before { content: "\f1f9"; } +.bi-calendar2-date::before { content: "\f1fa"; } +.bi-calendar2-day-fill::before { content: "\f1fb"; } +.bi-calendar2-day::before { content: "\f1fc"; } +.bi-calendar2-event-fill::before { content: "\f1fd"; } +.bi-calendar2-event::before { content: "\f1fe"; } +.bi-calendar2-fill::before { content: "\f1ff"; } +.bi-calendar2-minus-fill::before { content: "\f200"; } +.bi-calendar2-minus::before { content: "\f201"; } +.bi-calendar2-month-fill::before { content: "\f202"; } +.bi-calendar2-month::before { content: "\f203"; } +.bi-calendar2-plus-fill::before { content: "\f204"; } +.bi-calendar2-plus::before { content: "\f205"; } +.bi-calendar2-range-fill::before { content: "\f206"; } +.bi-calendar2-range::before { content: "\f207"; } +.bi-calendar2-week-fill::before { content: "\f208"; } +.bi-calendar2-week::before { content: "\f209"; } +.bi-calendar2-x-fill::before { content: "\f20a"; } +.bi-calendar2-x::before { content: "\f20b"; } +.bi-calendar2::before { content: "\f20c"; } +.bi-calendar3-event-fill::before { content: "\f20d"; } +.bi-calendar3-event::before { content: "\f20e"; } +.bi-calendar3-fill::before { content: "\f20f"; } +.bi-calendar3-range-fill::before { content: "\f210"; } +.bi-calendar3-range::before { content: "\f211"; } +.bi-calendar3-week-fill::before { content: "\f212"; } +.bi-calendar3-week::before { content: "\f213"; } +.bi-calendar3::before { content: "\f214"; } +.bi-calendar4-event::before { content: "\f215"; } +.bi-calendar4-range::before { content: "\f216"; } +.bi-calendar4-week::before { content: "\f217"; } +.bi-calendar4::before { content: "\f218"; } +.bi-camera-fill::before { content: "\f219"; } +.bi-camera-reels-fill::before { content: "\f21a"; } +.bi-camera-reels::before { content: "\f21b"; } +.bi-camera-video-fill::before { content: "\f21c"; } +.bi-camera-video-off-fill::before { content: "\f21d"; } +.bi-camera-video-off::before { content: "\f21e"; } +.bi-camera-video::before { content: "\f21f"; } +.bi-camera::before { content: "\f220"; } +.bi-camera2::before { content: "\f221"; } +.bi-capslock-fill::before { content: "\f222"; } +.bi-capslock::before { content: "\f223"; } +.bi-card-checklist::before { content: "\f224"; } +.bi-card-heading::before { content: "\f225"; } +.bi-card-image::before { content: "\f226"; } +.bi-card-list::before { content: "\f227"; } +.bi-card-text::before { content: "\f228"; } +.bi-caret-down-fill::before { content: "\f229"; } +.bi-caret-down-square-fill::before { content: "\f22a"; } +.bi-caret-down-square::before { content: "\f22b"; } +.bi-caret-down::before { content: "\f22c"; } +.bi-caret-left-fill::before { content: "\f22d"; } +.bi-caret-left-square-fill::before { content: "\f22e"; } +.bi-caret-left-square::before { content: "\f22f"; } +.bi-caret-left::before { content: "\f230"; } +.bi-caret-right-fill::before { content: "\f231"; } +.bi-caret-right-square-fill::before { content: "\f232"; } +.bi-caret-right-square::before { content: "\f233"; } +.bi-caret-right::before { content: "\f234"; } +.bi-caret-up-fill::before { content: "\f235"; } +.bi-caret-up-square-fill::before { content: "\f236"; } +.bi-caret-up-square::before { content: "\f237"; } +.bi-caret-up::before { content: "\f238"; } +.bi-cart-check-fill::before { content: "\f239"; } +.bi-cart-check::before { content: "\f23a"; } +.bi-cart-dash-fill::before { content: "\f23b"; } +.bi-cart-dash::before { content: "\f23c"; } +.bi-cart-fill::before { content: "\f23d"; } +.bi-cart-plus-fill::before { content: "\f23e"; } +.bi-cart-plus::before { content: "\f23f"; } +.bi-cart-x-fill::before { content: "\f240"; } +.bi-cart-x::before { content: "\f241"; } +.bi-cart::before { content: "\f242"; } +.bi-cart2::before { content: "\f243"; } +.bi-cart3::before { content: "\f244"; } +.bi-cart4::before { content: "\f245"; } +.bi-cash-stack::before { content: "\f246"; } +.bi-cash::before { content: "\f247"; } +.bi-cast::before { content: "\f248"; } +.bi-chat-dots-fill::before { content: "\f249"; } +.bi-chat-dots::before { content: "\f24a"; } +.bi-chat-fill::before { content: "\f24b"; } +.bi-chat-left-dots-fill::before { content: "\f24c"; } +.bi-chat-left-dots::before { content: "\f24d"; } +.bi-chat-left-fill::before { content: "\f24e"; } +.bi-chat-left-quote-fill::before { content: "\f24f"; } +.bi-chat-left-quote::before { content: "\f250"; } +.bi-chat-left-text-fill::before { content: "\f251"; } +.bi-chat-left-text::before { content: "\f252"; } +.bi-chat-left::before { content: "\f253"; } +.bi-chat-quote-fill::before { content: "\f254"; } +.bi-chat-quote::before { content: "\f255"; } +.bi-chat-right-dots-fill::before { content: "\f256"; } +.bi-chat-right-dots::before { content: "\f257"; } +.bi-chat-right-fill::before { content: "\f258"; } +.bi-chat-right-quote-fill::before { content: "\f259"; } +.bi-chat-right-quote::before { content: "\f25a"; } +.bi-chat-right-text-fill::before { content: "\f25b"; } +.bi-chat-right-text::before { content: "\f25c"; } +.bi-chat-right::before { content: "\f25d"; } +.bi-chat-square-dots-fill::before { content: "\f25e"; } +.bi-chat-square-dots::before { content: "\f25f"; } +.bi-chat-square-fill::before { content: "\f260"; } +.bi-chat-square-quote-fill::before { content: "\f261"; } +.bi-chat-square-quote::before { content: "\f262"; } +.bi-chat-square-text-fill::before { content: "\f263"; } +.bi-chat-square-text::before { content: "\f264"; } +.bi-chat-square::before { content: "\f265"; } +.bi-chat-text-fill::before { content: "\f266"; } +.bi-chat-text::before { content: "\f267"; } +.bi-chat::before { content: "\f268"; } +.bi-check-all::before { content: "\f269"; } +.bi-check-circle-fill::before { content: "\f26a"; } +.bi-check-circle::before { content: "\f26b"; } +.bi-check-square-fill::before { content: "\f26c"; } +.bi-check-square::before { content: "\f26d"; } +.bi-check::before { content: "\f26e"; } +.bi-check2-all::before { content: "\f26f"; } +.bi-check2-circle::before { content: "\f270"; } +.bi-check2-square::before { content: "\f271"; } +.bi-check2::before { content: "\f272"; } +.bi-chevron-bar-contract::before { content: "\f273"; } +.bi-chevron-bar-down::before { content: "\f274"; } +.bi-chevron-bar-expand::before { content: "\f275"; } +.bi-chevron-bar-left::before { content: "\f276"; } +.bi-chevron-bar-right::before { content: "\f277"; } +.bi-chevron-bar-up::before { content: "\f278"; } +.bi-chevron-compact-down::before { content: "\f279"; } +.bi-chevron-compact-left::before { content: "\f27a"; } +.bi-chevron-compact-right::before { content: "\f27b"; } +.bi-chevron-compact-up::before { content: "\f27c"; } +.bi-chevron-contract::before { content: "\f27d"; } +.bi-chevron-double-down::before { content: "\f27e"; } +.bi-chevron-double-left::before { content: "\f27f"; } +.bi-chevron-double-right::before { content: "\f280"; } +.bi-chevron-double-up::before { content: "\f281"; } +.bi-chevron-down::before { content: "\f282"; } +.bi-chevron-expand::before { content: "\f283"; } +.bi-chevron-left::before { content: "\f284"; } +.bi-chevron-right::before { content: "\f285"; } +.bi-chevron-up::before { content: "\f286"; } +.bi-circle-fill::before { content: "\f287"; } +.bi-circle-half::before { content: "\f288"; } +.bi-circle-square::before { content: "\f289"; } +.bi-circle::before { content: "\f28a"; } +.bi-clipboard-check::before { content: "\f28b"; } +.bi-clipboard-data::before { content: "\f28c"; } +.bi-clipboard-minus::before { content: "\f28d"; } +.bi-clipboard-plus::before { content: "\f28e"; } +.bi-clipboard-x::before { content: "\f28f"; } +.bi-clipboard::before { content: "\f290"; } +.bi-clock-fill::before { content: "\f291"; } +.bi-clock-history::before { content: "\f292"; } +.bi-clock::before { content: "\f293"; } +.bi-cloud-arrow-down-fill::before { content: "\f294"; } +.bi-cloud-arrow-down::before { content: "\f295"; } +.bi-cloud-arrow-up-fill::before { content: "\f296"; } +.bi-cloud-arrow-up::before { content: "\f297"; } +.bi-cloud-check-fill::before { content: "\f298"; } +.bi-cloud-check::before { content: "\f299"; } +.bi-cloud-download-fill::before { content: "\f29a"; } +.bi-cloud-download::before { content: "\f29b"; } +.bi-cloud-drizzle-fill::before { content: "\f29c"; } +.bi-cloud-drizzle::before { content: "\f29d"; } +.bi-cloud-fill::before { content: "\f29e"; } +.bi-cloud-fog-fill::before { content: "\f29f"; } +.bi-cloud-fog::before { content: "\f2a0"; } +.bi-cloud-fog2-fill::before { content: "\f2a1"; } +.bi-cloud-fog2::before { content: "\f2a2"; } +.bi-cloud-hail-fill::before { content: "\f2a3"; } +.bi-cloud-hail::before { content: "\f2a4"; } +.bi-cloud-haze-1::before { content: "\f2a5"; } +.bi-cloud-haze-fill::before { content: "\f2a6"; } +.bi-cloud-haze::before { content: "\f2a7"; } +.bi-cloud-haze2-fill::before { content: "\f2a8"; } +.bi-cloud-lightning-fill::before { content: "\f2a9"; } +.bi-cloud-lightning-rain-fill::before { content: "\f2aa"; } +.bi-cloud-lightning-rain::before { content: "\f2ab"; } +.bi-cloud-lightning::before { content: "\f2ac"; } +.bi-cloud-minus-fill::before { content: "\f2ad"; } +.bi-cloud-minus::before { content: "\f2ae"; } +.bi-cloud-moon-fill::before { content: "\f2af"; } +.bi-cloud-moon::before { content: "\f2b0"; } +.bi-cloud-plus-fill::before { content: "\f2b1"; } +.bi-cloud-plus::before { content: "\f2b2"; } +.bi-cloud-rain-fill::before { content: "\f2b3"; } +.bi-cloud-rain-heavy-fill::before { content: "\f2b4"; } +.bi-cloud-rain-heavy::before { content: "\f2b5"; } +.bi-cloud-rain::before { content: "\f2b6"; } +.bi-cloud-slash-fill::before { content: "\f2b7"; } +.bi-cloud-slash::before { content: "\f2b8"; } +.bi-cloud-sleet-fill::before { content: "\f2b9"; } +.bi-cloud-sleet::before { content: "\f2ba"; } +.bi-cloud-snow-fill::before { content: "\f2bb"; } +.bi-cloud-snow::before { content: "\f2bc"; } +.bi-cloud-sun-fill::before { content: "\f2bd"; } +.bi-cloud-sun::before { content: "\f2be"; } +.bi-cloud-upload-fill::before { content: "\f2bf"; } +.bi-cloud-upload::before { content: "\f2c0"; } +.bi-cloud::before { content: "\f2c1"; } +.bi-clouds-fill::before { content: "\f2c2"; } +.bi-clouds::before { content: "\f2c3"; } +.bi-cloudy-fill::before { content: "\f2c4"; } +.bi-cloudy::before { content: "\f2c5"; } +.bi-code-slash::before { content: "\f2c6"; } +.bi-code-square::before { content: "\f2c7"; } +.bi-code::before { content: "\f2c8"; } +.bi-collection-fill::before { content: "\f2c9"; } +.bi-collection-play-fill::before { content: "\f2ca"; } +.bi-collection-play::before { content: "\f2cb"; } +.bi-collection::before { content: "\f2cc"; } +.bi-columns-gap::before { content: "\f2cd"; } +.bi-columns::before { content: "\f2ce"; } +.bi-command::before { content: "\f2cf"; } +.bi-compass-fill::before { content: "\f2d0"; } +.bi-compass::before { content: "\f2d1"; } +.bi-cone-striped::before { content: "\f2d2"; } +.bi-cone::before { content: "\f2d3"; } +.bi-controller::before { content: "\f2d4"; } +.bi-cpu-fill::before { content: "\f2d5"; } +.bi-cpu::before { content: "\f2d6"; } +.bi-credit-card-2-back-fill::before { content: "\f2d7"; } +.bi-credit-card-2-back::before { content: "\f2d8"; } +.bi-credit-card-2-front-fill::before { content: "\f2d9"; } +.bi-credit-card-2-front::before { content: "\f2da"; } +.bi-credit-card-fill::before { content: "\f2db"; } +.bi-credit-card::before { content: "\f2dc"; } +.bi-crop::before { content: "\f2dd"; } +.bi-cup-fill::before { content: "\f2de"; } +.bi-cup-straw::before { content: "\f2df"; } +.bi-cup::before { content: "\f2e0"; } +.bi-cursor-fill::before { content: "\f2e1"; } +.bi-cursor-text::before { content: "\f2e2"; } +.bi-cursor::before { content: "\f2e3"; } +.bi-dash-circle-dotted::before { content: "\f2e4"; } +.bi-dash-circle-fill::before { content: "\f2e5"; } +.bi-dash-circle::before { content: "\f2e6"; } +.bi-dash-square-dotted::before { content: "\f2e7"; } +.bi-dash-square-fill::before { content: "\f2e8"; } +.bi-dash-square::before { content: "\f2e9"; } +.bi-dash::before { content: "\f2ea"; } +.bi-diagram-2-fill::before { content: "\f2eb"; } +.bi-diagram-2::before { content: "\f2ec"; } +.bi-diagram-3-fill::before { content: "\f2ed"; } +.bi-diagram-3::before { content: "\f2ee"; } +.bi-diamond-fill::before { content: "\f2ef"; } +.bi-diamond-half::before { content: "\f2f0"; } +.bi-diamond::before { content: "\f2f1"; } +.bi-dice-1-fill::before { content: "\f2f2"; } +.bi-dice-1::before { content: "\f2f3"; } +.bi-dice-2-fill::before { content: "\f2f4"; } +.bi-dice-2::before { content: "\f2f5"; } +.bi-dice-3-fill::before { content: "\f2f6"; } +.bi-dice-3::before { content: "\f2f7"; } +.bi-dice-4-fill::before { content: "\f2f8"; } +.bi-dice-4::before { content: "\f2f9"; } +.bi-dice-5-fill::before { content: "\f2fa"; } +.bi-dice-5::before { content: "\f2fb"; } +.bi-dice-6-fill::before { content: "\f2fc"; } +.bi-dice-6::before { content: "\f2fd"; } +.bi-disc-fill::before { content: "\f2fe"; } +.bi-disc::before { content: "\f2ff"; } +.bi-discord::before { content: "\f300"; } +.bi-display-fill::before { content: "\f301"; } +.bi-display::before { content: "\f302"; } +.bi-distribute-horizontal::before { content: "\f303"; } +.bi-distribute-vertical::before { content: "\f304"; } +.bi-door-closed-fill::before { content: "\f305"; } +.bi-door-closed::before { content: "\f306"; } +.bi-door-open-fill::before { content: "\f307"; } +.bi-door-open::before { content: "\f308"; } +.bi-dot::before { content: "\f309"; } +.bi-download::before { content: "\f30a"; } +.bi-droplet-fill::before { content: "\f30b"; } +.bi-droplet-half::before { content: "\f30c"; } +.bi-droplet::before { content: "\f30d"; } +.bi-earbuds::before { content: "\f30e"; } +.bi-easel-fill::before { content: "\f30f"; } +.bi-easel::before { content: "\f310"; } +.bi-egg-fill::before { content: "\f311"; } +.bi-egg-fried::before { content: "\f312"; } +.bi-egg::before { content: "\f313"; } +.bi-eject-fill::before { content: "\f314"; } +.bi-eject::before { content: "\f315"; } +.bi-emoji-angry-fill::before { content: "\f316"; } +.bi-emoji-angry::before { content: "\f317"; } +.bi-emoji-dizzy-fill::before { content: "\f318"; } +.bi-emoji-dizzy::before { content: "\f319"; } +.bi-emoji-expressionless-fill::before { content: "\f31a"; } +.bi-emoji-expressionless::before { content: "\f31b"; } +.bi-emoji-frown-fill::before { content: "\f31c"; } +.bi-emoji-frown::before { content: "\f31d"; } +.bi-emoji-heart-eyes-fill::before { content: "\f31e"; } +.bi-emoji-heart-eyes::before { content: "\f31f"; } +.bi-emoji-laughing-fill::before { content: "\f320"; } +.bi-emoji-laughing::before { content: "\f321"; } +.bi-emoji-neutral-fill::before { content: "\f322"; } +.bi-emoji-neutral::before { content: "\f323"; } +.bi-emoji-smile-fill::before { content: "\f324"; } +.bi-emoji-smile-upside-down-fill::before { content: "\f325"; } +.bi-emoji-smile-upside-down::before { content: "\f326"; } +.bi-emoji-smile::before { content: "\f327"; } +.bi-emoji-sunglasses-fill::before { content: "\f328"; } +.bi-emoji-sunglasses::before { content: "\f329"; } +.bi-emoji-wink-fill::before { content: "\f32a"; } +.bi-emoji-wink::before { content: "\f32b"; } +.bi-envelope-fill::before { content: "\f32c"; } +.bi-envelope-open-fill::before { content: "\f32d"; } +.bi-envelope-open::before { content: "\f32e"; } +.bi-envelope::before { content: "\f32f"; } +.bi-eraser-fill::before { content: "\f330"; } +.bi-eraser::before { content: "\f331"; } +.bi-exclamation-circle-fill::before { content: "\f332"; } +.bi-exclamation-circle::before { content: "\f333"; } +.bi-exclamation-diamond-fill::before { content: "\f334"; } +.bi-exclamation-diamond::before { content: "\f335"; } +.bi-exclamation-octagon-fill::before { content: "\f336"; } +.bi-exclamation-octagon::before { content: "\f337"; } +.bi-exclamation-square-fill::before { content: "\f338"; } +.bi-exclamation-square::before { content: "\f339"; } +.bi-exclamation-triangle-fill::before { content: "\f33a"; } +.bi-exclamation-triangle::before { content: "\f33b"; } +.bi-exclamation::before { content: "\f33c"; } +.bi-exclude::before { content: "\f33d"; } +.bi-eye-fill::before { content: "\f33e"; } +.bi-eye-slash-fill::before { content: "\f33f"; } +.bi-eye-slash::before { content: "\f340"; } +.bi-eye::before { content: "\f341"; } +.bi-eyedropper::before { content: "\f342"; } +.bi-eyeglasses::before { content: "\f343"; } +.bi-facebook::before { content: "\f344"; } +.bi-file-arrow-down-fill::before { content: "\f345"; } +.bi-file-arrow-down::before { content: "\f346"; } +.bi-file-arrow-up-fill::before { content: "\f347"; } +.bi-file-arrow-up::before { content: "\f348"; } +.bi-file-bar-graph-fill::before { content: "\f349"; } +.bi-file-bar-graph::before { content: "\f34a"; } +.bi-file-binary-fill::before { content: "\f34b"; } +.bi-file-binary::before { content: "\f34c"; } +.bi-file-break-fill::before { content: "\f34d"; } +.bi-file-break::before { content: "\f34e"; } +.bi-file-check-fill::before { content: "\f34f"; } +.bi-file-check::before { content: "\f350"; } +.bi-file-code-fill::before { content: "\f351"; } +.bi-file-code::before { content: "\f352"; } +.bi-file-diff-fill::before { content: "\f353"; } +.bi-file-diff::before { content: "\f354"; } +.bi-file-earmark-arrow-down-fill::before { content: "\f355"; } +.bi-file-earmark-arrow-down::before { content: "\f356"; } +.bi-file-earmark-arrow-up-fill::before { content: "\f357"; } +.bi-file-earmark-arrow-up::before { content: "\f358"; } +.bi-file-earmark-bar-graph-fill::before { content: "\f359"; } +.bi-file-earmark-bar-graph::before { content: "\f35a"; } +.bi-file-earmark-binary-fill::before { content: "\f35b"; } +.bi-file-earmark-binary::before { content: "\f35c"; } +.bi-file-earmark-break-fill::before { content: "\f35d"; } +.bi-file-earmark-break::before { content: "\f35e"; } +.bi-file-earmark-check-fill::before { content: "\f35f"; } +.bi-file-earmark-check::before { content: "\f360"; } +.bi-file-earmark-code-fill::before { content: "\f361"; } +.bi-file-earmark-code::before { content: "\f362"; } +.bi-file-earmark-diff-fill::before { content: "\f363"; } +.bi-file-earmark-diff::before { content: "\f364"; } +.bi-file-earmark-easel-fill::before { content: "\f365"; } +.bi-file-earmark-easel::before { content: "\f366"; } +.bi-file-earmark-excel-fill::before { content: "\f367"; } +.bi-file-earmark-excel::before { content: "\f368"; } +.bi-file-earmark-fill::before { content: "\f369"; } +.bi-file-earmark-font-fill::before { content: "\f36a"; } +.bi-file-earmark-font::before { content: "\f36b"; } +.bi-file-earmark-image-fill::before { content: "\f36c"; } +.bi-file-earmark-image::before { content: "\f36d"; } +.bi-file-earmark-lock-fill::before { content: "\f36e"; } +.bi-file-earmark-lock::before { content: "\f36f"; } +.bi-file-earmark-lock2-fill::before { content: "\f370"; } +.bi-file-earmark-lock2::before { content: "\f371"; } +.bi-file-earmark-medical-fill::before { content: "\f372"; } +.bi-file-earmark-medical::before { content: "\f373"; } +.bi-file-earmark-minus-fill::before { content: "\f374"; } +.bi-file-earmark-minus::before { content: "\f375"; } +.bi-file-earmark-music-fill::before { content: "\f376"; } +.bi-file-earmark-music::before { content: "\f377"; } +.bi-file-earmark-person-fill::before { content: "\f378"; } +.bi-file-earmark-person::before { content: "\f379"; } +.bi-file-earmark-play-fill::before { content: "\f37a"; } +.bi-file-earmark-play::before { content: "\f37b"; } +.bi-file-earmark-plus-fill::before { content: "\f37c"; } +.bi-file-earmark-plus::before { content: "\f37d"; } +.bi-file-earmark-post-fill::before { content: "\f37e"; } +.bi-file-earmark-post::before { content: "\f37f"; } +.bi-file-earmark-ppt-fill::before { content: "\f380"; } +.bi-file-earmark-ppt::before { content: "\f381"; } +.bi-file-earmark-richtext-fill::before { content: "\f382"; } +.bi-file-earmark-richtext::before { content: "\f383"; } +.bi-file-earmark-ruled-fill::before { content: "\f384"; } +.bi-file-earmark-ruled::before { content: "\f385"; } +.bi-file-earmark-slides-fill::before { content: "\f386"; } +.bi-file-earmark-slides::before { content: "\f387"; } +.bi-file-earmark-spreadsheet-fill::before { content: "\f388"; } +.bi-file-earmark-spreadsheet::before { content: "\f389"; } +.bi-file-earmark-text-fill::before { content: "\f38a"; } +.bi-file-earmark-text::before { content: "\f38b"; } +.bi-file-earmark-word-fill::before { content: "\f38c"; } +.bi-file-earmark-word::before { content: "\f38d"; } +.bi-file-earmark-x-fill::before { content: "\f38e"; } +.bi-file-earmark-x::before { content: "\f38f"; } +.bi-file-earmark-zip-fill::before { content: "\f390"; } +.bi-file-earmark-zip::before { content: "\f391"; } +.bi-file-earmark::before { content: "\f392"; } +.bi-file-easel-fill::before { content: "\f393"; } +.bi-file-easel::before { content: "\f394"; } +.bi-file-excel-fill::before { content: "\f395"; } +.bi-file-excel::before { content: "\f396"; } +.bi-file-fill::before { content: "\f397"; } +.bi-file-font-fill::before { content: "\f398"; } +.bi-file-font::before { content: "\f399"; } +.bi-file-image-fill::before { content: "\f39a"; } +.bi-file-image::before { content: "\f39b"; } +.bi-file-lock-fill::before { content: "\f39c"; } +.bi-file-lock::before { content: "\f39d"; } +.bi-file-lock2-fill::before { content: "\f39e"; } +.bi-file-lock2::before { content: "\f39f"; } +.bi-file-medical-fill::before { content: "\f3a0"; } +.bi-file-medical::before { content: "\f3a1"; } +.bi-file-minus-fill::before { content: "\f3a2"; } +.bi-file-minus::before { content: "\f3a3"; } +.bi-file-music-fill::before { content: "\f3a4"; } +.bi-file-music::before { content: "\f3a5"; } +.bi-file-person-fill::before { content: "\f3a6"; } +.bi-file-person::before { content: "\f3a7"; } +.bi-file-play-fill::before { content: "\f3a8"; } +.bi-file-play::before { content: "\f3a9"; } +.bi-file-plus-fill::before { content: "\f3aa"; } +.bi-file-plus::before { content: "\f3ab"; } +.bi-file-post-fill::before { content: "\f3ac"; } +.bi-file-post::before { content: "\f3ad"; } +.bi-file-ppt-fill::before { content: "\f3ae"; } +.bi-file-ppt::before { content: "\f3af"; } +.bi-file-richtext-fill::before { content: "\f3b0"; } +.bi-file-richtext::before { content: "\f3b1"; } +.bi-file-ruled-fill::before { content: "\f3b2"; } +.bi-file-ruled::before { content: "\f3b3"; } +.bi-file-slides-fill::before { content: "\f3b4"; } +.bi-file-slides::before { content: "\f3b5"; } +.bi-file-spreadsheet-fill::before { content: "\f3b6"; } +.bi-file-spreadsheet::before { content: "\f3b7"; } +.bi-file-text-fill::before { content: "\f3b8"; } +.bi-file-text::before { content: "\f3b9"; } +.bi-file-word-fill::before { content: "\f3ba"; } +.bi-file-word::before { content: "\f3bb"; } +.bi-file-x-fill::before { content: "\f3bc"; } +.bi-file-x::before { content: "\f3bd"; } +.bi-file-zip-fill::before { content: "\f3be"; } +.bi-file-zip::before { content: "\f3bf"; } +.bi-file::before { content: "\f3c0"; } +.bi-files-alt::before { content: "\f3c1"; } +.bi-files::before { content: "\f3c2"; } +.bi-film::before { content: "\f3c3"; } +.bi-filter-circle-fill::before { content: "\f3c4"; } +.bi-filter-circle::before { content: "\f3c5"; } +.bi-filter-left::before { content: "\f3c6"; } +.bi-filter-right::before { content: "\f3c7"; } +.bi-filter-square-fill::before { content: "\f3c8"; } +.bi-filter-square::before { content: "\f3c9"; } +.bi-filter::before { content: "\f3ca"; } +.bi-flag-fill::before { content: "\f3cb"; } +.bi-flag::before { content: "\f3cc"; } +.bi-flower1::before { content: "\f3cd"; } +.bi-flower2::before { content: "\f3ce"; } +.bi-flower3::before { content: "\f3cf"; } +.bi-folder-check::before { content: "\f3d0"; } +.bi-folder-fill::before { content: "\f3d1"; } +.bi-folder-minus::before { content: "\f3d2"; } +.bi-folder-plus::before { content: "\f3d3"; } +.bi-folder-symlink-fill::before { content: "\f3d4"; } +.bi-folder-symlink::before { content: "\f3d5"; } +.bi-folder-x::before { content: "\f3d6"; } +.bi-folder::before { content: "\f3d7"; } +.bi-folder2-open::before { content: "\f3d8"; } +.bi-folder2::before { content: "\f3d9"; } +.bi-fonts::before { content: "\f3da"; } +.bi-forward-fill::before { content: "\f3db"; } +.bi-forward::before { content: "\f3dc"; } +.bi-front::before { content: "\f3dd"; } +.bi-fullscreen-exit::before { content: "\f3de"; } +.bi-fullscreen::before { content: "\f3df"; } +.bi-funnel-fill::before { content: "\f3e0"; } +.bi-funnel::before { content: "\f3e1"; } +.bi-gear-fill::before { content: "\f3e2"; } +.bi-gear-wide-connected::before { content: "\f3e3"; } +.bi-gear-wide::before { content: "\f3e4"; } +.bi-gear::before { content: "\f3e5"; } +.bi-gem::before { content: "\f3e6"; } +.bi-geo-alt-fill::before { content: "\f3e7"; } +.bi-geo-alt::before { content: "\f3e8"; } +.bi-geo-fill::before { content: "\f3e9"; } +.bi-geo::before { content: "\f3ea"; } +.bi-gift-fill::before { content: "\f3eb"; } +.bi-gift::before { content: "\f3ec"; } +.bi-github::before { content: "\f3ed"; } +.bi-globe::before { content: "\f3ee"; } +.bi-globe2::before { content: "\f3ef"; } +.bi-google::before { content: "\f3f0"; } +.bi-graph-down::before { content: "\f3f1"; } +.bi-graph-up::before { content: "\f3f2"; } +.bi-grid-1x2-fill::before { content: "\f3f3"; } +.bi-grid-1x2::before { content: "\f3f4"; } +.bi-grid-3x2-gap-fill::before { content: "\f3f5"; } +.bi-grid-3x2-gap::before { content: "\f3f6"; } +.bi-grid-3x2::before { content: "\f3f7"; } +.bi-grid-3x3-gap-fill::before { content: "\f3f8"; } +.bi-grid-3x3-gap::before { content: "\f3f9"; } +.bi-grid-3x3::before { content: "\f3fa"; } +.bi-grid-fill::before { content: "\f3fb"; } +.bi-grid::before { content: "\f3fc"; } +.bi-grip-horizontal::before { content: "\f3fd"; } +.bi-grip-vertical::before { content: "\f3fe"; } +.bi-hammer::before { content: "\f3ff"; } +.bi-hand-index-fill::before { content: "\f400"; } +.bi-hand-index-thumb-fill::before { content: "\f401"; } +.bi-hand-index-thumb::before { content: "\f402"; } +.bi-hand-index::before { content: "\f403"; } +.bi-hand-thumbs-down-fill::before { content: "\f404"; } +.bi-hand-thumbs-down::before { content: "\f405"; } +.bi-hand-thumbs-up-fill::before { content: "\f406"; } +.bi-hand-thumbs-up::before { content: "\f407"; } +.bi-handbag-fill::before { content: "\f408"; } +.bi-handbag::before { content: "\f409"; } +.bi-hash::before { content: "\f40a"; } +.bi-hdd-fill::before { content: "\f40b"; } +.bi-hdd-network-fill::before { content: "\f40c"; } +.bi-hdd-network::before { content: "\f40d"; } +.bi-hdd-rack-fill::before { content: "\f40e"; } +.bi-hdd-rack::before { content: "\f40f"; } +.bi-hdd-stack-fill::before { content: "\f410"; } +.bi-hdd-stack::before { content: "\f411"; } +.bi-hdd::before { content: "\f412"; } +.bi-headphones::before { content: "\f413"; } +.bi-headset::before { content: "\f414"; } +.bi-heart-fill::before { content: "\f415"; } +.bi-heart-half::before { content: "\f416"; } +.bi-heart::before { content: "\f417"; } +.bi-heptagon-fill::before { content: "\f418"; } +.bi-heptagon-half::before { content: "\f419"; } +.bi-heptagon::before { content: "\f41a"; } +.bi-hexagon-fill::before { content: "\f41b"; } +.bi-hexagon-half::before { content: "\f41c"; } +.bi-hexagon::before { content: "\f41d"; } +.bi-hourglass-bottom::before { content: "\f41e"; } +.bi-hourglass-split::before { content: "\f41f"; } +.bi-hourglass-top::before { content: "\f420"; } +.bi-hourglass::before { content: "\f421"; } +.bi-house-door-fill::before { content: "\f422"; } +.bi-house-door::before { content: "\f423"; } +.bi-house-fill::before { content: "\f424"; } +.bi-house::before { content: "\f425"; } +.bi-hr::before { content: "\f426"; } +.bi-hurricane::before { content: "\f427"; } +.bi-image-alt::before { content: "\f428"; } +.bi-image-fill::before { content: "\f429"; } +.bi-image::before { content: "\f42a"; } +.bi-images::before { content: "\f42b"; } +.bi-inbox-fill::before { content: "\f42c"; } +.bi-inbox::before { content: "\f42d"; } +.bi-inboxes-fill::before { content: "\f42e"; } +.bi-inboxes::before { content: "\f42f"; } +.bi-info-circle-fill::before { content: "\f430"; } +.bi-info-circle::before { content: "\f431"; } +.bi-info-square-fill::before { content: "\f432"; } +.bi-info-square::before { content: "\f433"; } +.bi-info::before { content: "\f434"; } +.bi-input-cursor-text::before { content: "\f435"; } +.bi-input-cursor::before { content: "\f436"; } +.bi-instagram::before { content: "\f437"; } +.bi-intersect::before { content: "\f438"; } +.bi-journal-album::before { content: "\f439"; } +.bi-journal-arrow-down::before { content: "\f43a"; } +.bi-journal-arrow-up::before { content: "\f43b"; } +.bi-journal-bookmark-fill::before { content: "\f43c"; } +.bi-journal-bookmark::before { content: "\f43d"; } +.bi-journal-check::before { content: "\f43e"; } +.bi-journal-code::before { content: "\f43f"; } +.bi-journal-medical::before { content: "\f440"; } +.bi-journal-minus::before { content: "\f441"; } +.bi-journal-plus::before { content: "\f442"; } +.bi-journal-richtext::before { content: "\f443"; } +.bi-journal-text::before { content: "\f444"; } +.bi-journal-x::before { content: "\f445"; } +.bi-journal::before { content: "\f446"; } +.bi-journals::before { content: "\f447"; } +.bi-joystick::before { content: "\f448"; } +.bi-justify-left::before { content: "\f449"; } +.bi-justify-right::before { content: "\f44a"; } +.bi-justify::before { content: "\f44b"; } +.bi-kanban-fill::before { content: "\f44c"; } +.bi-kanban::before { content: "\f44d"; } +.bi-key-fill::before { content: "\f44e"; } +.bi-key::before { content: "\f44f"; } +.bi-keyboard-fill::before { content: "\f450"; } +.bi-keyboard::before { content: "\f451"; } +.bi-ladder::before { content: "\f452"; } +.bi-lamp-fill::before { content: "\f453"; } +.bi-lamp::before { content: "\f454"; } +.bi-laptop-fill::before { content: "\f455"; } +.bi-laptop::before { content: "\f456"; } +.bi-layer-backward::before { content: "\f457"; } +.bi-layer-forward::before { content: "\f458"; } +.bi-layers-fill::before { content: "\f459"; } +.bi-layers-half::before { content: "\f45a"; } +.bi-layers::before { content: "\f45b"; } +.bi-layout-sidebar-inset-reverse::before { content: "\f45c"; } +.bi-layout-sidebar-inset::before { content: "\f45d"; } +.bi-layout-sidebar-reverse::before { content: "\f45e"; } +.bi-layout-sidebar::before { content: "\f45f"; } +.bi-layout-split::before { content: "\f460"; } +.bi-layout-text-sidebar-reverse::before { content: "\f461"; } +.bi-layout-text-sidebar::before { content: "\f462"; } +.bi-layout-text-window-reverse::before { content: "\f463"; } +.bi-layout-text-window::before { content: "\f464"; } +.bi-layout-three-columns::before { content: "\f465"; } +.bi-layout-wtf::before { content: "\f466"; } +.bi-life-preserver::before { content: "\f467"; } +.bi-lightbulb-fill::before { content: "\f468"; } +.bi-lightbulb-off-fill::before { content: "\f469"; } +.bi-lightbulb-off::before { content: "\f46a"; } +.bi-lightbulb::before { content: "\f46b"; } +.bi-lightning-charge-fill::before { content: "\f46c"; } +.bi-lightning-charge::before { content: "\f46d"; } +.bi-lightning-fill::before { content: "\f46e"; } +.bi-lightning::before { content: "\f46f"; } +.bi-link-45deg::before { content: "\f470"; } +.bi-link::before { content: "\f471"; } +.bi-linkedin::before { content: "\f472"; } +.bi-list-check::before { content: "\f473"; } +.bi-list-nested::before { content: "\f474"; } +.bi-list-ol::before { content: "\f475"; } +.bi-list-stars::before { content: "\f476"; } +.bi-list-task::before { content: "\f477"; } +.bi-list-ul::before { content: "\f478"; } +.bi-list::before { content: "\f479"; } +.bi-lock-fill::before { content: "\f47a"; } +.bi-lock::before { content: "\f47b"; } +.bi-mailbox::before { content: "\f47c"; } +.bi-mailbox2::before { content: "\f47d"; } +.bi-map-fill::before { content: "\f47e"; } +.bi-map::before { content: "\f47f"; } +.bi-markdown-fill::before { content: "\f480"; } +.bi-markdown::before { content: "\f481"; } +.bi-mask::before { content: "\f482"; } +.bi-megaphone-fill::before { content: "\f483"; } +.bi-megaphone::before { content: "\f484"; } +.bi-menu-app-fill::before { content: "\f485"; } +.bi-menu-app::before { content: "\f486"; } +.bi-menu-button-fill::before { content: "\f487"; } +.bi-menu-button-wide-fill::before { content: "\f488"; } +.bi-menu-button-wide::before { content: "\f489"; } +.bi-menu-button::before { content: "\f48a"; } +.bi-menu-down::before { content: "\f48b"; } +.bi-menu-up::before { content: "\f48c"; } +.bi-mic-fill::before { content: "\f48d"; } +.bi-mic-mute-fill::before { content: "\f48e"; } +.bi-mic-mute::before { content: "\f48f"; } +.bi-mic::before { content: "\f490"; } +.bi-minecart-loaded::before { content: "\f491"; } +.bi-minecart::before { content: "\f492"; } +.bi-moisture::before { content: "\f493"; } +.bi-moon-fill::before { content: "\f494"; } +.bi-moon-stars-fill::before { content: "\f495"; } +.bi-moon-stars::before { content: "\f496"; } +.bi-moon::before { content: "\f497"; } +.bi-mouse-fill::before { content: "\f498"; } +.bi-mouse::before { content: "\f499"; } +.bi-mouse2-fill::before { content: "\f49a"; } +.bi-mouse2::before { content: "\f49b"; } +.bi-mouse3-fill::before { content: "\f49c"; } +.bi-mouse3::before { content: "\f49d"; } +.bi-music-note-beamed::before { content: "\f49e"; } +.bi-music-note-list::before { content: "\f49f"; } +.bi-music-note::before { content: "\f4a0"; } +.bi-music-player-fill::before { content: "\f4a1"; } +.bi-music-player::before { content: "\f4a2"; } +.bi-newspaper::before { content: "\f4a3"; } +.bi-node-minus-fill::before { content: "\f4a4"; } +.bi-node-minus::before { content: "\f4a5"; } +.bi-node-plus-fill::before { content: "\f4a6"; } +.bi-node-plus::before { content: "\f4a7"; } +.bi-nut-fill::before { content: "\f4a8"; } +.bi-nut::before { content: "\f4a9"; } +.bi-octagon-fill::before { content: "\f4aa"; } +.bi-octagon-half::before { content: "\f4ab"; } +.bi-octagon::before { content: "\f4ac"; } +.bi-option::before { content: "\f4ad"; } +.bi-outlet::before { content: "\f4ae"; } +.bi-paint-bucket::before { content: "\f4af"; } +.bi-palette-fill::before { content: "\f4b0"; } +.bi-palette::before { content: "\f4b1"; } +.bi-palette2::before { content: "\f4b2"; } +.bi-paperclip::before { content: "\f4b3"; } +.bi-paragraph::before { content: "\f4b4"; } +.bi-patch-check-fill::before { content: "\f4b5"; } +.bi-patch-check::before { content: "\f4b6"; } +.bi-patch-exclamation-fill::before { content: "\f4b7"; } +.bi-patch-exclamation::before { content: "\f4b8"; } +.bi-patch-minus-fill::before { content: "\f4b9"; } +.bi-patch-minus::before { content: "\f4ba"; } +.bi-patch-plus-fill::before { content: "\f4bb"; } +.bi-patch-plus::before { content: "\f4bc"; } +.bi-patch-question-fill::before { content: "\f4bd"; } +.bi-patch-question::before { content: "\f4be"; } +.bi-pause-btn-fill::before { content: "\f4bf"; } +.bi-pause-btn::before { content: "\f4c0"; } +.bi-pause-circle-fill::before { content: "\f4c1"; } +.bi-pause-circle::before { content: "\f4c2"; } +.bi-pause-fill::before { content: "\f4c3"; } +.bi-pause::before { content: "\f4c4"; } +.bi-peace-fill::before { content: "\f4c5"; } +.bi-peace::before { content: "\f4c6"; } +.bi-pen-fill::before { content: "\f4c7"; } +.bi-pen::before { content: "\f4c8"; } +.bi-pencil-fill::before { content: "\f4c9"; } +.bi-pencil-square::before { content: "\f4ca"; } +.bi-pencil::before { content: "\f4cb"; } +.bi-pentagon-fill::before { content: "\f4cc"; } +.bi-pentagon-half::before { content: "\f4cd"; } +.bi-pentagon::before { content: "\f4ce"; } +.bi-people-fill::before { content: "\f4cf"; } +.bi-people::before { content: "\f4d0"; } +.bi-percent::before { content: "\f4d1"; } +.bi-person-badge-fill::before { content: "\f4d2"; } +.bi-person-badge::before { content: "\f4d3"; } +.bi-person-bounding-box::before { content: "\f4d4"; } +.bi-person-check-fill::before { content: "\f4d5"; } +.bi-person-check::before { content: "\f4d6"; } +.bi-person-circle::before { content: "\f4d7"; } +.bi-person-dash-fill::before { content: "\f4d8"; } +.bi-person-dash::before { content: "\f4d9"; } +.bi-person-fill::before { content: "\f4da"; } +.bi-person-lines-fill::before { content: "\f4db"; } +.bi-person-plus-fill::before { content: "\f4dc"; } +.bi-person-plus::before { content: "\f4dd"; } +.bi-person-square::before { content: "\f4de"; } +.bi-person-x-fill::before { content: "\f4df"; } +.bi-person-x::before { content: "\f4e0"; } +.bi-person::before { content: "\f4e1"; } +.bi-phone-fill::before { content: "\f4e2"; } +.bi-phone-landscape-fill::before { content: "\f4e3"; } +.bi-phone-landscape::before { content: "\f4e4"; } +.bi-phone-vibrate-fill::before { content: "\f4e5"; } +.bi-phone-vibrate::before { content: "\f4e6"; } +.bi-phone::before { content: "\f4e7"; } +.bi-pie-chart-fill::before { content: "\f4e8"; } +.bi-pie-chart::before { content: "\f4e9"; } +.bi-pin-angle-fill::before { content: "\f4ea"; } +.bi-pin-angle::before { content: "\f4eb"; } +.bi-pin-fill::before { content: "\f4ec"; } +.bi-pin::before { content: "\f4ed"; } +.bi-pip-fill::before { content: "\f4ee"; } +.bi-pip::before { content: "\f4ef"; } +.bi-play-btn-fill::before { content: "\f4f0"; } +.bi-play-btn::before { content: "\f4f1"; } +.bi-play-circle-fill::before { content: "\f4f2"; } +.bi-play-circle::before { content: "\f4f3"; } +.bi-play-fill::before { content: "\f4f4"; } +.bi-play::before { content: "\f4f5"; } +.bi-plug-fill::before { content: "\f4f6"; } +.bi-plug::before { content: "\f4f7"; } +.bi-plus-circle-dotted::before { content: "\f4f8"; } +.bi-plus-circle-fill::before { content: "\f4f9"; } +.bi-plus-circle::before { content: "\f4fa"; } +.bi-plus-square-dotted::before { content: "\f4fb"; } +.bi-plus-square-fill::before { content: "\f4fc"; } +.bi-plus-square::before { content: "\f4fd"; } +.bi-plus::before { content: "\f4fe"; } +.bi-power::before { content: "\f4ff"; } +.bi-printer-fill::before { content: "\f500"; } +.bi-printer::before { content: "\f501"; } +.bi-puzzle-fill::before { content: "\f502"; } +.bi-puzzle::before { content: "\f503"; } +.bi-question-circle-fill::before { content: "\f504"; } +.bi-question-circle::before { content: "\f505"; } +.bi-question-diamond-fill::before { content: "\f506"; } +.bi-question-diamond::before { content: "\f507"; } +.bi-question-octagon-fill::before { content: "\f508"; } +.bi-question-octagon::before { content: "\f509"; } +.bi-question-square-fill::before { content: "\f50a"; } +.bi-question-square::before { content: "\f50b"; } +.bi-question::before { content: "\f50c"; } +.bi-rainbow::before { content: "\f50d"; } +.bi-receipt-cutoff::before { content: "\f50e"; } +.bi-receipt::before { content: "\f50f"; } +.bi-reception-0::before { content: "\f510"; } +.bi-reception-1::before { content: "\f511"; } +.bi-reception-2::before { content: "\f512"; } +.bi-reception-3::before { content: "\f513"; } +.bi-reception-4::before { content: "\f514"; } +.bi-record-btn-fill::before { content: "\f515"; } +.bi-record-btn::before { content: "\f516"; } +.bi-record-circle-fill::before { content: "\f517"; } +.bi-record-circle::before { content: "\f518"; } +.bi-record-fill::before { content: "\f519"; } +.bi-record::before { content: "\f51a"; } +.bi-record2-fill::before { content: "\f51b"; } +.bi-record2::before { content: "\f51c"; } +.bi-reply-all-fill::before { content: "\f51d"; } +.bi-reply-all::before { content: "\f51e"; } +.bi-reply-fill::before { content: "\f51f"; } +.bi-reply::before { content: "\f520"; } +.bi-rss-fill::before { content: "\f521"; } +.bi-rss::before { content: "\f522"; } +.bi-rulers::before { content: "\f523"; } +.bi-save-fill::before { content: "\f524"; } +.bi-save::before { content: "\f525"; } +.bi-save2-fill::before { content: "\f526"; } +.bi-save2::before { content: "\f527"; } +.bi-scissors::before { content: "\f528"; } +.bi-screwdriver::before { content: "\f529"; } +.bi-search::before { content: "\f52a"; } +.bi-segmented-nav::before { content: "\f52b"; } +.bi-server::before { content: "\f52c"; } +.bi-share-fill::before { content: "\f52d"; } +.bi-share::before { content: "\f52e"; } +.bi-shield-check::before { content: "\f52f"; } +.bi-shield-exclamation::before { content: "\f530"; } +.bi-shield-fill-check::before { content: "\f531"; } +.bi-shield-fill-exclamation::before { content: "\f532"; } +.bi-shield-fill-minus::before { content: "\f533"; } +.bi-shield-fill-plus::before { content: "\f534"; } +.bi-shield-fill-x::before { content: "\f535"; } +.bi-shield-fill::before { content: "\f536"; } +.bi-shield-lock-fill::before { content: "\f537"; } +.bi-shield-lock::before { content: "\f538"; } +.bi-shield-minus::before { content: "\f539"; } +.bi-shield-plus::before { content: "\f53a"; } +.bi-shield-shaded::before { content: "\f53b"; } +.bi-shield-slash-fill::before { content: "\f53c"; } +.bi-shield-slash::before { content: "\f53d"; } +.bi-shield-x::before { content: "\f53e"; } +.bi-shield::before { content: "\f53f"; } +.bi-shift-fill::before { content: "\f540"; } +.bi-shift::before { content: "\f541"; } +.bi-shop-window::before { content: "\f542"; } +.bi-shop::before { content: "\f543"; } +.bi-shuffle::before { content: "\f544"; } +.bi-signpost-2-fill::before { content: "\f545"; } +.bi-signpost-2::before { content: "\f546"; } +.bi-signpost-fill::before { content: "\f547"; } +.bi-signpost-split-fill::before { content: "\f548"; } +.bi-signpost-split::before { content: "\f549"; } +.bi-signpost::before { content: "\f54a"; } +.bi-sim-fill::before { content: "\f54b"; } +.bi-sim::before { content: "\f54c"; } +.bi-skip-backward-btn-fill::before { content: "\f54d"; } +.bi-skip-backward-btn::before { content: "\f54e"; } +.bi-skip-backward-circle-fill::before { content: "\f54f"; } +.bi-skip-backward-circle::before { content: "\f550"; } +.bi-skip-backward-fill::before { content: "\f551"; } +.bi-skip-backward::before { content: "\f552"; } +.bi-skip-end-btn-fill::before { content: "\f553"; } +.bi-skip-end-btn::before { content: "\f554"; } +.bi-skip-end-circle-fill::before { content: "\f555"; } +.bi-skip-end-circle::before { content: "\f556"; } +.bi-skip-end-fill::before { content: "\f557"; } +.bi-skip-end::before { content: "\f558"; } +.bi-skip-forward-btn-fill::before { content: "\f559"; } +.bi-skip-forward-btn::before { content: "\f55a"; } +.bi-skip-forward-circle-fill::before { content: "\f55b"; } +.bi-skip-forward-circle::before { content: "\f55c"; } +.bi-skip-forward-fill::before { content: "\f55d"; } +.bi-skip-forward::before { content: "\f55e"; } +.bi-skip-start-btn-fill::before { content: "\f55f"; } +.bi-skip-start-btn::before { content: "\f560"; } +.bi-skip-start-circle-fill::before { content: "\f561"; } +.bi-skip-start-circle::before { content: "\f562"; } +.bi-skip-start-fill::before { content: "\f563"; } +.bi-skip-start::before { content: "\f564"; } +.bi-slack::before { content: "\f565"; } +.bi-slash-circle-fill::before { content: "\f566"; } +.bi-slash-circle::before { content: "\f567"; } +.bi-slash-square-fill::before { content: "\f568"; } +.bi-slash-square::before { content: "\f569"; } +.bi-slash::before { content: "\f56a"; } +.bi-sliders::before { content: "\f56b"; } +.bi-smartwatch::before { content: "\f56c"; } +.bi-snow::before { content: "\f56d"; } +.bi-snow2::before { content: "\f56e"; } +.bi-snow3::before { content: "\f56f"; } +.bi-sort-alpha-down-alt::before { content: "\f570"; } +.bi-sort-alpha-down::before { content: "\f571"; } +.bi-sort-alpha-up-alt::before { content: "\f572"; } +.bi-sort-alpha-up::before { content: "\f573"; } +.bi-sort-down-alt::before { content: "\f574"; } +.bi-sort-down::before { content: "\f575"; } +.bi-sort-numeric-down-alt::before { content: "\f576"; } +.bi-sort-numeric-down::before { content: "\f577"; } +.bi-sort-numeric-up-alt::before { content: "\f578"; } +.bi-sort-numeric-up::before { content: "\f579"; } +.bi-sort-up-alt::before { content: "\f57a"; } +.bi-sort-up::before { content: "\f57b"; } +.bi-soundwave::before { content: "\f57c"; } +.bi-speaker-fill::before { content: "\f57d"; } +.bi-speaker::before { content: "\f57e"; } +.bi-speedometer::before { content: "\f57f"; } +.bi-speedometer2::before { content: "\f580"; } +.bi-spellcheck::before { content: "\f581"; } +.bi-square-fill::before { content: "\f582"; } +.bi-square-half::before { content: "\f583"; } +.bi-square::before { content: "\f584"; } +.bi-stack::before { content: "\f585"; } +.bi-star-fill::before { content: "\f586"; } +.bi-star-half::before { content: "\f587"; } +.bi-star::before { content: "\f588"; } +.bi-stars::before { content: "\f589"; } +.bi-stickies-fill::before { content: "\f58a"; } +.bi-stickies::before { content: "\f58b"; } +.bi-sticky-fill::before { content: "\f58c"; } +.bi-sticky::before { content: "\f58d"; } +.bi-stop-btn-fill::before { content: "\f58e"; } +.bi-stop-btn::before { content: "\f58f"; } +.bi-stop-circle-fill::before { content: "\f590"; } +.bi-stop-circle::before { content: "\f591"; } +.bi-stop-fill::before { content: "\f592"; } +.bi-stop::before { content: "\f593"; } +.bi-stoplights-fill::before { content: "\f594"; } +.bi-stoplights::before { content: "\f595"; } +.bi-stopwatch-fill::before { content: "\f596"; } +.bi-stopwatch::before { content: "\f597"; } +.bi-subtract::before { content: "\f598"; } +.bi-suit-club-fill::before { content: "\f599"; } +.bi-suit-club::before { content: "\f59a"; } +.bi-suit-diamond-fill::before { content: "\f59b"; } +.bi-suit-diamond::before { content: "\f59c"; } +.bi-suit-heart-fill::before { content: "\f59d"; } +.bi-suit-heart::before { content: "\f59e"; } +.bi-suit-spade-fill::before { content: "\f59f"; } +.bi-suit-spade::before { content: "\f5a0"; } +.bi-sun-fill::before { content: "\f5a1"; } +.bi-sun::before { content: "\f5a2"; } +.bi-sunglasses::before { content: "\f5a3"; } +.bi-sunrise-fill::before { content: "\f5a4"; } +.bi-sunrise::before { content: "\f5a5"; } +.bi-sunset-fill::before { content: "\f5a6"; } +.bi-sunset::before { content: "\f5a7"; } +.bi-symmetry-horizontal::before { content: "\f5a8"; } +.bi-symmetry-vertical::before { content: "\f5a9"; } +.bi-table::before { content: "\f5aa"; } +.bi-tablet-fill::before { content: "\f5ab"; } +.bi-tablet-landscape-fill::before { content: "\f5ac"; } +.bi-tablet-landscape::before { content: "\f5ad"; } +.bi-tablet::before { content: "\f5ae"; } +.bi-tag-fill::before { content: "\f5af"; } +.bi-tag::before { content: "\f5b0"; } +.bi-tags-fill::before { content: "\f5b1"; } +.bi-tags::before { content: "\f5b2"; } +.bi-telegram::before { content: "\f5b3"; } +.bi-telephone-fill::before { content: "\f5b4"; } +.bi-telephone-forward-fill::before { content: "\f5b5"; } +.bi-telephone-forward::before { content: "\f5b6"; } +.bi-telephone-inbound-fill::before { content: "\f5b7"; } +.bi-telephone-inbound::before { content: "\f5b8"; } +.bi-telephone-minus-fill::before { content: "\f5b9"; } +.bi-telephone-minus::before { content: "\f5ba"; } +.bi-telephone-outbound-fill::before { content: "\f5bb"; } +.bi-telephone-outbound::before { content: "\f5bc"; } +.bi-telephone-plus-fill::before { content: "\f5bd"; } +.bi-telephone-plus::before { content: "\f5be"; } +.bi-telephone-x-fill::before { content: "\f5bf"; } +.bi-telephone-x::before { content: "\f5c0"; } +.bi-telephone::before { content: "\f5c1"; } +.bi-terminal-fill::before { content: "\f5c2"; } +.bi-terminal::before { content: "\f5c3"; } +.bi-text-center::before { content: "\f5c4"; } +.bi-text-indent-left::before { content: "\f5c5"; } +.bi-text-indent-right::before { content: "\f5c6"; } +.bi-text-left::before { content: "\f5c7"; } +.bi-text-paragraph::before { content: "\f5c8"; } +.bi-text-right::before { content: "\f5c9"; } +.bi-textarea-resize::before { content: "\f5ca"; } +.bi-textarea-t::before { content: "\f5cb"; } +.bi-textarea::before { content: "\f5cc"; } +.bi-thermometer-half::before { content: "\f5cd"; } +.bi-thermometer-high::before { content: "\f5ce"; } +.bi-thermometer-low::before { content: "\f5cf"; } +.bi-thermometer-snow::before { content: "\f5d0"; } +.bi-thermometer-sun::before { content: "\f5d1"; } +.bi-thermometer::before { content: "\f5d2"; } +.bi-three-dots-vertical::before { content: "\f5d3"; } +.bi-three-dots::before { content: "\f5d4"; } +.bi-toggle-off::before { content: "\f5d5"; } +.bi-toggle-on::before { content: "\f5d6"; } +.bi-toggle2-off::before { content: "\f5d7"; } +.bi-toggle2-on::before { content: "\f5d8"; } +.bi-toggles::before { content: "\f5d9"; } +.bi-toggles2::before { content: "\f5da"; } +.bi-tools::before { content: "\f5db"; } +.bi-tornado::before { content: "\f5dc"; } +.bi-trash-fill::before { content: "\f5dd"; } +.bi-trash::before { content: "\f5de"; } +.bi-trash2-fill::before { content: "\f5df"; } +.bi-trash2::before { content: "\f5e0"; } +.bi-tree-fill::before { content: "\f5e1"; } +.bi-tree::before { content: "\f5e2"; } +.bi-triangle-fill::before { content: "\f5e3"; } +.bi-triangle-half::before { content: "\f5e4"; } +.bi-triangle::before { content: "\f5e5"; } +.bi-trophy-fill::before { content: "\f5e6"; } +.bi-trophy::before { content: "\f5e7"; } +.bi-tropical-storm::before { content: "\f5e8"; } +.bi-truck-flatbed::before { content: "\f5e9"; } +.bi-truck::before { content: "\f5ea"; } +.bi-tsunami::before { content: "\f5eb"; } +.bi-tv-fill::before { content: "\f5ec"; } +.bi-tv::before { content: "\f5ed"; } +.bi-twitch::before { content: "\f5ee"; } +.bi-twitter::before { content: "\f5ef"; } +.bi-type-bold::before { content: "\f5f0"; } +.bi-type-h1::before { content: "\f5f1"; } +.bi-type-h2::before { content: "\f5f2"; } +.bi-type-h3::before { content: "\f5f3"; } +.bi-type-italic::before { content: "\f5f4"; } +.bi-type-strikethrough::before { content: "\f5f5"; } +.bi-type-underline::before { content: "\f5f6"; } +.bi-type::before { content: "\f5f7"; } +.bi-ui-checks-grid::before { content: "\f5f8"; } +.bi-ui-checks::before { content: "\f5f9"; } +.bi-ui-radios-grid::before { content: "\f5fa"; } +.bi-ui-radios::before { content: "\f5fb"; } +.bi-umbrella-fill::before { content: "\f5fc"; } +.bi-umbrella::before { content: "\f5fd"; } +.bi-union::before { content: "\f5fe"; } +.bi-unlock-fill::before { content: "\f5ff"; } +.bi-unlock::before { content: "\f600"; } +.bi-upc-scan::before { content: "\f601"; } +.bi-upc::before { content: "\f602"; } +.bi-upload::before { content: "\f603"; } +.bi-vector-pen::before { content: "\f604"; } +.bi-view-list::before { content: "\f605"; } +.bi-view-stacked::before { content: "\f606"; } +.bi-vinyl-fill::before { content: "\f607"; } +.bi-vinyl::before { content: "\f608"; } +.bi-voicemail::before { content: "\f609"; } +.bi-volume-down-fill::before { content: "\f60a"; } +.bi-volume-down::before { content: "\f60b"; } +.bi-volume-mute-fill::before { content: "\f60c"; } +.bi-volume-mute::before { content: "\f60d"; } +.bi-volume-off-fill::before { content: "\f60e"; } +.bi-volume-off::before { content: "\f60f"; } +.bi-volume-up-fill::before { content: "\f610"; } +.bi-volume-up::before { content: "\f611"; } +.bi-vr::before { content: "\f612"; } +.bi-wallet-fill::before { content: "\f613"; } +.bi-wallet::before { content: "\f614"; } +.bi-wallet2::before { content: "\f615"; } +.bi-watch::before { content: "\f616"; } +.bi-water::before { content: "\f617"; } +.bi-whatsapp::before { content: "\f618"; } +.bi-wifi-1::before { content: "\f619"; } +.bi-wifi-2::before { content: "\f61a"; } +.bi-wifi-off::before { content: "\f61b"; } +.bi-wifi::before { content: "\f61c"; } +.bi-wind::before { content: "\f61d"; } +.bi-window-dock::before { content: "\f61e"; } +.bi-window-sidebar::before { content: "\f61f"; } +.bi-window::before { content: "\f620"; } +.bi-wrench::before { content: "\f621"; } +.bi-x-circle-fill::before { content: "\f622"; } +.bi-x-circle::before { content: "\f623"; } +.bi-x-diamond-fill::before { content: "\f624"; } +.bi-x-diamond::before { content: "\f625"; } +.bi-x-octagon-fill::before { content: "\f626"; } +.bi-x-octagon::before { content: "\f627"; } +.bi-x-square-fill::before { content: "\f628"; } +.bi-x-square::before { content: "\f629"; } +.bi-x::before { content: "\f62a"; } +.bi-youtube::before { content: "\f62b"; } +.bi-zoom-in::before { content: "\f62c"; } +.bi-zoom-out::before { content: "\f62d"; } +.bi-bank::before { content: "\f62e"; } +.bi-bank2::before { content: "\f62f"; } +.bi-bell-slash-fill::before { content: "\f630"; } +.bi-bell-slash::before { content: "\f631"; } +.bi-cash-coin::before { content: "\f632"; } +.bi-check-lg::before { content: "\f633"; } +.bi-coin::before { content: "\f634"; } +.bi-currency-bitcoin::before { content: "\f635"; } +.bi-currency-dollar::before { content: "\f636"; } +.bi-currency-euro::before { content: "\f637"; } +.bi-currency-exchange::before { content: "\f638"; } +.bi-currency-pound::before { content: "\f639"; } +.bi-currency-yen::before { content: "\f63a"; } +.bi-dash-lg::before { content: "\f63b"; } +.bi-exclamation-lg::before { content: "\f63c"; } +.bi-file-earmark-pdf-fill::before { content: "\f63d"; } +.bi-file-earmark-pdf::before { content: "\f63e"; } +.bi-file-pdf-fill::before { content: "\f63f"; } +.bi-file-pdf::before { content: "\f640"; } +.bi-gender-ambiguous::before { content: "\f641"; } +.bi-gender-female::before { content: "\f642"; } +.bi-gender-male::before { content: "\f643"; } +.bi-gender-trans::before { content: "\f644"; } +.bi-headset-vr::before { content: "\f645"; } +.bi-info-lg::before { content: "\f646"; } +.bi-mastodon::before { content: "\f647"; } +.bi-messenger::before { content: "\f648"; } +.bi-piggy-bank-fill::before { content: "\f649"; } +.bi-piggy-bank::before { content: "\f64a"; } +.bi-pin-map-fill::before { content: "\f64b"; } +.bi-pin-map::before { content: "\f64c"; } +.bi-plus-lg::before { content: "\f64d"; } +.bi-question-lg::before { content: "\f64e"; } +.bi-recycle::before { content: "\f64f"; } +.bi-reddit::before { content: "\f650"; } +.bi-safe-fill::before { content: "\f651"; } +.bi-safe2-fill::before { content: "\f652"; } +.bi-safe2::before { content: "\f653"; } +.bi-sd-card-fill::before { content: "\f654"; } +.bi-sd-card::before { content: "\f655"; } +.bi-skype::before { content: "\f656"; } +.bi-slash-lg::before { content: "\f657"; } +.bi-translate::before { content: "\f658"; } +.bi-x-lg::before { content: "\f659"; } +.bi-safe::before { content: "\f65a"; } diff --git a/nginx/landingpage/css/google-fonts.css b/nginx/landingpage/css/google-fonts.css new file mode 100644 index 000000000..49a28fd7a --- /dev/null +++ b/nginx/landingpage/css/google-fonts.css @@ -0,0 +1,36 @@ +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 300; + src: url(S6u_w4BMUTPHjxsI9w2_Gwfo.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 400; + src: url(S6u8w4BMUTPHjxsAXC-v.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 700; + src: url(S6u_w4BMUTPHjxsI5wq_Gwfo.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 300; + src: url(S6u9w4BMUTPHh7USSwiPHA.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: url(S6uyw4BMUTPHjx4wWw.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 700; + src: url(S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype'); +} diff --git a/nginx/landingpage/css/styles.css b/nginx/landingpage/css/styles.css new file mode 100644 index 000000000..27c764bdc --- /dev/null +++ b/nginx/landingpage/css/styles.css @@ -0,0 +1,10919 @@ +@charset "UTF-8"; +/*! +* Start Bootstrap - Landing Page v6.0.6 (https://startbootstrap.com/theme/landing-page) +* Copyright 2013-2023 Start Bootstrap +* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-landing-page/blob/master/LICENSE) +*/ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors + * Copyright 2011-2022 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-black: #000; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: Lato, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-bg: #fff; + --bs-border-width: 1px; + --bs-border-style: solid; + --bs-border-color: #dee2e6; + --bs-border-color-translucent: rgba(0, 0, 0, 0.175); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-2xl: 2rem; + --bs-border-radius-pill: 50rem; + --bs-link-color: #0d6efd; + --bs-link-hover-color: #0a58ca; + --bs-code-color: #d63384; + --bs-highlight-bg: #fff3cd; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: 1px solid; + opacity: 0.25; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 700; + line-height: 1.2; +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.1875em; + background-color: var(--bs-highlight-bg); +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: var(--bs-link-hover-color); + text-decoration: none; +} +a:hover { + color: var(--bs-link-color); +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: var(--bs-code-color); + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.1875rem 0.375rem; + font-size: 0.875em; + color: var(--bs-body-bg); + background-color: var(--bs-body-color); + border-radius: 0.25rem; +} +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid var(--bs-border-color); + border-radius: 0.375rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.33333333%; + } + .offset-sm-2 { + margin-left: 16.66666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.33333333%; + } + .offset-sm-5 { + margin-left: 41.66666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.33333333%; + } + .offset-sm-8 { + margin-left: 66.66666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.33333333%; + } + .offset-sm-11 { + margin-left: 91.66666667%; + } + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.33333333%; + } + .offset-md-2 { + margin-left: 16.66666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.33333333%; + } + .offset-md-5 { + margin-left: 41.66666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.33333333%; + } + .offset-md-8 { + margin-left: 66.66666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.33333333%; + } + .offset-md-11 { + margin-left: 91.66666667%; + } + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.33333333%; + } + .offset-lg-2 { + margin-left: 16.66666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.33333333%; + } + .offset-lg-5 { + margin-left: 41.66666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.33333333%; + } + .offset-lg-8 { + margin-left: 66.66666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.33333333%; + } + .offset-lg-11 { + margin-left: 91.66666667%; + } + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.33333333%; + } + .offset-xl-2 { + margin-left: 16.66666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.33333333%; + } + .offset-xl-5 { + margin-left: 41.66666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.33333333%; + } + .offset-xl-8 { + margin-left: 66.66666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.33333333%; + } + .offset-xl-11 { + margin-left: 91.66666667%; + } + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + .offset-xxl-0 { + margin-left: 0; + } + .offset-xxl-1 { + margin-left: 8.33333333%; + } + .offset-xxl-2 { + margin-left: 16.66666667%; + } + .offset-xxl-3 { + margin-left: 25%; + } + .offset-xxl-4 { + margin-left: 33.33333333%; + } + .offset-xxl-5 { + margin-left: 41.66666667%; + } + .offset-xxl-6 { + margin-left: 50%; + } + .offset-xxl-7 { + margin-left: 58.33333333%; + } + .offset-xxl-8 { + margin-left: 66.66666667%; + } + .offset-xxl-9 { + margin-left: 75%; + } + .offset-xxl-10 { + margin-left: 83.33333333%; + } + .offset-xxl-11 { + margin-left: 91.66666667%; + } + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-body-color); + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: var(--bs-body-color); + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: var(--bs-body-color); + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: var(--bs-table-color); + vertical-align: top; + border-color: var(--bs-table-border-color); +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: 2px solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} + +.table-primary { + --bs-table-color: #000; + --bs-table-bg: #cfe2ff; + --bs-table-border-color: #bacbe6; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-secondary { + --bs-table-color: #000; + --bs-table-bg: #e2e3e5; + --bs-table-border-color: #cbccce; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-success { + --bs-table-color: #000; + --bs-table-bg: #d1e7dd; + --bs-table-border-color: #bcd0c7; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-info { + --bs-table-color: #000; + --bs-table-bg: #cff4fc; + --bs-table-border-color: #badce3; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-warning { + --bs-table-color: #000; + --bs-table-bg: #fff3cd; + --bs-table-border-color: #e6dbb9; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-danger { + --bs-table-color: #000; + --bs-table-bg: #f8d7da; + --bs-table-border-color: #dfc2c4; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-light { + --bs-table-color: #000; + --bs-table-bg: #f8f9fa; + --bs-table-border-color: #dfe0e1; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-dark { + --bs-table-color: #fff; + --bs-table-bg: #212529; + --bs-table-border-color: #373b3e; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.75rem + 1px); + padding-bottom: calc(0.75rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(1rem + 1px); + padding-bottom: calc(1rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.75rem 1rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled { + background-color: #e9ecef; + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.75rem 1rem; + margin: -0.75rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.75rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext:focus { + outline: 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 0.75rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} +.form-control-sm::file-selector-button { + padding: 0.5rem 0.75rem; + margin: -0.5rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; +} + +.form-control-lg { + min-height: calc(1.5em + 2rem + 2px); + padding: 1rem 1.25rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} +.form-control-lg::file-selector-button { + padding: 1rem 1.25rem; + margin: -1rem -1.25rem; + -webkit-margin-end: 1.25rem; + margin-inline-end: 1.25rem; +} + +textarea.form-control { + min-height: calc(1.5em + 1.5rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 1rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 2rem + 2px); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + 1.5rem + 2px); + padding: 0.75rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: 0.375rem; +} +.form-control-color::-webkit-color-swatch { + border-radius: 0.375rem; +} +.form-control-color.form-control-sm { + height: calc(1.5em + 1rem + 2px); +} +.form-control-color.form-control-lg { + height: calc(1.5em + 2rem + 2px); +} + +.form-select { + display: block; + width: 100%; + padding: 0.75rem 3rem 0.75rem 1rem; + -moz-padding-start: calc(1rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 1rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.375rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 1rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +.form-select-lg { + padding-top: 1rem; + padding-bottom: 1rem; + padding-left: 1.25rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + padding: 1rem 1rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 1rem; +} +.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control-plaintext ~ label { + border-width: 1px 0; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.75rem 1rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.375rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 1rem 1.25rem; + font-size: 1.25rem; + border-radius: 0.5rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.5rem 0.75rem; + font-size: 0.875rem; + border-radius: 0.25rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 4rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.375rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #198754; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-control-color:valid, .form-control-color.is-valid { + width: calc(3rem + calc(1.5em + 1.5rem)); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.375rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-control-color:invalid, .form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + 1.5rem)); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +.btn { + --bs-btn-padding-x: 1rem; + --bs-btn-padding-y: 0.75rem; + --bs-btn-font-family: ; + --bs-btn-font-size: 1rem; + --bs-btn-font-weight: 400; + --bs-btn-line-height: 1.5; + --bs-btn-color: #212529; + --bs-btn-bg: transparent; + --bs-btn-border-width: 1px; + --bs-btn-border-color: transparent; + --bs-btn-border-radius: 0.375rem; + --bs-btn-hover-border-color: transparent; + --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); +} +.btn-check + .btn:hover { + color: var(--bs-btn-color); + background-color: var(--bs-btn-bg); + border-color: var(--bs-btn-border-color); +} +.btn:focus-visible { + color: var(--bs-btn-hover-color); + background-color: var(--bs-btn-hover-bg); + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:focus-visible + .btn { + border-color: var(--bs-btn-hover-border-color); + outline: 0; + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show { + color: var(--bs-btn-active-color); + background-color: var(--bs-btn-active-bg); + border-color: var(--bs-btn-active-border-color); +} +.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible { + box-shadow: var(--bs-btn-focus-box-shadow); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + color: var(--bs-btn-disabled-color); + pointer-events: none; + background-color: var(--bs-btn-disabled-bg); + border-color: var(--bs-btn-disabled-border-color); + opacity: var(--bs-btn-disabled-opacity); +} + +.btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0b5ed7; + --bs-btn-hover-border-color: #0a58ca; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0a58ca; + --bs-btn-active-border-color: #0a53be; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0d6efd; + --bs-btn-disabled-border-color: #0d6efd; +} + +.btn-secondary { + --bs-btn-color: #fff; + --bs-btn-bg: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #5c636a; + --bs-btn-hover-border-color: #565e64; + --bs-btn-focus-shadow-rgb: 130, 138, 145; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #565e64; + --bs-btn-active-border-color: #51585e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #6c757d; + --bs-btn-disabled-border-color: #6c757d; +} + +.btn-success { + --bs-btn-color: #fff; + --bs-btn-bg: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #157347; + --bs-btn-hover-border-color: #146c43; + --bs-btn-focus-shadow-rgb: 60, 153, 110; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #146c43; + --bs-btn-active-border-color: #13653f; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #198754; + --bs-btn-disabled-border-color: #198754; +} + +.btn-info { + --bs-btn-color: #000; + --bs-btn-bg: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #31d2f2; + --bs-btn-hover-border-color: #25cff2; + --bs-btn-focus-shadow-rgb: 11, 172, 204; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #3dd5f3; + --bs-btn-active-border-color: #25cff2; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #0dcaf0; + --bs-btn-disabled-border-color: #0dcaf0; +} + +.btn-warning { + --bs-btn-color: #000; + --bs-btn-bg: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffca2c; + --bs-btn-hover-border-color: #ffc720; + --bs-btn-focus-shadow-rgb: 217, 164, 6; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffcd39; + --bs-btn-active-border-color: #ffc720; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #ffc107; + --bs-btn-disabled-border-color: #ffc107; +} + +.btn-danger { + --bs-btn-color: #fff; + --bs-btn-bg: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #bb2d3b; + --bs-btn-hover-border-color: #b02a37; + --bs-btn-focus-shadow-rgb: 225, 83, 97; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #b02a37; + --bs-btn-active-border-color: #a52834; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #dc3545; + --bs-btn-disabled-border-color: #dc3545; +} + +.btn-light { + --bs-btn-color: #000; + --bs-btn-bg: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #d3d4d5; + --bs-btn-hover-border-color: #c6c7c8; + --bs-btn-focus-shadow-rgb: 211, 212, 213; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #c6c7c8; + --bs-btn-active-border-color: #babbbc; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #000; + --bs-btn-disabled-bg: #f8f9fa; + --bs-btn-disabled-border-color: #f8f9fa; +} + +.btn-dark { + --bs-btn-color: #fff; + --bs-btn-bg: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #424649; + --bs-btn-hover-border-color: #373b3e; + --bs-btn-focus-shadow-rgb: 66, 70, 73; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #4d5154; + --bs-btn-active-border-color: #373b3e; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #212529; + --bs-btn-disabled-border-color: #212529; +} + +.btn-outline-primary { + --bs-btn-color: #0d6efd; + --bs-btn-border-color: #0d6efd; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #0d6efd; + --bs-btn-hover-border-color: #0d6efd; + --bs-btn-focus-shadow-rgb: 13, 110, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #0d6efd; + --bs-btn-active-border-color: #0d6efd; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0d6efd; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0d6efd; + --bs-gradient: none; +} + +.btn-outline-secondary { + --bs-btn-color: #6c757d; + --bs-btn-border-color: #6c757d; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #6c757d; + --bs-btn-hover-border-color: #6c757d; + --bs-btn-focus-shadow-rgb: 108, 117, 125; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #6c757d; + --bs-btn-active-border-color: #6c757d; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #6c757d; + --bs-gradient: none; +} + +.btn-outline-success { + --bs-btn-color: #198754; + --bs-btn-border-color: #198754; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #198754; + --bs-btn-hover-border-color: #198754; + --bs-btn-focus-shadow-rgb: 25, 135, 84; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #198754; + --bs-btn-active-border-color: #198754; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #198754; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #198754; + --bs-gradient: none; +} + +.btn-outline-info { + --bs-btn-color: #0dcaf0; + --bs-btn-border-color: #0dcaf0; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #0dcaf0; + --bs-btn-hover-border-color: #0dcaf0; + --bs-btn-focus-shadow-rgb: 13, 202, 240; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #0dcaf0; + --bs-btn-active-border-color: #0dcaf0; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #0dcaf0; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #0dcaf0; + --bs-gradient: none; +} + +.btn-outline-warning { + --bs-btn-color: #ffc107; + --bs-btn-border-color: #ffc107; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #ffc107; + --bs-btn-hover-border-color: #ffc107; + --bs-btn-focus-shadow-rgb: 255, 193, 7; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #ffc107; + --bs-btn-active-border-color: #ffc107; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #ffc107; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #ffc107; + --bs-gradient: none; +} + +.btn-outline-danger { + --bs-btn-color: #dc3545; + --bs-btn-border-color: #dc3545; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #dc3545; + --bs-btn-hover-border-color: #dc3545; + --bs-btn-focus-shadow-rgb: 220, 53, 69; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #dc3545; + --bs-btn-active-border-color: #dc3545; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #dc3545; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #dc3545; + --bs-gradient: none; +} + +.btn-outline-light { + --bs-btn-color: #f8f9fa; + --bs-btn-border-color: #f8f9fa; + --bs-btn-hover-color: #000; + --bs-btn-hover-bg: #f8f9fa; + --bs-btn-hover-border-color: #f8f9fa; + --bs-btn-focus-shadow-rgb: 248, 249, 250; + --bs-btn-active-color: #000; + --bs-btn-active-bg: #f8f9fa; + --bs-btn-active-border-color: #f8f9fa; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #f8f9fa; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #f8f9fa; + --bs-gradient: none; +} + +.btn-outline-dark { + --bs-btn-color: #212529; + --bs-btn-border-color: #212529; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #212529; + --bs-btn-hover-border-color: #212529; + --bs-btn-focus-shadow-rgb: 33, 37, 41; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #212529; + --bs-btn-active-border-color: #212529; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #212529; + --bs-btn-disabled-bg: transparent; + --bs-btn-disabled-border-color: #212529; + --bs-gradient: none; +} + +.btn-link { + --bs-btn-font-weight: 400; + --bs-btn-color: var(--bs-link-color); + --bs-btn-bg: transparent; + --bs-btn-border-color: transparent; + --bs-btn-hover-color: var(--bs-link-hover-color); + --bs-btn-hover-border-color: transparent; + --bs-btn-active-color: var(--bs-link-hover-color); + --bs-btn-active-border-color: transparent; + --bs-btn-disabled-color: #6c757d; + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + text-decoration: underline; +} +.btn-link:focus-visible { + color: var(--bs-btn-color); +} +.btn-link:hover { + color: var(--bs-btn-hover-color); +} + +.btn-lg, .btn-group-lg > .btn { + --bs-btn-padding-y: 1rem; + --bs-btn-padding-x: 1.25rem; + --bs-btn-font-size: 1.25rem; + --bs-btn-border-radius: 0.5rem; +} + +.btn-sm, .btn-group-sm > .btn { + --bs-btn-padding-y: 0.5rem; + --bs-btn-padding-x: 0.75rem; + --bs-btn-font-size: 0.875rem; + --bs-btn-border-radius: 0.25rem; +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 10rem; + --bs-dropdown-padding-x: 0; + --bs-dropdown-padding-y: 0.5rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: 1rem; + --bs-dropdown-color: #212529; + --bs-dropdown-bg: #fff; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-border-radius: 0.375rem; + --bs-dropdown-border-width: 1px; + --bs-dropdown-inner-border-radius: calc(0.375rem - 1px); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-dropdown-link-color: #212529; + --bs-dropdown-link-hover-color: #1e2125; + --bs-dropdown-link-hover-bg: #e9ecef; + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-header-color: #6c757d; + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: 1px solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: 400; + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} +.dropdown-item.active, .dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: 0.875rem; + color: var(--bs-dropdown-header-color); + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + color: var(--bs-dropdown-link-color); +} + +.dropdown-menu-dark { + --bs-dropdown-color: #dee2e6; + --bs-dropdown-bg: #343a40; + --bs-dropdown-border-color: var(--bs-border-color-translucent); + --bs-dropdown-box-shadow: ; + --bs-dropdown-link-color: #dee2e6; + --bs-dropdown-link-hover-color: #fff; + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15); + --bs-dropdown-link-active-color: #fff; + --bs-dropdown-link-active-bg: #0d6efd; + --bs-dropdown-link-disabled-color: #adb5bd; + --bs-dropdown-header-color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: 0.375rem; +} +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn.dropdown-toggle-split:first-child, +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.9375rem; + padding-left: 0.9375rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + --bs-nav-link-padding-x: 1rem; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: #6c757d; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: var(--bs-nav-link-hover-color); +} +.nav-link.disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-tabs-border-width: 1px; + --bs-nav-tabs-border-color: #dee2e6; + --bs-nav-tabs-border-radius: 0.375rem; + --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6; + --bs-nav-tabs-link-active-color: #495057; + --bs-nav-tabs-link-active-bg: #fff; + --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff; + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + background: none; + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} +.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-pills-border-radius: 0.375rem; + --bs-nav-pills-link-active-color: #fff; + --bs-nav-pills-link-active-bg: #0d6efd; +} +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: var(--bs-nav-pills-border-radius); +} +.nav-pills .nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + background-color: transparent; + border-color: transparent; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: rgba(0, 0, 0, 0.55); + --bs-navbar-hover-color: rgba(0, 0, 0, 0.7); + --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3); + --bs-navbar-active-color: rgba(0, 0, 0, 0.9); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-brand-color: rgba(0, 0, 0, 0.9); + --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9); + --bs-navbar-nav-link-padding-x: 0.5rem; + --bs-navbar-toggler-padding-y: 0.25rem; + --bs-navbar-toggler-padding-x: 0.75rem; + --bs-navbar-toggler-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1); + --bs-navbar-toggler-border-radius: 0.375rem; + --bs-navbar-toggler-focus-width: 0.25rem; + --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .show > .nav-link, +.navbar-nav .nav-link.active { + color: var(--bs-navbar-active-color); +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-dark { + --bs-navbar-color: rgba(255, 255, 255, 0.55); + --bs-navbar-hover-color: rgba(255, 255, 255, 0.75); + --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25); + --bs-navbar-active-color: #fff; + --bs-navbar-brand-color: #fff; + --bs-navbar-brand-hover-color: #fff; + --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1); + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-border-width: 1px; + --bs-card-border-color: var(--bs-border-color-translucent); + --bs-card-border-radius: 0.375rem; + --bs-card-box-shadow: ; + --bs-card-inner-border-radius: calc(0.375rem - 1px); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: rgba(0, 0, 0, 0.03); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: #fff; + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-header:first-child { + border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; +} + +.card-footer { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); +} +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion { + --bs-accordion-color: #212529; + --bs-accordion-bg: #fff; + --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: 1px; + --bs-accordion-border-radius: 0.375rem; + --bs-accordion-inner-border-radius: calc(0.375rem - 1px); + --bs-accordion-btn-padding-x: 1.25rem; + --bs-accordion-btn-padding-y: 1rem; + --bs-accordion-btn-color: #212529; + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-icon-width: 1.25rem; + --bs-accordion-btn-icon-transform: rotate(-180deg); + --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out; + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-focus-border-color: #86b7fe; + --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-accordion-body-padding-x: 1.25rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: #0c63e4; + --bs-accordion-active-bg: #e7f1ff; +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: 1rem; + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: #6c757d; + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: #6c757d; + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +.pagination { + --bs-pagination-padding-x: 0.75rem; + --bs-pagination-padding-y: 0.375rem; + --bs-pagination-font-size: 1rem; + --bs-pagination-color: var(--bs-link-color); + --bs-pagination-bg: #fff; + --bs-pagination-border-width: 1px; + --bs-pagination-border-color: #dee2e6; + --bs-pagination-border-radius: 0.375rem; + --bs-pagination-hover-color: var(--bs-link-hover-color); + --bs-pagination-hover-bg: #e9ecef; + --bs-pagination-hover-border-color: #dee2e6; + --bs-pagination-focus-color: var(--bs-link-hover-color); + --bs-pagination-focus-bg: #e9ecef; + --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + --bs-pagination-active-color: #fff; + --bs-pagination-active-bg: #0d6efd; + --bs-pagination-active-border-color: #0d6efd; + --bs-pagination-disabled-color: #6c757d; + --bs-pagination-disabled-bg: #fff; + --bs-pagination-disabled-border-color: #dee2e6; + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + color: var(--bs-pagination-color); + text-decoration: none; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: var(--bs-pagination-hover-color); + background-color: var(--bs-pagination-hover-bg); + border-color: var(--bs-pagination-hover-border-color); +} +.page-link:focus { + z-index: 3; + color: var(--bs-pagination-focus-color); + background-color: var(--bs-pagination-focus-bg); + outline: 0; + box-shadow: var(--bs-pagination-focus-box-shadow); +} +.page-link.active, .active > .page-link { + z-index: 3; + color: var(--bs-pagination-active-color); + background-color: var(--bs-pagination-active-bg); + border-color: var(--bs-pagination-active-border-color); +} +.page-link.disabled, .disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item:first-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} +.page-item:last-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 1.5rem; + --bs-pagination-padding-y: 0.75rem; + --bs-pagination-font-size: 1.25rem; + --bs-pagination-border-radius: 0.5rem; +} + +.pagination-sm { + --bs-pagination-padding-x: 0.5rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: 0.875rem; + --bs-pagination-border-radius: 0.25rem; +} + +.badge { + --bs-badge-padding-x: 0.65em; + --bs-badge-padding-y: 0.35em; + --bs-badge-font-size: 0.75em; + --bs-badge-font-weight: 700; + --bs-badge-color: #fff; + --bs-badge-border-radius: 0.375rem; + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 1rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: 1px solid var(--bs-alert-border-color); + --bs-alert-border-radius: 0.375rem; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + --bs-alert-color: #084298; + --bs-alert-bg: #cfe2ff; + --bs-alert-border-color: #b6d4fe; +} +.alert-primary .alert-link { + color: #06357a; +} + +.alert-secondary { + --bs-alert-color: #41464b; + --bs-alert-bg: #e2e3e5; + --bs-alert-border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + --bs-alert-color: #0f5132; + --bs-alert-bg: #d1e7dd; + --bs-alert-border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + --bs-alert-color: #055160; + --bs-alert-bg: #cff4fc; + --bs-alert-border-color: #b6effb; +} +.alert-info .alert-link { + color: #04414d; +} + +.alert-warning { + --bs-alert-color: #664d03; + --bs-alert-bg: #fff3cd; + --bs-alert-border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #523e02; +} + +.alert-danger { + --bs-alert-color: #842029; + --bs-alert-bg: #f8d7da; + --bs-alert-border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + --bs-alert-color: #636464; + --bs-alert-bg: #fefefe; + --bs-alert-border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + --bs-alert-color: #141619; + --bs-alert-bg: #d3d3d4; + --bs-alert-border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + --bs-progress-height: 1rem; + --bs-progress-font-size: 0.75rem; + --bs-progress-bg: #e9ecef; + --bs-progress-border-radius: 0.375rem; + --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + --bs-progress-bar-color: #fff; + --bs-progress-bar-bg: #0d6efd; + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border-radius: var(--bs-progress-border-radius); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + --bs-list-group-color: #212529; + --bs-list-group-bg: #fff; + --bs-list-group-border-color: rgba(0, 0, 0, 0.125); + --bs-list-group-border-width: 1px; + --bs-list-group-border-radius: 0.375rem; + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.5rem; + --bs-list-group-action-color: #495057; + --bs-list-group-action-hover-color: #495057; + --bs-list-group-action-hover-bg: #f8f9fa; + --bs-list-group-action-active-color: #212529; + --bs-list-group-action-active-bg: #e9ecef; + --bs-list-group-disabled-color: #6c757d; + --bs-list-group-disabled-bg: #fff; + --bs-list-group-active-color: #fff; + --bs-list-group-active-bg: #0d6efd; + --bs-list-group-active-border-color: #0d6efd; + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: var(--bs-list-group-disabled-color); + pointer-events: none; + background-color: var(--bs-list-group-disabled-bg); +} +.list-group-item.active { + z-index: 2; + color: var(--bs-list-group-active-color); + background-color: var(--bs-list-group-active-bg); + border-color: var(--bs-list-group-active-border-color); +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #084298; + background-color: #bacbe6; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.375rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 350px; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: rgba(255, 255, 255, 0.85); + --bs-toast-border-width: 1px; + --bs-toast-border-color: var(--bs-border-color-translucent); + --bs-toast-border-radius: 0.375rem; + --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-toast-header-color: #6c757d; + --bs-toast-header-bg: rgba(255, 255, 255, 0.85); + --bs-toast-header-border-color: rgba(0, 0, 0, 0.05); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 500px; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: #fff; + --bs-modal-border-color: var(--bs-border-color-translucent); + --bs-modal-border-width: 1px; + --bs-modal-border-radius: 0.5rem; + --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + --bs-modal-inner-border-radius: calc(0.5rem - 1px); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: 1rem 1rem; + --bs-modal-header-border-color: var(--bs-border-color); + --bs-modal-header-border-width: 1px; + --bs-modal-title-line-height: 1.5; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color); + --bs-modal-footer-border-width: 1px; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: #000; + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + } + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + .modal-sm { + --bs-modal-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header, +.modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header, + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header, + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header, + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header, + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header, + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } +} +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 200px; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: 0.875rem; + --bs-tooltip-color: #fff; + --bs-tooltip-bg: #000; + --bs-tooltip-border-radius: 0.375rem; + --bs-tooltip-opacity: 0.9; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + padding: var(--bs-tooltip-arrow-height); + margin: var(--bs-tooltip-margin); + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +/* rtl:end:ignore */ +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); +} + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 276px; + --bs-popover-font-size: 0.875rem; + --bs-popover-bg: #fff; + --bs-popover-border-width: 1px; + --bs-popover-border-color: var(--bs-border-color-translucent); + --bs-popover-border-radius: 0.5rem; + --bs-popover-inner-border-radius: calc(0.5rem - 1px); + --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + --bs-popover-header-padding-x: 1rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: 1rem; + --bs-popover-header-color: ; + --bs-popover-header-bg: #f0f0f0; + --bs-popover-body-padding-x: 1rem; + --bs-popover-body-padding-y: 1rem; + --bs-popover-body-color: #212529; + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-popover-font-size); + word-wrap: break-word; + background-color: var(--bs-popover-bg); + background-clip: padding-box; + border: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-radius: var(--bs-popover-border-radius); +} +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +/* rtl:end:ignore */ +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color); + border-top-left-radius: var(--bs-popover-inner-border-radius); + border-top-right-radius: var(--bs-popover-inner-border-radius); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x); + color: var(--bs-popover-body-color); +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +.spinner-grow, +.spinner-border { + display: inline-block; + width: var(--bs-spinner-width); + height: var(--bs-spinner-height); + vertical-align: var(--bs-spinner-vertical-align); + border-radius: 50%; + animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name); +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-border-width: 0.25em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; + --bs-spinner-border-width: 0.2em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + --bs-spinner-width: 2rem; + --bs-spinner-height: 2rem; + --bs-spinner-vertical-align: -0.125em; + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: 1rem; + --bs-spinner-height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} +.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 400px; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: ; + --bs-offcanvas-bg: #fff; + --bs-offcanvas-border-width: 1px; + --bs-offcanvas-border-color: var(--bs-border-color-translucent); + --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 575.98px) { + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 767.98px) { + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 991.98px) { + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 1199.98px) { + .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; + } +} +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } +} +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) { + transform: none; + } +} +@media (max-width: 1399.98px) { + .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show { + visibility: visible; + } +} +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xxl .offcanvas-header { + display: none; + } + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.text-bg-primary { + color: #fff !important; + background-color: RGBA(13, 110, 253, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-secondary { + color: #fff !important; + background-color: RGBA(108, 117, 125, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-success { + color: #fff !important; + background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-info { + color: #000 !important; + background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-warning { + color: #000 !important; + background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-danger { + color: #fff !important; + background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-light { + color: #000 !important; + background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important; +} + +.text-bg-dark { + color: #fff !important; + background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important; +} + +.link-primary { + color: #0d6efd !important; +} +.link-primary:hover, .link-primary:focus { + color: #0a58ca !important; +} + +.link-secondary { + color: #6c757d !important; +} +.link-secondary:hover, .link-secondary:focus { + color: #565e64 !important; +} + +.link-success { + color: #198754 !important; +} +.link-success:hover, .link-success:focus { + color: #146c43 !important; +} + +.link-info { + color: #0dcaf0 !important; +} +.link-info:hover, .link-info:focus { + color: #3dd5f3 !important; +} + +.link-warning { + color: #ffc107 !important; +} +.link-warning:hover, .link-warning:focus { + color: #ffcd39 !important; +} + +.link-danger { + color: #dc3545 !important; +} +.link-danger:hover, .link-danger:focus { + color: #b02a37 !important; +} + +.link-light { + color: #f8f9fa !important; +} +.link-light:hover, .link-light:focus { + color: #f9fafb !important; +} + +.link-dark { + color: #212529 !important; +} +.link-dark:hover, .link-dark:focus { + color: #1a1e21 !important; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-sm-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-md-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-lg-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } + .sticky-xxl-bottom { + position: sticky; + bottom: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important; +} + +.border-1 { + --bs-border-width: 1px; +} + +.border-2 { + --bs-border-width: 2px; +} + +.border-3 { + --bs-border-width: 3px; +} + +.border-4 { + --bs-border-width: 4px; +} + +.border-5 { + --bs-border-width: 5px; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-semibold { + font-weight: 600 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-2xl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + .float-sm-end { + float: right !important; + } + .float-sm-none { + float: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-grid { + display: grid !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: flex !important; + } + .d-sm-inline-flex { + display: inline-flex !important; + } + .d-sm-none { + display: none !important; + } + .flex-sm-fill { + flex: 1 1 auto !important; + } + .flex-sm-row { + flex-direction: row !important; + } + .flex-sm-column { + flex-direction: column !important; + } + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + .flex-sm-wrap { + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + justify-content: flex-start !important; + } + .justify-content-sm-end { + justify-content: flex-end !important; + } + .justify-content-sm-center { + justify-content: center !important; + } + .justify-content-sm-between { + justify-content: space-between !important; + } + .justify-content-sm-around { + justify-content: space-around !important; + } + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + .align-items-sm-start { + align-items: flex-start !important; + } + .align-items-sm-end { + align-items: flex-end !important; + } + .align-items-sm-center { + align-items: center !important; + } + .align-items-sm-baseline { + align-items: baseline !important; + } + .align-items-sm-stretch { + align-items: stretch !important; + } + .align-content-sm-start { + align-content: flex-start !important; + } + .align-content-sm-end { + align-content: flex-end !important; + } + .align-content-sm-center { + align-content: center !important; + } + .align-content-sm-between { + align-content: space-between !important; + } + .align-content-sm-around { + align-content: space-around !important; + } + .align-content-sm-stretch { + align-content: stretch !important; + } + .align-self-sm-auto { + align-self: auto !important; + } + .align-self-sm-start { + align-self: flex-start !important; + } + .align-self-sm-end { + align-self: flex-end !important; + } + .align-self-sm-center { + align-self: center !important; + } + .align-self-sm-baseline { + align-self: baseline !important; + } + .align-self-sm-stretch { + align-self: stretch !important; + } + .order-sm-first { + order: -1 !important; + } + .order-sm-0 { + order: 0 !important; + } + .order-sm-1 { + order: 1 !important; + } + .order-sm-2 { + order: 2 !important; + } + .order-sm-3 { + order: 3 !important; + } + .order-sm-4 { + order: 4 !important; + } + .order-sm-5 { + order: 5 !important; + } + .order-sm-last { + order: 6 !important; + } + .m-sm-0 { + margin: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-sm-0 { + margin-top: 0 !important; + } + .mt-sm-1 { + margin-top: 0.25rem !important; + } + .mt-sm-2 { + margin-top: 0.5rem !important; + } + .mt-sm-3 { + margin-top: 1rem !important; + } + .mt-sm-4 { + margin-top: 1.5rem !important; + } + .mt-sm-5 { + margin-top: 3rem !important; + } + .mt-sm-auto { + margin-top: auto !important; + } + .me-sm-0 { + margin-right: 0 !important; + } + .me-sm-1 { + margin-right: 0.25rem !important; + } + .me-sm-2 { + margin-right: 0.5rem !important; + } + .me-sm-3 { + margin-right: 1rem !important; + } + .me-sm-4 { + margin-right: 1.5rem !important; + } + .me-sm-5 { + margin-right: 3rem !important; + } + .me-sm-auto { + margin-right: auto !important; + } + .mb-sm-0 { + margin-bottom: 0 !important; + } + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + .mb-sm-3 { + margin-bottom: 1rem !important; + } + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + .mb-sm-5 { + margin-bottom: 3rem !important; + } + .mb-sm-auto { + margin-bottom: auto !important; + } + .ms-sm-0 { + margin-left: 0 !important; + } + .ms-sm-1 { + margin-left: 0.25rem !important; + } + .ms-sm-2 { + margin-left: 0.5rem !important; + } + .ms-sm-3 { + margin-left: 1rem !important; + } + .ms-sm-4 { + margin-left: 1.5rem !important; + } + .ms-sm-5 { + margin-left: 3rem !important; + } + .ms-sm-auto { + margin-left: auto !important; + } + .p-sm-0 { + padding: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-sm-0 { + padding-top: 0 !important; + } + .pt-sm-1 { + padding-top: 0.25rem !important; + } + .pt-sm-2 { + padding-top: 0.5rem !important; + } + .pt-sm-3 { + padding-top: 1rem !important; + } + .pt-sm-4 { + padding-top: 1.5rem !important; + } + .pt-sm-5 { + padding-top: 3rem !important; + } + .pe-sm-0 { + padding-right: 0 !important; + } + .pe-sm-1 { + padding-right: 0.25rem !important; + } + .pe-sm-2 { + padding-right: 0.5rem !important; + } + .pe-sm-3 { + padding-right: 1rem !important; + } + .pe-sm-4 { + padding-right: 1.5rem !important; + } + .pe-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-0 { + padding-bottom: 0 !important; + } + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + .pb-sm-3 { + padding-bottom: 1rem !important; + } + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + .pb-sm-5 { + padding-bottom: 3rem !important; + } + .ps-sm-0 { + padding-left: 0 !important; + } + .ps-sm-1 { + padding-left: 0.25rem !important; + } + .ps-sm-2 { + padding-left: 0.5rem !important; + } + .ps-sm-3 { + padding-left: 1rem !important; + } + .ps-sm-4 { + padding-left: 1.5rem !important; + } + .ps-sm-5 { + padding-left: 3rem !important; + } + .gap-sm-0 { + gap: 0 !important; + } + .gap-sm-1 { + gap: 0.25rem !important; + } + .gap-sm-2 { + gap: 0.5rem !important; + } + .gap-sm-3 { + gap: 1rem !important; + } + .gap-sm-4 { + gap: 1.5rem !important; + } + .gap-sm-5 { + gap: 3rem !important; + } + .text-sm-start { + text-align: left !important; + } + .text-sm-end { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + .float-md-end { + float: right !important; + } + .float-md-none { + float: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-grid { + display: grid !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: flex !important; + } + .d-md-inline-flex { + display: inline-flex !important; + } + .d-md-none { + display: none !important; + } + .flex-md-fill { + flex: 1 1 auto !important; + } + .flex-md-row { + flex-direction: row !important; + } + .flex-md-column { + flex-direction: column !important; + } + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + .flex-md-grow-0 { + flex-grow: 0 !important; + } + .flex-md-grow-1 { + flex-grow: 1 !important; + } + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + .flex-md-wrap { + flex-wrap: wrap !important; + } + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + justify-content: flex-start !important; + } + .justify-content-md-end { + justify-content: flex-end !important; + } + .justify-content-md-center { + justify-content: center !important; + } + .justify-content-md-between { + justify-content: space-between !important; + } + .justify-content-md-around { + justify-content: space-around !important; + } + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + .align-items-md-start { + align-items: flex-start !important; + } + .align-items-md-end { + align-items: flex-end !important; + } + .align-items-md-center { + align-items: center !important; + } + .align-items-md-baseline { + align-items: baseline !important; + } + .align-items-md-stretch { + align-items: stretch !important; + } + .align-content-md-start { + align-content: flex-start !important; + } + .align-content-md-end { + align-content: flex-end !important; + } + .align-content-md-center { + align-content: center !important; + } + .align-content-md-between { + align-content: space-between !important; + } + .align-content-md-around { + align-content: space-around !important; + } + .align-content-md-stretch { + align-content: stretch !important; + } + .align-self-md-auto { + align-self: auto !important; + } + .align-self-md-start { + align-self: flex-start !important; + } + .align-self-md-end { + align-self: flex-end !important; + } + .align-self-md-center { + align-self: center !important; + } + .align-self-md-baseline { + align-self: baseline !important; + } + .align-self-md-stretch { + align-self: stretch !important; + } + .order-md-first { + order: -1 !important; + } + .order-md-0 { + order: 0 !important; + } + .order-md-1 { + order: 1 !important; + } + .order-md-2 { + order: 2 !important; + } + .order-md-3 { + order: 3 !important; + } + .order-md-4 { + order: 4 !important; + } + .order-md-5 { + order: 5 !important; + } + .order-md-last { + order: 6 !important; + } + .m-md-0 { + margin: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-md-0 { + margin-top: 0 !important; + } + .mt-md-1 { + margin-top: 0.25rem !important; + } + .mt-md-2 { + margin-top: 0.5rem !important; + } + .mt-md-3 { + margin-top: 1rem !important; + } + .mt-md-4 { + margin-top: 1.5rem !important; + } + .mt-md-5 { + margin-top: 3rem !important; + } + .mt-md-auto { + margin-top: auto !important; + } + .me-md-0 { + margin-right: 0 !important; + } + .me-md-1 { + margin-right: 0.25rem !important; + } + .me-md-2 { + margin-right: 0.5rem !important; + } + .me-md-3 { + margin-right: 1rem !important; + } + .me-md-4 { + margin-right: 1.5rem !important; + } + .me-md-5 { + margin-right: 3rem !important; + } + .me-md-auto { + margin-right: auto !important; + } + .mb-md-0 { + margin-bottom: 0 !important; + } + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + .mb-md-3 { + margin-bottom: 1rem !important; + } + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + .mb-md-5 { + margin-bottom: 3rem !important; + } + .mb-md-auto { + margin-bottom: auto !important; + } + .ms-md-0 { + margin-left: 0 !important; + } + .ms-md-1 { + margin-left: 0.25rem !important; + } + .ms-md-2 { + margin-left: 0.5rem !important; + } + .ms-md-3 { + margin-left: 1rem !important; + } + .ms-md-4 { + margin-left: 1.5rem !important; + } + .ms-md-5 { + margin-left: 3rem !important; + } + .ms-md-auto { + margin-left: auto !important; + } + .p-md-0 { + padding: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-md-0 { + padding-top: 0 !important; + } + .pt-md-1 { + padding-top: 0.25rem !important; + } + .pt-md-2 { + padding-top: 0.5rem !important; + } + .pt-md-3 { + padding-top: 1rem !important; + } + .pt-md-4 { + padding-top: 1.5rem !important; + } + .pt-md-5 { + padding-top: 3rem !important; + } + .pe-md-0 { + padding-right: 0 !important; + } + .pe-md-1 { + padding-right: 0.25rem !important; + } + .pe-md-2 { + padding-right: 0.5rem !important; + } + .pe-md-3 { + padding-right: 1rem !important; + } + .pe-md-4 { + padding-right: 1.5rem !important; + } + .pe-md-5 { + padding-right: 3rem !important; + } + .pb-md-0 { + padding-bottom: 0 !important; + } + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + .pb-md-3 { + padding-bottom: 1rem !important; + } + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + .pb-md-5 { + padding-bottom: 3rem !important; + } + .ps-md-0 { + padding-left: 0 !important; + } + .ps-md-1 { + padding-left: 0.25rem !important; + } + .ps-md-2 { + padding-left: 0.5rem !important; + } + .ps-md-3 { + padding-left: 1rem !important; + } + .ps-md-4 { + padding-left: 1.5rem !important; + } + .ps-md-5 { + padding-left: 3rem !important; + } + .gap-md-0 { + gap: 0 !important; + } + .gap-md-1 { + gap: 0.25rem !important; + } + .gap-md-2 { + gap: 0.5rem !important; + } + .gap-md-3 { + gap: 1rem !important; + } + .gap-md-4 { + gap: 1.5rem !important; + } + .gap-md-5 { + gap: 3rem !important; + } + .text-md-start { + text-align: left !important; + } + .text-md-end { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + .float-lg-end { + float: right !important; + } + .float-lg-none { + float: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-grid { + display: grid !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: flex !important; + } + .d-lg-inline-flex { + display: inline-flex !important; + } + .d-lg-none { + display: none !important; + } + .flex-lg-fill { + flex: 1 1 auto !important; + } + .flex-lg-row { + flex-direction: row !important; + } + .flex-lg-column { + flex-direction: column !important; + } + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + .flex-lg-wrap { + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + justify-content: flex-start !important; + } + .justify-content-lg-end { + justify-content: flex-end !important; + } + .justify-content-lg-center { + justify-content: center !important; + } + .justify-content-lg-between { + justify-content: space-between !important; + } + .justify-content-lg-around { + justify-content: space-around !important; + } + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + .align-items-lg-start { + align-items: flex-start !important; + } + .align-items-lg-end { + align-items: flex-end !important; + } + .align-items-lg-center { + align-items: center !important; + } + .align-items-lg-baseline { + align-items: baseline !important; + } + .align-items-lg-stretch { + align-items: stretch !important; + } + .align-content-lg-start { + align-content: flex-start !important; + } + .align-content-lg-end { + align-content: flex-end !important; + } + .align-content-lg-center { + align-content: center !important; + } + .align-content-lg-between { + align-content: space-between !important; + } + .align-content-lg-around { + align-content: space-around !important; + } + .align-content-lg-stretch { + align-content: stretch !important; + } + .align-self-lg-auto { + align-self: auto !important; + } + .align-self-lg-start { + align-self: flex-start !important; + } + .align-self-lg-end { + align-self: flex-end !important; + } + .align-self-lg-center { + align-self: center !important; + } + .align-self-lg-baseline { + align-self: baseline !important; + } + .align-self-lg-stretch { + align-self: stretch !important; + } + .order-lg-first { + order: -1 !important; + } + .order-lg-0 { + order: 0 !important; + } + .order-lg-1 { + order: 1 !important; + } + .order-lg-2 { + order: 2 !important; + } + .order-lg-3 { + order: 3 !important; + } + .order-lg-4 { + order: 4 !important; + } + .order-lg-5 { + order: 5 !important; + } + .order-lg-last { + order: 6 !important; + } + .m-lg-0 { + margin: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-lg-0 { + margin-top: 0 !important; + } + .mt-lg-1 { + margin-top: 0.25rem !important; + } + .mt-lg-2 { + margin-top: 0.5rem !important; + } + .mt-lg-3 { + margin-top: 1rem !important; + } + .mt-lg-4 { + margin-top: 1.5rem !important; + } + .mt-lg-5 { + margin-top: 3rem !important; + } + .mt-lg-auto { + margin-top: auto !important; + } + .me-lg-0 { + margin-right: 0 !important; + } + .me-lg-1 { + margin-right: 0.25rem !important; + } + .me-lg-2 { + margin-right: 0.5rem !important; + } + .me-lg-3 { + margin-right: 1rem !important; + } + .me-lg-4 { + margin-right: 1.5rem !important; + } + .me-lg-5 { + margin-right: 3rem !important; + } + .me-lg-auto { + margin-right: auto !important; + } + .mb-lg-0 { + margin-bottom: 0 !important; + } + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + .mb-lg-3 { + margin-bottom: 1rem !important; + } + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + .mb-lg-5 { + margin-bottom: 3rem !important; + } + .mb-lg-auto { + margin-bottom: auto !important; + } + .ms-lg-0 { + margin-left: 0 !important; + } + .ms-lg-1 { + margin-left: 0.25rem !important; + } + .ms-lg-2 { + margin-left: 0.5rem !important; + } + .ms-lg-3 { + margin-left: 1rem !important; + } + .ms-lg-4 { + margin-left: 1.5rem !important; + } + .ms-lg-5 { + margin-left: 3rem !important; + } + .ms-lg-auto { + margin-left: auto !important; + } + .p-lg-0 { + padding: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-lg-0 { + padding-top: 0 !important; + } + .pt-lg-1 { + padding-top: 0.25rem !important; + } + .pt-lg-2 { + padding-top: 0.5rem !important; + } + .pt-lg-3 { + padding-top: 1rem !important; + } + .pt-lg-4 { + padding-top: 1.5rem !important; + } + .pt-lg-5 { + padding-top: 3rem !important; + } + .pe-lg-0 { + padding-right: 0 !important; + } + .pe-lg-1 { + padding-right: 0.25rem !important; + } + .pe-lg-2 { + padding-right: 0.5rem !important; + } + .pe-lg-3 { + padding-right: 1rem !important; + } + .pe-lg-4 { + padding-right: 1.5rem !important; + } + .pe-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-0 { + padding-bottom: 0 !important; + } + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + .pb-lg-3 { + padding-bottom: 1rem !important; + } + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + .pb-lg-5 { + padding-bottom: 3rem !important; + } + .ps-lg-0 { + padding-left: 0 !important; + } + .ps-lg-1 { + padding-left: 0.25rem !important; + } + .ps-lg-2 { + padding-left: 0.5rem !important; + } + .ps-lg-3 { + padding-left: 1rem !important; + } + .ps-lg-4 { + padding-left: 1.5rem !important; + } + .ps-lg-5 { + padding-left: 3rem !important; + } + .gap-lg-0 { + gap: 0 !important; + } + .gap-lg-1 { + gap: 0.25rem !important; + } + .gap-lg-2 { + gap: 0.5rem !important; + } + .gap-lg-3 { + gap: 1rem !important; + } + .gap-lg-4 { + gap: 1.5rem !important; + } + .gap-lg-5 { + gap: 3rem !important; + } + .text-lg-start { + text-align: left !important; + } + .text-lg-end { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + .float-xl-end { + float: right !important; + } + .float-xl-none { + float: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-grid { + display: grid !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: flex !important; + } + .d-xl-inline-flex { + display: inline-flex !important; + } + .d-xl-none { + display: none !important; + } + .flex-xl-fill { + flex: 1 1 auto !important; + } + .flex-xl-row { + flex-direction: row !important; + } + .flex-xl-column { + flex-direction: column !important; + } + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xl-wrap { + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + justify-content: flex-start !important; + } + .justify-content-xl-end { + justify-content: flex-end !important; + } + .justify-content-xl-center { + justify-content: center !important; + } + .justify-content-xl-between { + justify-content: space-between !important; + } + .justify-content-xl-around { + justify-content: space-around !important; + } + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + .align-items-xl-start { + align-items: flex-start !important; + } + .align-items-xl-end { + align-items: flex-end !important; + } + .align-items-xl-center { + align-items: center !important; + } + .align-items-xl-baseline { + align-items: baseline !important; + } + .align-items-xl-stretch { + align-items: stretch !important; + } + .align-content-xl-start { + align-content: flex-start !important; + } + .align-content-xl-end { + align-content: flex-end !important; + } + .align-content-xl-center { + align-content: center !important; + } + .align-content-xl-between { + align-content: space-between !important; + } + .align-content-xl-around { + align-content: space-around !important; + } + .align-content-xl-stretch { + align-content: stretch !important; + } + .align-self-xl-auto { + align-self: auto !important; + } + .align-self-xl-start { + align-self: flex-start !important; + } + .align-self-xl-end { + align-self: flex-end !important; + } + .align-self-xl-center { + align-self: center !important; + } + .align-self-xl-baseline { + align-self: baseline !important; + } + .align-self-xl-stretch { + align-self: stretch !important; + } + .order-xl-first { + order: -1 !important; + } + .order-xl-0 { + order: 0 !important; + } + .order-xl-1 { + order: 1 !important; + } + .order-xl-2 { + order: 2 !important; + } + .order-xl-3 { + order: 3 !important; + } + .order-xl-4 { + order: 4 !important; + } + .order-xl-5 { + order: 5 !important; + } + .order-xl-last { + order: 6 !important; + } + .m-xl-0 { + margin: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xl-0 { + margin-top: 0 !important; + } + .mt-xl-1 { + margin-top: 0.25rem !important; + } + .mt-xl-2 { + margin-top: 0.5rem !important; + } + .mt-xl-3 { + margin-top: 1rem !important; + } + .mt-xl-4 { + margin-top: 1.5rem !important; + } + .mt-xl-5 { + margin-top: 3rem !important; + } + .mt-xl-auto { + margin-top: auto !important; + } + .me-xl-0 { + margin-right: 0 !important; + } + .me-xl-1 { + margin-right: 0.25rem !important; + } + .me-xl-2 { + margin-right: 0.5rem !important; + } + .me-xl-3 { + margin-right: 1rem !important; + } + .me-xl-4 { + margin-right: 1.5rem !important; + } + .me-xl-5 { + margin-right: 3rem !important; + } + .me-xl-auto { + margin-right: auto !important; + } + .mb-xl-0 { + margin-bottom: 0 !important; + } + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xl-3 { + margin-bottom: 1rem !important; + } + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xl-5 { + margin-bottom: 3rem !important; + } + .mb-xl-auto { + margin-bottom: auto !important; + } + .ms-xl-0 { + margin-left: 0 !important; + } + .ms-xl-1 { + margin-left: 0.25rem !important; + } + .ms-xl-2 { + margin-left: 0.5rem !important; + } + .ms-xl-3 { + margin-left: 1rem !important; + } + .ms-xl-4 { + margin-left: 1.5rem !important; + } + .ms-xl-5 { + margin-left: 3rem !important; + } + .ms-xl-auto { + margin-left: auto !important; + } + .p-xl-0 { + padding: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xl-0 { + padding-top: 0 !important; + } + .pt-xl-1 { + padding-top: 0.25rem !important; + } + .pt-xl-2 { + padding-top: 0.5rem !important; + } + .pt-xl-3 { + padding-top: 1rem !important; + } + .pt-xl-4 { + padding-top: 1.5rem !important; + } + .pt-xl-5 { + padding-top: 3rem !important; + } + .pe-xl-0 { + padding-right: 0 !important; + } + .pe-xl-1 { + padding-right: 0.25rem !important; + } + .pe-xl-2 { + padding-right: 0.5rem !important; + } + .pe-xl-3 { + padding-right: 1rem !important; + } + .pe-xl-4 { + padding-right: 1.5rem !important; + } + .pe-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-0 { + padding-bottom: 0 !important; + } + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xl-3 { + padding-bottom: 1rem !important; + } + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xl-5 { + padding-bottom: 3rem !important; + } + .ps-xl-0 { + padding-left: 0 !important; + } + .ps-xl-1 { + padding-left: 0.25rem !important; + } + .ps-xl-2 { + padding-left: 0.5rem !important; + } + .ps-xl-3 { + padding-left: 1rem !important; + } + .ps-xl-4 { + padding-left: 1.5rem !important; + } + .ps-xl-5 { + padding-left: 3rem !important; + } + .gap-xl-0 { + gap: 0 !important; + } + .gap-xl-1 { + gap: 0.25rem !important; + } + .gap-xl-2 { + gap: 0.5rem !important; + } + .gap-xl-3 { + gap: 1rem !important; + } + .gap-xl-4 { + gap: 1.5rem !important; + } + .gap-xl-5 { + gap: 3rem !important; + } + .text-xl-start { + text-align: left !important; + } + .text-xl-end { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + .float-xxl-end { + float: right !important; + } + .float-xxl-none { + float: none !important; + } + .d-xxl-inline { + display: inline !important; + } + .d-xxl-inline-block { + display: inline-block !important; + } + .d-xxl-block { + display: block !important; + } + .d-xxl-grid { + display: grid !important; + } + .d-xxl-table { + display: table !important; + } + .d-xxl-table-row { + display: table-row !important; + } + .d-xxl-table-cell { + display: table-cell !important; + } + .d-xxl-flex { + display: flex !important; + } + .d-xxl-inline-flex { + display: inline-flex !important; + } + .d-xxl-none { + display: none !important; + } + .flex-xxl-fill { + flex: 1 1 auto !important; + } + .flex-xxl-row { + flex-direction: row !important; + } + .flex-xxl-column { + flex-direction: column !important; + } + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + .justify-content-xxl-start { + justify-content: flex-start !important; + } + .justify-content-xxl-end { + justify-content: flex-end !important; + } + .justify-content-xxl-center { + justify-content: center !important; + } + .justify-content-xxl-between { + justify-content: space-between !important; + } + .justify-content-xxl-around { + justify-content: space-around !important; + } + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + .align-items-xxl-start { + align-items: flex-start !important; + } + .align-items-xxl-end { + align-items: flex-end !important; + } + .align-items-xxl-center { + align-items: center !important; + } + .align-items-xxl-baseline { + align-items: baseline !important; + } + .align-items-xxl-stretch { + align-items: stretch !important; + } + .align-content-xxl-start { + align-content: flex-start !important; + } + .align-content-xxl-end { + align-content: flex-end !important; + } + .align-content-xxl-center { + align-content: center !important; + } + .align-content-xxl-between { + align-content: space-between !important; + } + .align-content-xxl-around { + align-content: space-around !important; + } + .align-content-xxl-stretch { + align-content: stretch !important; + } + .align-self-xxl-auto { + align-self: auto !important; + } + .align-self-xxl-start { + align-self: flex-start !important; + } + .align-self-xxl-end { + align-self: flex-end !important; + } + .align-self-xxl-center { + align-self: center !important; + } + .align-self-xxl-baseline { + align-self: baseline !important; + } + .align-self-xxl-stretch { + align-self: stretch !important; + } + .order-xxl-first { + order: -1 !important; + } + .order-xxl-0 { + order: 0 !important; + } + .order-xxl-1 { + order: 1 !important; + } + .order-xxl-2 { + order: 2 !important; + } + .order-xxl-3 { + order: 3 !important; + } + .order-xxl-4 { + order: 4 !important; + } + .order-xxl-5 { + order: 5 !important; + } + .order-xxl-last { + order: 6 !important; + } + .m-xxl-0 { + margin: 0 !important; + } + .m-xxl-1 { + margin: 0.25rem !important; + } + .m-xxl-2 { + margin: 0.5rem !important; + } + .m-xxl-3 { + margin: 1rem !important; + } + .m-xxl-4 { + margin: 1.5rem !important; + } + .m-xxl-5 { + margin: 3rem !important; + } + .m-xxl-auto { + margin: auto !important; + } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + .mt-xxl-0 { + margin-top: 0 !important; + } + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + .mt-xxl-3 { + margin-top: 1rem !important; + } + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + .mt-xxl-5 { + margin-top: 3rem !important; + } + .mt-xxl-auto { + margin-top: auto !important; + } + .me-xxl-0 { + margin-right: 0 !important; + } + .me-xxl-1 { + margin-right: 0.25rem !important; + } + .me-xxl-2 { + margin-right: 0.5rem !important; + } + .me-xxl-3 { + margin-right: 1rem !important; + } + .me-xxl-4 { + margin-right: 1.5rem !important; + } + .me-xxl-5 { + margin-right: 3rem !important; + } + .me-xxl-auto { + margin-right: auto !important; + } + .mb-xxl-0 { + margin-bottom: 0 !important; + } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + .mb-xxl-auto { + margin-bottom: auto !important; + } + .ms-xxl-0 { + margin-left: 0 !important; + } + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + .ms-xxl-3 { + margin-left: 1rem !important; + } + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + .ms-xxl-5 { + margin-left: 3rem !important; + } + .ms-xxl-auto { + margin-left: auto !important; + } + .p-xxl-0 { + padding: 0 !important; + } + .p-xxl-1 { + padding: 0.25rem !important; + } + .p-xxl-2 { + padding: 0.5rem !important; + } + .p-xxl-3 { + padding: 1rem !important; + } + .p-xxl-4 { + padding: 1.5rem !important; + } + .p-xxl-5 { + padding: 3rem !important; + } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + .pt-xxl-0 { + padding-top: 0 !important; + } + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + .pt-xxl-3 { + padding-top: 1rem !important; + } + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + .pt-xxl-5 { + padding-top: 3rem !important; + } + .pe-xxl-0 { + padding-right: 0 !important; + } + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + .pe-xxl-3 { + padding-right: 1rem !important; + } + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + .pe-xxl-5 { + padding-right: 3rem !important; + } + .pb-xxl-0 { + padding-bottom: 0 !important; + } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + .ps-xxl-0 { + padding-left: 0 !important; + } + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + .ps-xxl-3 { + padding-left: 1rem !important; + } + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + .ps-xxl-5 { + padding-left: 3rem !important; + } + .gap-xxl-0 { + gap: 0 !important; + } + .gap-xxl-1 { + gap: 0.25rem !important; + } + .gap-xxl-2 { + gap: 0.5rem !important; + } + .gap-xxl-3 { + gap: 1rem !important; + } + .gap-xxl-4 { + gap: 1.5rem !important; + } + .gap-xxl-5 { + gap: 3rem !important; + } + .text-xxl-start { + text-align: left !important; + } + .text-xxl-end { + text-align: right !important; + } + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + .fs-2 { + font-size: 2rem !important; + } + .fs-3 { + font-size: 1.75rem !important; + } + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + .d-print-inline-block { + display: inline-block !important; + } + .d-print-block { + display: block !important; + } + .d-print-grid { + display: grid !important; + } + .d-print-table { + display: table !important; + } + .d-print-table-row { + display: table-row !important; + } + .d-print-table-cell { + display: table-cell !important; + } + .d-print-flex { + display: flex !important; + } + .d-print-inline-flex { + display: inline-flex !important; + } + .d-print-none { + display: none !important; + } +} +.features-icons { + padding-top: 7rem; + padding-bottom: 7rem; +} +.features-icons .features-icons-item { + max-width: 20rem; +} +.features-icons .features-icons-item .features-icons-icon { + height: 7rem; +} +.features-icons .features-icons-item .features-icons-icon i { + font-size: 4.5rem; +} + +header.masthead { + position: relative; + background-color: #343a40; + background: url("../assets/img/bg-masthead.png") no-repeat center center; + background-size: cover; + padding-top: 8rem; + padding-bottom: 8rem; +} +header.masthead:before { + content: ""; + position: absolute; + background-color: #1c375e; + height: 100%; + width: 100%; + top: 0; + left: 0; + opacity: 0.1; +} +header.masthead h1, header.masthead .h1 { + font-size: 2rem; +} +@media (min-width: 768px) { + header.masthead { + padding-top: 12rem; + padding-bottom: 12rem; + } + header.masthead h1, header.masthead .h1 { + font-size: 3rem; + } +} + +.showcase .showcase-text { + padding: 3rem; +} +.showcase .showcase-img { + min-height: 30rem; + background-size: cover; +} +@media (min-width: 768px) { + .showcase .showcase-text { + padding: 7rem; + } +} + +.testimonials { + padding-top: 7rem; + padding-bottom: 7rem; +} +.testimonials .testimonial-item { + max-width: 18rem; +} +.testimonials .testimonial-item img { + max-width: 12rem; + box-shadow: 0px 5px 5px 0px #adb5bd; +} + +.call-to-action { + position: relative; + background-color: #343a40; + background: url("../assets/img/bg-masthead.png") no-repeat center center; + background-size: cover; + padding-top: 7rem; + padding-bottom: 7rem; +} +.call-to-action:before { + content: ""; + position: absolute; + background-color: #1c375e; + height: 100%; + width: 100%; + top: 0; + left: 0; + opacity: 0.5; +} + +footer.footer { + padding-top: 4rem; + padding-bottom: 4rem; +} \ No newline at end of file diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 202d3b35f..105f23e9c 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -1,136 +1,125 @@ <!DOCTYPE html> <html lang="en"> <head> - <title>Malcolm</title> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <link href="assets/css/bootstrap.min.css" rel="stylesheet"> - <script src="assets/js/bootstrap.bundle.min.js"></script> - <style> - .imgcenter { - width: 50%; - } - .center { - display: block; - margin-left: auto; - margin-right: auto; - } - .card { - /* position: relative; */ - width: 50%; - } - .image { - opacity: 1; - display: block; - width: 100%; - height: auto; - transition: .5s ease; - backface-visibility: hidden; - } - - .middle { - transition: .5s ease; - opacity: 0; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - text-align: center; - } - - .card:hover .image { - opacity: 0.3; - } - - .card:hover .middle { - opacity: 1; - } - </style> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> + <meta name="description" content="" /> + <meta name="author" content="" /> + <title>Landing Page - Start Bootstrap Theme</title> + <!-- Favicon--> + <link rel="icon" type="image/x-icon" href="assets/favicon.ico" /> + <!-- Bootstrap icons--> + <link href="css/bootstrap-icons.css" rel="stylesheet" type="text/css" /> + <!-- Google fonts--> + <link href="css/google-fonts.css" rel="stylesheet" type="text/css" /> + <!-- Core theme CSS (includes Bootstrap)--> + <link href="css/styles.css" rel="stylesheet" /> </head> - - <body class="bg-dark"> - <br /> - <div> - <img class="imgcenter center" src="readme/docs/images/logo/Malcolm_outline_banner_dark.png"> - </div> - - <br /> - - <!-- Internal Links --> - <div class="container"> - <h3 style="color:white">Internal Links</h3> - <div class="card-group"> - <div class="card bg-dark"> - <img src="assets/imgs/Arkime_Logo_FullGradientWhite_Square.png" alt="Arkime" class="image" style="width:100%"> - <div class="middle"> - <a href="/arkime/" class="btn btn-primary" target="_blank">Arkime</a> + <body> + <!-- Navigation--> + <nav class="navbar navbar-light bg-light static-top"> + <div class="container"/> + </nav> + <!-- Masthead--> + <header class="masthead"> + <div class="container position-relative"> + <div class="row justify-content-center"> + <div class="col-xl-6"> + <div class="text-center text-white"> + <!-- Page heading--> + <h1 class="mb-5"/> + </div> </div> </div> - <div class="card bg-dark"> - <img src="assets/imgs/upload.svg" alt="Upload" class="image" style="width:100%;filter: invert(1)"> - <div class="middle"> - <a href="/upload/" class="btn btn-primary" target="_blank">Upload</a> + </div> + </header> + <!-- Icons Grid--> + <section class="features-icons bg-light text-center"> + <div class="container"> + <div class="row"> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-0 mb-lg-3"> + <a href="/dashboards/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/opensearch_mark_default.svg"/> + <h3>Dashboards</h3></a> + <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of pre-built dashboards, or create your own</p> + </div> </div> - </div> - <div class="card bg-dark"> - <img src="assets/imgs/help-square-rounded.svg" alt="ReadMe" class="image" style="width:100%;filter: invert(1)"> - <div class="middle"> - <a href="/readme/" class="btn btn-primary" target="_blank">ReadMe</a> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-5 mb-lg-3"> + <a href="/arkime/"><img style='width: 19%; height: 19%; object-fit: contain' src="assets/img/Arkime_Logo_FullGradientBlack.svg#svgView(viewBox(0, 8, 80, 145))"/> + <h3>Arkime</h3></a> + <p class="lead mb-0">Delve into session details including full packet payloads</p> + </div> </div> - </div> - <div class="card bg-dark"> - <img src="assets/imgs/opensearch_mark_darkmode.svg" alt="Opensearch" class="image" style="width:100%"> - <div class="middle"> - <a href="/dashboards/" class="btn btn-primary" target="_blank">Dashboards</a> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-0 mb-lg-3"> + <a href="/netbox/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/netbox_icon.svg"/> + <h3>NetBox</h3></a> + <p class="lead mb-0">Model and document your network infrastructure</p> + </div> </div> - </div> - </div> - <div class="card-group"> - <div class="card bg-dark"> - <img src="assets/imgs/netbox_icon.svg" alt="NetBox" class="image" style="width:100%"> - <div class="middle"> - <a href="/netbox/" class="btn btn-primary" target="_blank">NetBox</a> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-0 mb-lg-3"> + <a href="/arkime/cyberchef/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/cyberchef.svg"/> + <h3>CyberChef</h3></a> + <p class="lead mb-0">Slice and dice data with this web app for encryption, encoding, compression and data analysis</p> + </div> </div> </div> - <div class="card bg-dark"> - <img src="assets/imgs/users-group.svg" alt="Auth" class="image" style="width:100%;filter: invert(1)"> - <div class="middle"> - <a href="/auth/" class="btn btn-primary" target="_blank">Local Account Management</a> - </div> - </div> - <div class="card bg-dark"> - <img src="assets/imgs/cyberchef.svg" alt="Auth" class="image" style="width:100%"> - <div class="middle"> - <a href="/arkime/cyberchef/" class="btn btn-primary" target="_blank">CyberChef</a> - </div> - </div> - <div class="card bg-dark"> - <img src="assets/imgs/api.svg" alt="API" class="image" style="width:100%;filter: invert(1)"> - <div class="middle"> - <a href="/mapi/" class="btn btn-primary" target="_blank">API</a> - </div> + <div class="row"> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3"> + <a href="/readme/"><div class="features-icons-icon d-flex"><i class="bi-journal-richtext m-auto text-primary"></i></div> + <h3>Documentation</h3></a> + <p class="lead mb-0">Read the Malcolm user guide</p> + </div> + </div> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3"> + <a href="/upload/"><div class="features-icons-icon d-flex"><i class="bi-upload m-auto text-primary"></i></div> + <h3>Artifact Upload</h3></a> + <p class="lead mb-0">Upload previously-captured PCAP files or archived Zeek logs for analysis</p> + </div> + </div> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3"> + <a href="/auth/"><div class="features-icons-icon d-flex"><i class="bi-person m-auto text-primary"></i></div> + <h3>Local Account Management</h3></a> + <p class="lead mb-0">Manage the local user accounts maintained by Malcolm</p> + </div> + </div> + <div class="col-lg-3"> + <div class="features-icons-item mx-auto mb-0 mb-lg-3"> + <a href="/mapi/"><div class="features-icons-icon d-flex"><i class="bi-gear m-auto text-primary"></i></div> + <h3>API</h3></a> + <p class="lead mb-0">Interface with Malcolm's underlying data via a REST API</p> + </div> + </div> </div> </div> - </div> - <br /> - - <div class="container"> - <h3 style="color:white">External Links</h3> - <div class="card-group"> - <div class="card bg-dark"> - <img src="assets/imgs/GitHub-Mark-Light-120px-plus.png" alt="Auth" class="image" style="width:100%"> - <div class="middle"> - <a href="https://github.com/idaholab/Malcolm" class="btn btn-primary" target="_blank">GitHub</a> - </div> - </div> - <div class="card bg-dark"> - </div> - <div class="card bg-dark"> - </div> - <div class="card bg-dark"> + </section> + <!-- Footer--> + <footer class="footer bg-light"> + <div class="container"> + <div class="row"> + <div class="col-lg-6 h-100 text-center text-lg-start my-auto"> + <p class="text-muted small mb-4 mb-lg-0"> + © 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the + Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p> + </div> + <div class="col-lg-6 h-100 text-center text-lg-end my-auto"> + <ul class="list-inline mb-0"> + <li class="list-inline-item"> + <a href="https://github.com/idaholab/Malcolm"><i class="bi-github fs-3"></i></a> + </li> + </ul> + </div> </div> </div> - </div> + </footer> + <!-- Bootstrap core JS--> + <script src="js/bootstrap.bundle.min.js"></script> + <!-- Core theme JS--> + <script src="js/scripts.js"></script> </body> -</html> \ No newline at end of file +</html> diff --git a/nginx/landingpage/js/bootstrap.bundle.min.js b/nginx/landingpage/js/bootstrap.bundle.min.js new file mode 100644 index 000000000..819659b4e --- /dev/null +++ b/nginx/landingpage/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},m=t=>{"function"==typeof t&&t()},_=(e,i,n=!0)=>{if(!n)return void m(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),m(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=N(t);return C.has(o)||(o=t),[n,s,o]}function D(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return j(s,{delegateTarget:r}),n.oneOff&&P.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return j(n,{delegateTarget:t}),i.oneOff&&P.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function S(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function I(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];S(t,e,i,n.callable,n.delegationSelector)}}function N(t){return t=t.replace(y,""),T[t]||t}const P={on(t,e,i,n){D(t,e,i,n,!1)},one(t,e,i,n){D(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))I(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(w,"");if(!a||e.includes(n)){const e=c[i];S(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;S(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==N(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=j(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function j(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};function $(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=$(t.dataset[n])}return e},getDataAttribute:(t,e)=>$(t.getAttribute(`data-bs-${W(e)}`))};class F{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],r=t[n],a=o(r)?"element":null==(i=r)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}var i}}class z extends F{constructor(t,e){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(e),H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),P.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const q=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;P.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class R extends z{static get NAME(){return"alert"}close(){if(P.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),P.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=R.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}q(R,"close"),g(R);const V='[data-bs-toggle="button"]';class K extends z{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=K.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}P.on(document,"click.bs.button.data-api",V,(t=>{t.preventDefault();const e=t.target.closest(V);K.getOrCreateInstance(e).toggle()})),g(K);const Q={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))}},X={endCallback:null,leftCallback:null,rightCallback:null},Y={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class U extends F{constructor(t,e){super(),this._element=t,t&&U.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return X}static get DefaultType(){return Y}static get NAME(){return"swipe"}dispose(){P.off(this._element,".bs.swipe")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),m(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&m(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(P.on(this._element,"pointerdown.bs.swipe",(t=>this._start(t))),P.on(this._element,"pointerup.bs.swipe",(t=>this._end(t))),this._element.classList.add("pointer-event")):(P.on(this._element,"touchstart.bs.swipe",(t=>this._start(t))),P.on(this._element,"touchmove.bs.swipe",(t=>this._move(t))),P.on(this._element,"touchend.bs.swipe",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const G="next",J="prev",Z="left",tt="right",et="slid.bs.carousel",it="carousel",nt="active",st={ArrowLeft:tt,ArrowRight:Z},ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},rt={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class at extends z{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=Q.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===it&&this.cycle()}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"carousel"}next(){this._slide(G)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(J)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?P.one(this._element,et,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void P.one(this._element,et,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?G:J;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&P.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(P.on(this._element,"mouseenter.bs.carousel",(()=>this.pause())),P.on(this._element,"mouseleave.bs.carousel",(()=>this._maybeEnableCycle()))),this._config.touch&&U.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of Q.find(".carousel-item img",this._element))P.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(Z)),rightCallback:()=>this._slide(this._directionToOrder(tt)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new U(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=st[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=Q.findOne(".active",this._indicatorsElement);e.classList.remove(nt),e.removeAttribute("aria-current");const i=Q.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(nt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===G,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>P.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r("slide.bs.carousel").defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(nt),i.classList.remove(nt,c,l),this._isSliding=!1,r(et)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return Q.findOne(".active.carousel-item",this._element)}_getItems(){return Q.find(".carousel-item",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===Z?J:G:t===Z?G:J}_orderToDirection(t){return p()?t===J?Z:tt:t===J?tt:Z}static jQueryInterface(t){return this.each((function(){const e=at.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}P.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",(function(t){const e=n(this);if(!e||!e.classList.contains(it))return;t.preventDefault();const i=at.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),P.on(window,"load.bs.carousel.data-api",(()=>{const t=Q.find('[data-bs-ride="carousel"]');for(const e of t)at.getOrCreateInstance(e)})),g(at);const lt="show",ct="collapse",ht="collapsing",dt='[data-bs-toggle="collapse"]',ut={parent:null,toggle:!0},ft={parent:"(null|element)",toggle:"boolean"};class pt extends z{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const n=Q.find(dt);for(const t of n){const e=i(t),n=Q.find(e).filter((t=>t===this._element));null!==e&&n.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return ut}static get DefaultType(){return ft}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>pt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(P.trigger(this._element,"show.bs.collapse").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[e]="",P.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(P.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);for(const t of this._triggerArray){const e=n(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),P.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(dt);for(const e of t){const t=n(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=Q.find(":scope .collapse .collapse",this._config.parent);return Q.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}P.on(document,"click.bs.collapse.data-api",dt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this),n=Q.find(e);for(const t of n)pt.getOrCreateInstance(t,{toggle:!1}).toggle()})),g(pt);var gt="top",mt="bottom",_t="right",bt="left",vt="auto",yt=[gt,mt,_t,bt],wt="start",At="end",Et="clippingParents",Tt="viewport",Ct="popper",Ot="reference",xt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+At])}),[]),kt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+At])}),[]),Lt="beforeRead",Dt="read",St="afterRead",It="beforeMain",Nt="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",$t=[Lt,Dt,St,It,Nt,Pt,jt,Mt,Ht];function Wt(t){return t?(t.nodeName||"").toLowerCase():null}function Bt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Ft(t){return t instanceof Bt(t).Element||t instanceof Element}function zt(t){return t instanceof Bt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Bt(t).ShadowRoot||t instanceof ShadowRoot)}const Rt={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Wt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Wt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Vt(t){return t.split("-")[0]}var Kt=Math.max,Qt=Math.min,Xt=Math.round;function Yt(){var t=navigator.userAgentData;return null!=t&&t.brands?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ut(){return!/^((?!chrome|android).)*safari/i.test(Yt())}function Gt(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&zt(t)&&(s=t.offsetWidth>0&&Xt(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Xt(n.height)/t.offsetHeight||1);var r=(Ft(t)?Bt(t):window).visualViewport,a=!Ut()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Jt(t){var e=Gt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Zt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function te(t){return Bt(t).getComputedStyle(t)}function ee(t){return["table","td","th"].indexOf(Wt(t))>=0}function ie(t){return((Ft(t)?t.ownerDocument:t.document)||window.document).documentElement}function ne(t){return"html"===Wt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||ie(t)}function se(t){return zt(t)&&"fixed"!==te(t).position?t.offsetParent:null}function oe(t){for(var e=Bt(t),i=se(t);i&&ee(i)&&"static"===te(i).position;)i=se(i);return i&&("html"===Wt(i)||"body"===Wt(i)&&"static"===te(i).position)?e:i||function(t){var e=/firefox/i.test(Yt());if(/Trident/i.test(Yt())&&zt(t)&&"fixed"===te(t).position)return null;var i=ne(t);for(qt(i)&&(i=i.host);zt(i)&&["html","body"].indexOf(Wt(i))<0;){var n=te(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function re(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ae(t,e,i){return Kt(t,Qt(e,i))}function le(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ce(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const he={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Vt(i.placement),l=re(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return le("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ce(t,yt))}(s.padding,i),d=Jt(o),u="y"===l?gt:bt,f="y"===l?mt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=oe(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=ae(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Zt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function de(t){return t.split("-")[1]}var ue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function fe(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,g=void 0===p?0:p,m="function"==typeof h?h({x:f,y:g}):{x:f,y:g};f=m.x,g=m.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=bt,y=gt,w=window;if(c){var A=oe(i),E="clientHeight",T="clientWidth";A===Bt(i)&&"static"!==te(A=ie(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===gt||(s===bt||s===_t)&&o===At)&&(y=mt,g-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,g*=l?1:-1),s!==bt&&(s!==gt&&s!==mt||o!==At)||(v=_t,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&ue),x=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:Xt(e*n)/n||0,y:Xt(i*n)/n||0}}({x:f,y:g}):{x:f,y:g};return f=x.x,g=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+g+"px)":"translate3d("+f+"px, "+g+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?g+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const pe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Vt(e.placement),variation:de(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,fe(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,fe(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ge={passive:!0};const me={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Bt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ge)})),a&&l.addEventListener("resize",i.update,ge),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ge)})),a&&l.removeEventListener("resize",i.update,ge)}},data:{}};var _e={left:"right",right:"left",bottom:"top",top:"bottom"};function be(t){return t.replace(/left|right|bottom|top/g,(function(t){return _e[t]}))}var ve={start:"end",end:"start"};function ye(t){return t.replace(/start|end/g,(function(t){return ve[t]}))}function we(t){var e=Bt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ae(t){return Gt(ie(t)).left+we(t).scrollLeft}function Ee(t){var e=te(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Te(t){return["html","body","#document"].indexOf(Wt(t))>=0?t.ownerDocument.body:zt(t)&&Ee(t)?t:Te(ne(t))}function Ce(t,e){var i;void 0===e&&(e=[]);var n=Te(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Bt(n),r=s?[o].concat(o.visualViewport||[],Ee(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ce(ne(r)))}function Oe(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function xe(t,e,i){return e===Tt?Oe(function(t,e){var i=Bt(t),n=ie(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ut();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ae(t),y:l}}(t,i)):Ft(e)?function(t,e){var i=Gt(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Oe(function(t){var e,i=ie(t),n=we(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=Kt(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=Kt(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ae(t),l=-n.scrollTop;return"rtl"===te(s||i).direction&&(a+=Kt(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(ie(t)))}function ke(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Vt(s):null,r=s?de(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case gt:e={x:a,y:i.y-n.height};break;case mt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?re(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case At:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Et:a,c=i.rootBoundary,h=void 0===c?Tt:c,d=i.elementContext,u=void 0===d?Ct:d,f=i.altBoundary,p=void 0!==f&&f,g=i.padding,m=void 0===g?0:g,_=le("number"!=typeof m?m:ce(m,yt)),b=u===Ct?Ot:Ct,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Ce(ne(t)),i=["absolute","fixed"].indexOf(te(t).position)>=0&&zt(t)?oe(t):t;return Ft(i)?e.filter((function(t){return Ft(t)&&Zt(t,i)&&"body"!==Wt(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=xe(t,i,n);return e.top=Kt(s.top,e.top),e.right=Qt(s.right,e.right),e.bottom=Qt(s.bottom,e.bottom),e.left=Kt(s.left,e.left),e}),xe(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Ft(y)?y:y.contextElement||ie(t.elements.popper),l,h,r),A=Gt(t.elements.reference),E=ke({reference:A,element:v,strategy:"absolute",placement:s}),T=Oe(Object.assign({},v,E)),C=u===Ct?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Ct&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[_t,mt].indexOf(t)>=0?1:-1,i=[gt,mt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function De(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?kt:l,h=de(n),d=h?a?xt:xt.filter((function(t){return de(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=Le(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Vt(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const Se={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,g=i.allowedAutoPlacements,m=e.options.placement,_=Vt(m),b=l||(_!==m&&p?function(t){if(Vt(t)===vt)return[];var e=be(t);return[ye(t),e,ye(e)]}(m):[be(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat(Vt(i)===vt?De(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=Vt(O),k=de(O)===wt,L=[gt,mt].indexOf(x)>=0,D=L?"width":"height",S=Le(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),I=L?k?_t:bt:k?mt:gt;y[D]>w[D]&&(I=be(I));var N=be(I),P=[];if(o&&P.push(S[x]<=0),a&&P.push(S[I]<=0,S[N]<=0),P.every((function(t){return t}))){T=O,E=!1;break}A.set(O,P)}if(E)for(var j=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ie(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Ne(t){return[gt,_t,mt,bt].some((function(e){return t[e]>=0}))}const Pe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Le(e,{elementContext:"reference"}),a=Le(e,{altBoundary:!0}),l=Ie(r,n),c=Ie(a,s,o),h=Ne(l),d=Ne(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},je={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=kt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Vt(t),s=[bt,gt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Me={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ke({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},He={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,g=void 0===p?0:p,m=Le(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Vt(e.placement),b=de(e.placement),v=!b,y=re(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,D="y"===y?gt:bt,S="y"===y?mt:_t,I="y"===y?"height":"width",N=A[y],P=N+m[D],j=N-m[S],M=f?-T[I]/2:0,H=b===wt?E[I]:T[I],$=b===wt?-T[I]:-E[I],W=e.elements.arrow,B=f&&W?Jt(W):{width:0,height:0},F=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=F[D],q=F[S],R=ae(0,E[I],B[I]),V=v?E[I]/2-M-R-z-O.mainAxis:H-R-z-O.mainAxis,K=v?-E[I]/2+M+R+q+O.mainAxis:$+R+q+O.mainAxis,Q=e.elements.arrow&&oe(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=N+K-Y,G=ae(f?Qt(P,N+V-Y-X):P,N,f?Kt(j,U):j);A[y]=G,k[y]=G-N}if(a){var J,Z="x"===y?gt:bt,tt="x"===y?mt:_t,et=A[w],it="y"===w?"height":"width",nt=et+m[Z],st=et-m[tt],ot=-1!==[gt,bt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=ae(t,e,i);return n>i?i:n}(at,et,lt):ae(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function $e(t,e,i){void 0===i&&(i=!1);var n,s,o=zt(e),r=zt(e)&&function(t){var e=t.getBoundingClientRect(),i=Xt(e.width)/t.offsetWidth||1,n=Xt(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=ie(e),l=Gt(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==Wt(e)||Ee(a))&&(c=(n=e)!==Bt(n)&&zt(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:we(n)),zt(e)?((h=Gt(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ae(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function We(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Fe(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function ze(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Be:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:Ft(t)?Ce(t):t.contextElement?Ce(t.contextElement):[],popper:Ce(e)};var r,c,u=function(t){var e=We(t);return $t.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(Fe(e,i)){a.rects={reference:$e(e,oe(i),"fixed"===a.options.strategy),popper:Jt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!Fe(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var qe=ze(),Re=ze({defaultModifiers:[me,Me,pe,Rt]}),Ve=ze({defaultModifiers:[me,Me,pe,Rt,je,Se,He,he,Pe]});const Ke=Object.freeze(Object.defineProperty({__proto__:null,popperGenerator:ze,detectOverflow:Le,createPopperBase:qe,createPopper:Ve,createPopperLite:Re,top:gt,bottom:mt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:At,clippingParents:Et,viewport:Tt,popper:Ct,reference:Ot,variationPlacements:xt,placements:kt,beforeRead:Lt,read:Dt,afterRead:St,beforeMain:It,main:Nt,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:$t,applyStyles:Rt,arrow:he,computeStyles:pe,eventListeners:me,flip:Se,hide:Pe,offset:je,popperOffsets:Me,preventOverflow:He},Symbol.toStringTag,{value:"Module"})),Qe="dropdown",Xe="ArrowUp",Ye="ArrowDown",Ue="click.bs.dropdown.data-api",Ge="keydown.bs.dropdown.data-api",Je="show",Ze='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ti=`${Ze}.show`,ei=".dropdown-menu",ii=p()?"top-end":"top-start",ni=p()?"top-start":"top-end",si=p()?"bottom-end":"bottom-start",oi=p()?"bottom-start":"bottom-end",ri=p()?"left-start":"right-start",ai=p()?"right-start":"left-start",li={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},ci={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class hi extends z{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=Q.next(this._element,ei)[0]||Q.prev(this._element,ei)[0]||Q.findOne(ei,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Qe}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!P.trigger(this._element,"show.bs.dropdown",t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),P.trigger(this._element,"shown.bs.dropdown",t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!P.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),P.trigger(this._element,"hidden.bs.dropdown",t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Qe.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===Ke)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=Ve(t,this._menu,e)}_isShown(){return this._menu.classList.contains(Je)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=Q.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=Q.find(ti);for(const i of e){const e=hi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Xe,Ye].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ze)?this:Q.prev(this,Ze)[0]||Q.next(this,Ze)[0]||Q.findOne(Ze,t.delegateTarget.parentNode),o=hi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}P.on(document,Ge,Ze,hi.dataApiKeydownHandler),P.on(document,Ge,ei,hi.dataApiKeydownHandler),P.on(document,Ue,hi.clearMenus),P.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),P.on(document,Ue,Ze,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top",fi="padding-right",pi="margin-right";class gi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,fi,(e=>e+t)),this._setElementAttributes(di,fi,(e=>e+t)),this._setElementAttributes(ui,pi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(di,fi),this._resetElementAttributes(ui,pi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of Q.find(t,this._element))e(i)}}const mi="show",_i="mousedown.bs.backdrop",bi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},vi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class yi extends F{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"backdrop"}show(t){if(!this._config.isVisible)return void m(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(mi),this._emulateAnimation((()=>{m(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(mi),this._emulateAnimation((()=>{this.dispose(),m(t)}))):m(t)}dispose(){this._isAppended&&(P.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),P.on(t,_i,(()=>{m(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const wi=".bs.focustrap",Ai="backward",Ei={autofocus:!0,trapElement:null},Ti={autofocus:"boolean",trapElement:"element"};class Ci extends F{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Ei}static get DefaultType(){return Ti}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),P.off(document,wi),P.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),P.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,P.off(document,wi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=Q.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Ai?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ai:"forward")}}const Oi="hidden.bs.modal",xi="show.bs.modal",ki="modal-open",Li="show",Di="modal-static",Si={backdrop:!0,focus:!0,keyboard:!0},Ii={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ni extends z{constructor(t,e){super(t,e),this._dialog=Q.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new gi,this._addEventListeners()}static get Default(){return Si}static get DefaultType(){return Ii}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||P.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(ki),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(P.trigger(this._element,"hide.bs.modal").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Li),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])P.off(t,".bs.modal");this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new yi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=Q.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(Li),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,P.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.modal",(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),P.on(window,"resize.bs.modal",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),P.on(this._element,"mousedown.dismiss.bs.modal",(t=>{P.one(this._element,"click.dismiss.bs.modal",(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(ki),this._resetAdjustments(),this._scrollBar.reset(),P.trigger(this._element,Oi)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(P.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Di)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Di),this._queueCallback((()=>{this._element.classList.remove(Di),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ni.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}P.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),P.one(e,xi,(t=>{t.defaultPrevented||P.one(e,Oi,(()=>{a(this)&&this.focus()}))}));const i=Q.findOne(".modal.show");i&&Ni.getInstance(i).hide(),Ni.getOrCreateInstance(e).toggle(this)})),q(Ni),g(Ni);const Pi="show",ji="showing",Mi="hiding",Hi=".offcanvas.show",$i="hidePrevented.bs.offcanvas",Wi="hidden.bs.offcanvas",Bi={backdrop:!0,keyboard:!0,scroll:!1},Fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class zi extends z{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Bi}static get DefaultType(){return Fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||P.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new gi).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ji),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Pi),this._element.classList.remove(ji),P.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(P.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Mi),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Pi,Mi),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new gi).reset(),P.trigger(this._element,Wi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new yi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():P.trigger(this._element,$i)}:null})}_initializeFocusTrap(){return new Ci({trapElement:this._element})}_addEventListeners(){P.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():P.trigger(this._element,$i))}))}static jQueryInterface(t){return this.each((function(){const e=zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}P.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;P.one(e,Wi,(()=>{a(this)&&this.focus()}));const i=Q.findOne(Hi);i&&i!==e&&zi.getInstance(i).hide(),zi.getOrCreateInstance(e).toggle(this)})),P.on(window,"load.bs.offcanvas.data-api",(()=>{for(const t of Q.find(Hi))zi.getOrCreateInstance(t).show()})),P.on(window,"resize.bs.offcanvas",(()=>{for(const t of Q.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&zi.getOrCreateInstance(t).hide()})),q(zi),g(zi);const qi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Ri=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Vi=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ki=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!qi.has(i)||Boolean(Ri.test(t.nodeValue)||Vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Qi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xi={allowList:Qi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Yi={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ui={entry:"(string|element|function|null)",selector:"(string|element)"};class Gi extends F{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ui)}_setContent(t,e,i){const n=Q.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Ki(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ji=new Set(["sanitize","allowList","sanitizeFn"]),Zi="fade",tn="show",en=".modal",nn="hide.bs.modal",sn="hover",on="focus",rn={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},an={allowList:Qi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ln={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cn extends z{constructor(t,e){if(void 0===Ke)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return an}static get DefaultType(){return ln}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),P.off(this._element.closest(en),nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=P.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),P.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.on(t,"mouseover",h);this._queueCallback((()=>{P.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!P.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(tn),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))P.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),P.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Zi,tn),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Zi),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Gi({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zi)}_isShown(){return this.tip&&this.tip.classList.contains(tn)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=rn[e.toUpperCase()];return Ve(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)P.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===sn?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===sn?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");P.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?on:sn]=!0,e._enter()})),P.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?on:sn]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},P.on(this._element.closest(en),nn,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ji.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(cn);const hn={...cn.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},dn={...cn.DefaultType,content:"(null|string|element|function)"};class un extends cn{static get Default(){return hn}static get DefaultType(){return dn}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn="click.bs.scrollspy",pn="active",gn="[href]",mn={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},_n={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class bn extends z{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return mn}static get DefaultType(){return _n}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(P.off(this._config.target,fn),P.on(this._config.target,fn,gn,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=Q.find(gn,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=Q.findOne(e.hash,this._element);a(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(pn),this._activateParents(t),P.trigger(this._element,"activate.bs.scrollspy",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))Q.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(pn);else for(const e of Q.parents(t,".nav, .list-group"))for(const t of Q.prev(e,".nav-link, .nav-item > .nav-link, .list-group-item"))t.classList.add(pn)}_clearActiveClass(t){t.classList.remove(pn);const e=Q.find("[href].active",t);for(const t of e)t.classList.remove(pn)}static jQueryInterface(t){return this.each((function(){const e=bn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(window,"load.bs.scrollspy.data-api",(()=>{for(const t of Q.find('[data-bs-spy="scroll"]'))bn.getOrCreateInstance(t)})),g(bn);const vn="ArrowLeft",yn="ArrowRight",wn="ArrowUp",An="ArrowDown",En="active",Tn="fade",Cn="show",On='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',xn=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle), ${On}`;class kn extends z{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),P.on(this._element,"keydown.bs.tab",(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?P.trigger(e,"hide.bs.tab",{relatedTarget:t}):null;P.trigger(t,"show.bs.tab",{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(En),this._activate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),P.trigger(t,"shown.bs.tab",{relatedTarget:e})):t.classList.add(Cn)}),t,t.classList.contains(Tn)))}_deactivate(t,e){t&&(t.classList.remove(En),t.blur(),this._deactivate(n(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),P.trigger(t,"hidden.bs.tab",{relatedTarget:e})):t.classList.remove(Cn)}),t,t.classList.contains(Tn)))}_keydown(t){if(![vn,yn,wn,An].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[yn,An].includes(t.key),i=b(this._getChildren().filter((t=>!l(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),kn.getOrCreateInstance(i).show())}_getChildren(){return Q.find(xn,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=n(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=Q.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",En),n(".dropdown-menu",Cn),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(En)}_getInnerElement(t){return t.matches(xn)?t:Q.findOne(xn,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=kn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}P.on(document,"click.bs.tab",On,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||kn.getOrCreateInstance(this).show()})),P.on(window,"load.bs.tab",(()=>{for(const t of Q.find('.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]'))kn.getOrCreateInstance(t)})),g(kn);const Ln="hide",Dn="show",Sn="showing",In={animation:"boolean",autohide:"boolean",delay:"number"},Nn={animation:!0,autohide:!0,delay:5e3};class Pn extends z{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Nn}static get DefaultType(){return In}static get NAME(){return"toast"}show(){P.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ln),d(this._element),this._element.classList.add(Dn,Sn),this._queueCallback((()=>{this._element.classList.remove(Sn),P.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(P.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(Sn),this._queueCallback((()=>{this._element.classList.add(Ln),this._element.classList.remove(Sn,Dn),P.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Dn),super.dispose()}isShown(){return this._element.classList.contains(Dn)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){P.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),P.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),P.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Pn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return q(Pn),g(Pn),{Alert:R,Button:K,Carousel:at,Collapse:pt,Dropdown:hi,Modal:Ni,Offcanvas:zi,Popover:un,ScrollSpy:bn,Tab:kn,Toast:Pn,Tooltip:cn}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/nginx/landingpage/js/scripts.js b/nginx/landingpage/js/scripts.js new file mode 100644 index 000000000..0a1726ad0 --- /dev/null +++ b/nginx/landingpage/js/scripts.js @@ -0,0 +1,7 @@ +/*! +* Start Bootstrap - Landing Page v6.0.6 (https://startbootstrap.com/theme/landing-page) +* Copyright 2013-2023 Start Bootstrap +* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-landing-page/blob/master/LICENSE) +*/ +// This file is intentionally blank +// Use this file to add JavaScript to your project \ No newline at end of file From 3bd81a6af609600aea6837f2210bdab66d7633e5 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 11:21:31 -0700 Subject: [PATCH 22/88] landingpage work in progress (idaholab/Malcolm#252) --- docs/kubernetes.md | 10 +--------- docs/ubuntu-install-example.md | 10 +--------- scripts/control.py | 12 +----------- 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 13ea6b2a4..66a67f07e 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -535,16 +535,8 @@ logstash | [2023-04-24T21:00:34,470][INFO ][logstash.agent ] Pipelines Started Malcolm -Malcolm services can be accessed via the following URLs: +Malcolm services can be accessed at https://192.168.56.10/ ------------------------------------------------------------------------------ - - Arkime: https://192.168.56.10/arkime/ - - OpenSearch Dashboards: https://192.168.56.10/dashboards/ - - PCAP upload (web): https://192.168.56.10/upload/ - - NetBox: https://192.168.56.10/netbox/ - - CyberChef: https://192.168.56.10/arkime/cyberchef/ - - Account management: https://192.168.56.10/auth/ - - Documentation: https://192.168.56.10/readme/ - ``` Check the status of the Malcolm deployment with `./scripts/status`: diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 736ef9107..5d5706157 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -278,16 +278,8 @@ ghcr.io/idaholab/malcolm/zeek 24.01.0 Finally, start Malcolm. When Malcolm starts it will stream informational and debug messages to the console until it has completed initializing. ``` user@host:~/Malcolm$ ./scripts/start -In a few minutes, Malcolm services will be accessible via the following URLs: +Malcolm services can be accessed at https://localhost/ ------------------------------------------------------------------------------ - - Arkime: https://localhost/arkime/ - - OpenSearch Dashboards: https://localhost/dashboards/ - - PCAP upload (web): https://localhost/upload/ - - PCAP upload (sftp): sftp://username@127.0.0.1:8022/files/ - - NetBox: https://localhost/netbox/ - - CyberChef: https://localhost/arkime/cyberchef/ - - Account management: https://localhost/auth/ - - Documentation: https://localhost/readme/ NAME COMMAND SERVICE STATUS PORTS malcolm-api-1 "/usr/local/bin/dock…" api running (starting) … diff --git a/scripts/control.py b/scripts/control.py index 3ff2507df..44ca0f5f0 100755 --- a/scripts/control.py +++ b/scripts/control.py @@ -455,18 +455,8 @@ def printURLs(): else: myIp = get_primary_ip() - print("\nMalcolm services can be accessed via the following URLs:") + print("\nMalcolm services can be accessed at https://{myIp}/") print("------------------------------------------------------------------------------") - print(f" - Landing Page: https://{myIp}/") - print(f" - Arkime: https://{myIp}/arkime/") - print(f" - OpenSearch Dashboards: https://{myIp}/dashboards/") - print(f" - PCAP upload (web): https://{myIp}/upload/") - if orchMode is not OrchestrationFramework.KUBERNETES: - print(f" - PCAP upload (sftp): sftp://username@{myIp}:8022/files/") - print(f" - NetBox: https://{myIp}/netbox/") - print(f" - CyberChef: https://{myIp}/arkime/cyberchef/") - print(f" - Account management: https://{myIp}/auth/") - print(f" - Documentation: https://{myIp}/readme/") ################################################################################################### From 86012f0a9078cdbfed48bb7ae6a4302cbc479d13 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 11:29:46 -0700 Subject: [PATCH 23/88] landingpage work in progress (idaholab/Malcolm#252) --- Dockerfiles/nginx.Dockerfile | 8 +++++--- scripts/control.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 115168721..d86c8cbf8 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -233,7 +233,9 @@ RUN set -x ; \ apk del .gettext ; \ mv /tmp/envsubst /usr/local/bin/ ; \ rm -rf /usr/src/* /var/tmp/* /var/cache/apk/* /nginx.tar.gz /nginx-auth-ldap.tar.gz /ngx_http_substitutions_filter_module-master.tar.gz; \ - touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf + touch /etc/nginx/nginx_ldap.conf /etc/nginx/nginx_blank.conf && \ + find /usr/share/nginx/html/ -type d -exec chmod 755 "{}" \; && \ + find /usr/share/nginx/html/ -type f -exec chmod 644 "{}" \; COPY --from=jwilder/nginx-proxy:alpine /app/nginx.tmpl /etc/nginx/ COPY --from=jwilder/nginx-proxy:alpine /etc/nginx/network_internal.conf /etc/nginx/ @@ -245,8 +247,8 @@ COPY --chmod=755 shared/bin/docker-uid-gid-setup.sh /usr/local/bin/ ADD nginx/scripts /usr/local/bin/ ADD nginx/*.conf /etc/nginx/ ADD nginx/supervisord.conf /etc/ -ADD docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico -ADD docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png +COPY --chmod=644 docs/images/icon/favicon.ico /usr/share/nginx/html/assets/favicon.ico +COPY --chmod=644 docs/images/logo/Malcolm_background.png /usr/share/nginx/html/assets/img/bg-masthead.png VOLUME ["/etc/nginx/certs", "/etc/nginx/dhparam"] diff --git a/scripts/control.py b/scripts/control.py index 44ca0f5f0..caf0d0157 100755 --- a/scripts/control.py +++ b/scripts/control.py @@ -455,7 +455,7 @@ def printURLs(): else: myIp = get_primary_ip() - print("\nMalcolm services can be accessed at https://{myIp}/") + print(f"\nMalcolm services can be accessed at https://{myIp}/") print("------------------------------------------------------------------------------") From cfc29f774a74a18b33462390bb9041ebb3017c98 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 11:48:30 -0700 Subject: [PATCH 24/88] landingpage work in progress (idaholab/Malcolm#252) --- arkime/patch/footer_links.patch | 2 +- nginx/landingpage/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arkime/patch/footer_links.patch b/arkime/patch/footer_links.patch index 745b97b7d..c2ab1d837 100644 --- a/arkime/patch/footer_links.patch +++ b/arkime/patch/footer_links.patch @@ -8,7 +8,7 @@ index 84b28a45..7a414ca2 100644 Arkime v{{ version }} | - <a href="https://arkime.com">arkime.com</a> + <a href="https://arkime.com">arkime.com 🦉</a> -+ | <a href="/readme/">Malc⦿lm 📄</a> ++ | <a href="/">Malc⦿lm 📄</a> + | <a href="/dashboards">Dashboards 📊</a> + | <a href="/netbox/">NetBox 💻</a> <span v-if="responseTime && !loadingData"> diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 105f23e9c..34e5b6520 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -5,7 +5,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="" /> <meta name="author" content="" /> - <title>Landing Page - Start Bootstrap Theme</title> + <title>Malcolm</title> <!-- Favicon--> <link rel="icon" type="image/x-icon" href="assets/favicon.ico" /> <!-- Bootstrap icons--> From 9a941dc7ac6a8d1d6ce26eefe48daa006f76ac82 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 12:07:57 -0700 Subject: [PATCH 25/88] file carve download stream AES zip (idaholab/Malcolm#288) --- Dockerfiles/file-monitor.Dockerfile | 1 - docs/file-scanning.md | 4 ++-- shared/bin/zeek_carved_http_server.py | 19 ++++--------------- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 088db2906..2ba1f0f2b 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -141,7 +141,6 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour clamd \ psutil \ pycryptodome \ - pyminizip \ python-magic \ stream-zip \ supervisor \ diff --git a/docs/file-scanning.md b/docs/file-scanning.md index a511f43a3..327845326 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -25,7 +25,7 @@ The `EXTRACTED_FILE_PRESERVATION` [environment variable in `zeek.env`](malcolm-c * `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 -The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (with or without a password) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words: +The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `zeek-secret.env`](malcolm-config.md#MalcolmConfigEnvVars) configure access to the Zeek-extracted files path through the means of a simple HTTPS directory server accessible at **https://localhost/extracted-files/** if connecting locally. Beware that Zeek-extracted files may contain malware. As such, these files may be optionally ZIP archived (without a password or password-protected according to the [WinZip AES encryption specification](https://www.winzip.com/en/support/aes-encryption/)) or encrypted (to be decrypted using `openssl`, e.g., `openssl enc -aes-256-cbc -d -in example.exe.encrypted -out example.exe`) upon download. In other words: * to disable the extracted files server: - `EXTRACTED_FILE_HTTP_SERVER_ENABLE=false` @@ -34,7 +34,7 @@ The `EXTRACTED_FILE_HTTP_SERVER_…` [environment variables in `zeek.env` and `z - downloaded files are zipped, without a password: + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true` + `EXTRACTED_FILE_HTTP_SERVER_KEY=` - - downloaded files are zipped, with a password: + - downloaded files are zipped, [AES-encrypted](https://www.winzip.com/en/support/aes-encryption/) with a password: + `EXTRACTED_FILE_HTTP_SERVER_ZIP=true` + `EXTRACTED_FILE_HTTP_SERVER_KEY=xxxxxxxxxxxxx` - downloaded files are OpenSSL AES-256-CBC-compatibly encrypted: diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/zeek_carved_http_server.py index d92cf89dd..6f416f108 100755 --- a/shared/bin/zeek_carved_http_server.py +++ b/shared/bin/zeek_carved_http_server.py @@ -10,7 +10,6 @@ import argparse import hashlib import os -import pyminizip import sys from Crypto.Cipher import AES from datetime import datetime @@ -75,24 +74,14 @@ def do_GET(self): elif os.path.isfile(fullpath) or os.path.islink(fullpath): if args.zip: - # ZIP file + # ZIP file (streamed, AES-encrypted with password or unencrypted) self.send_response(200) self.send_header('Content-type', "application/zip") self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip') self.end_headers() - if args.key: - # password-protected ZIP file (temporarily persisted to disk) - with temporary_filename(suffix='.zip') as tmpFileName: - pyminizip.compress(fullpath, None, tmpFileName, args.key, 1) - with open(tmpFileName, 'rb') as f: - while chunk := f.read(65536): - self.wfile.write(chunk) - - else: - # unprotected ZIP file (streamed) - for chunk in stream_zip(LocalFilesForZip([fullpath])): - self.wfile.write(chunk) + for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None): + self.wfile.write(chunk) elif args.key: # openssl-compatible encrypted file @@ -119,7 +108,7 @@ def do_GET(self): break else: - # unencrypted file + # original file, unencrypted SimpleHTTPRequestHandler.do_GET(self) else: From 4ca8d99691283ca557a1fb7e1244c8c3ad91c766 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 12:19:54 -0700 Subject: [PATCH 26/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/nginx_readonly.conf | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf index 5edd50341..fd12a4a8d 100644 --- a/nginx/nginx_readonly.conf +++ b/nginx/nginx_readonly.conf @@ -72,12 +72,6 @@ http { # use either auth_basic or auth_ldap include /etc/nginx/nginx_auth_rt.conf; - # Malcolm readme - location /readme { - root /usr/share/nginx/html; - try_files $uri $uri/index.html; - } - # Arkime -> Dashboards shortcut location ~* ^/idark2dash(.*) { @@ -101,7 +95,7 @@ http { set $filter_value $arg_value; } - rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'sessions2-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'sessions2-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; + rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; proxy_pass http://dashboards; proxy_redirect off; proxy_set_header Host dashboards.malcolm.local; @@ -109,7 +103,7 @@ http { # Dashboards -> Arkime shortcut location ~* /iddash2ark/(.*) { - rewrite ^.*/iddash2ark/(.*) /sessions?expression=($1) redirect; + rewrite ^.*/iddash2ark/(.*) /arkime/sessions?expression=($1) redirect; proxy_pass https://arkime; proxy_ssl_verify off; proxy_redirect off; @@ -180,7 +174,6 @@ http { # passthrough NetBox from the Malcolm API location /mapi/netbox/ { limit_except GET { deny all; } - include /etc/nginx/nginx_auth_rt.conf; proxy_pass http://netbox/netbox/api/; proxy_redirect off; proxy_set_header Host netbox.malcolm.local; @@ -197,31 +190,25 @@ http { proxy_set_header Host api.malcolm.local; } - location ~* ^/(api/)?(files|d?stats|es(indices|nodes|shards|tasks|recovery)|histor(y|ies)|notifiers|hunts?|settings|shortcuts|users|user/(config/(es)?[nN]odes|cron|settings)) { + location ~* ^/arkime/(api/)?(files|d?stats|es(indices|nodes|shards|tasks|recovery)|histor(y|ies)|notifiers|hunts?|settings|shortcuts|users|user/(config/(es)?[nN]odes|cron|settings)) { deny all; } - location /sessions { + # Arkime + location /arkime { limit_except GET POST { deny all; } proxy_pass https://arkime; - proxy_ssl_verify off; proxy_redirect off; proxy_set_header Host arkime.malcolm.local; proxy_set_header http_auth_http_user $authenticated_user; proxy_set_header Authorization ""; } - # Landing Page + # Landing Page and README location / { - include /etc/nginx/nginx_auth_rt.conf; - root /usr/share/nginx/html/; + limit_except GET POST { deny all; } + root /usr/share/nginx/html; try_files $uri $uri/index.html; - proxy_pass https://landing; - proxy_ssl_verify off; - proxy_redirect off; - proxy_set_header Host arkime.malcolm.local; - proxy_set_header http_auth_http_user $authenticated_user; - proxy_set_header Authorization ""; } } From abd514aa791b46b4a91ceccdacb831416ed769c4 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 13:12:36 -0700 Subject: [PATCH 27/88] work in progress for idaholab/Malcolm#288 --- Dockerfiles/file-monitor.Dockerfile | 3 + config/zeek.env.example | 2 + file-monitor/supervisord.conf | 3 +- ...rver.py => extracted_files_http_server.py} | 100 +++++++++++------- 4 files changed, 68 insertions(+), 40 deletions(-) rename shared/bin/{zeek_carved_http_server.py => extracted_files_http_server.py} (64%) diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index 2ba1f0f2b..aae54c3b3 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -51,6 +51,7 @@ ARG EXTRACTED_FILE_HTTP_SERVER_DEBUG=false ARG EXTRACTED_FILE_HTTP_SERVER_ENABLE=false ARG EXTRACTED_FILE_HTTP_SERVER_ZIP=true ARG EXTRACTED_FILE_HTTP_SERVER_KEY=infected +ARG EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true ARG EXTRACTED_FILE_HTTP_SERVER_PORT=8440 ENV ZEEK_EXTRACTOR_PATH $ZEEK_EXTRACTOR_PATH @@ -91,6 +92,7 @@ ENV EXTRACTED_FILE_HTTP_SERVER_DEBUG $EXTRACTED_FILE_HTTP_SERVER_DEBUG ENV EXTRACTED_FILE_HTTP_SERVER_ENABLE $EXTRACTED_FILE_HTTP_SERVER_ENABLE ENV EXTRACTED_FILE_HTTP_SERVER_ZIP $EXTRACTED_FILE_HTTP_SERVER_ZIP ENV EXTRACTED_FILE_HTTP_SERVER_KEY $EXTRACTED_FILE_HTTP_SERVER_KEY +ENV EXTRACTED_FILE_HTTP_SERVER_RECURSIVE $EXTRACTED_FILE_HTTP_SERVER_RECURSIVE ENV EXTRACTED_FILE_HTTP_SERVER_PORT $EXTRACTED_FILE_HTTP_SERVER_PORT ENV SUPERCRONIC_VERSION "0.2.29" @@ -215,6 +217,7 @@ RUN sed -i "s/main$/main contrib non-free/g" /etc/apt/sources.list.d/debian.sour 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 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/config/zeek.env.example b/config/zeek.env.example index 142445c9f..ab208f6a2 100644 --- a/config/zeek.env.example +++ b/config/zeek.env.example @@ -51,6 +51,8 @@ EXTRACTED_FILE_PIPELINE_VERBOSITY= EXTRACTED_FILE_HTTP_SERVER_ENABLE=false # Whether or not Zeek-extracted files served over HTTP will be archived in a Zip file EXTRACTED_FILE_HTTP_SERVER_ZIP=false +# HTTP server will look in subdirectories for requested filename (e.g., in "/quarantined" and "/preserved") +EXTRACTED_FILE_HTTP_SERVER_RECURSIVE=true # Environment variables for tweaking Zeek at runtime (see local.zeek) # Set to any non-blank value to disable the corresponding feature ZEEK_DISABLE_HASH_ALL_FILES= diff --git a/file-monitor/supervisord.conf b/file-monitor/supervisord.conf index 81eb7383f..2a9a1fe39 100644 --- a/file-monitor/supervisord.conf +++ b/file-monitor/supervisord.conf @@ -150,9 +150,10 @@ stdout_logfile_maxbytes=0 redirect_stderr=true [program:fileserve] -command=/usr/local/bin/zeek_carved_http_server.py +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 /zeek/extract_files autostart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s autorestart=%(ENV_EXTRACTED_FILE_HTTP_SERVER_ENABLE)s diff --git a/shared/bin/zeek_carved_http_server.py b/shared/bin/extracted_files_http_server.py similarity index 64% rename from shared/bin/zeek_carved_http_server.py rename to shared/bin/extracted_files_http_server.py index 6f416f108..edd76170e 100755 --- a/shared/bin/zeek_carved_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -67,52 +67,62 @@ def do_GET(self): global args fullpath = self.translate_path(self.path) + fileBaseName = os.path.basename(fullpath) if os.path.isdir(fullpath): # directory listing SimpleHTTPRequestHandler.do_GET(self) - elif os.path.isfile(fullpath) or os.path.islink(fullpath): - if args.zip: - # ZIP file (streamed, AES-encrypted with password or unencrypted) - self.send_response(200) - self.send_header('Content-type', "application/zip") - self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.zip') - self.end_headers() - - for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None): - self.wfile.write(chunk) - - elif args.key: - # openssl-compatible encrypted file - self.send_response(200) - self.send_header('Content-type', 'application/octet-stream') - self.send_header('Content-Disposition', f'attachment; filename={os.path.basename(fullpath)}.encrypted') - self.end_headers() - salt = os.urandom(PKCS5_SALT_LEN) - key, iv = EVP_BytesToKey(EVP_KEY_SIZE, AES.block_size, hashlib.sha256, salt, args.key.encode('utf-8')) - cipher = AES.new(key, AES.MODE_CBC, iv) - encrypted = b"" - encrypted += OPENSSL_ENC_MAGIC - encrypted += salt - self.wfile.write(encrypted) - with open(fullpath, 'rb') as f: - padding = b'' - while True: - chunk = f.read(cipher.block_size) - if len(chunk) < cipher.block_size: - remaining = cipher.block_size - len(chunk) - padding = bytes([remaining] * remaining) - self.wfile.write(cipher.encrypt(chunk + padding)) - if padding: - break + else: + if recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)): + for root, dirs, files in os.walk(os.path.dirname(fullpath)): + if fileBaseName in files: + fullpath = os.path.join(root, fileBaseName) + break + + if os.path.isfile(fullpath) or os.path.islink(fullpath): + if args.zip: + # ZIP file (streamed, AES-encrypted with password or unencrypted) + self.send_response(200) + self.send_header('Content-type', "application/zip") + self.send_header('Content-Disposition', f'attachment; filename={fileBaseName}.zip') + self.end_headers() + + for chunk in stream_zip(LocalFilesForZip([fullpath]), password=args.key if args.key else None): + self.wfile.write(chunk) + + elif args.key: + # openssl-compatible encrypted file + self.send_response(200) + self.send_header('Content-type', 'application/octet-stream') + self.send_header('Content-Disposition', f'attachment; filename={fileBaseName}.encrypted') + self.end_headers() + salt = os.urandom(PKCS5_SALT_LEN) + key, iv = EVP_BytesToKey( + EVP_KEY_SIZE, AES.block_size, hashlib.sha256, salt, args.key.encode('utf-8') + ) + cipher = AES.new(key, AES.MODE_CBC, iv) + encrypted = b"" + encrypted += OPENSSL_ENC_MAGIC + encrypted += salt + self.wfile.write(encrypted) + with open(fullpath, 'rb') as f: + padding = b'' + while True: + chunk = f.read(cipher.block_size) + if len(chunk) < cipher.block_size: + remaining = cipher.block_size - len(chunk) + padding = bytes([remaining] * remaining) + self.wfile.write(cipher.encrypt(chunk + padding)) + if padding: + break + + else: + # original file, unencrypted + SimpleHTTPRequestHandler.do_GET(self) else: - # original file, unencrypted - SimpleHTTPRequestHandler.do_GET(self) - - else: - self.send_error(404, "Not Found") + self.send_error(404, "Not Found") ################################################################################################### @@ -140,6 +150,7 @@ def main(): defaultDebug = os.getenv('EXTRACTED_FILE_HTTP_SERVER_DEBUG', 'false') defaultZip = os.getenv('EXTRACTED_FILE_HTTP_SERVER_ZIP', 'false') + defaultRecursive = os.getenv('EXTRACTED_FILE_HTTP_SERVER_RECURSIVE', 'false') defaultPort = int(os.getenv('EXTRACTED_FILE_HTTP_SERVER_PORT', 8440)) defaultKey = os.getenv('EXTRACTED_FILE_HTTP_SERVER_KEY', 'infected') defaultDir = os.getenv('EXTRACTED_FILE_HTTP_SERVER_PATH', orig_path) @@ -196,6 +207,17 @@ def main(): metavar='true|false', help=f"Zip file ({defaultZip})", ) + parser.add_argument( + '-r', + '--recursive', + dest='recursive', + type=str2bool, + nargs='?', + const=True, + default=defaultRecursive, + metavar='true|false', + help=f"Recursively look for requested file if not found", + ) try: parser.error = parser.exit args = parser.parse_args() From bc361463d9f1e6af6117b886c76b4226c7943d78 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 13:27:22 -0700 Subject: [PATCH 28/88] work in progress for idaholab/Malcolm#288 --- shared/bin/extracted_files_http_server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/bin/extracted_files_http_server.py b/shared/bin/extracted_files_http_server.py index edd76170e..7d3817a2e 100755 --- a/shared/bin/extracted_files_http_server.py +++ b/shared/bin/extracted_files_http_server.py @@ -74,7 +74,7 @@ def do_GET(self): SimpleHTTPRequestHandler.do_GET(self) else: - if recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)): + if args.recursive and (not os.path.isfile(fullpath)) and (not os.path.islink(fullpath)): for root, dirs, files in os.walk(os.path.dirname(fullpath)): if fileBaseName in files: fullpath = os.path.join(root, fileBaseName) From 9f9775e3ad42291a4a03f30b674a0159ba11a012 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 13:31:35 -0700 Subject: [PATCH 29/88] work in progress for idaholab/Malcolm#288 --- arkime/wise/source.zeeklogs.js | 5 ++--- dashboards/scripts/index-refresh.py | 10 +++------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/arkime/wise/source.zeeklogs.js b/arkime/wise/source.zeeklogs.js index 40a9c4035..cefc5e6f9 100644 --- a/arkime/wise/source.zeeklogs.js +++ b/arkime/wise/source.zeeklogs.js @@ -2210,10 +2210,9 @@ class MalcolmSource extends WISESource { var mimeFieldsStr = allFields.filter(value => /mime[_\.-]?type/i.test(value)).join(','); 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/quarantined files from zeek + // 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 (if quarantined)", url: "/dl-extracted-files/quarantine/%TEXT%", fields: carvedFieldsStr }); - this.api.addValueAction("malcolm_carved_file_preserved", { name: "Download (if preserved)", url: "/dl-extracted-files/preserved/%TEXT%", fields: carvedFieldsStr }); + this.api.addValueAction("malcolm_carved_file_quarantined", { name: "Download", url: "/dl-extracted-files/%TEXT%", fields: carvedFieldsStr }); // add right-clicks for pivoting into dashboards from Arkime (see nginx.conf) var filterLabel = "OpenSearch Dashboards %DBFIELD%"; diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py index ba65ac664..ce283fc58 100755 --- a/dashboards/scripts/index-refresh.py +++ b/dashboards/scripts/index-refresh.py @@ -410,14 +410,10 @@ def main(): drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues) elif re.search(r'(^zeek\.files\.extracted$)', field['name'], re.IGNORECASE) is not None: - # add download for extracted/quarantined zeek files + # add download for extracted zeek files drilldownInfoParamsUrlTemplateValues = {} - drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/quarantine/{{value}}' - drilldownInfoParamsUrlTemplateValues['label'] = 'Download (if quarantined)' - drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues) - drilldownInfoParamsUrlTemplateValues = {} - drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/preserved/{{value}}' - drilldownInfoParamsUrlTemplateValues['label'] = 'Download (if preserved)' + drilldownInfoParamsUrlTemplateValues['url'] = '/dl-extracted-files/{{value}}' + drilldownInfoParamsUrlTemplateValues['label'] = 'Download' drilldownInfoParamsUrlTemplates.append(drilldownInfoParamsUrlTemplateValues) drilldownInfoParams = {} From 426dcbfda78cd7ed73dc52773e248391277a783d Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 14:04:54 -0700 Subject: [PATCH 30/88] pin netbox-initializers at v3.6.0 until we update netbox to v3.7.0 --- Dockerfiles/netbox.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index aa8724f36..2a646c44d 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -71,7 +71,7 @@ RUN apt-get -q update && \ supervisor \ tini && \ "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \ - 'git+https://github.com/tobiasge/netbox-initializers' \ + 'git+https://github.com/tobiasge/netbox-initializers@v3.6.0' \ psycopg2 \ pynetbox \ python-magic \ From 9486b3a72f49781ea211e1b5b73e7e3f1724aa4f Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 14:13:35 -0700 Subject: [PATCH 31/88] pin netbox-initializers at v3.6.0 until we update netbox to v3.7.0 --- Dockerfiles/netbox.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index 2a646c44d..c1d616777 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -71,7 +71,7 @@ RUN apt-get -q update && \ supervisor \ tini && \ "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \ - 'git+https://github.com/tobiasge/netbox-initializers@v3.6.0' \ + 'git+https://github.com/tobiasge/netbox-initializers@04fbb73' \ psycopg2 \ pynetbox \ python-magic \ From 025b4069cb4b500b430e27f851849524da236040 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 15:08:28 -0700 Subject: [PATCH 32/88] directly use the netbox-community/Device-Type-Library-Import script to load netbox device type library --- Dockerfiles/netbox.Dockerfile | 23 +- netbox/scripts/netbox_init.py | 22 +- netbox/scripts/netbox_library_import.py | 662 ------------------------ netbox/supervisord.conf | 2 +- scripts/build.sh | 2 +- 5 files changed, 33 insertions(+), 678 deletions(-) delete mode 100644 netbox/scripts/netbox_library_import.py diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index c1d616777..79bdc1bc9 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -1,4 +1,4 @@ -FROM netboxcommunity/netbox:v3.6.7 +FROM netboxcommunity/netbox:v3.7.0 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" @@ -33,9 +33,11 @@ ENV SUPERCRONIC_CRONTAB "/etc/crontab" ENV YQ_VERSION "4.33.3" ENV YQ_URL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64" +ENV NETBOX_DEVICETYPE_LIBRARY_IMPORT_URL "https://codeload.github.com/netbox-community/Device-Type-Library-Import/tar.gz/develop" ENV NETBOX_DEVICETYPE_LIBRARY_URL "https://codeload.github.com/netbox-community/devicetype-library/tar.gz/master" -ARG NETBOX_DEVICETYPE_LIBRARY_PATH="/opt/netbox-devicetype-library" +ARG NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH="/opt/netbox-devicetype-library-import" + ARG NETBOX_DEFAULT_SITE=Malcolm ARG NETBOX_CRON=true ARG NETBOX_PRELOAD_PATH="/opt/netbox-preload" @@ -43,7 +45,7 @@ ARG NETBOX_PRELOAD_PREFIXES=false ENV NETBOX_PATH /opt/netbox ENV BASE_PATH netbox -ENV NETBOX_DEVICETYPE_LIBRARY_PATH $NETBOX_DEVICETYPE_LIBRARY_PATH +ENV NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH $NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH ENV NETBOX_DEFAULT_SITE $NETBOX_DEFAULT_SITE ENV NETBOX_CRON $NETBOX_CRON ENV NETBOX_PRELOAD_PATH $NETBOX_PRELOAD_PATH @@ -71,7 +73,7 @@ RUN apt-get -q update && \ supervisor \ tini && \ "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \ - 'git+https://github.com/tobiasge/netbox-initializers@04fbb73' \ + 'git+https://github.com/tobiasge/netbox-initializers@v3.7.0' \ psycopg2 \ pynetbox \ python-magic \ @@ -87,15 +89,20 @@ RUN apt-get -q update && \ touch "${SUPERCRONIC_CRONTAB}" && \ curl -fsSL -o /usr/bin/yq "${YQ_URL}" && \ chmod 755 /usr/bin/yq && \ - apt-get -q -y --purge remove patch gcc git libpq-dev python3-dev && \ + apt-get -q -y --purge remove patch gcc libpq-dev python3-dev && \ apt-get -q -y --purge autoremove && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ usermod -a -G tty ${PUSER} && \ - mkdir -p /opt/unit "${NETBOX_DEVICETYPE_LIBRARY_PATH}" && \ + mkdir -p /opt/unit "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}" && \ chown -R $PUSER:root /etc/netbox /opt/unit "${NETBOX_PATH}" && \ - cd "$(dirname "${NETBOX_DEVICETYPE_LIBRARY_PATH}")" && \ - curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./"$(basename "${NETBOX_DEVICETYPE_LIBRARY_PATH}")" --strip-components 1 && \ + cd "$(dirname "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}")" && \ + curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_URL}" | tar xzf - -C ./"$(basename "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}")" --strip-components 1 && \ + cd "${NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH}" && \ + "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir -r ./requirements.txt && \ + sed -i "s/self.pull_repo()/pass/g" ./repo.py && \ + mkdir -p ./repo && \ + curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./repo --strip-components 1 && \ mkdir -p "${NETBOX_PATH}/netbox/${BASE_PATH}" && \ mv "${NETBOX_PATH}/netbox/static" "${NETBOX_PATH}/netbox/${BASE_PATH}/static" && \ jq '. += { "settings": { "http": { "discard_unsafe_fields": false } } }' /etc/unit/nginx-unit.json | jq 'del(.listeners."[::]:8080")' | jq 'del(.listeners."[::]:8081")' | jq ".routes.main[0].match.uri = \"/${BASE_PATH}/static/*\"" > /etc/unit/nginx-unit-new.json && \ diff --git a/netbox/scripts/netbox_init.py b/netbox/scripts/netbox_init.py index 874776681..c32916a88 100755 --- a/netbox/scripts/netbox_init.py +++ b/netbox/scripts/netbox_init.py @@ -27,7 +27,6 @@ from distutils.dir_util import copy_tree from datetime import datetime from slugify import slugify -from netbox_library_import import import_library ################################################################################################### args = None @@ -233,9 +232,9 @@ def main(): '--library', dest='libraryDir', type=str, - default=os.getenv('NETBOX_DEVICETYPE_LIBRARY_PATH', '/opt/netbox-devicetype-library'), + default=os.getenv('NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH', '/opt/netbox-devicetype-library-import'), required=False, - help="Directory containing NetBox device type library", + help="Directory containing NetBox Device-Type-Library-Import project and library repo", ) parser.add_argument( '-p', @@ -882,11 +881,22 @@ def main(): except Exception as e: logging.error(f"{type(e).__name__} processing netbox-initializers: {e}") - # ###### Library ############################################################################################### + # ###### Device-Type-Library-Import ########################################################################### if os.path.isdir(args.libraryDir): try: - counter = import_library(nb, args.libraryDir) - logging.debug(f"import library results: { counter }") + with malcolm_utils.pushd(args.libraryDir): + osEnv = os.environ.copy() + osEnv['NETBOX_URL'] = args.netboxUrl + osEnv['NETBOX_TOKEN'] = args.netboxToken + osEnv['REPO_URL'] = f"file://{os.path.join(args.libraryDir), 'repo'}" + cmd = [netboxVenvPy, 'nb-dt-import.py'] + err, results = malcolm_utils.run_process( + cmd, + logger=logging, + env=osEnv, + ) + if (err != 0) or (not results): + logging.error(f"{err} running nb-dt-import.py: {results}") except Exception as e: logging.error(f"{type(e).__name__} processing library: {e}") diff --git a/netbox/scripts/netbox_library_import.py b/netbox/scripts/netbox_library_import.py deleted file mode 100644 index fa514c738..000000000 --- a/netbox/scripts/netbox_library_import.py +++ /dev/null @@ -1,662 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. - -# adapted from minitriga/Netbox-Device-Type-Library-Import (MIT License) -# Copyright (c) 2021 Alexander Gittings -# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -from collections import Counter -import logging -import yaml -import pynetbox -import glob -import os -import re - - -def slugFormat(name): - return re.sub(r'\W+', '-', name.lower()) - - -YAML_EXTENSIONS = ['yml', 'yaml'] - - -def getFiles(library_dir, vendors=None): - files = [] - discoveredVendors = [] - base_path = os.path.join(library_dir, 'device-types', '') - if vendors: - for r, d, f in os.walk(base_path): - for folder in d: - for vendor in vendors: - if vendor.lower() == folder.lower(): - discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)}) - for extension in YAML_EXTENSIONS: - files.extend(glob.glob(base_path + folder + f'/*.{extension}')) - else: - for r, d, f in os.walk(base_path): - for folder in d: - if folder.lower() != "Testing": - discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)}) - for extension in YAML_EXTENSIONS: - files.extend(glob.glob(base_path + f'[!Testing]*/*.{extension}')) - return files, discoveredVendors - - -def get_files_modules(library_dir, vendors=None): - '''Get files list for modules. - - Args: - vendors: List of vendors to sync or None to sync all vendors. - - Returns: - A 2-tuple of: - - list of filenames found - - list of vendors found - - ''' - - files = [] - discoveredVendors = [] - base_path = os.path.join(library_dir, 'module-types', '') - if vendors: - for r, d, f in os.walk(base_path): - for folder in d: - for vendor in vendors: - if vendor.lower() == folder.lower(): - discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)}) - for extension in YAML_EXTENSIONS: - files.extend(glob.glob(base_path + folder + f'/*.{extension}')) - else: - for r, d, f in os.walk(base_path): - for folder in d: - if folder.lower() != "Testing": - discoveredVendors.append({'name': folder, 'slug': slugFormat(folder)}) - for extension in YAML_EXTENSIONS: - files.extend(glob.glob(base_path + f'[!Testing]*/*.{extension}')) - - return files, discoveredVendors - - -def readYAMl(files, **kwargs): - slugs = kwargs.get('slugs', None) - deviceTypes = [] - manufacturers = [] - for file in files: - with open(file, 'r') as stream: - try: - data = yaml.safe_load(stream) - except yaml.YAMLError: - continue - manufacturer = data['manufacturer'] - data['manufacturer'] = {} - data['manufacturer']['name'] = manufacturer - data['manufacturer']['slug'] = slugFormat(manufacturer) - - if slugs and data['slug'] not in slugs: - continue - - deviceTypes.append(data) - manufacturers.append(manufacturer) - return deviceTypes - - -def read_yaml_modules(files, **kwargs): - slugs = kwargs.get('slugs', None) - module_types = [] - manufacturers = [] - for file in files: - with open(file, 'r') as stream: - try: - data = yaml.safe_load(stream) - except yaml.YAMLError: - continue - manufacturer = data['manufacturer'] - data['manufacturer'] = {} - data['manufacturer']['name'] = manufacturer - data['manufacturer']['slug'] = slugFormat(manufacturer) - - if slugs and data['slug'] not in slugs: - continue - - module_types.append(data) - manufacturers.append(manufacturer) - return module_types - - -def createManufacturers(vendors, nb, counter=None): - all_manufacturers = {str(item): item for item in nb.dcim.manufacturers.all()} - need_manufacturers = [] - for vendor in vendors: - try: - manGet = all_manufacturers[vendor["name"]] - except KeyError: - need_manufacturers.append(vendor) - - if not need_manufacturers: - return - - try: - manSuccess = nb.dcim.manufacturers.create(need_manufacturers) - if counter is not None: - for man in manSuccess: - counter.update({'manufacturer': 1}) - except pynetbox.RequestError: - pass - - -def createInterfaces(interfaces, deviceType, nb, counter=None): - all_interfaces = {str(item): item for item in nb.dcim.interface_templates.filter(devicetype_id=deviceType)} - need_interfaces = [] - for interface in interfaces: - try: - ifGet = all_interfaces[interface["name"]] - except KeyError: - interface['device_type'] = deviceType - need_interfaces.append(interface) - - if not need_interfaces: - return - - try: - ifSuccess = nb.dcim.interface_templates.create(need_interfaces) - if counter is not None: - for intf in ifSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_interfaces(interfaces, module_type, nb, counter=None): - all_interfaces = {str(item): item for item in nb.dcim.interface_templates.filter(moduletype_id=module_type)} - need_interfaces = [] - for interface in interfaces: - try: - if_res = all_interfaces[interface["name"]] - except KeyError: - interface['module_type'] = module_type - need_interfaces.append(interface) - - if not need_interfaces: - return - - try: - ifSuccess = nb.dcim.interface_templates.create(need_interfaces) - if counter is not None: - for intf in ifSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createConsolePorts(consoleports, deviceType, nb, counter=None): - all_consoleports = {str(item): item for item in nb.dcim.console_port_templates.filter(devicetype_id=deviceType)} - need_consoleports = [] - for consoleport in consoleports: - try: - cpGet = all_consoleports[consoleport["name"]] - except KeyError: - consoleport['device_type'] = deviceType - need_consoleports.append(consoleport) - - if not need_consoleports: - return - - try: - cpSuccess = nb.dcim.console_port_templates.create(need_consoleports) - if counter is not None: - for port in cpSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_console_ports(consoleports, module_type, nb, counter=None): - all_consoleports = {str(item): item for item in nb.dcim.console_port_templates.filter(moduletype_id=module_type)} - need_consoleports = [] - for consoleport in consoleports: - try: - cpGet = all_consoleports[consoleport["name"]] - except KeyError: - consoleport['module_type'] = module_type - need_consoleports.append(consoleport) - - if not need_consoleports: - return - - try: - cpSuccess = nb.dcim.console_port_templates.create(need_consoleports) - if counter is not None: - for port in cpSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createPowerPorts(powerports, deviceType, nb, counter=None): - all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(devicetype_id=deviceType)} - need_power_ports = [] - for powerport in powerports: - try: - ppGet = all_power_ports[powerport["name"]] - except KeyError: - powerport['device_type'] = deviceType - need_power_ports.append(powerport) - - if not need_power_ports: - return - - try: - ppSuccess = nb.dcim.power_port_templates.create(need_power_ports) - if counter is not None: - for pp in ppSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_power_ports(powerports, module_type, nb, counter=None): - all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(moduletype_id=module_type)} - need_power_ports = [] - for powerport in powerports: - try: - ppGet = all_power_ports[powerport["name"]] - except KeyError: - powerport['module_type'] = module_type - need_power_ports.append(powerport) - - if not need_power_ports: - return - - try: - ppSuccess = nb.dcim.power_port_templates.create(need_power_ports) - if counter is not None: - for pp in ppSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createConsoleServerPorts(consoleserverports, deviceType, nb, counter=None): - all_consoleserverports = { - str(item): item for item in nb.dcim.console_server_port_templates.filter(devicetype_id=deviceType) - } - need_consoleserverports = [] - for csport in consoleserverports: - try: - cspGet = all_consoleserverports[csport["name"]] - except KeyError: - csport['device_type'] = deviceType - need_consoleserverports.append(csport) - - if not need_consoleserverports: - return - - try: - cspSuccess = nb.dcim.console_server_port_templates.create(need_consoleserverports) - if counter is not None: - for csp in cspSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_console_server_ports(consoleserverports, module_type, nb, counter=None): - all_consoleserverports = { - str(item): item for item in nb.dcim.console_server_port_templates.filter(moduletype_id=module_type) - } - need_consoleserverports = [] - for csport in consoleserverports: - try: - cspGet = all_consoleserverports[csport["name"]] - except KeyError: - csport['module_type'] = module_type - need_consoleserverports.append(csport) - - if not need_consoleserverports: - return - - try: - cspSuccess = nb.dcim.console_server_port_templates.create(need_consoleserverports) - if counter is not None: - for csp in cspSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createFrontPorts(frontports, deviceType, nb, counter=None): - all_frontports = {str(item): item for item in nb.dcim.front_port_templates.filter(devicetype_id=deviceType)} - need_frontports = [] - for frontport in frontports: - try: - fpGet = all_frontports[frontport["name"]] - except KeyError: - frontport['device_type'] = deviceType - need_frontports.append(frontport) - - if not need_frontports: - return - - all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(devicetype_id=deviceType)} - for port in need_frontports: - try: - rpGet = all_rearports[port["rear_port"]] - port['rear_port'] = rpGet.id - except KeyError: - pass - - try: - fpSuccess = nb.dcim.front_port_templates.create(need_frontports) - if counter is not None: - for fp in fpSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_front_ports(frontports, module_type, nb, counter=None): - all_frontports = {str(item): item for item in nb.dcim.front_port_templates.filter(moduletype_id=module_type)} - need_frontports = [] - for frontport in frontports: - try: - fpGet = all_frontports[frontport["name"]] - except KeyError: - frontport['module_type'] = module_type - need_frontports.append(frontport) - - if not need_frontports: - return - - all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(moduletype_id=module_type)} - for port in need_frontports: - try: - rpGet = all_rearports[port["rear_port"]] - port['rear_port'] = rpGet.id - except KeyError: - pass - - try: - fpSuccess = nb.dcim.front_port_templates.create(need_frontports) - if counter is not None: - for fp in fpSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createRearPorts(rearports, deviceType, nb, counter=None): - all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(devicetype_id=deviceType)} - need_rearports = [] - for rearport in rearports: - try: - rpGet = all_rearports[rearport["name"]] - except KeyError: - rearport['device_type'] = deviceType - need_rearports.append(rearport) - - if not need_rearports: - return - - try: - rpSuccess = nb.dcim.rear_port_templates.create(need_rearports) - if counter is not None: - for rp in rpSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_rear_ports(rearports, module_type, nb, counter=None): - all_rearports = {str(item): item for item in nb.dcim.rear_port_templates.filter(moduletype_id=module_type)} - need_rearports = [] - for rearport in rearports: - try: - rpGet = all_rearports[rearport["name"]] - except KeyError: - rearport['module_type'] = module_type - need_rearports.append(rearport) - - if not need_rearports: - return - - try: - rpSuccess = nb.dcim.rear_port_templates.create(need_rearports) - if counter is not None: - for rp in rpSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createDeviceBays(devicebays, deviceType, nb, counter=None): - all_devicebays = {str(item): item for item in nb.dcim.device_bay_templates.filter(devicetype_id=deviceType)} - need_devicebays = [] - for devicebay in devicebays: - try: - dbGet = all_devicebays[devicebay["name"]] - except KeyError: - devicebay['device_type'] = deviceType - need_devicebays.append(devicebay) - - if not need_devicebays: - return - - try: - dbSuccess = nb.dcim.device_bay_templates.create(need_devicebays) - if counter is not None: - for db in dbSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_bays(module_bays, device_type, nb, counter=None): - '''Create module bays. - - Args: - module_bays: parsed YAML module_bays section. - device_type: the device type instance from netbox. - nb: Netbox API instance - ''' - all_module_bays = {str(item): item for item in nb.dcim.module_bay_templates.filter(devicetype_id=device_type)} - need_module_bays = [] - for module_bay in module_bays: - try: - dbGet = all_module_bays[module_bay["name"]] - except KeyError: - module_bay['device_type'] = device_type - need_module_bays.append(module_bay) - - if not need_module_bays: - return - - try: - module_bay_res = nb.dcim.module_bay_templates.create(need_module_bays) - if counter is not None: - for module_bay in module_bay_res: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def createPowerOutlets(poweroutlets, deviceType, nb, counter=None): - all_poweroutlets = {str(item): item for item in nb.dcim.power_outlet_templates.filter(devicetype_id=deviceType)} - need_poweroutlets = [] - for poweroutlet in poweroutlets: - try: - poGet = all_poweroutlets[poweroutlet["name"]] - except KeyError: - poweroutlet["device_type"] = deviceType - need_poweroutlets.append(poweroutlet) - - if not need_poweroutlets: - return - - all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(devicetype_id=deviceType)} - for outlet in need_poweroutlets: - try: - ppGet = all_power_ports[outlet["power_port"]] - outlet['power_port'] = ppGet.id - except KeyError: - pass - - try: - poSuccess = nb.dcim.power_outlet_templates.create(need_poweroutlets) - if counter is not None: - for po in poSuccess: - counter.update({'updated': 1}) - except pynetbox.RequestError: - pass - - -def create_module_power_outlets(poweroutlets, module_type, nb, counter=None): - '''Create missing module power outlets. - - Args: - poweroutlets: YAML power outlet data. - module_type: Netbox module_type instance. - nb: pynetbox API instance. - - Returns: - None - - Raises: - None - ''' - all_poweroutlets = {str(item): item for item in nb.dcim.power_outlet_templates.filter(moduletype_id=module_type)} - need_poweroutlets = [] - for poweroutlet in poweroutlets: - try: - poGet = all_poweroutlets[poweroutlet["name"]] - except KeyError: - poweroutlet["module_type"] = module_type - need_poweroutlets.append(poweroutlet) - - if not need_poweroutlets: - return - - all_power_ports = {str(item): item for item in nb.dcim.power_port_templates.filter(moduletype_id=module_type)} - for outlet in need_poweroutlets: - try: - ppGet = all_power_ports[outlet["power_port"]] - outlet['power_port'] = ppGet.id - except KeyError: - pass - - try: - poSuccess = nb.dcim.power_outlet_templates.create(need_poweroutlets) - if counter is not None: - for po in poSuccess: - counter.update({'module_port_added': 1}) - except pynetbox.RequestError: - pass - - -def createDeviceTypes(deviceTypes, nb, counter=None): - all_device_types = {str(item): item for item in nb.dcim.device_types.all()} - for deviceType in deviceTypes: - try: - dt = all_device_types[deviceType["model"]] - except KeyError: - try: - dt = nb.dcim.device_types.create(deviceType) - if counter is not None: - counter.update({'added': 1}) - except pynetbox.RequestError: - pass - - if "interfaces" in deviceType: - createInterfaces(deviceType["interfaces"], dt.id, nb, counter=counter) - if "power-ports" in deviceType: - createPowerPorts(deviceType["power-ports"], dt.id, nb, counter=counter) - if "power-port" in deviceType: - createPowerPorts(deviceType["power-port"], dt.id, nb, counter=counter) - if "console-ports" in deviceType: - createConsolePorts(deviceType["console-ports"], dt.id, nb, counter=counter) - if "power-outlets" in deviceType: - createPowerOutlets(deviceType["power-outlets"], dt.id, nb, counter=counter) - if "console-server-ports" in deviceType: - createConsoleServerPorts(deviceType["console-server-ports"], dt.id, nb, counter=counter) - if "rear-ports" in deviceType: - createRearPorts(deviceType["rear-ports"], dt.id, nb, counter=counter) - if "front-ports" in deviceType: - createFrontPorts(deviceType["front-ports"], dt.id, nb, counter=counter) - if "device-bays" in deviceType: - createDeviceBays(deviceType["device-bays"], dt.id, nb, counter=counter) - if "module-bays" in deviceType: - create_module_bays(deviceType['module-bays'], dt.id, nb, counter=counter) - - -def create_module_types(module_types, nb, counter=None): - '''Create missing module types. - - Args: - module_types: yaml data from repo. - nb: pynetbox API instance - - Returns: - None - ''' - - all_module_types = {} - for curr_nb_mt in nb.dcim.module_types.all(): - if curr_nb_mt.manufacturer.slug not in all_module_types: - all_module_types[curr_nb_mt.manufacturer.slug] = {} - - all_module_types[curr_nb_mt.manufacturer.slug][curr_nb_mt.model] = curr_nb_mt - - for curr_mt in module_types: - try: - module_type_res = all_module_types[curr_mt['manufacturer']['slug']][curr_mt["model"]] - except KeyError: - try: - module_type_res = nb.dcim.module_types.create(curr_mt) - if counter is not None: - counter.update({'module_added': 1}) - except pynetbox.RequestError: - pass - - # module_type_res = all_module_types[curr_mt['manufacturer']['slug']][curr_mt["model"]] - - if "interfaces" in curr_mt: - create_module_interfaces(curr_mt["interfaces"], module_type_res.id, nb, counter=counter) - if "power-ports" in curr_mt: - create_module_power_ports(curr_mt["power-ports"], module_type_res.id, nb, counter=counter) - if "console-ports" in curr_mt: - create_module_console_ports(curr_mt["console-ports"], module_type_res.id, nb, counter=counter) - if "power-outlets" in curr_mt: # No current entries to test - create_module_power_outlets(curr_mt["power-outlets"], module_type_res.id, nb, counter=counter) - if "console-server-ports" in curr_mt: # No current entries to test - create_module_console_server_ports(curr_mt["console-server-ports"], module_type_res.id, nb, counter=counter) - if "rear-ports" in curr_mt: - create_module_rear_ports(curr_mt["rear-ports"], module_type_res.id, nb, counter=counter) - if "front-ports" in curr_mt: - create_module_front_ports(curr_mt["front-ports"], module_type_res.id, nb, counter=counter) - - -def import_library(nb, library_dir): - cntr = Counter( - added=0, - updated=0, - manufacturer=0, - module_added=0, - module_port_added=0, - ) - - if library_dir is not None and os.path.isdir(library_dir): - files, vendors = getFiles(library_dir) - deviceTypes = readYAMl(files) - createManufacturers(vendors, nb, counter=cntr) - createDeviceTypes(deviceTypes, nb, counter=cntr) - - files, vendors = get_files_modules(library_dir) - module_types = read_yaml_modules(files) - createManufacturers(vendors, nb, counter=cntr) - create_module_types(module_types, nb, counter=cntr) - - return cntr diff --git a/netbox/supervisord.conf b/netbox/supervisord.conf index 4bb797473..2811b23d9 100644 --- a/netbox/supervisord.conf +++ b/netbox/supervisord.conf @@ -38,7 +38,7 @@ command=/opt/netbox/venv/bin/python /usr/local/bin/netbox_init.py --url "http://localhost:8080/netbox" --token "%(ENV_SUPERUSER_API_TOKEN)s" --net-map /usr/local/share/net-map.json - --library "%(ENV_NETBOX_DEVICETYPE_LIBRARY_PATH)s" + --library "%(ENV_NETBOX_DEVICETYPE_LIBRARY_IMPORT_PATH)s" --preload "%(ENV_NETBOX_PRELOAD_PATH)s" --preload-prefixes %(ENV_NETBOX_PRELOAD_PREFIXES)s --postgres-host "%(ENV_DB_HOST)s" diff --git a/scripts/build.sh b/scripts/build.sh index 36bd18b5c..ec85eeb1c 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -119,7 +119,7 @@ FILES_IN_IMAGES=( "/opt/arkime/etc/ipv4-address-space.csv;arkime" "/opt/arkime/etc/oui.txt;arkime" "/opt/arkime/bin/capture;arkime" - "/opt/netbox-devicetype-library/schema/components.json;netbox" + "/opt/netbox-devicetype-library-import/repo/schema/components.json;netbox" "/opt/zeek/bin/zeek;zeek" "/opt/zeek/bin/spicyz;zeek" "/usr/share/nginx/html/index.html;nginx-proxy" From 81f6150eb494574b0619ca3e440cd058799425d8 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 15:16:52 -0700 Subject: [PATCH 33/88] directly use the netbox-community/Device-Type-Library-Import script to load netbox device type library --- netbox/scripts/netbox_init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/scripts/netbox_init.py b/netbox/scripts/netbox_init.py index c32916a88..7684c8b58 100755 --- a/netbox/scripts/netbox_init.py +++ b/netbox/scripts/netbox_init.py @@ -888,7 +888,7 @@ def main(): osEnv = os.environ.copy() osEnv['NETBOX_URL'] = args.netboxUrl osEnv['NETBOX_TOKEN'] = args.netboxToken - osEnv['REPO_URL'] = f"file://{os.path.join(args.libraryDir), 'repo'}" + osEnv['REPO_URL'] = 'local' cmd = [netboxVenvPy, 'nb-dt-import.py'] err, results = malcolm_utils.run_process( cmd, From c6298b583de4d55ea94f556615f687cb70b423ad Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 16:02:29 -0700 Subject: [PATCH 34/88] remove a device type directory that's breaking the database key integrity requirements --- Dockerfiles/netbox.Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index 79bdc1bc9..0219460b9 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -103,6 +103,7 @@ RUN apt-get -q update && \ sed -i "s/self.pull_repo()/pass/g" ./repo.py && \ mkdir -p ./repo && \ curl -sSL "${NETBOX_DEVICETYPE_LIBRARY_URL}" | tar xzf - -C ./repo --strip-components 1 && \ + rm -rf ./repo/device-types/WatchGuard && \ mkdir -p "${NETBOX_PATH}/netbox/${BASE_PATH}" && \ mv "${NETBOX_PATH}/netbox/static" "${NETBOX_PATH}/netbox/${BASE_PATH}/static" && \ jq '. += { "settings": { "http": { "discard_unsafe_fields": false } } }' /etc/unit/nginx-unit.json | jq 'del(.listeners."[::]:8080")' | jq 'del(.listeners."[::]:8081")' | jq ".routes.main[0].match.uri = \"/${BASE_PATH}/static/*\"" > /etc/unit/nginx-unit-new.json && \ From 5d701df2354ac5ddef32a4361a011c76da99e182 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Thu, 4 Jan 2024 21:27:16 -0700 Subject: [PATCH 35/88] fix link for arkime from dashboards --- dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 2 +- dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 2 +- dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json | 2 +- dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 2 +- dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 2 +- dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 2 +- dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 2 +- dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json | 2 +- dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json | 2 +- dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json | 2 +- dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json | 2 +- dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json | 2 +- dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 2 +- dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 2 +- dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json | 2 +- dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json | 2 +- dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 2 +- dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json | 2 +- dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 2 +- dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json | 2 +- dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json | 2 +- dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json | 2 +- dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json | 2 +- dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json | 2 +- dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 2 +- dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 2 +- dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json | 2 +- dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json | 2 +- dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json | 2 +- dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 2 +- dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json | 2 +- dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json | 2 +- dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json | 2 +- dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 2 +- dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 2 +- dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 2 +- dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 2 +- dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 2 +- dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json | 2 +- dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 2 +- dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +- dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json | 2 +- dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json | 2 +- dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json | 2 +- dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 2 +- dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json | 2 +- dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json | 2 +- dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json | 2 +- dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json | 2 +- dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json | 2 +- dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 2 +- dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 2 +- dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 2 +- dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 2 +- dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json | 2 +- dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json | 2 +- dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json | 2 +- dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 2 +- dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 2 +- dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 2 +- dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 2 +- dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 2 +- dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json | 2 +- dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 2 +- dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json | 2 +- dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 2 +- 74 files changed, 74 insertions(+), 74 deletions(-) diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json index dd55d865a..850c55c2b 100644 --- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json +++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json @@ -112,7 +112,7 @@ "version": "Wzc0MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json index 7f432f35b..11c63eb2b 100644 --- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json +++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json @@ -87,7 +87,7 @@ "version": "Wzc5NSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json index 897ebb88a..9a380588e 100644 --- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json +++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json @@ -92,7 +92,7 @@ "version": "Wzg3OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json index fdcb0d860..c13df5038 100644 --- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json +++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json index c7de97cca..82734a3a9 100644 --- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json +++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json @@ -87,7 +87,7 @@ "version": "WzkzNiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index 93f0ad777..0c45fd8e9 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -87,7 +87,7 @@ "version": "Wzc5NSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json index 5b12108a0..1c0dd53cd 100644 --- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json +++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json index 3081bc906..76c75d379 100644 --- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json +++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json index c4bd61fdf..2edf0077c 100644 --- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json +++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json @@ -82,7 +82,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json index ad93e575a..286026632 100644 --- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json +++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json index 379e2e8f9..6c8a08505 100644 --- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json +++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json @@ -82,7 +82,7 @@ "version": "Wzc1NSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json index 0ef978d75..28176f040 100644 --- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json +++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json @@ -127,7 +127,7 @@ "version": "Wzg1NywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json index 76236f328..6d5b8e3a9 100644 --- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json +++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json @@ -92,7 +92,7 @@ "version": "WzkzNiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json index c226f7e9f..5286672ad 100644 --- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json index a93e2e466..3abce6f00 100644 --- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json +++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json @@ -72,7 +72,7 @@ "version": "Wzc4NCwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json index 8e32017c8..d67af9f6f 100644 --- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json @@ -102,7 +102,7 @@ "version": "Wzc4NSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json index 4975bb3da..f23198b57 100644 --- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json @@ -112,7 +112,7 @@ "version": "Wzg1NiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json index f976325fc..aa93ccb50 100644 --- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json +++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json @@ -122,7 +122,7 @@ "version": "Wzg0OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json index e80a561d0..24ecaaf4a 100644 --- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json +++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json @@ -107,7 +107,7 @@ "version": "Wzg3OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index c33f62e04..3d763d28a 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -117,7 +117,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json index 021a33650..ff1bec8ec 100644 --- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json @@ -72,7 +72,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json index 2f3585c98..4ea6ee9a4 100644 --- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json +++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json @@ -97,7 +97,7 @@ "version": "Wzc2OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json index 3f5bcda89..69dd8c9c9 100644 --- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json +++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json @@ -127,7 +127,7 @@ "version": "Wzg1OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json index a853ad2fc..731ada58a 100644 --- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json index 2158350bf..a34b2f29c 100644 --- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json +++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json @@ -102,7 +102,7 @@ "version": "WzkzNywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json index de6fc28aa..0dd286831 100644 --- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json +++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json index f42f2026f..677fa9c43 100644 --- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json +++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json @@ -82,7 +82,7 @@ "version": "Wzg4MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json index 90f6202fb..e59e420a4 100644 --- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json +++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json index e19a7f47b..b903db812 100644 --- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json +++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json @@ -87,7 +87,7 @@ "version": "Wzg1OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json index f451ce54a..67d3cedf9 100644 --- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json +++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json index b0c8c9330..29c7129e2 100644 --- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json +++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json @@ -97,7 +97,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json index b4a9dc84d..3edcebc14 100644 --- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json @@ -47,7 +47,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index 62c4c17f3..87f3167cc 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -97,7 +97,7 @@ "version": "Wzc4NCwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json index 3a259c876..6bcbd4f97 100644 --- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json +++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json index e86eadc09..8d328cb06 100644 --- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json +++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json @@ -77,7 +77,7 @@ "version": "Wzc4NCwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json index a90ffa3ae..52d43d0d0 100644 --- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json +++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json @@ -117,7 +117,7 @@ "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json index 044bef8b1..c452f1d5a 100644 --- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json +++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json @@ -82,7 +82,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json index c29fabf3f..710154d0b 100644 --- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json index 29018b3e2..fe22e1ae0 100644 --- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json +++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json index 9f3c8535e..dba7cb265 100644 --- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json +++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json @@ -127,7 +127,7 @@ "version": "WzcyNiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json index bf3b569cc..9f9933675 100644 --- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json +++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json index a080c3e2c..5f373392d 100644 --- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json +++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json index 22fd40a17..a0b342987 100644 --- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json +++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json index 6fe1e0aab..048c718fc 100644 --- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json +++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json @@ -62,7 +62,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index ebc0563e8..7ff4f54bd 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -102,7 +102,7 @@ "version": "WzgzNywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json index 9c2307012..db66cce10 100644 --- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json +++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json index 7da2f2b80..30d07fe83 100644 --- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json +++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json @@ -102,7 +102,7 @@ "version": "Wzg1NywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index b40361267..4dcf04eac 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -117,7 +117,7 @@ "version": "Wzc4NiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json index a09f62ff4..089349790 100644 --- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json index c014f4a80..ee4b3eb59 100644 --- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json +++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json @@ -82,7 +82,7 @@ "version": "Wzg1OSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json index 3bb747c95..a3b757c70 100644 --- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json index 7e705d7e5..9df8a913f 100644 --- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json +++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json @@ -167,7 +167,7 @@ "version": "Wzc4NiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json index ae7dd1c31..01be94389 100644 --- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json +++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json @@ -87,7 +87,7 @@ "version": "WzkzNywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json index 27e948b3c..5c24b521e 100644 --- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json +++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json @@ -87,7 +87,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json index b36c99d39..3ae48e383 100644 --- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json +++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json index 3b3d9494a..bce317209 100644 --- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json index 85db02f8b..fe4e02a41 100644 --- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json +++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json @@ -107,7 +107,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json index fafbb9724..ca024e00b 100644 --- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json @@ -72,7 +72,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json index 7696aca08..813a5c6dd 100644 --- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json +++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json @@ -82,7 +82,7 @@ "version": "WzY5MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json index e1dbe8789..62c2d8847 100644 --- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json +++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json @@ -77,7 +77,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json index 902c9edf2..9f73fd737 100644 --- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json +++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json @@ -92,7 +92,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json index 8060287c3..e3fb73a63 100644 --- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json +++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json index 1d4af528f..c7c63c3ee 100644 --- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json +++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json @@ -112,7 +112,7 @@ "version": "WzczOSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json index 3935703d5..ef4c170a9 100644 --- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json index 1d7995bb7..33b38480a 100644 --- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json +++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json index d1f6db864..ac91e6016 100644 --- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json +++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json @@ -107,7 +107,7 @@ "version": "WzgzOCwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json index e72cb9bc8..229e97acd 100644 --- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json +++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json index 02179d422..455a53aaa 100644 --- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json @@ -87,7 +87,7 @@ "version": "WzgwMSwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json index 662b0b6e1..404280a46 100644 --- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json @@ -47,7 +47,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json index b0f9d6a7f..44b974e2a 100644 --- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json +++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json @@ -137,7 +137,7 @@ "version": "Wzc4NCwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json index d03bbf685..0f4429f77 100644 --- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json +++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json @@ -57,7 +57,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json index a871622ba..2c2b0e1e2 100644 --- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json +++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json @@ -102,7 +102,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json index 47a28dcc3..0b583c93c 100644 --- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json @@ -77,7 +77,7 @@ "version": "Wzg3MiwxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json index d122bfa4e..68d0a8e17 100644 --- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json +++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json @@ -102,7 +102,7 @@ "version": "WzkzNywxXQ==", "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\":[]}", + "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\":[]}", "uiStateJSON": "{}", "description": "", "version": 1, From 1adea3bf79d34815a13b6115af380bfcfbb5b647 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 07:42:28 -0700 Subject: [PATCH 36/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/landingpage/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 34e5b6520..5d0e8d23d 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -41,21 +41,21 @@ <h1 class="mb-5"/> <div class="features-icons-item mx-auto mb-0 mb-lg-3"> <a href="/dashboards/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/opensearch_mark_default.svg"/> <h3>Dashboards</h3></a> - <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of pre-built dashboards, or create your own</p> + <p class="lead mb-0">Visualize traffic or track down security concerns with dozens of <a href="/readme/docs/dashboards.html#PrebuiltVisualizations">pre-built dashboards</a>, or <a href="/readme/docs/dashboards.html#BuildDashboard">create your own</a></p> </div> </div> <div class="col-lg-3"> <div class="features-icons-item mx-auto mb-5 mb-lg-3"> <a href="/arkime/"><img style='width: 19%; height: 19%; object-fit: contain' src="assets/img/Arkime_Logo_FullGradientBlack.svg#svgView(viewBox(0, 8, 80, 145))"/> <h3>Arkime</h3></a> - <p class="lead mb-0">Delve into session details including full packet payloads</p> + <p class="lead mb-0">Delve into <a href="/readme/docs/arkime.html">session details</a> including full packet payloads</p> </div> </div> <div class="col-lg-3"> <div class="features-icons-item mx-auto mb-0 mb-lg-3"> <a href="/netbox/"><img style='max-width: 35%; height: auto; object-fit: contain' src="assets/img/netbox_icon.svg"/> <h3>NetBox</h3></a> - <p class="lead mb-0">Model and document your network infrastructure</p> + <p class="lead mb-0">Model and document your <a href="/readme/docs/asset-interaction-analysis.html">network infrastructure</a></p> </div> </div> <div class="col-lg-3"> @@ -78,21 +78,21 @@ <h3>Documentation</h3></a> <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3"> <a href="/upload/"><div class="features-icons-icon d-flex"><i class="bi-upload m-auto text-primary"></i></div> <h3>Artifact Upload</h3></a> - <p class="lead mb-0">Upload previously-captured PCAP files or archived Zeek logs for analysis</p> + <p class="lead mb-0"><a href="/readme/docs/upload.html">Upload</a> previously-captured PCAP files or archived Zeek logs for analysis</p> </div> </div> <div class="col-lg-3"> <div class="features-icons-item mx-auto mb-5 mb-lg-0 mb-lg-3"> <a href="/auth/"><div class="features-icons-icon d-flex"><i class="bi-person m-auto text-primary"></i></div> <h3>Local Account Management</h3></a> - <p class="lead mb-0">Manage the local user accounts maintained by Malcolm</p> + <p class="lead mb-0">Manage the <a href="/readme/docs/authsetup.html#AuthBasicAccountManagement">local user accounts</a> maintained by Malcolm</p> </div> </div> <div class="col-lg-3"> <div class="features-icons-item mx-auto mb-0 mb-lg-3"> <a href="/mapi/"><div class="features-icons-icon d-flex"><i class="bi-gear m-auto text-primary"></i></div> <h3>API</h3></a> - <p class="lead mb-0">Interface with Malcolm's underlying data via a REST API</p> + <p class="lead mb-0">Interface with Malcolm's underlying data via a <a href="/readme/docs/api.html">REST API</a></p> </div> </div> </div> From 46e216644c5e38b7ec2551d1a79cbf20f484c1c4 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 07:45:22 -0700 Subject: [PATCH 37/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/landingpage/index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 5d0e8d23d..82637d7f5 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -1,5 +1,6 @@ <!DOCTYPE html> <html lang="en"> + <!-- Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. --> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> @@ -122,4 +123,5 @@ <h3>API</h3></a> <!-- Core theme JS--> <script src="js/scripts.js"></script> </body> + <!-- See, Here I'm Now By Myself, Uh, Talking To Myself. That's, That's Chaos Theory. --> </html> From aa716dd996cca1155ab7db5b37f08fa1d7e0731d Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 08:55:22 -0700 Subject: [PATCH 38/88] drop netbox back to v3.6.7 while I work out some things for the upgrade --- Dockerfiles/netbox.Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index 0219460b9..fce34a491 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -1,4 +1,4 @@ -FROM netboxcommunity/netbox:v3.7.0 +FROM netboxcommunity/netbox:v3.6.7 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" @@ -30,6 +30,8 @@ ENV SUPERCRONIC "supercronic-linux-amd64" ENV SUPERCRONIC_SHA1SUM "cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b" ENV SUPERCRONIC_CRONTAB "/etc/crontab" +ENV NETBOX_INITIALIZERS_VERSION "ebf1f76" + ENV YQ_VERSION "4.33.3" ENV YQ_URL "https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64" @@ -73,7 +75,7 @@ RUN apt-get -q update && \ supervisor \ tini && \ "${NETBOX_PATH}/venv/bin/python" -m pip install --break-system-packages --no-compile --no-cache-dir \ - 'git+https://github.com/tobiasge/netbox-initializers@v3.7.0' \ + "git+https://github.com/tobiasge/netbox-initializers@${NETBOX_INITIALIZERS_VERSION}" \ psycopg2 \ pynetbox \ python-magic \ From 301ff5683c124926eec7e7a5cdbbf48330a6cfa6 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 12:07:19 -0700 Subject: [PATCH 39/88] more consistently differentiate between uploaded and live-captured traffic idaholab/Malcolm#321 WIP --- arkime/scripts/live_capture.sh | 2 +- arkime/scripts/viewer_service.sh | 4 ++-- filebeat/filebeat.yml | 6 +++--- .../pipelines/enrichment/97_arkimize.conf | 11 +++++++++- .../pipelines/enrichment/98_finalize.conf | 16 ++++++++++++--- .../pipelines/suricata/01_input_suricata.conf | 19 ++++-------------- logstash/pipelines/zeek/01_input_zeek.conf | 20 +++++-------------- shared/bin/pcap_processor.py | 8 ++++---- 8 files changed, 42 insertions(+), 44 deletions(-) diff --git a/arkime/scripts/live_capture.sh b/arkime/scripts/live_capture.sh index 19072706a..04069f2cf 100755 --- a/arkime/scripts/live_capture.sh +++ b/arkime/scripts/live_capture.sh @@ -8,7 +8,7 @@ KEY_FILE="${ARKIME_DIR}"/etc/viewer.key ARKIME_PACKET_THREADS=${ARKIME_PACKET_THREADS:-1} PUSER=${PUSER:-"arkime"} PGROUP=${PGROUP:-"arkime"} -NODE_NAME=${PCAP_NODE_NAME:-"malcolm"}-live +NODE_NAME=${PCAP_NODE_NAME:-"malcolm"} NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""} OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"} diff --git a/arkime/scripts/viewer_service.sh b/arkime/scripts/viewer_service.sh index 00314c460..04184390a 100755 --- a/arkime/scripts/viewer_service.sh +++ b/arkime/scripts/viewer_service.sh @@ -2,14 +2,14 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. -[[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && LIVE_NODE_FLAG=-live || LIVE_NODE_FLAG= +[[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && NODE_NAME_FLAG= || NODE_NAME_FLAG=-upload while true; do if [[ -f /var/run/arkime/initialized && "$VIEWER" == "on" ]]; then echo "Launch viewer..." rm -f $ARKIME_DIR/logs/viewer* pushd $ARKIME_DIR/viewer >/dev/null 2>&1 - $ARKIME_DIR/bin/node viewer.js --insecure -n "${PCAP_NODE_NAME:-malcolm}${LIVE_NODE_FLAG}" -c $ARKIME_DIR/etc/config.ini + $ARKIME_DIR/bin/node viewer.js --insecure -n "${PCAP_NODE_NAME:-malcolm}${NODE_NAME_FLAG}" -c $ARKIME_DIR/etc/config.ini popd >/dev/null 2>&1 fi sleep 5 diff --git a/filebeat/filebeat.yml b/filebeat/filebeat.yml index ba5590419..454a443e4 100644 --- a/filebeat/filebeat.yml +++ b/filebeat/filebeat.yml @@ -15,7 +15,7 @@ filebeat.inputs: exclude_files: ['signatures\(_carved.*\)\.log$'] symlinks: true fields_under_root: true - tags: ["_filebeat_zeek"] + tags: ["_filebeat_zeek_malcolm_upload"] compression_level: 0 exclude_lines: ['^\s*#'] scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s} @@ -57,7 +57,7 @@ filebeat.inputs: - ${FILEBEAT_ZEEK_LOG_PATH:/zeek/current}/signatures(_carved*).log symlinks: true fields_under_root: true - tags: ["_filebeat_zeek"] + tags: ["_filebeat_zeek_malcolm_live"] compression_level: 0 exclude_lines: ['^\s*#'] scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s} @@ -75,7 +75,7 @@ filebeat.inputs: - ${FILEBEAT_SURICATA_LOG_PATH:/suricata}/eve-*.json symlinks: true fields_under_root: true - tags: ["_filebeat_suricata"] + tags: ["_filebeat_suricata_malcolm_upload"] compression_level: 0 scan_frequency: ${FILEBEAT_SCAN_FREQUENCY:10s} clean_inactive: ${FILEBEAT_CLEAN_INACTIVE:180m} diff --git a/logstash/pipelines/enrichment/97_arkimize.conf b/logstash/pipelines/enrichment/97_arkimize.conf index 384f9a455..a94c58696 100644 --- a/logstash/pipelines/enrichment/97_arkimize.conf +++ b/logstash/pipelines/enrichment/97_arkimize.conf @@ -39,7 +39,7 @@ filter { # note that if so, the arkime "user" field may conflict with ECS here } - # this identifies which node the log came from + # this identifies which node the log came from in Arkime if ([beat][name]) { mutate { id => "mutate_add_field_beat_name_node" add_field => { "[node]" => "%{[beat][name]}" } } @@ -51,4 +51,13 @@ filter { add_field => { "[node]" => "malcolm" } } } + # for Arkime's node name, add -upload for uploaded PCAP data to be consistent with Arkime sessions + if ("_filebeat_zeek_malcolm_upload" in [tags]) or + ("_filebeat_suricata_malcolm_upload" in [tags]) or + ("_filebeat_zeek_upload" in [tags]) or + ("_filebeat_suricata_upload" in [tags]) { + mutate { id => "mutate_replace_node_name_uploaded" + replace => {"[node]" => "%{[node]}-upload" } } + } + } \ No newline at end of file diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index f292b9202..5655f6908 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -61,7 +61,17 @@ filter { "_jsonparsefailure", "_dissectfailure", "_ouilookupfailure", - "_geoip_lookup_failure" ] } - - + "_geoip_lookup_failure", + "_filebeat_suricata", + "_filebeat_suricata_hedgehog_live", + "_filebeat_suricata_live", + "_filebeat_suricata_malcolm_live", + "_filebeat_suricata_malcolm_upload", + "_filebeat_suricata_upload", + "_filebeat_zeek", + "_filebeat_zeek_hedgehog_live", + "_filebeat_zeek_live", + "_filebeat_zeek_malcolm_live", + "_filebeat_zeek_malcolm_upload", + "_filebeat_zeek_upload" ] } } \ No newline at end of file diff --git a/logstash/pipelines/suricata/01_input_suricata.conf b/logstash/pipelines/suricata/01_input_suricata.conf index b04ccc79d..80e796ce3 100644 --- a/logstash/pipelines/suricata/01_input_suricata.conf +++ b/logstash/pipelines/suricata/01_input_suricata.conf @@ -9,23 +9,12 @@ filter { # this pipeline only needs to see suricata logs forwarded from filebeat if ("_filebeat_suricata" in [tags]) or ("_filebeat_suricata_live" in [tags]) or + ("_filebeat_suricata_upload" in [tags]) or ("_filebeat_suricata_hedgehog_live" in [tags]) or - ("_filebeat_suricata_malcolm_live" in [tags]) { + ("_filebeat_suricata_malcolm_live" in [tags]) or + ("_filebeat_suricata_malcolm_upload" in [tags]) { - if ("_filebeat_suricata_malcolm_live" in [tags]) { - # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency - # with Arkime live capture append -live to the name for traffic captured live - if ([beat][name]) { mutate { id => "mutate_replace_beat_name_suricata_live" - replace => {"[beat][name]" => "%{[beat][name]}-live" } } } - if ([host][name]) { mutate { id => "mutate_replace_host_name_suricata_live" - replace => {"[host][name]" => "%{[host][name]}-live" } } } - } - - mutate { id => "mutate_filebeat_suricata_forward_tag_remove" - remove_tag => [ "_filebeat_suricata", - "_filebeat_suricata_live", - "_filebeat_suricata_hedgehog_live", - "_filebeat_suricata_malcolm_live" ] } + mutate { id => "mutate_filebeat_suricata_forward_noop" } } else { drop { id => "drop_not_filebeat_suricata" } diff --git a/logstash/pipelines/zeek/01_input_zeek.conf b/logstash/pipelines/zeek/01_input_zeek.conf index ddf4c13dd..6731613bc 100644 --- a/logstash/pipelines/zeek/01_input_zeek.conf +++ b/logstash/pipelines/zeek/01_input_zeek.conf @@ -9,25 +9,15 @@ filter { # this pipeline only needs to see zeek logs forwarded from filebeat if ("_filebeat_zeek" in [tags]) or ("_filebeat_zeek_live" in [tags]) or + ("_filebeat_zeek_upload" in [tags]) or ("_filebeat_zeek_hedgehog_live" in [tags]) or - ("_filebeat_zeek_malcolm_live" in [tags]) { + ("_filebeat_zeek_malcolm_live" in [tags]) or + ("_filebeat_zeek_malcolm_upload" in [tags]) { - if ("_filebeat_zeek_malcolm_live" in [tags]) { - # the shipper name comes from PCAP_NODE_NAME in filebeat.yml, but for consistency - # with Arkime live capture append -live to the name for traffic captured live - if ([beat][name]) { mutate { id => "mutate_replace_beat_name_zeek_live" - replace => {"[beat][name]" => "%{[beat][name]}-live" } } } - if ([host][name]) { mutate { id => "mutate_replace_host_name_zeek_live" - replace => {"[host][name]" => "%{[host][name]}-live" } } } - } - - mutate { id => "mutate_filebeat_zeek_forward_tag_remove" - remove_tag => [ "_filebeat_zeek", - "_filebeat_zeek_live", - "_filebeat_zeek_hedgehog_live", - "_filebeat_zeek_malcolm_live" ] } + mutate { id => "mutate_filebeat_zeek_forward_noop" } } else { drop { id => "drop_not_filebeat_zeek" } } } + diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py index adf07fcb3..40e62d1c0 100755 --- a/shared/bin/pcap_processor.py +++ b/shared/bin/pcap_processor.py @@ -166,11 +166,11 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs): ) logger.info(f"{scriptName}[{scanWorkerId}]:\t🔎\t{fileInfo}") - # if this is a "live" rotated PCAP captured by netsniff-ng or tcpdump, - # append -live to the node name used (which originates from PCAP_NODE_NAME) + # if this is an uploaded PCAP (not captured "live"") + # append -upload to the node name used (which originates from PCAP_NODE_NAME) tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName - if (FILE_INFO_DICT_LIVE in fileInfo) and fileInfo[FILE_INFO_DICT_LIVE]: - tmpNodeName = tmpNodeName + '-live' + if (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE]): + tmpNodeName = tmpNodeName + '-upload' # put together arkime execution command cmd = [ From 58c94f360f6e597be78d99b2e6dc5242bd896b64 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 12:08:51 -0700 Subject: [PATCH 40/88] more consistently differentiate between uploaded and live-captured traffic idaholab/Malcolm#321 WIP --- arkime/scripts/docker_entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index 9a5298a67..e3ceaba22 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -60,7 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}" - sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}/g" "${ARKIME_CONFIG_FILE}" + sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}-upload/g" "${ARKIME_CONFIG_FILE}" # performance tuning parameters [[ -n "$ARKIME_DB_BULK_SIZE" ]] && \ From 11877985bb2a03505e2a0be5dc7d5f1cc438c01c Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 12:12:47 -0700 Subject: [PATCH 41/88] more consistently differentiate between uploaded and live-captured traffic idaholab/Malcolm#321 WIP --- arkime/scripts/docker_entrypoint.sh | 1 + arkime/scripts/viewer_service.sh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index e3ceaba22..ddea2fc2f 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -60,6 +60,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s/^\(freeSpaceG=\).*/\1"${ARKIME_FREESPACEG}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}" + # note: when setting the node name, the viewer_service.sh script needs to match sed -i "s/MALCOLM_PCAP_NODE_NAME/${NODE_NAME}-upload/g" "${ARKIME_CONFIG_FILE}" # performance tuning parameters diff --git a/arkime/scripts/viewer_service.sh b/arkime/scripts/viewer_service.sh index 04184390a..b6064fcdb 100755 --- a/arkime/scripts/viewer_service.sh +++ b/arkime/scripts/viewer_service.sh @@ -2,6 +2,8 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. +# note: when setting the node name, the docker_entrypoint.sh script around +# MALCOLM_PCAP_NODE_NAME as it gets written into config.ini needs to match [[ "${ARKIME_LIVE_CAPTURE:-false}" == "true" ]] && NODE_NAME_FLAG= || NODE_NAME_FLAG=-upload while true; do From 38464670428d25202651316077c69597c40eb8fa Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 12:54:00 -0700 Subject: [PATCH 42/88] more consistently differentiate between uploaded and live-captured traffic idaholab/Malcolm#321 WIP --- dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 2 +- dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index 0c45fd8e9..95273016e 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -259,7 +259,7 @@ "version": "WzY2LDFd", "attributes": { "title": "Capture Source", - "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"node\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"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, diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index 7ff4f54bd..29114ef82 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -155,7 +155,7 @@ "version": "WzUxMiwxXQ==", "attributes": { "title": "Capture Source", - "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"node\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"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, From e0784e9d37dcfa2081d9bc25a24592212cc614e7 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 14:10:24 -0700 Subject: [PATCH 43/88] Fix idaholab/Malcolm#324 (time sync from hedgehog to Malcolm opensearch instance not working) by building htpdate from source with `make https` for ISO installers rather than installing version from the package repositories Signed-off-by: Seth Grover <mero.mero.guero@gmail.com> --- malcolm-iso/build.sh | 6 +++ .../config/package-lists/net.list.chroot | 1 - malcolm-iso/htpdate/Dockerfile | 26 +++++++++++++ malcolm-iso/htpdate/build-docker-image.sh | 11 ++++++ malcolm-iso/htpdate/build-htpdate-deb.sh | 37 +++++++++++++++++++ sensor-iso/build.sh | 6 +++ sensor-iso/build_via_vagrant.sh | 4 +- .../config/package-lists/net.list.chroot | 1 - 8 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 malcolm-iso/htpdate/Dockerfile create mode 100755 malcolm-iso/htpdate/build-docker-image.sh create mode 100755 malcolm-iso/htpdate/build-htpdate-deb.sh diff --git a/malcolm-iso/build.sh b/malcolm-iso/build.sh index feb2a0f99..bc99bdef8 100755 --- a/malcolm-iso/build.sh +++ b/malcolm-iso/build.sh @@ -178,6 +178,12 @@ if [ -d "$WORKDIR" ]; then cat "$SCRIPT_PATH/shared/environment.chroot" >> ./config/environment.chroot echo "PYTHONDONTWRITEBYTECODE=1" >> ./config/environment.chroot + # clone and build htpdate .deb package in its own clean environment (rather than in hooks/) + bash "$SCRIPT_PATH/htpdate/build-docker-image.sh" + docker run --rm -v "$SCRIPT_PATH"/htpdate:/build htpdate-build:latest -o /build + mv "$SCRIPT_PATH/htpdate"/*.deb ./config/packages.chroot/ + docker rmi -f htpdate-build:latest + # copy shared scripts and some branding stuff mkdir -p ./config/includes.chroot/usr/local/bin/ rsync -a "$SCRIPT_PATH/../shared/bin/" ./config/includes.chroot/usr/local/bin/ diff --git a/malcolm-iso/config/package-lists/net.list.chroot b/malcolm-iso/config/package-lists/net.list.chroot index 6106c8138..e28188a2e 100644 --- a/malcolm-iso/config/package-lists/net.list.chroot +++ b/malcolm-iso/config/package-lists/net.list.chroot @@ -2,7 +2,6 @@ apache2-utils ca-certificates curl ethtool -htpdate iproute2 iputils-arping iputils-ping diff --git a/malcolm-iso/htpdate/Dockerfile b/malcolm-iso/htpdate/Dockerfile new file mode 100644 index 000000000..5bccd51dc --- /dev/null +++ b/malcolm-iso/htpdate/Dockerfile @@ -0,0 +1,26 @@ +FROM debian:12-slim + +# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. + +LABEL maintainer="malcolm@inl.gov" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get -q update && \ + apt-get install -q -y --no-install-recommends \ + automake \ + bison \ + ca-certificates \ + checkinstall \ + curl \ + flex \ + gcc \ + libssl-dev \ + libtool \ + make \ + pkg-config && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +ADD build-htpdate-deb.sh /usr/local/bin/ + +ENTRYPOINT ["/bin/bash", "/usr/local/bin/build-htpdate-deb.sh"] diff --git a/malcolm-iso/htpdate/build-docker-image.sh b/malcolm-iso/htpdate/build-docker-image.sh new file mode 100755 index 000000000..a2361e8cf --- /dev/null +++ b/malcolm-iso/htpdate/build-docker-image.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. + +# force-navigate to script directory +SCRIPT_PATH="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +pushd "$SCRIPT_PATH" >/dev/null 2>&1 + +docker build -t htpdate-build:latest . + +popd >/dev/null 2>&1 diff --git a/malcolm-iso/htpdate/build-htpdate-deb.sh b/malcolm-iso/htpdate/build-htpdate-deb.sh new file mode 100755 index 000000000..51b32567a --- /dev/null +++ b/malcolm-iso/htpdate/build-htpdate-deb.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. + +HTPDATE_URL="https://github.com/twekkel/htpdate" +HTPDATE_VER="$(curl -sqI "$HTPDATE_URL/releases/latest" | awk -F '/' '/^location/ {print substr($NF, 1, length($NF)-1)}' | sed 's/^v//')" +OUTPUT_DIR="/tmp" +unset VERBOSE + +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 + + +cd /tmp +mkdir ./htpdate +curl -sSL "$HTPDATE_URL/tarball/v$HTPDATE_VER" | tar xzf - -C ./htpdate --strip-components 1 +cd ./htpdate +grep -v man8 Makefile > Makefile.new && mv Makefile.new Makefile +make https +checkinstall -y -D --nodoc --strip=yes --stripso=yes --install=no --fstrans=no --pkgname=htpdate --pkgversion="$HTPDATE_VER" --pkgarch="amd64" --pkgsource="$HTPDATE_URL" +ls -l *.deb && mv -v *.deb "$OUTPUT_DIR"/ + +cd /tmp + +if [[ -n $VERBOSE ]]; then + set +x +fi +set +e diff --git a/sensor-iso/build.sh b/sensor-iso/build.sh index 85630c9ab..5b6dea645 100755 --- a/sensor-iso/build.sh +++ b/sensor-iso/build.sh @@ -153,6 +153,12 @@ if [ -d "$WORKDIR" ]; then mv "$SCRIPT_PATH/yara"/*.deb ./config/packages.chroot/ docker rmi -f yara-build:latest + # clone and build htpdate .deb package in its own clean environment (rather than in hooks/) + bash "$SCRIPT_PATH/htpdate/build-docker-image.sh" + docker run --rm -v "$SCRIPT_PATH"/htpdate:/build htpdate-build:latest -o /build + mv "$SCRIPT_PATH/htpdate"/*.deb ./config/packages.chroot/ + docker rmi -f htpdate-build:latest + # grab maxmind geoip database files, iana ipv4 address ranges, wireshark oui lists, etc. mkdir -p "$SCRIPT_PATH/arkime/etc" pushd "$SCRIPT_PATH/arkime/etc" diff --git a/sensor-iso/build_via_vagrant.sh b/sensor-iso/build_via_vagrant.sh index fa9a2f84a..c3db10092 100755 --- a/sensor-iso/build_via_vagrant.sh +++ b/sensor-iso/build_via_vagrant.sh @@ -29,7 +29,8 @@ function cleanup_shared_and_docs { "$SCRIPT_PATH"/_layouts \ "$SCRIPT_PATH"/Gemfile \ "$SCRIPT_PATH"/README.md \ - "$SCRIPT_PATH"/suricata + "$SCRIPT_PATH"/suricata \ + "$SCRIPT_PATH"/htpdate } unset FORCE_PROVISION @@ -85,6 +86,7 @@ cp -r "$SCRIPT_PATH"/../shared \ "$SCRIPT_PATH"/../_includes \ "$SCRIPT_PATH"/../_layouts \ "$SCRIPT_PATH"/../Gemfile \ + "$SCRIPT_PATH"/../malcolm-iso/htpdate \ "$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/ diff --git a/sensor-iso/config/package-lists/net.list.chroot b/sensor-iso/config/package-lists/net.list.chroot index 3236dc115..03dab33ce 100644 --- a/sensor-iso/config/package-lists/net.list.chroot +++ b/sensor-iso/config/package-lists/net.list.chroot @@ -2,7 +2,6 @@ apache2-utils ca-certificates curl ethtool -htpdate iproute2 iputils-arping iputils-ping From 3b4baf3ff676a77faf488248a58cc04c4f4da8f3 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 14:15:58 -0700 Subject: [PATCH 44/88] idaholab/Malcolm#324 github workflow update --- .github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml b/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml index d5ce7f2b2..aade513c9 100644 --- a/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml +++ b/.github/workflows/sensor-iso-build-docker-wrap-push-ghcr.yml @@ -93,7 +93,7 @@ jobs: - name: Build image run: | - cp -r ./shared ./docs ./_config.yml ./_includes ./_layouts ./Gemfile ./README.md ./sensor-iso + cp -r ./shared ./docs ./_config.yml ./_includes ./_layouts ./Gemfile ./README.md ./malcolm-iso/htpdate ./sensor-iso cp ./scripts/malcolm_utils.py ./sensor-iso/shared/bin/ cp ./scripts/documentation_build.sh ./sensor-iso/docs/ cp -r ./arkime/patch ./sensor-iso/shared/arkime_patch From d4c99b05d59c5f6a51e27cbee9c4b424eb8b91c1 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 15:10:59 -0700 Subject: [PATCH 45/88] Fix idaholab/Malcolm#322, update document lookup APIs to search either network or host data --- Dockerfiles/api.Dockerfile | 4 ++ api/project/__init__.py | 96 +++++++++++++++++++++++++++++--------- api/project/config.py | 3 ++ 3 files changed, 81 insertions(+), 22 deletions(-) diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile index 7023d633a..e4666a15a 100644 --- a/Dockerfiles/api.Dockerfile +++ b/Dockerfiles/api.Dockerfile @@ -47,6 +47,8 @@ ARG FLASK_ENV=production ARG ARKIME_FIELDS_INDEX="arkime_fields" ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*" ARG ARKIME_INDEX_TIME_FIELD="firstPacket" +ARG BEATS_INDEX_PATTERN="malcolm_beats_*" +ARG BEATS_INDEX_TIME_FIELD="@timestamp" ARG DASHBOARDS_URL="http://dashboards:5601/dashboards" ARG OPENSEARCH_URL="http://opensearch:9200" ARG OPENSEARCH_PRIMARY="opensearch-local" @@ -60,6 +62,8 @@ ENV FLASK_ENV $FLASK_ENV ENV ARKIME_FIELDS_INDEX $ARKIME_FIELDS_INDEX ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD +ENV BEATS_INDEX_PATTERN $BEATS_INDEX_PATTERN +ENV BEATS_INDEX_TIME_FIELD $BEATS_INDEX_TIME_FIELD ENV DASHBOARDS_URL $DASHBOARDS_URL ENV OPENSEARCH_URL $OPENSEARCH_URL ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY diff --git a/api/project/__init__.py b/api/project/__init__.py index da5717a1b..a4a03cf6f 100644 --- a/api/project/__init__.py +++ b/api/project/__init__.py @@ -356,6 +356,65 @@ def urls_for_field(fieldname, start_time=None, end_time=None): return list(set(translated)) +def doctype_from_args(args): + """returns the value of the doctype field in the args dictionary + + Parameters + ---------- + args : dict + The dictionary which should contain 'doctype' value. Missing + key returns value of app.config["DOCTYPE_DEFAULT"] + + Returns + ------- + return doctype + network|host + """ + return deep_get(args, ["doctype"], app.config["DOCTYPE_DEFAULT"]) + + +def index_from_args(args): + """returns the appropriate index for searching the document type + in the args dictionary + + Parameters + ---------- + args : dict + The dictionary which should contain 'doctype' value. Missing + key returns value of app.config["ARKIME_INDEX_PATTERN"] + + Returns + ------- + return index + app.config["ARKIME_INDEX_PATTERN"] or app.config["BEATS_INDEX_PATTERN"] + """ + return ( + app.config["BEATS_INDEX_PATTERN"] if doctype_from_args(args) == 'host' else app.config["ARKIME_INDEX_PATTERN"] + ) + + +def timefield_from_args(args): + """returns the appropriate time field for searching the document type + in the args dictionary + + Parameters + ---------- + args : dict + The dictionary which should contain 'doctype' value. Missing + key returns value of app.config["ARKIME_INDEX_TIME_FIELD"] + + Returns + ------- + return index + app.config["ARKIME_INDEX_TIME_FIELD"] or app.config["BEATS_INDEX_TIME_FIELD"] + """ + return ( + app.config["BEATS_INDEX_TIME_FIELD"] + if doctype_from_args(args) == 'host' + else app.config["ARKIME_INDEX_TIME_FIELD"] + ) + + def filtertime(search, args, default_from="1 day ago", default_to="now"): """Applies a time filter (inclusive; extracted from request arguments) to an OpenSearch query and returns the range as a tuple of integers representing the milliseconds since EPOCH. If @@ -367,7 +426,7 @@ def filtertime(search, args, default_from="1 day ago", default_to="now"): search : opensearchpy.Search The object representing the OpenSearch Search query args : dict - The dictionary which should contain 'from' and 'to' times (see gettimes) + The dictionary which should contain 'from' and 'to' times (see gettimes) and 'doctype' Returns ------- @@ -390,7 +449,7 @@ def filtertime(search, args, default_from="1 day ago", default_to="now"): search.filter( "range", **{ - app.config["ARKIME_INDEX_TIME_FIELD"]: { + timefield_from_args(args): { "gte": start_time_ms, "lte": end_time_ms, "format": "epoch_millis", @@ -460,7 +519,7 @@ def bucketfield(fieldname, current_request, urls=None): The name of the field(s) on which to perform the aggregation current_request : Request The flask Request object being processed (see gettimes/filtertime and getfilters/filtervalues) - Uses 'from', 'to', 'limit', and 'filter' from current_request arguments + Uses 'from', 'to', 'limit', 'filter', and 'doctype' from current_request arguments Returns ------- @@ -476,11 +535,11 @@ def bucketfield(fieldname, current_request, urls=None): global databaseClient global SearchClass + args = get_request_arguments(current_request) s = SearchClass( using=databaseClient, - index=app.config["ARKIME_INDEX_PATTERN"], + index=index_from_args(args), ).extra(size=0) - args = get_request_arguments(current_request) start_time_ms, end_time_ms, s = filtertime(s, args) filters, s = filtervalues(s, args) bucket_limit = int(deep_get(args, ["limit"], app.config["RESULT_SET_LIMIT"])) @@ -548,22 +607,15 @@ def aggregate(fieldname): @app.route( f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/document", - defaults={'index': app.config["ARKIME_INDEX_PATTERN"]}, methods=['GET', 'POST'], ) -@app.route( - f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/document/<index>", - methods=['GET', 'POST'], -) -def document(index): +def document(): """Returns the matching document(s) from the specified index Parameters ---------- - index : string - the name of the index from which to retrieve the document (defaults: arkime_sessions3-*) request : Request - Uses 'from', 'to', 'limit', and 'filter' from request arguments + Uses 'from', 'to', 'limit', 'filter', and 'doctype' from request arguments Returns ------- @@ -578,7 +630,7 @@ def document(index): args = get_request_arguments(request) s = SearchClass( using=databaseClient, - index=index, + index=index_from_args(args), ).extra(size=int(deep_get(args, ["limit"], app.config["RESULT_SET_LIMIT"]))) start_time_ms, end_time_ms, s = filtertime(s, args, default_from="1970-1-1", default_to="now") filters, s = filtervalues(s, args) @@ -619,7 +671,8 @@ def indices(): @app.route( - f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/fields", methods=['GET'] + f"{('/' + app.config['MALCOLM_API_PREFIX']) if app.config['MALCOLM_API_PREFIX'] else ''}/fields", + methods=['GET', 'POST'], ) def fields(): """Provide a list of fields Malcolm "knows about" merged from Arkime's field table, Malcolm's @@ -629,7 +682,7 @@ def fields(): ---------- request : Request template - template name (default is app.config["MALCOLM_TEMPLATE"]) - pattern - index pattern name (default is app.config["ARKIME_INDEX_PATTERN"]) + doctype - network|host Returns ------- fields @@ -640,9 +693,8 @@ def fields(): args = get_request_arguments(request) - templateName = args['template'] if 'template' in args else app.config["MALCOLM_TEMPLATE"] - pattern = args['pattern'] if 'pattern' in args else app.config["ARKIME_INDEX_PATTERN"] - arkimeFields = (templateName == app.config["MALCOLM_TEMPLATE"]) and (pattern == app.config["ARKIME_INDEX_PATTERN"]) + templateName = deep_get(args, ["template"], app.config["MALCOLM_TEMPLATE"]) + arkimeFields = (templateName == app.config["MALCOLM_TEMPLATE"]) and (doctype_from_args(args) == 'network') fields = defaultdict(dict) @@ -651,7 +703,7 @@ def fields(): # get fields from Arkime's fields table s = SearchClass( using=databaseClient, - index=app.config["ARKIME_FIELDS_INDEX"], + index=index_from_args(args), ).extra(size=5000) for hit in [x['_source'] for x in s.execute().to_dict().get('hits', {}).get('hits', [])]: if (fieldname := deep_get(hit, ['dbField2'])) and (fieldname not in fields): @@ -716,7 +768,7 @@ def fields(): for field in requests.get( f"{dashboardsUrl}/api/index_patterns/_fields_for_wildcard", params={ - 'pattern': pattern, + 'pattern': index_from_args(args), 'meta_fields': ["_source", "_id", "_type", "_index", "_score"], }, auth=opensearchReqHttpAuth, diff --git a/api/project/config.py b/api/project/config.py index 968d80788..71e33a3bc 100644 --- a/api/project/config.py +++ b/api/project/config.py @@ -8,6 +8,9 @@ class Config(object): ARKIME_FIELDS_INDEX = f"{os.getenv('ARKIME_FIELDS_INDEX', 'arkime_fields')}" ARKIME_INDEX_PATTERN = f"{os.getenv('ARKIME_INDEX_PATTERN', 'arkime_sessions3-*')}" ARKIME_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_INDEX_TIME_FIELD', 'firstPacket')}" + BEATS_INDEX_PATTERN = f"{os.getenv('BEATS_INDEX_PATTERN', 'malcolm_beats_*')}" + BEATS_INDEX_TIME_FIELD = f"{os.getenv('BEATS_INDEX_TIME_FIELD', '@timestamp')}" + DOCTYPE_DEFAULT = f"{os.getenv('DOCTYPE_DEFAULT', 'network')}" BUILD_DATE = f"{os.getenv('BUILD_DATE', 'unknown')}" DASHBOARDS_URL = f"{os.getenv('DASHBOARDS_URL', 'http://dashboards:5601/dashboards')}" MALCOLM_API_PREFIX = f"{os.getenv('MALCOLM_API_PREFIX', 'mapi')}" From 7b803d43906930444ea3b73994ab159dd2cc5ea9 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 15:17:37 -0700 Subject: [PATCH 46/88] documentation update --- docs/api.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/api.md b/docs/api.md index ff33de19b..3de995e6d 100644 --- a/docs/api.md +++ b/docs/api.md @@ -9,4 +9,11 @@ * [Version](api-version.md) * [Examples](api-examples.md) -Malcolm provides a [REST API]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/api/project/__init__.py) that can be used to programatically query some aspects of Malcolm's status and data. Malcolm's API is not to be confused with the [Viewer API](https://arkime.com/apiv3) provided by Arkime, although there may be some overlap in functionality. +Malcolm provides a [REST API]({{ site.github.repository_url }}/blob/{{ site.github.build_revision }}/api/project/__init__.py) that can be used to programatically query some aspects of Malcolm's status and data. + +In addition to the items listed above, Malcolm will also forward requests to some of its components' APIs at the following URIs: + +* **/mapi/logstash/** - the [Logstash `/_node/stats/` API](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html) +* **/mapi/opensearch/** - the [OpenSearch API](https://opensearch.org/docs/latest/api-reference/) +* **/mapi/netbox/** - the [NetBox API](https://demo.netbox.dev/static/docs/rest-api/overview/) (also accessible at `/netbox/api/`) +* **/arkime/api/** - the [Arkime Viewer API](https://arkime.com/apiv3) From 5f8726d064bc30f1ab1028ace2176191fdab1493 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Fri, 5 Jan 2024 15:21:32 -0700 Subject: [PATCH 47/88] make malcolm landing page the default for the firefox launcher on the desktop (idaholab/Malcolm#252) --- .../skel/.config/xfce4/panel/launcher-16/16343116651.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop b/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop index efffe0aba..e7fcbfff7 100644 --- a/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop +++ b/malcolm-iso/config/includes.chroot/etc/skel/.config/xfce4/panel/launcher-16/16343116651.desktop @@ -3,7 +3,7 @@ Name=Firefox Comment=Web Browser GenericName=Web Browser X-GNOME-FullName=Firefox Web Browser -Exec=/opt/firefox/firefox %u +Exec=/opt/firefox/firefox https://localhost/ Terminal=false X-MultipleArgs=false Type=Application From 8e714bbc6c712b5866913fb1bf11686233339bc2 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 10:01:30 -0700 Subject: [PATCH 48/88] idaholab/Malcolm#318, third party logs are not parsed correctly from fluentbit -> fluentd aggregator -> Malcolm --- logstash/pipelines/beats/11_beats_logs.conf | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/logstash/pipelines/beats/11_beats_logs.conf b/logstash/pipelines/beats/11_beats_logs.conf index e991be9f8..15d46d3a2 100644 --- a/logstash/pipelines/beats/11_beats_logs.conf +++ b/logstash/pipelines/beats/11_beats_logs.conf @@ -78,6 +78,21 @@ filter { # https://docs.fluentbit.io/manual/ # https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-tcp.html + if (![miscbeat][module]) and ([miscbeat][message][module]) { + # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input + # move entire "message" contents up to root + # https://github.com/idaholab/Malcolm/issues/318 + ruby { + id => "ruby_miscbeat_message_move_up" + code => " + event.get('[miscbeat][message]').each { |k, v| + event.set('[miscbeat][' + k + ']', v) + } + event.remove('[miscbeat][message]') + " + } + } + # set event.module to whatever we set "module" to when running fluentbit if ([miscbeat][module]) { mutate { id => "mutate_replace_event_module_miscbeat_module" From 41271feb2e39c812bf11bf72eb36534e2308bdf6 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 10:20:48 -0700 Subject: [PATCH 49/88] idaholab/Malcolm#318, third party logs are not parsed correctly from fluentbit -> fluentd aggregator -> Malcolm --- logstash/pipelines/beats/11_beats_logs.conf | 29 ++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/logstash/pipelines/beats/11_beats_logs.conf b/logstash/pipelines/beats/11_beats_logs.conf index 15d46d3a2..b1ed20bc4 100644 --- a/logstash/pipelines/beats/11_beats_logs.conf +++ b/logstash/pipelines/beats/11_beats_logs.conf @@ -8,6 +8,20 @@ filter { # move a couple of things identifying the event source from under miscbeat up to the top level + if ([miscbeat][message][module]) and (![miscbeat][module]) { + # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input + # move entire "message" contents up to root + # https://github.com/idaholab/Malcolm/issues/318 + ruby { + id => "ruby_miscbeat_message_move_up" + code => " + event.get('[miscbeat][message]').each { |k, v| + event.set('[miscbeat][' + k + ']', v) + } + event.remove('[miscbeat][message]') + " + } + } if ([miscbeat][host]) { ruby { id => "ruby_miscbeat_host_merge" @@ -78,21 +92,6 @@ filter { # https://docs.fluentbit.io/manual/ # https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-tcp.html - if (![miscbeat][module]) and ([miscbeat][message][module]) { - # special case to handle fluent-bit -> fluentd.loomsystems -> filebeat TCP input - # move entire "message" contents up to root - # https://github.com/idaholab/Malcolm/issues/318 - ruby { - id => "ruby_miscbeat_message_move_up" - code => " - event.get('[miscbeat][message]').each { |k, v| - event.set('[miscbeat][' + k + ']', v) - } - event.remove('[miscbeat][message]') - " - } - } - # set event.module to whatever we set "module" to when running fluentbit if ([miscbeat][module]) { mutate { id => "mutate_replace_event_module_miscbeat_module" From d48c68f9676b20c40cc4a50a77af5dedfc6944a6 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 12:50:08 -0700 Subject: [PATCH 50/88] idaholab/Malcolm#290, add 'all files except common plain text files' to file carving option for Malcolm --- docs/file-scanning.md | 1 + docs/kubernetes.md | 1 + docs/malcolm-hedgehog-e2e-iso-install.md | 1 + docs/ubuntu-install-example.md | 1 + scripts/install.py | 27 +- .../opt/zeek/share/zeek/site/extractor.zeek | 4 +- .../share/zeek/site/extractor_params.zeek | 1707 ++++++++--------- shared/bin/configure-capture.py | 70 +- shared/bin/pcap_processor.py | 3 +- zeek/config/extractor.zeek | 4 +- zeek/config/extractor_params.zeek | 1705 ++++++++-------- 11 files changed, 1619 insertions(+), 1905 deletions(-) diff --git a/docs/file-scanning.md b/docs/file-scanning.md index 327845326..30dfbd8a6 100644 --- a/docs/file-scanning.md +++ b/docs/file-scanning.md @@ -6,6 +6,7 @@ To specify which files should be extracted, the following values are acceptable * `none`: no file extraction * `interesting`: extraction of files with mime types of common attack vectors +* `notcommtxt`: extraction of all files except common plain text files * `mapped`: extraction of files with recognized mime types * `known`: extraction of files for which any mime type can be determined * `all`: extract all files diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 66a67f07e..0c3cd1da6 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -401,6 +401,7 @@ Enable file extraction with Zeek? (y / N): y 3: mapped 4: all 5: interesting +6: notcommtxt Select file extraction behavior (none): 5 1: quarantined diff --git a/docs/malcolm-hedgehog-e2e-iso-install.md b/docs/malcolm-hedgehog-e2e-iso-install.md index 61c6822bb..1d7308a8d 100644 --- a/docs/malcolm-hedgehog-e2e-iso-install.md +++ b/docs/malcolm-hedgehog-e2e-iso-install.md @@ -228,6 +228,7 @@ The [configuration and tuning](malcolm-config.md#ConfigAndTuning) wizard's quest + `mapped`: extraction of files with recognized mime types + `known`: extraction of files for which any mime type can be determined + `all`: extract all files + + `notcommtxt`: extract all files except common plain text files * **Select file preservation behavior** - This determines the behavior for preservation of Zeek-extracted files: + `quarantined`: preserve only flagged files in `./zeek-logs/extract_files/quarantine` diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 5d5706157..0fbea72a7 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -160,6 +160,7 @@ Enable file extraction with Zeek? (y / N): y 3: mapped 4: all 5: interesting +6: notcommtxt Select file extraction behavior (none): 5 1: quarantined diff --git a/scripts/install.py b/scripts/install.py index a3f1d09c1..6bfe064d6 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1184,7 +1184,14 @@ def tweak_malcolm_runtime(self, malcolm_install_path): ) # input file extraction parameters - allowedFileCarveModes = ('none', 'known', 'mapped', 'all', 'interesting') + allowedFileCarveModes = { + 'none': 'No file extraction', + 'known': 'Extract recognized MIME types', + 'mapped': 'Extract MIME types for which file extensions are known', + 'all': 'Extract all files', + 'interesting': 'Extract MIME types of common attack vectors', + 'notcommtxt': 'Extract all except common plain text files', + } allowedFilePreserveModes = ('quarantined', 'all', 'none') fileCarveMode = None @@ -1202,12 +1209,16 @@ def tweak_malcolm_runtime(self, malcolm_install_path): if InstallerYesOrNo('Enable file extraction with Zeek?', default=bool(fileCarveModeDefault)): loopBreaker = CountUntilException(MaxAskForValueCount, 'Invalid file extraction behavior') - while fileCarveMode not in allowedFileCarveModes and loopBreaker.increment(): + while fileCarveMode not in allowedFileCarveModes.keys() and loopBreaker.increment(): fileCarveMode = InstallerChooseOne( 'Select file extraction behavior', choices=[ - (x, '', x == fileCarveModeDefault if fileCarveModeDefault else allowedFileCarveModes[0]) - for x in allowedFileCarveModes + ( + x, + allowedFileCarveModes[x], + x == fileCarveModeDefault if fileCarveModeDefault else 'none', + ) + for x in allowedFileCarveModes.keys() ], ) if fileCarveMode and (fileCarveMode != 'none'): @@ -1256,9 +1267,9 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'Download updated file scanner signatures periodically?', default=args.fileScanRuleUpdate ) - if fileCarveMode not in allowedFileCarveModes: - fileCarveMode = allowedFileCarveModes[0] - if filePreserveMode not in allowedFileCarveModes: + if fileCarveMode not in allowedFileCarveModes.keys(): + fileCarveMode = 'none' + if filePreserveMode not in allowedFilePreserveModes: filePreserveMode = allowedFilePreserveModes[0] if (vtotApiKey is None) or (len(vtotApiKey) <= 1): vtotApiKey = '0' @@ -3685,7 +3696,7 @@ def main(): '--file-extraction', dest='fileCarveMode', required=False, - metavar='<none|known|mapped|all|interesting>', + metavar='<none|known|mapped|all|interesting|notcommtxt>', type=str, default='none', help='Zeek file extraction behavior', diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek index 07e745368..643b67bc4 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek @@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) { # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped - ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) { + ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || + # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those + ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { local ext: string = ""; if (! meta?$mime_type) diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek index 2ffb8a8a2..e72dd0f15 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek @@ -3,937 +3,792 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. export { - const extractor_extract_none = "none" &redef; - const extractor_extract_known = "known" &redef; - const extractor_extract_mapped = "mapped" &redef; - const extractor_extract_all = "all" &redef; + const extractor_extract_none = "none" &redef; + const extractor_extract_known = "known" &redef; + const extractor_extract_mapped = "mapped" &redef; + const extractor_extract_all = "all" &redef; + const extractor_extract_notcommtxt = "notcommtxt" &redef; const extractor_always_extract_unknown = F &redef; - const extractor_max_size_default = 268435456 &redef; + const extractor_max_size_default = 134217728 &redef; + + const plain_text_mimes : set[string] = { + "application/json", + "application/x-x509-ca-cert", + "application/xml", + "text/plain", + "text/xml", + } &redef; # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { - ["application/acad"]= "dwg", - ["application/andrew-inset"]= "ez", - ["application/annodex"]= "anx", - ["application/applixware"]= "aw", - ["application/atom+xml"]= "atom", - ["application/atomcat+xml"]= "atomcat", - ["application/atomsvc+xml"]= "atomsvc", - ["application/binary"]= "bin", - ["application/ccxml+xml"]= "ccxml", - ["application/cdmi-capability"]= "cdmia", - ["application/cdmi-container"]= "cdmic", - ["application/cdmi-domain"]= "cdmid", - ["application/cdmi-object"]= "cdmio", - ["application/cdmi-queue"]= "cdmiq", - ["application/cu-seeme"]= "cu", - ["application/davmount+xml"]= "davmount", - ["application/directx"]= "x", - ["application/docbook+xml"]= "dbk", - ["application/dssc+der"]= "dssc", - ["application/dssc+xml"]= "xdssc", - ["application/ecmascript"]= "es", - ["application/emma+xml"]= "emma", - ["application/envoy"]= "evy", - ["application/epub+zip"]= "epub", - ["application/etl"]= "etl", - ["application/exi"]= "exi", - ["application/font-sfnt"]= "ttf", - ["application/fractals"]= "fif", - ["application/fsharp-script"]= "fsscript", - ["application/futuresplash"]= "spl", - ["application/gml+xml"]= "gml", - ["application/gpx+xml"]= "gpx", - ["application/gxf"]= "gxf", - ["application/hta"]= "hta", - ["application/hyperstudio"]= "stk", - ["application/inkml+xml"]= "inkml", - ["application/internet-property-stream"]= "acx", - ["application/ipfix"]= "ipfix", - ["application/java-archive"]= "jar", - ["application/java-serialized-object"]= "ser", - ["application/java-vm"]= "class", - ["application/javascript"]= "js", - ["application/json"]= "json", - ["application/jsonml+json"]= "jsonml", - ["application/liquidmotion"]= "jck", - ["application/lost+xml"]= "lostxml", - ["application/mac-binhex40"]= "hqx", - ["application/mac-compactpro"]= "cpt", - ["application/mads+xml"]= "mads", - ["application/marc"]= "mrc", - ["application/marcxml+xml"]= "mrcx", - ["application/mathematica"]= "ma", - ["application/mathml+xml"]= "mathml", - ["application/mbox"]= "mbox", - ["application/mediaservercontrol+xml"]= "mscml", - ["application/metalink+xml"]= "metalink", - ["application/metalink4+xml"]= "meta4", - ["application/mets+xml"]= "mets", - ["application/mods+xml"]= "mods", - ["application/mp21"]= "mp21", - ["application/mp4"]= "mp4s", - ["application/mpeg"]= "amc", - ["application/ms-vsi"]= "vsi", - ["application/msaccess"]= "accdb", - ["application/msaccess.addin"]= "accda", - ["application/msaccess.cab"]= "accdc", - ["application/msaccess.ftemplate"]= "accft", - ["application/msaccess.runtime"]= "accdr", - ["application/msaccess.webapplication"]= "accdw", - ["application/msexcel"]= "xls", - ["application/mspowerpoint"]= "ppt", - ["application/msword"]= "doc", - ["application/mxf"]= "mxf", - ["application/octet-stream"]= "bin", - ["application/oda"]= "oda", - ["application/oebps-package+xml"]= "opf", - ["application/ogg"]= "ogx", - ["application/olescript"]= "axs", - ["application/omdoc+xml"]= "omdoc", - ["application/onenote"]= "one", - ["application/opensearchdescription+xml"]= "osdx", - ["application/oxps"]= "oxps", - ["application/patch-ops-error+xml"]= "xer", - ["application/pdf"]= "pdf", - ["application/pgp-encrypted"]= "pgp", - ["application/pgp-signature"]= "pgp", - ["application/pics-rules"]= "prf", - ["application/pkcs10"]= "p10", - ["application/pkcs7-mime"]= "p7c", - ["application/pkcs7-signature"]= "p7s", - ["application/pkcs8"]= "p8", - ["application/pkix-attr-cert"]= "ac", - ["application/pkix-cert"]= "cer", - ["application/pkix-crl"]= "crl", - ["application/pkix-pkipath"]= "pkipath", - ["application/pkixcmp"]= "pki", - ["application/pls+xml"]= "pls", - ["application/postscript"]= "ps", - ["application/PowerShell"]= "psc1", - ["application/prs.cww"]= "cww", - ["application/pskc+xml"]= "pskcxml", - ["application/rat-file"]= "rat", - ["application/rdf+xml"]= "rdf", - ["application/reginfo+xml"]= "rif", - ["application/relax-ng-compact-syntax"]= "rnc", - ["application/resource-lists+xml"]= "rl", - ["application/resource-lists-diff+xml"]= "rld", - ["application/rls-services+xml"]= "rs", - ["application/rpki-ghostbusters"]= "gbr", - ["application/rpki-manifest"]= "mft", - ["application/rpki-roa"]= "roa", - ["application/rsd+xml"]= "rsd", - ["application/rss+xml"]= "rss", - ["application/rtf"]= "rtf", - ["application/sbml+xml"]= "sbml", - ["application/scvp-cv-request"]= "scq", - ["application/scvp-cv-response"]= "scs", - ["application/scvp-vp-request"]= "spq", - ["application/scvp-vp-response"]= "spp", - ["application/sdp"]= "sdp", - ["application/set-payment-initiation"]= "setpay", - ["application/set-registration-initiation"]= "setreg", - ["application/shf+xml"]= "shf", - ["application/smil+xml"]= "smil", - ["application/sparql-query"]= "rq", - ["application/sparql-results+xml"]= "srx", - ["application/srgs"]= "gram", - ["application/srgs+xml"]= "grxml", - ["application/sru+xml"]= "sru", - ["application/ssdl+xml"]= "ssdl", - ["application/ssml+xml"]= "ssml", - ["application/step"]= "step", - ["application/streamingmedia"]= "ssm", - ["application/tei+xml"]= "tei", - ["application/thraud+xml"]= "tfi", - ["application/timestamped-data"]= "tsd", - ["application/vnd.3gpp.pic-bw-large"]= "plb", - ["application/vnd.3gpp.pic-bw-small"]= "psb", - ["application/vnd.3gpp.pic-bw-var"]= "pvb", - ["application/vnd.3gpp2.tcap"]= "tcap", - ["application/vnd.3m.post-it-notes"]= "pwn", - ["application/vnd.accpac.simply.aso"]= "aso", - ["application/vnd.accpac.simply.imp"]= "imp", - ["application/vnd.acucobol"]= "acu", - ["application/vnd.acucorp"]= "acutc", - ["application/vnd.adobe.air-application-installer-package+zip"]= "air", - ["application/vnd.adobe.formscentral.fcdt"]= "fcdt", - ["application/vnd.adobe.fxp"]= "fxp", - ["application/vnd.adobe.xdp+xml"]= "xdp", - ["application/vnd.adobe.xfdf"]= "xfdf", - ["application/vnd.ahead.space"]= "ahead", - ["application/vnd.airzip.filesecure.azf"]= "azf", - ["application/vnd.airzip.filesecure.azs"]= "azs", - ["application/vnd.amazon.ebook"]= "azw", - ["application/vnd.americandynamics.acc"]= "acc", - ["application/vnd.amiga.ami"]= "ami", - ["application/vnd.android.package-archive"]= "apk", - ["application/vnd.anser-web-certificate-issue-initiation"]= "cii", - ["application/vnd.anser-web-funds-transfer-initiation"]= "fti", - ["application/vnd.antix.game-component"]= "atx", - ["application/vnd.apple.installer+xml"]= "mpkg", - ["application/vnd.apple.mpegurl"]= "m3u8", - ["application/vnd.aristanetworks.swi"]= "swi", - ["application/vnd.astraea-software.iota"]= "iota", - ["application/vnd.audiograph"]= "aep", - ["application/vnd.blueice.multipass"]= "mpm", - ["application/vnd.bmi"]= "bmi", - ["application/vnd.businessobjects"]= "rep", - ["application/vnd.chemdraw+xml"]= "cdxml", - ["application/vnd.chipnuts.karaoke-mmd"]= "mmd", - ["application/vnd.cinderella"]= "cdy", - ["application/vnd.claymore"]= "cla", - ["application/vnd.cloanto.rp9"]= "rp9", - ["application/vnd.clonk.c4group"]= "c4g", - ["application/vnd.cluetrust.cartomobile-config"]= "c11amc", - ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz", - ["application/vnd.commonspace"]= "csp", - ["application/vnd.contact.cmsg"]= "cdbcmsg", - ["application/vnd.cosmocaller"]= "cmc", - ["application/vnd.crick.clicker"]= "clkx", - ["application/vnd.crick.clicker.keyboard"]= "clkk", - ["application/vnd.crick.clicker.palette"]= "clkp", - ["application/vnd.crick.clicker.template"]= "clkt", - ["application/vnd.crick.clicker.wordbank"]= "clkw", - ["application/vnd.criticaltools.wbs+xml"]= "wbs", - ["application/vnd.ctc-posml"]= "pml", - ["application/vnd.cups-ppd"]= "ppd", - ["application/vnd.curl.car"]= "car", - ["application/vnd.curl.pcurl"]= "pcurl", - ["application/vnd.dart"]= "dart", - ["application/vnd.data-vision.rdz"]= "rdz", - ["application/vnd.dece.data"]= "uvd", - ["application/vnd.dece.ttml+xml"]= "uvt", - ["application/vnd.dece.unspecified"]= "uvx", - ["application/vnd.dece.zip"]= "uvz", - ["application/vnd.denovo.fcselayout-link"]= "fe_launch", - ["application/vnd.dna"]= "dna", - ["application/vnd.dolby.mlp"]= "mlp", - ["application/vnd.dpgraph"]= "dpg", - ["application/vnd.dreamfactory"]= "dfac", - ["application/vnd.ds-keypoint"]= "kpxx", - ["application/vnd.dvb.ait"]= "ait", - ["application/vnd.dvb.service"]= "svc", - ["application/vnd.dynageo"]= "geo", - ["application/vnd.ecowin.chart"]= "mag", - ["application/vnd.enliven"]= "nml", - ["application/vnd.epson.esf"]= "esf", - ["application/vnd.epson.msf"]= "msf", - ["application/vnd.epson.quickanime"]= "qam", - ["application/vnd.epson.salt"]= "slt", - ["application/vnd.epson.ssf"]= "ssf", - ["application/vnd.eszigno3+xml"]= "es3", - ["application/vnd.ezpix-album"]= "ez2", - ["application/vnd.ezpix-package"]= "ez3", - ["application/vnd.fdf"]= "fdf", - ["application/vnd.fdsn.mseed"]= "mseed", - ["application/vnd.fdsn.seed"]= "seed", - ["application/vnd.flographit"]= "gph", - ["application/vnd.fluxtime.clip"]= "ftc", - ["application/vnd.framemaker"]= "fm", - ["application/vnd.frogans.fnc"]= "fnc", - ["application/vnd.frogans.ltf"]= "ltf", - ["application/vnd.fsc.weblaunch"]= "fsc", - ["application/vnd.fujitsu.oasys"]= "oas", - ["application/vnd.fujitsu.oasys2"]= "oa2", - ["application/vnd.fujitsu.oasys3"]= "oa3", - ["application/vnd.fujitsu.oasysgp"]= "fg5", - ["application/vnd.fujitsu.oasysprs"]= "bh2", - ["application/vnd.fujixerox.ddd"]= "ddd", - ["application/vnd.fujixerox.docuworks"]= "xdw", - ["application/vnd.fujixerox.docuworks.binder"]= "xbd", - ["application/vnd.fuzzysheet"]= "fzs", - ["application/vnd.genomatix.tuxedo"]= "txd", - ["application/vnd.geogebra.file"]= "ggb", - ["application/vnd.geogebra.tool"]= "ggt", - ["application/vnd.geometry-explorer"]= "gex", - ["application/vnd.geonext"]= "gxt", - ["application/vnd.geoplan"]= "g2w", - ["application/vnd.geospace"]= "g3w", - ["application/vnd.gmx"]= "gmx", - ["application/vnd.google-earth.kml+xml"]= "kml", - ["application/vnd.google-earth.kmz"]= "kmz", - ["application/vnd.grafeq"]= "gqf", - ["application/vnd.groove-account"]= "gac", - ["application/vnd.groove-help"]= "ghf", - ["application/vnd.groove-identity-message"]= "gim", - ["application/vnd.groove-injector"]= "grv", - ["application/vnd.groove-tool-message"]= "gtm", - ["application/vnd.groove-tool-template"]= "tpl", - ["application/vnd.groove-vcard"]= "vcg", - ["application/vnd.hal+xml"]= "hal", - ["application/vnd.handheld-entertainment+xml"]= "zmm", - ["application/vnd.hbci"]= "hbci", - ["application/vnd.hhe.lesson-player"]= "les", - ["application/vnd.hp-hpgl"]= "hpgl", - ["application/vnd.hp-hpid"]= "hpid", - ["application/vnd.hp-hps"]= "hps", - ["application/vnd.hp-jlyt"]= "jlt", - ["application/vnd.hp-pcl"]= "pcl", - ["application/vnd.hp-pclxl"]= "pclxl", - ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx", - ["application/vnd.ibm.minipay"]= "mpy", - ["application/vnd.ibm.modcap"]= "afp", - ["application/vnd.ibm.rights-management"]= "irm", - ["application/vnd.ibm.secure-container"]= "sc", - ["application/vnd.iccprofile"]= "icc", - ["application/vnd.igloader"]= "igl", - ["application/vnd.immervision-ivp"]= "ivp", - ["application/vnd.immervision-ivu"]= "ivu", - ["application/vnd.insors.igm"]= "igm", - ["application/vnd.intercon.formnet"]= "xpw", - ["application/vnd.intergeo"]= "i2g", - ["application/vnd.intu.qbo"]= "qbo", - ["application/vnd.intu.qfx"]= "qfx", - ["application/vnd.ipunplugged.rcprofile"]= "rcprofile", - ["application/vnd.irepository.package+xml"]= "irp", - ["application/vnd.is-xpr"]= "xpr", - ["application/vnd.isac.fcs"]= "fcs", - ["application/vnd.jam"]= "jam", - ["application/vnd.jcp.javame.midlet-rms"]= "rms", - ["application/vnd.jisp"]= "jisp", - ["application/vnd.joost.joda-archive"]= "joda", - ["application/vnd.kahootz"]= "ktz", - ["application/vnd.kde.karbon"]= "karbon", - ["application/vnd.kde.kchart"]= "chrt", - ["application/vnd.kde.kformula"]= "kfo", - ["application/vnd.kde.kivio"]= "flw", - ["application/vnd.kde.kontour"]= "kon", - ["application/vnd.kde.kpresenter"]= "kpt", - ["application/vnd.kde.kspread"]= "ksp", - ["application/vnd.kde.kword"]= "kwd", - ["application/vnd.kenameaapp"]= "htke", - ["application/vnd.kidspiration"]= "kia", - ["application/vnd.kinar"]= "kne", - ["application/vnd.koan"]= "skd", - ["application/vnd.kodak-descriptor"]= "sse", - ["application/vnd.las.las+xml"]= "lasxml", - ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd", - ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe", - ["application/vnd.lotus-1-2-3"]= "123", - ["application/vnd.lotus-approach"]= "apr", - ["application/vnd.lotus-freelance"]= "pre", - ["application/vnd.lotus-notes"]= "nsf", - ["application/vnd.lotus-organizer"]= "org", - ["application/vnd.lotus-screencam"]= "scm", - ["application/vnd.lotus-wordpro"]= "lwp", - ["application/vnd.macports.portpkg"]= "portpkg", - ["application/vnd.mcd"]= "mcd", - ["application/vnd.medcalcdata"]= "mc1", - ["application/vnd.mediastation.cdkey"]= "cdkey", - ["application/vnd.mfer"]= "mwf", - ["application/vnd.mfmp"]= "mfm", - ["application/vnd.micrografx.flo"]= "flo", - ["application/vnd.micrografx.igx"]= "igx", - ["application/vnd.microsoft.portable-executable"]= "exe", - ["application/vnd.mif"]= "mif", - ["application/vnd.mobius.daf"]= "daf", - ["application/vnd.mobius.dis"]= "dis", - ["application/vnd.mobius.mbk"]= "mbk", - ["application/vnd.mobius.mqy"]= "mqy", - ["application/vnd.mobius.msl"]= "msl", - ["application/vnd.mobius.plc"]= "plc", - ["application/vnd.mobius.txf"]= "txf", - ["application/vnd.mophun.application"]= "mpn", - ["application/vnd.mophun.certificate"]= "mpc", - ["application/vnd.mozilla.xul+xml"]= "xul", - ["application/vnd.ms-artgalry"]= "cil", - ["application/vnd.ms-cab-compressed"]= "cab", - ["application/vnd.ms-excel"]= "xls", - ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam", - ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam", - ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm", - ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm", - ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm", - ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm", - ["application/vnd.ms-fontobject"]= "eot", - ["application/vnd.ms-htmlhelp"]= "chm", - ["application/vnd.ms-ims"]= "ims", - ["application/vnd.ms-lrm"]= "lrm", - ["application/vnd.ms-mediapackage"]= "mpf", - ["application/vnd.ms-office.calx"]= "calx", - ["application/vnd.ms-officetheme"]= "thmx", - ["application/vnd.ms-outlook"]= "msg", - ["application/vnd.ms-pki.certstore"]= "sst", - ["application/vnd.ms-pki.pko"]= "pko", - ["application/vnd.ms-pki.seccat"]= "cat", - ["application/vnd.ms-pki.stl"]= "stl", - ["application/vnd.ms-powerpoint"]= "ppt", - ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm", - ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm", - ["application/vnd.ms-project"]= "mpt", - ["application/vnd.ms-visio.viewer"]= "vdx", - ["application/vnd.ms-word.document.macroEnabled.12"]= "docm", - ["application/vnd.ms-word.document.macroenabled.12"]= "docm", - ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm", - ["application/vnd.ms-word.template.macroenabled.12"]= "dotm", - ["application/vnd.ms-works"]= "wks", - ["application/vnd.ms-wpl"]= "wpl", - ["application/vnd.ms-xpsdocument"]= "xps", - ["application/vnd.mseq"]= "mseq", - ["application/vnd.musician"]= "mus", - ["application/vnd.muvee.style"]= "msty", - ["application/vnd.mynfc"]= "taglet", - ["application/vnd.neurolanguage.nlu"]= "nlu", - ["application/vnd.nitf"]= "nitf", - ["application/vnd.noblenet-directory"]= "nnd", - ["application/vnd.noblenet-sealer"]= "nns", - ["application/vnd.noblenet-web"]= "nnw", - ["application/vnd.nokia.n-gage.data"]= "ngdat", - ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage", - ["application/vnd.nokia.radio-preset"]= "rpst", - ["application/vnd.nokia.radio-presets"]= "rpss", - ["application/vnd.novadigm.edm"]= "edm", - ["application/vnd.novadigm.edx"]= "edx", - ["application/vnd.novadigm.ext"]= "ext", - ["application/vnd.oasis.opendocument.chart"]= "odc", - ["application/vnd.oasis.opendocument.chart-template"]= "otc", - ["application/vnd.oasis.opendocument.database"]= "odb", - ["application/vnd.oasis.opendocument.formula"]= "odf", - ["application/vnd.oasis.opendocument.formula-template"]= "odft", - ["application/vnd.oasis.opendocument.graphics"]= "odg", - ["application/vnd.oasis.opendocument.graphics-template"]= "otg", - ["application/vnd.oasis.opendocument.image"]= "odi", - ["application/vnd.oasis.opendocument.image-template"]= "oti", - ["application/vnd.oasis.opendocument.presentation"]= "odp", - ["application/vnd.oasis.opendocument.presentation-template"]= "otp", - ["application/vnd.oasis.opendocument.spreadsheet"]= "ods", - ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots", - ["application/vnd.oasis.opendocument.text"]= "odt", - ["application/vnd.oasis.opendocument.text-master"]= "odm", - ["application/vnd.oasis.opendocument.text-template"]= "ott", - ["application/vnd.oasis.opendocument.text-web"]= "oth", - ["application/vnd.olpc-sugar"]= "xo", - ["application/vnd.oma.dd2+xml"]= "dd2", - ["application/vnd.openofficeorg.extension"]= "oxt", - ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx", - ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx", - ["application/vnd.osgeo.mapguide.package"]= "mgp", - ["application/vnd.osgi.dp"]= "dp", - ["application/vnd.osgi.subsystem"]= "esa", - ["application/vnd.palm"]= "pdb", - ["application/vnd.pawaafile"]= "paw", - ["application/vnd.pg.format"]= "str", - ["application/vnd.pg.osasli"]= "ei6", - ["application/vnd.picsel"]= "efif", - ["application/vnd.pmi.widget"]= "wg", - ["application/vnd.pocketlearn"]= "plf", - ["application/vnd.powerbuilder6"]= "pbd", - ["application/vnd.previewsystems.box"]= "box", - ["application/vnd.proteus.magazine"]= "mgz", - ["application/vnd.publishare-delta-tree"]= "qps", - ["application/vnd.pvi.ptid1"]= "ptid", - ["application/vnd.quark.quarkxpress"]= "qxt", - ["application/vnd.realvnc.bed"]= "bed", - ["application/vnd.recordare.musicxml"]= "mxl", - ["application/vnd.recordare.musicxml+xml"]= "musicxml", - ["application/vnd.rig.cryptonote"]= "cryptonote", - ["application/vnd.rim.cod"]= "cod", - ["application/vnd.rn-realmedia"]= "rm", - ["application/vnd.rn-realmedia-vbr"]= "rmvb", - ["application/vnd.rn-rn_music_package"]= "rmp", - ["application/vnd.route66.link66+xml"]= "link66", - ["application/vnd.sailingtracker.track"]= "st", - ["application/vnd.seemail"]= "see", - ["application/vnd.sema"]= "sema", - ["application/vnd.semd"]= "semd", - ["application/vnd.semf"]= "semf", - ["application/vnd.shana.informed.formdata"]= "ifm", - ["application/vnd.shana.informed.formtemplate"]= "itp", - ["application/vnd.shana.informed.interchange"]= "iif", - ["application/vnd.shana.informed.package"]= "ipk", - ["application/vnd.simtech-mindmapper"]= "twd", - ["application/vnd.smaf"]= "mmf", - ["application/vnd.smart.teacher"]= "teacher", - ["application/vnd.solent.sdkm+xml"]= "sdkm", - ["application/vnd.spotfire.dxp"]= "dxp", - ["application/vnd.spotfire.sfs"]= "sfs", - ["application/vnd.stardivision.calc"]= "sdc", - ["application/vnd.stardivision.draw"]= "sda", - ["application/vnd.stardivision.impress"]= "sdd", - ["application/vnd.stardivision.math"]= "smf", - ["application/vnd.stardivision.writer"]= "sdw", - ["application/vnd.stardivision.writer-global"]= "sgl", - ["application/vnd.stepmania.package"]= "smzip", - ["application/vnd.stepmania.stepchart"]= "sm", - ["application/vnd.sun.xml.calc"]= "sxc", - ["application/vnd.sun.xml.calc.template"]= "stc", - ["application/vnd.sun.xml.draw"]= "sxd", - ["application/vnd.sun.xml.draw.template"]= "std", - ["application/vnd.sun.xml.impress"]= "sxi", - ["application/vnd.sun.xml.impress.template"]= "sti", - ["application/vnd.sun.xml.math"]= "sxm", - ["application/vnd.sun.xml.writer"]= "sxw", - ["application/vnd.sun.xml.writer.global"]= "sxg", - ["application/vnd.sun.xml.writer.template"]= "stw", - ["application/vnd.sus-calendar"]= "sus", - ["application/vnd.svd"]= "svd", - ["application/vnd.symbian.install"]= "sis", - ["application/vnd.syncml+xml"]= "xsm", - ["application/vnd.syncml.dm+wbxml"]= "bdm", - ["application/vnd.syncml.dm+xml"]= "xdm", - ["application/vnd.tao.intent-module-archive"]= "tao", - ["application/vnd.tcpdump.pcap"]= "pcap", - ["application/vnd.tmobile-livetv"]= "tmo", - ["application/vnd.trid.tpt"]= "tpt", - ["application/vnd.triscape.mxs"]= "mxs", - ["application/vnd.trueapp"]= "tra", - ["application/vnd.ufdl"]= "ufdl", - ["application/vnd.uiq.theme"]= "utz", - ["application/vnd.umajin"]= "umj", - ["application/vnd.unity"]= "unityweb", - ["application/vnd.uoml+xml"]= "uoml", - ["application/vnd.vcx"]= "vcx", - ["application/vnd.visio"]= "vsd", - ["application/vnd.visionary"]= "vis", - ["application/vnd.vsf"]= "vsf", - ["application/vnd.wap.wbxml"]= "wbxml", - ["application/vnd.wap.wmlc"]= "wmlc", - ["application/vnd.wap.wmlscriptc"]= "wmlsc", - ["application/vnd.webturbo"]= "wtb", - ["application/vnd.wolfram.player"]= "nbp", - ["application/vnd.wordperfect"]= "wpd", - ["application/vnd.wqd"]= "wqd", - ["application/vnd.wt.stf"]= "stf", - ["application/vnd.xara"]= "xar", - ["application/vnd.xfdl"]= "xfdl", - ["application/vnd.yamaha.hv-dic"]= "hvd", - ["application/vnd.yamaha.hv-script"]= "hvs", - ["application/vnd.yamaha.hv-voice"]= "hvp", - ["application/vnd.yamaha.openscoreformat"]= "osf", - ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg", - ["application/vnd.yamaha.smaf-audio"]= "saf", - ["application/vnd.yamaha.smaf-phrase"]= "spf", - ["application/vnd.yellowriver-custom-menu"]= "cmp", - ["application/vnd.zul"]= "zir", - ["application/vnd.zzazz.deck+xml"]= "zaz", - ["application/voicexml+xml"]= "vxml", - ["application/vsix"]= "vsix", - ["application/wasm"]= "wasm", - ["application/widget"]= "wgt", - ["application/windows-library+xml"]= "library-ms", - ["application/windows-search-connector+xml"]= "searchConnector-ms", - ["application/winhlp"]= "hlp", - ["application/wlmoviemaker"]= "WLMP", - ["application/wsdl+xml"]= "wsdl", - ["application/wspolicy+xml"]= "wspolicy", - ["application/x-7z-compressed"]= "7z", - ["application/x-abiword"]= "abw", - ["application/x-ace-compressed"]= "ace", - ["application/x-apple-diskimage"]= "dmg", - ["application/x-authorware-bin"]= "aab", - ["application/x-authorware-map"]= "aam", - ["application/x-authorware-seg"]= "aas", - ["application/x-bcpio"]= "bcpio", - ["application/x-bittorrent"]= "torrent", - ["application/x-blorb"]= "blorb", - ["application/x-bridge-url"]= "adobebridge", - ["application/x-bzip"]= "bz", - ["application/x-bzip2"]= "bz2", - ["application/x-cbr"]= "cbr", - ["application/x-cdlink"]= "vcd", - ["application/x-cfs-compressed"]= "cfs", - ["application/x-chat"]= "chat", - ["application/x-chess-pgn"]= "pgn", - ["application/x-compress"]= "z", - ["application/x-compressed"]= "tgz", - ["application/x-conference"]= "nsc", - ["application/x-cpio"]= "cpio", - ["application/x-csh"]= "csh", - ["application/x-debian-package"]= "deb", - ["application/x-dgc-compressed"]= "dgc", - ["application/x-director"]= "dir", - ["application/x-doom"]= "wad", - ["application/x-dosexec"]= "exe", - ["application/x-dtbncx+xml"]= "ncx", - ["application/x-dtbook+xml"]= "dtb", - ["application/x-dtbresource+xml"]= "res", - ["application/x-dvi"]= "dvi", - ["application/x-dxf"]= "dxf", - ["application/x-elf"]= "elf", - ["application/x-envoy"]= "evy", - ["application/x-eva"]= "eva", - ["application/x-executable"]= "exe", - ["application/x-font-bdf"]= "bdf", - ["application/x-font-ghostscript"]= "gsf", - ["application/x-font-linux-psf"]= "psf", - ["application/x-font-pcf"]= "pcf", - ["application/x-font-snf"]= "snf", - ["application/x-font-type1"]= "pfm", - ["application/x-freearc"]= "arc", - ["application/x-futuresplash"]= "spl", - ["application/x-gca-compressed"]= "gca", - ["application/x-glulx"]= "ulx", - ["application/x-gnumeric"]= "gnumeric", - ["application/x-gramps-xml"]= "gramps", - ["application/x-gtar"]= "gtar", - ["application/x-gzip"]= "gz", - ["application/x-hdf"]= "hdf", - ["application/x-install-instructions"]= "install", - ["application/x-internet-signup"]= "isp", - ["application/x-iphone"]= "iii", - ["application/x-iso9660-image"]= "iso", - ["application/x-itunes-ipa"]= "ipa", - ["application/x-itunes-ipg"]= "ipg", - ["application/x-itunes-ipsw"]= "ipsw", - ["application/x-itunes-ite"]= "ite", - ["application/x-itunes-itlp"]= "itlp", - ["application/x-itunes-itms"]= "itms", - ["application/x-itunes-itpc"]= "itpc", - ["application/x-java-applet"]= "class", - ["application/x-java-jnlp-file"]= "jnlp", - ["application/x-koan"]= "skp", - ["application/x-latex"]= "latex", - ["application/x-lzh-compressed"]= "lzh", - ["application/x-mie"]= "mie", - ["application/x-miva-compiled"]= "mvc", - ["application/x-mmxp"]= "mxp", - ["application/x-mobipocket-ebook"]= "mobi", - ["application/x-ms-application"]= "application", - ["application/x-ms-installer"]= "msi", - ["application/x-ms-license"]= "slupkg-ms", - ["application/x-ms-manifest"]= "manifest", - ["application/x-ms-reader"]= "lit", - ["application/x-ms-shortcut"]= "lnk", - ["application/x-ms-vsto"]= "vsto", - ["application/x-ms-wmd"]= "wmd", - ["application/x-ms-wmz"]= "wmz", - ["application/x-ms-xbap"]= "xbap", - ["application/x-msaccess"]= "mdb", - ["application/x-msbinder"]= "obd", - ["application/x-mscardfile"]= "crd", - ["application/x-msclip"]= "clp", - ["application/x-msdos-program"]= "exe", - ["application/x-msdownload"]= "exe", - ["application/x-msmediaview"]= "mvb", - ["application/x-msmetafile"]= "wmf", - ["application/x-msmoney"]= "mny", - ["application/x-mspublisher"]= "pub", - ["application/x-msschedule"]= "scd", - ["application/x-msterminal"]= "trm", - ["application/x-mswrite"]= "wri", - ["application/x-netcdf"]= "cdf", - ["application/x-nzb"]= "nzb", - ["application/x-oleobject"]= "hhc", - ["application/x-pcapng"]= "pcap", - ["application/x-pe-app-32bit-i386"]= "exe", - ["application/x-perfmon"]= "pmw", - ["application/x-perl"]= "pl", - ["application/x-pkcs12"]= "p12", - ["application/x-pkcs7-certificates"]= "p7b", - ["application/x-pkcs7-certreqresp"]= "p7r", - ["application/x-podcast"]= "pcast", - ["application/x-python"]= "py", - ["application/x-quicktimeplayer"]= "qtl", - ["application/x-rar-compressed"]= "rar", - ["application/x-research-info-systems"]= "ris", - ["application/x-safari-safariextz"]= "safariextz", - ["application/x-safari-webarchive"]= "webarchive", - ["application/x-sgimb"]= "sgimb", - ["application/x-sh"]= "sh", - ["application/x-shar"]= "shar", - ["application/x-sharedlib"]= "lib", - ["application/x-shockwave-flash"]= "swf", - ["application/x-silverlight-app"]= "xap", - ["application/x-smaf"]= "mmf", - ["application/x-sql"]= "sql", - ["application/x-stuffit"]= "sit", - ["application/x-stuffitx"]= "sitx", - ["application/x-subrip"]= "srt", - ["application/x-sv4cpio"]= "sv4cpio", - ["application/x-sv4crc"]= "sv4crc", - ["application/x-t3vm-image"]= "t3", - ["application/x-tads"]= "gam", - ["application/x-tar"]= "tar", - ["application/x-tcl"]= "tcl", - ["application/x-tex"]= "tex", - ["application/x-tex-tfm"]= "tfm", - ["application/x-texinfo"]= "texinfo", - ["application/x-tgif"]= "obj", - ["application/x-troff"]= "tr", - ["application/x-troff-man"]= "man", - ["application/x-troff-me"]= "me", - ["application/x-troff-ms"]= "ms", - ["application/x-ustar"]= "ustar", - ["application/x-wais-source"]= "src", - ["application/x-wlpg-detect"]= "wlpginstall", - ["application/x-wlpg3-detect"]= "wlpginstall3", - ["application/x-x509-ca-cert"]= "crt", - ["application/x-xfig"]= "fig", - ["application/x-xliff+xml"]= "xlf", - ["application/x-xpinstall"]= "xpi", - ["application/x-xz"]= "xz", - ["application/x-zip-compressed"]= "zip", - ["application/x-zmachine"]= "z1", - ["application/xaml+xml"]= "xaml", - ["application/xcap-diff+xml"]= "xdf", - ["application/xenc+xml"]= "xenc", - ["application/xhtml+xml"]= "xhtml", - ["application/xml"]= "xml", - ["application/xml-dtd"]= "dtd", - ["application/xop+xml"]= "xop", - ["application/xproc+xml"]= "xpl", - ["application/xslt+xml"]= "xslt", - ["application/xspf+xml"]= "xspf", - ["application/xv+xml"]= "xvml", - ["application/yang"]= "yang", - ["application/yin+xml"]= "yin", - ["application/zip"]= "zip", - ["audio/aac"]= "aac", - ["audio/ac3"]= "ac3", - ["audio/adpcm"]= "adp", - ["audio/aiff"]= "aiff", - ["audio/annodex"]= "axa", - ["audio/audible"]= "aa", - ["audio/basic"]= "au", - ["audio/flac"]= "flac", - ["audio/m4a"]= "m4a", - ["audio/m4b"]= "m4b", - ["audio/m4p"]= "m4p", - ["audio/mid"]= "midi", - ["audio/midi"]= "midi", - ["audio/mp4"]= "m4a", - ["audio/mpeg"]= "mp3", - ["audio/ogg"]= "ogg", - ["audio/s3m"]= "s3m", - ["audio/scpls"]= "pls", - ["audio/silk"]= "sil", - ["audio/vnd.audible.aax"]= "aax", - ["audio/vnd.dece.audio"]= "uva", - ["audio/vnd.digital-winds"]= "eol", - ["audio/vnd.dlna.adts"]= "ADT", - ["audio/vnd.dra"]= "dra", - ["audio/vnd.dts"]= "dts", - ["audio/vnd.dts.hd"]= "dtshd", - ["audio/vnd.lucent.voice"]= "lvp", - ["audio/vnd.ms-playready.media.pya"]= "pya", - ["audio/vnd.nuera.ecelp4800"]= "ecelp4800", - ["audio/vnd.nuera.ecelp7470"]= "ecelp7470", - ["audio/vnd.nuera.ecelp9600"]= "ecelp9600", - ["audio/vnd.rip"]= "rip", - ["audio/wav"]= "wav", - ["audio/webm"]= "weba", - ["audio/x-aac"]= "aac", - ["audio/x-aiff"]= "aiff", - ["audio/x-caf"]= "caf", - ["audio/x-flac"]= "flac", - ["audio/x-gsm"]= "gsm", - ["audio/x-m4a"]= "m4a", - ["audio/x-m4r"]= "m4r", - ["audio/x-matroska"]= "mka", - ["audio/x-mpegurl"]= "m3u", - ["audio/x-ms-wax"]= "wax", - ["audio/x-ms-wma"]= "wma", - ["audio/x-pn-realaudio"]= "ra", - ["audio/x-pn-realaudio-plugin"]= "rmp", - ["audio/x-sd2"]= "sd2", - ["audio/x-smd"]= "smd", - ["audio/x-wav"]= "wav", - ["audio/xm"]= "xm", - ["chemical/x-cdx"]= "cdx", - ["chemical/x-cif"]= "cif", - ["chemical/x-cmdf"]= "cmdf", - ["chemical/x-cml"]= "cml", - ["chemical/x-csml"]= "csml", - ["chemical/x-xyz"]= "xyz", - ["drawing/x-dwf"]= "dwf", - ["font/collection"]= "ttc", - ["font/otf"]= "otf", - ["font/ttf"]= "ttf", - ["font/woff"]= "woff", - ["font/woff2"]= "woff2", - ["image/bmp"]= "bmp", - ["image/cgm"]= "cgm", - ["image/cis-cod"]= "cod", - ["image/g3fax"]= "g3", - ["image/gif"]= "gif", - ["image/ief"]= "ief", - ["image/jpeg"]= "jpg", - ["image/ktx"]= "ktx", - ["image/pict"]= "pict", - ["image/pjpeg"]= "jfif", - ["image/png"]= "png", - ["image/prs.btif"]= "btif", - ["image/sgi"]= "sgi", - ["image/svg+xml"]= "svg", - ["image/tiff"]= "tiff", - ["image/vnd.adobe.photoshop"]= "psd", - ["image/vnd.dece.graphic"]= "uvg", - ["image/vnd.djvu"]= "djvu", - ["image/vnd.dvb.subtitle"]= "sub", - ["image/vnd.dwg"]= "dwg", - ["image/vnd.dxf"]= "dxf", - ["image/vnd.fastbidsheet"]= "fbs", - ["image/vnd.fpx"]= "fpx", - ["image/vnd.fst"]= "fst", - ["image/vnd.fujixerox.edmics-mmr"]= "mmr", - ["image/vnd.fujixerox.edmics-rlc"]= "rlc", - ["image/vnd.ms-modi"]= "mdi", - ["image/vnd.ms-photo"]= "wdp", - ["image/vnd.net-fpx"]= "npx", - ["image/vnd.rn-realflash"]= "rf", - ["image/vnd.wap.wbmp"]= "wbmp", - ["image/vnd.xiff"]= "xif", - ["image/webp"]= "webp", - ["image/x-3ds"]= "3ds", - ["image/x-cmu-raster"]= "ras", - ["image/x-cmx"]= "cmx", - ["image/x-freehand"]= "fh", - ["image/x-gif"]= "gif", - ["image/x-icon"]= "ico", - ["image/x-jg"]= "art", - ["image/x-jpeg"]= "jpg", - ["image/x-macpaint"]= "mac", - ["image/x-mrsid-image"]= "sid", - ["image/x-pcx"]= "pcx", - ["image/x-pict"]= "pic", - ["image/x-png"]= "png", - ["image/x-portable-anymap"]= "pnm", - ["image/x-portable-bitmap"]= "pbm", - ["image/x-portable-graymap"]= "pgm", - ["image/x-portable-pixmap"]= "ppm", - ["image/x-quicktime"]= "qti", - ["image/x-rgb"]= "rgb", - ["image/x-tga"]= "tga", - ["image/x-xbitmap"]= "xbm", - ["image/x-xpixmap"]= "xpm", - ["image/x-xwindowdump"]= "xwd", - ["message/rfc822"]= "eml", - ["model/iges"]= "iges", - ["model/mesh"]= "mesh", - ["model/vnd.collada+xml"]= "dae", - ["model/vnd.dwf"]= "dwf", - ["model/vnd.gdl"]= "gdl", - ["model/vnd.gtw"]= "gtw", - ["model/vnd.mts"]= "mts", - ["model/vnd.vtu"]= "vtu", - ["model/vrml"]= "vrml", - ["model/x3d+binary"]= "x3db", - ["model/x3d+vrml"]= "x3dv", - ["model/x3d+xml"]= "x3d", - ["text/cache-manifest"]= "appcache", - ["text/calendar"]= "ics", - ["text/css"]= "css", - ["text/csv"]= "csv", - ["text/dlm"]= "dlm", - ["text/h323"]= "323", - ["text/html"]= "html", - ["text/iuls"]= "uls", - ["text/jscript"]= "jsx", - ["text/n3"]= "n3", - ["text/plain"]= "txt", - ["text/prs.lines.tag"]= "dsc", - ["text/richtext"]= "rtx", - ["text/rtf"]= "rtf", - ["text/scriptlet"]= "sct", - ["text/sgml"]= "sgml", - ["text/tab-separated-values"]= "tsv", - ["text/troff"]= "tr", - ["text/uri-list"]= "uri", - ["text/vbscript"]= "vbs", - ["text/vcard"]= "vcard", - ["text/vnd.curl"]= "curl", - ["text/vnd.curl.dcurl"]= "dcurl", - ["text/vnd.curl.mcurl"]= "mcurl", - ["text/vnd.curl.scurl"]= "scurl", - ["text/vnd.dvb.subtitle"]= "sub", - ["text/vnd.fly"]= "fly", - ["text/vnd.fmi.flexstor"]= "flx", - ["text/vnd.graphviz"]= "gv", - ["text/vnd.in3d.3dml"]= "3dml", - ["text/vnd.in3d.spot"]= "spot", - ["text/vnd.sun.j2me.app-descriptor"]= "jad", - ["text/vnd.wap.wml"]= "wml", - ["text/vnd.wap.wmlscript"]= "wmls", - ["text/vtt"]= "vtt", - ["text/webviewhtml"]= "htt", - ["text/x-asm"]= "asm", - ["text/x-c"]= "c", - ["text/x-component"]= "htc", - ["text/x-fortran"]= "f", - ["text/x-hdml"]= "hdml", - ["text/x-html-insertion"]= "qhtm", - ["text/x-java-source"]= "java", - ["text/x-ms-contact"]= "contact", - ["text/x-ms-group"]= "group", - ["text/x-ms-iqy"]= "iqy", - ["text/x-ms-rqy"]= "rqy", - ["text/x-nfo"]= "nfo", - ["text/x-opml"]= "opml", - ["text/x-pascal"]= "pas", - ["text/x-setext"]= "etx", - ["text/x-sfv"]= "sfv", - ["text/x-uuencode"]= "uu", - ["text/x-vcalendar"]= "vcs", - ["text/x-vcard"]= "vcf", - ["text/xml"]= "xml", - ["video/3gpp"]= "3gp", - ["video/3gpp2"]= "3g2", - ["video/annodex"]= "axv", - ["video/divx"]= "divx", - ["video/h261"]= "h261", - ["video/h263"]= "h263", - ["video/h264"]= "h264", - ["video/jpeg"]= "jpgv", - ["video/jpm"]= "jpm", - ["video/mj2"]= "mj2", - ["video/mp4"]= "mp4", - ["video/mpeg"]= "mpg", - ["video/ogg"]= "ogv", - ["video/quicktime"]= "mov", - ["video/vnd.dece.hd"]= "uvh", - ["video/vnd.dece.mobile"]= "uvm", - ["video/vnd.dece.pd"]= "uvp", - ["video/vnd.dece.sd"]= "uvs", - ["video/vnd.dece.video"]= "uvv", - ["video/vnd.dlna.mpeg-tts"]= "m2t", - ["video/vnd.dvb.file"]= "dvb", - ["video/vnd.fvt"]= "fvt", - ["video/vnd.mpegurl"]= "m4u", - ["video/vnd.ms-playready.media.pyv"]= "pyv", - ["video/vnd.uvvu.mp4"]= "uvu", - ["video/vnd.vivo"]= "viv", - ["video/webm"]= "webm", - ["video/x-dv"]= "dv", - ["video/x-f4v"]= "f4v", - ["video/x-fli"]= "fli", - ["video/x-flv"]= "flv", - ["video/x-ivf"]= "IVF", - ["video/x-la-asf"]= "lsf", - ["video/x-m4v"]= "m4v", - ["video/x-matroska"]= "mkv", - ["video/x-matroska-3d"]= "mk3d", - ["video/x-mng"]= "mng", - ["video/x-ms-asf"]= "asf", - ["video/x-ms-vob"]= "vob", - ["video/x-ms-wm"]= "wm", - ["video/x-ms-wmp"]= "wmp", - ["video/x-ms-wmv"]= "wmv", - ["video/x-ms-wmx"]= "wmx", - ["video/x-ms-wvx"]= "wvx", - ["video/x-msvideo"]= "avi", - ["video/x-sgi-movie"]= "movie", - ["video/x-smv"]= "smv", - ["x-conference/x-cooltalk"]= "ice", - ["x-world/x-vrml"]= "wrl" + ["application/andrew-inset"] = "ez", + ["application/applixware"] = "aw", + ["application/atomcat+xml"] = "atomcat", + ["application/atomsvc+xml"] = "atomsvc", + ["application/atom+xml"] = "atom", + ["application/ccxml+xml"] = "ccxml", + ["application/cdmi-capability"] = "cdmia", + ["application/cdmi-container"] = "cdmic", + ["application/cdmi-domain"] = "cdmid", + ["application/cdmi-object"] = "cdmio", + ["application/cdmi-queue"] = "cdmiq", + ["application/cu-seeme"] = "cu", + ["application/davmount+xml"] = "davmount", + ["application/docbook+xml"] = "dbk", + ["application/dssc+der"] = "dssc", + ["application/dssc+xml"] = "xdssc", + ["application/ecmascript"] = "ecma", + ["application/emma+xml"] = "emma", + ["application/epub+zip"] = "epub", + ["application/exi"] = "exi", + ["application/font-tdpfr"] = "pfr", + ["application/gml+xml"] = "gml", + ["application/gpx+xml"] = "gpx", + ["application/gxf"] = "gxf", + ["application/hyperstudio"] = "stk", + ["application/inkml+xml"] = "inkml", + ["application/ipfix"] = "ipfix", + ["application/java-archive"] = "jar", + ["application/java-serialized-object"] = "ser", + ["application/java-vm"] = "class", + ["application/json"] = "json", + ["application/jsonml+json"] = "jsonml", + ["application/lost+xml"] = "lostxml", + ["application/mac-binhex40"] = "hqx", + ["application/mac-compactpro"] = "cpt", + ["application/mads+xml"] = "mads", + ["application/marc"] = "mrc", + ["application/marcxml+xml"] = "mrcx", + ["application/mathematica"] = "ma", + ["application/mathml+xml"] = "mathml", + ["application/mbox"] = "mbox", + ["application/mediaservercontrol+xml"] = "mscml", + ["application/metalink4+xml"] = "meta4", + ["application/metalink+xml"] = "metalink", + ["application/mets+xml"] = "mets", + ["application/mods+xml"] = "mods", + ["application/mp21"] = "mp21", + ["application/mp4"] = "mp4s", + ["application/msword"] = "doc", + ["application/mxf"] = "mxf", + ["application/octet-stream"] = "bin", + ["application/oda"] = "oda", + ["application/oebps-package+xml"] = "opf", + ["application/ogg"] = "ogx", + ["application/omdoc+xml"] = "omdoc", + ["application/onenote"] = "onepkg", + ["application/oxps"] = "oxps", + ["application/patch-ops-error+xml"] = "xer", + ["application/pdf"] = "pdf", + ["application/pgp-encrypted"] = "pgp", + ["application/pgp-signature"] = "sig", + ["application/pics-rules"] = "prf", + ["application/pkcs10"] = "p10", + ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-signature"] = "p7s", + ["application/pkcs8"] = "p8", + ["application/pkix-attr-cert"] = "ac", + ["application/pkix-cert"] = "cer", + ["application/pkixcmp"] = "pki", + ["application/pkix-crl"] = "crl", + ["application/pkix-pkipath"] = "pkipath", + ["application/pls+xml"] = "pls", + ["application/postscript"] = "ps", + ["application/prs.cww"] = "cww", + ["application/pskc+xml"] = "pskcxml", + ["application/rdf+xml"] = "rdf", + ["application/reginfo+xml"] = "rif", + ["application/relax-ng-compact-syntax"] = "rnc", + ["application/resource-lists-diff+xml"] = "rld", + ["application/resource-lists+xml"] = "rl", + ["application/rls-services+xml"] = "rs", + ["application/rpki-ghostbusters"] = "gbr", + ["application/rpki-manifest"] = "mft", + ["application/rpki-roa"] = "roa", + ["application/rsd+xml"] = "rsd", + ["application/rss+xml"] = "rss", + ["application/rtf"] = "rtf", + ["application/sbml+xml"] = "sbml", + ["application/scvp-cv-request"] = "scq", + ["application/scvp-cv-response"] = "scs", + ["application/scvp-vp-request"] = "spq", + ["application/scvp-vp-response"] = "spp", + ["application/sdp"] = "sdp", + ["application/set-payment-initiation"] = "setpay", + ["application/set-registration-initiation"] = "setreg", + ["application/shf+xml"] = "shf", + ["application/smil+xml"] = "smil", + ["application/sparql-query"] = "rq", + ["application/sparql-results+xml"] = "srx", + ["application/srgs"] = "gram", + ["application/srgs+xml"] = "grxml", + ["application/sru+xml"] = "sru", + ["application/ssdl+xml"] = "ssdl", + ["application/ssml+xml"] = "ssml", + ["application/tei+xml"] = "tei", + ["application/thraud+xml"] = "tfi", + ["application/timestamped-data"] = "tsd", + ["application/vnd.3gpp2.tcap"] = "tcap", + ["application/vnd.3gpp.pic-bw-large"] = "plb", + ["application/vnd.3gpp.pic-bw-small"] = "psb", + ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3m.post-it-notes"] = "pwn", + ["application/vnd.accpac.simply.aso"] = "aso", + ["application/vnd.accpac.simply.imp"] = "imp", + ["application/vnd.acucobol"] = "acu", + ["application/vnd.acucorp"] = "acutc", + ["application/vnd.adobe.air-application-installer-package+zip"] = "air", + ["application/vnd.adobe.formscentral.fcdt"] = "fcdt", + ["application/vnd.adobe.fxp"] = "fxp", + ["application/vnd.adobe.xdp+xml"] = "xdp", + ["application/vnd.adobe.xfdf"] = "xfdf", + ["application/vnd.ahead.space"] = "ahead", + ["application/vnd.airzip.filesecure.azf"] = "azf", + ["application/vnd.airzip.filesecure.azs"] = "azs", + ["application/vnd.amazon.ebook"] = "azw", + ["application/vnd.americandynamics.acc"] = "acc", + ["application/vnd.amiga.ami"] = "ami", + ["application/vnd.android.package-archive"] = "apk", + ["application/vnd.anser-web-certificate-issue-initiation"] = "cii", + ["application/vnd.anser-web-funds-transfer-initiation"] = "fti", + ["application/vnd.antix.game-component"] = "atx", + ["application/vnd.apple.installer+xml"] = "mpkg", + ["application/vnd.apple.mpegurl"] = "m3u8", + ["application/vnd.aristanetworks.swi"] = "swi", + ["application/vnd.astraea-software.iota"] = "iota", + ["application/vnd.audiograph"] = "aep", + ["application/vnd.blueice.multipass"] = "mpm", + ["application/vnd.bmi"] = "bmi", + ["application/vnd.businessobjects"] = "rep", + ["application/vnd.chemdraw+xml"] = "cdxml", + ["application/vnd.chipnuts.karaoke-mmd"] = "mmd", + ["application/vnd.cinderella"] = "cdy", + ["application/vnd.claymore"] = "cla", + ["application/vnd.cloanto.rp9"] = "rp9", + ["application/vnd.clonk.c4group"] = "c4g", + ["application/vnd.cluetrust.cartomobile-config"] = "c11amc", + ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz", + ["application/vnd.commonspace"] = "csp", + ["application/vnd.contact.cmsg"] = "cdbcmsg", + ["application/vnd.cosmocaller"] = "cmc", + ["application/vnd.crick.clicker"] = "clkx", + ["application/vnd.crick.clicker.keyboard"] = "clkk", + ["application/vnd.crick.clicker.palette"] = "clkp", + ["application/vnd.crick.clicker.template"] = "clkt", + ["application/vnd.crick.clicker.wordbank"] = "clkw", + ["application/vnd.criticaltools.wbs+xml"] = "wbs", + ["application/vnd.ctc-posml"] = "pml", + ["application/vnd.cups-ppd"] = "ppd", + ["application/vnd.curl.car"] = "car", + ["application/vnd.curl.pcurl"] = "pcurl", + ["application/vnd.dart"] = "dart", + ["application/vnd.data-vision.rdz"] = "rdz", + ["application/vnd.dece.data"] = "uvd", + ["application/vnd.dece.ttml+xml"] = "uvt", + ["application/vnd.dece.unspecified"] = "uvx", + ["application/vnd.dece.zip"] = "uvz", + ["application/vnd.denovo.fcselayout-link"] = "fe_launch", + ["application/vnd.dna"] = "dna", + ["application/vnd.dolby.mlp"] = "mlp", + ["application/vnd.dpgraph"] = "dpg", + ["application/vnd.dreamfactory"] = "dfac", + ["application/vnd.ds-keypoint"] = "kpxx", + ["application/vnd.dvb.ait"] = "ait", + ["application/vnd.dvb.service"] = "svc", + ["application/vnd.dynageo"] = "geo", + ["application/vnd.ecowin.chart"] = "mag", + ["application/vnd.enliven"] = "nml", + ["application/vnd.epson.esf"] = "esf", + ["application/vnd.epson.msf"] = "msf", + ["application/vnd.epson.quickanime"] = "qam", + ["application/vnd.epson.salt"] = "slt", + ["application/vnd.epson.ssf"] = "ssf", + ["application/vnd.eszigno3+xml"] = "es3", + ["application/vnd.ezpix-album"] = "ez2", + ["application/vnd.ezpix-package"] = "ez3", + ["application/vnd.fdf"] = "fdf", + ["application/vnd.fdsn.mseed"] = "mseed", + ["application/vnd.fdsn.seed"] = "seed", + ["application/vnd.flographit"] = "gph", + ["application/vnd.fluxtime.clip"] = "ftc", + ["application/vnd.framemaker"] = "frame", + ["application/vnd.frogans.fnc"] = "fnc", + ["application/vnd.frogans.ltf"] = "ltf", + ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys2"] = "oa2", + ["application/vnd.fujitsu.oasys3"] = "oa3", + ["application/vnd.fujitsu.oasysgp"] = "fg5", + ["application/vnd.fujitsu.oasys"] = "oas", + ["application/vnd.fujitsu.oasysprs"] = "bh2", + ["application/vnd.fujixerox.ddd"] = "ddd", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", + ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fuzzysheet"] = "fzs", + ["application/vnd.genomatix.tuxedo"] = "txd", + ["application/vnd.geogebra.file"] = "ggb", + ["application/vnd.geogebra.slides"] = "ggs", + ["application/vnd.geogebra.tool"] = "ggt", + ["application/vnd.geometry-explorer"] = "gex", + ["application/vnd.geonext"] = "gxt", + ["application/vnd.geoplan"] = "g2w", + ["application/vnd.geospace"] = "g3w", + ["application/vnd.gmx"] = "gmx", + ["application/vnd.google-earth.kml+xml"] = "kml", + ["application/vnd.google-earth.kmz"] = "kmz", + ["application/vnd.grafeq"] = "gqf", + ["application/vnd.groove-account"] = "gac", + ["application/vnd.groove-help"] = "ghf", + ["application/vnd.groove-identity-message"] = "gim", + ["application/vnd.groove-injector"] = "grv", + ["application/vnd.groove-tool-message"] = "gtm", + ["application/vnd.groove-tool-template"] = "tpl", + ["application/vnd.groove-vcard"] = "vcg", + ["application/vnd.hal+xml"] = "hal", + ["application/vnd.handheld-entertainment+xml"] = "zmm", + ["application/vnd.hbci"] = "hbci", + ["application/vnd.hhe.lesson-player"] = "les", + ["application/vnd.hp-hpgl"] = "hpgl", + ["application/vnd.hp-hpid"] = "hpid", + ["application/vnd.hp-hps"] = "hps", + ["application/vnd.hp-jlyt"] = "jlt", + ["application/vnd.hp-pcl"] = "pcl", + ["application/vnd.hp-pclxl"] = "pclxl", + ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx", + ["application/vnd.ibm.minipay"] = "mpy", + ["application/vnd.ibm.modcap"] = "afp", + ["application/vnd.ibm.rights-management"] = "irm", + ["application/vnd.ibm.secure-container"] = "sc", + ["application/vnd.iccprofile"] = "icc", + ["application/vnd.igloader"] = "igl", + ["application/vnd.immervision-ivp"] = "ivp", + ["application/vnd.immervision-ivu"] = "ivu", + ["application/vnd.insors.igm"] = "igm", + ["application/vnd.intercon.formnet"] = "xpw", + ["application/vnd.intergeo"] = "i2g", + ["application/vnd.intu.qbo"] = "qbo", + ["application/vnd.intu.qfx"] = "qfx", + ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", + ["application/vnd.irepository.package+xml"] = "irp", + ["application/vnd.isac.fcs"] = "fcs", + ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.jam"] = "jam", + ["application/vnd.jcp.javame.midlet-rms"] = "rms", + ["application/vnd.jisp"] = "jisp", + ["application/vnd.joost.joda-archive"] = "joda", + ["application/vnd.kahootz"] = "ktz", + ["application/vnd.kde.karbon"] = "karbon", + ["application/vnd.kde.kchart"] = "chrt", + ["application/vnd.kde.kformula"] = "kfo", + ["application/vnd.kde.kivio"] = "flw", + ["application/vnd.kde.kontour"] = "kon", + ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kspread"] = "ksp", + ["application/vnd.kde.kword"] = "kwd", + ["application/vnd.kenameaapp"] = "htke", + ["application/vnd.kidspiration"] = "kia", + ["application/vnd.kinar"] = "kne", + ["application/vnd.koan"] = "skd", + ["application/vnd.kodak-descriptor"] = "sse", + ["application/vnd.las.las+xml"] = "lasxml", + ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd", + ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe", + ["application/vnd.lotus-1-2-3"] = "123", + ["application/vnd.lotus-approach"] = "apr", + ["application/vnd.lotus-freelance"] = "pre", + ["application/vnd.lotus-notes"] = "nsf", + ["application/vnd.lotus-organizer"] = "org", + ["application/vnd.lotus-screencam"] = "scm", + ["application/vnd.lotus-wordpro"] = "lwp", + ["application/vnd.macports.portpkg"] = "portpkg", + ["application/vnd.mcd"] = "mcd", + ["application/vnd.medcalcdata"] = "mc1", + ["application/vnd.mediastation.cdkey"] = "cdkey", + ["application/vnd.mfer"] = "mwf", + ["application/vnd.mfmp"] = "mfm", + ["application/vnd.micrografx.flo"] = "flo", + ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.mif"] = "mif", + ["application/vnd.mobius.daf"] = "daf", + ["application/vnd.mobius.dis"] = "dis", + ["application/vnd.mobius.mbk"] = "mbk", + ["application/vnd.mobius.mqy"] = "mqy", + ["application/vnd.mobius.msl"] = "msl", + ["application/vnd.mobius.plc"] = "plc", + ["application/vnd.mobius.txf"] = "txf", + ["application/vnd.mophun.application"] = "mpn", + ["application/vnd.mophun.certificate"] = "mpc", + ["application/vnd.mozilla.xul+xml"] = "xul", + ["application/vnd.ms-artgalry"] = "cil", + ["application/vnd.ms-cab-compressed"] = "cab", + ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", + ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-fontobject"] = "eot", + ["application/vnd.ms-htmlhelp"] = "chm", + ["application/vnd.ms-ims"] = "ims", + ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-pki.seccat"] = "cat", + ["application/vnd.ms-pki.stl"] = "stl", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-wpl"] = "wpl", + ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.musician"] = "mus", + ["application/vnd.muvee.style"] = "msty", + ["application/vnd.mynfc"] = "taglet", + ["application/vnd.neurolanguage.nlu"] = "nlu", + ["application/vnd.nitf"] = "nitf", + ["application/vnd.noblenet-directory"] = "nnd", + ["application/vnd.noblenet-sealer"] = "nns", + ["application/vnd.noblenet-web"] = "nnw", + ["application/vnd.nokia.n-gage.data"] = "ngdat", + ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage", + ["application/vnd.nokia.radio-preset"] = "rpst", + ["application/vnd.nokia.radio-presets"] = "rpss", + ["application/vnd.novadigm.edm"] = "edm", + ["application/vnd.novadigm.edx"] = "edx", + ["application/vnd.novadigm.ext"] = "ext", + ["application/vnd.oasis.opendocument.chart"] = "odc", + ["application/vnd.oasis.opendocument.chart-template"] = "otc", + ["application/vnd.oasis.opendocument.database"] = "odb", + ["application/vnd.oasis.opendocument.formula"] = "odf", + ["application/vnd.oasis.opendocument.formula-template"] = "odft", + ["application/vnd.oasis.opendocument.graphics"] = "odg", + ["application/vnd.oasis.opendocument.graphics-template"] = "otg", + ["application/vnd.oasis.opendocument.image"] = "odi", + ["application/vnd.oasis.opendocument.image-template"] = "oti", + ["application/vnd.oasis.opendocument.presentation"] = "odp", + ["application/vnd.oasis.opendocument.presentation-template"] = "otp", + ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", + ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", + ["application/vnd.oasis.opendocument.text-master"] = "odm", + ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-template"] = "ott", + ["application/vnd.oasis.opendocument.text-web"] = "oth", + ["application/vnd.olpc-sugar"] = "xo", + ["application/vnd.oma.dd2+xml"] = "dd2", + ["application/vnd.openofficeorg.extension"] = "oxt", + ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", + ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx", + ["application/vnd.osgeo.mapguide.package"] = "mgp", + ["application/vnd.osgi.dp"] = "dp", + ["application/vnd.osgi.subsystem"] = "esa", + ["application/vnd.palm"] = "pdb", + ["application/vnd.pawaafile"] = "paw", + ["application/vnd.pg.format"] = "str", + ["application/vnd.pg.osasli"] = "ei6", + ["application/vnd.picsel"] = "efif", + ["application/vnd.pmi.widget"] = "wg", + ["application/vnd.pocketlearn"] = "plf", + ["application/vnd.powerbuilder6"] = "pbd", + ["application/vnd.previewsystems.box"] = "box", + ["application/vnd.proteus.magazine"] = "mgz", + ["application/vnd.publishare-delta-tree"] = "qps", + ["application/vnd.pvi.ptid1"] = "ptid", + ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.realvnc.bed"] = "bed", + ["application/vnd.recordare.musicxml"] = "mxl", + ["application/vnd.recordare.musicxml+xml"] = "musicxml", + ["application/vnd.rig.cryptonote"] = "cryptonote", + ["application/vnd.rim.cod"] = "cod", + ["application/vnd.rn-realmedia"] = "rm", + ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.route66.link66+xml"] = "link66", + ["application/vnd.sailingtracker.track"] = "st", + ["application/vnd.seemail"] = "see", + ["application/vnd.sema"] = "sema", + ["application/vnd.semd"] = "semd", + ["application/vnd.semf"] = "semf", + ["application/vnd.shana.informed.formdata"] = "ifm", + ["application/vnd.shana.informed.formtemplate"] = "itp", + ["application/vnd.shana.informed.interchange"] = "iif", + ["application/vnd.shana.informed.package"] = "ipk", + ["application/vnd.simtech-mindmapper"] = "twd", + ["application/vnd.smaf"] = "mmf", + ["application/vnd.smart.teacher"] = "teacher", + ["application/vnd.solent.sdkm+xml"] = "sdkm", + ["application/vnd.spotfire.dxp"] = "dxp", + ["application/vnd.spotfire.sfs"] = "sfs", + ["application/vnd.stardivision.calc"] = "sdc", + ["application/vnd.stardivision.draw"] = "sda", + ["application/vnd.stardivision.impress"] = "sdd", + ["application/vnd.stardivision.math"] = "smf", + ["application/vnd.stardivision.writer-global"] = "sgl", + ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stepmania.package"] = "smzip", + ["application/vnd.stepmania.stepchart"] = "sm", + ["application/vnd.sun.xml.calc"] = "sxc", + ["application/vnd.sun.xml.calc.template"] = "stc", + ["application/vnd.sun.xml.draw"] = "sxd", + ["application/vnd.sun.xml.draw.template"] = "std", + ["application/vnd.sun.xml.impress"] = "sxi", + ["application/vnd.sun.xml.impress.template"] = "sti", + ["application/vnd.sun.xml.math"] = "sxm", + ["application/vnd.sun.xml.writer.global"] = "sxg", + ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.template"] = "stw", + ["application/vnd.sus-calendar"] = "sus", + ["application/vnd.svd"] = "svd", + ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml.dm+wbxml"] = "bdm", + ["application/vnd.syncml.dm+xml"] = "xdm", + ["application/vnd.syncml+xml"] = "xsm", + ["application/vnd.tao.intent-module-archive"] = "tao", + ["application/vnd.tcpdump.pcap"] = "pcap", + ["application/vnd.tmobile-livetv"] = "tmo", + ["application/vnd.trid.tpt"] = "tpt", + ["application/vnd.triscape.mxs"] = "mxs", + ["application/vnd.trueapp"] = "tra", + ["application/vnd.ufdl"] = "ufdl", + ["application/vnd.uiq.theme"] = "utz", + ["application/vnd.umajin"] = "umj", + ["application/vnd.unity"] = "unityweb", + ["application/vnd.uoml+xml"] = "uoml", + ["application/vnd.vcx"] = "vcx", + ["application/vnd.visionary"] = "vis", + ["application/vnd.visio"] = "vsd", + ["application/vnd.vsf"] = "vsf", + ["application/vnd.wap.wbxml"] = "wbxml", + ["application/vnd.wap.wmlc"] = "wmlc", + ["application/vnd.wap.wmlscriptc"] = "wmlsc", + ["application/vnd.webturbo"] = "wtb", + ["application/vnd.wolfram.player"] = "nbp", + ["application/vnd.wordperfect"] = "wpd", + ["application/vnd.wqd"] = "wqd", + ["application/vnd.wt.stf"] = "stf", + ["application/vnd.xara"] = "xar", + ["application/vnd.xfdl"] = "xfdl", + ["application/vnd.yamaha.hv-dic"] = "hvd", + ["application/vnd.yamaha.hv-script"] = "hvs", + ["application/vnd.yamaha.hv-voice"] = "hvp", + ["application/vnd.yamaha.openscoreformat"] = "osf", + ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg", + ["application/vnd.yamaha.smaf-audio"] = "saf", + ["application/vnd.yamaha.smaf-phrase"] = "spf", + ["application/vnd.yellowriver-custom-menu"] = "cmp", + ["application/vnd.zul"] = "zir", + ["application/vnd.zzazz.deck+xml"] = "zaz", + ["application/voicexml+xml"] = "vxml", + ["application/wasm"] = "wasm", + ["application/widget"] = "wgt", + ["application/winhlp"] = "hlp", + ["application/wsdl+xml"] = "wsdl", + ["application/wspolicy+xml"] = "wspolicy", + ["application/x-7z-compressed"] = "7z", + ["application/x-abiword"] = "abw", + ["application/x-ace-compressed"] = "ace", + ["application/xaml+xml"] = "xaml", + ["application/x-apple-diskimage"] = "dmg", + ["application/x-authorware-bin"] = "aab", + ["application/x-bcpio"] = "bcpio", + ["application/x-bittorrent"] = "torrent", + ["application/x-blorb"] = "blorb", + ["application/x-bzip2"] = "bz2", + ["application/x-bzip"] = "bz", + ["application/xcap-diff+xml"] = "xdf", + ["application/x-cbr"] = "cbr", + ["application/x-cdlink"] = "vcd", + ["application/x-cfs-compressed"] = "cfs", + ["application/x-chat"] = "chat", + ["application/x-chess-pgn"] = "pgn", + ["application/x-conference"] = "nsc", + ["application/x-cpio"] = "cpio", + ["application/x-csh"] = "csh", + ["application/x-debian-package"] = "deb", + ["application/x-dgc-compressed"] = "dgc", + ["application/x-director"] = "dir", + ["application/x-doom"] = "wad", + ["application/x-dtbncx+xml"] = "ncx", + ["application/x-dtbook+xml"] = "dtb", + ["application/x-dtbresource+xml"] = "res", + ["application/x-dvi"] = "dvi", + ["application/xenc+xml"] = "xenc", + ["application/x-envoy"] = "evy", + ["application/x-eva"] = "eva", + ["application/x-font-bdf"] = "bdf", + ["application/x-font-ghostscript"] = "gsf", + ["application/x-font-linux-psf"] = "psf", + ["application/x-font-pcf"] = "pcf", + ["application/x-font-snf"] = "snf", + ["application/x-font-type1"] = "pfm", + ["application/x-freearc"] = "arc", + ["application/x-futuresplash"] = "spl", + ["application/x-gca-compressed"] = "gca", + ["application/x-glulx"] = "ulx", + ["application/x-gnumeric"] = "gnumeric", + ["application/x-gramps-xml"] = "gramps", + ["application/x-gtar"] = "gtar", + ["application/x-hdf"] = "hdf", + ["application/xhtml+xml"] = "xhtml", + ["application/x-install-instructions"] = "install", + ["application/x-iso9660-image"] = "iso", + ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-latex"] = "latex", + ["application/x-lzh-compressed"] = "lzh", + ["application/x-mie"] = "mie", + ["application/xml-dtd"] = "dtd", + ["application/xml"] = "xml", + ["application/x-mobipocket-ebook"] = "mobi", + ["application/x-msaccess"] = "mdb", + ["application/x-ms-application"] = "application", + ["application/x-msbinder"] = "obd", + ["application/x-mscardfile"] = "crd", + ["application/x-msclip"] = "clp", + ["application/x-msdownload"] = "msi", + ["application/x-msmediaview"] = "mvb", + ["application/x-msmetafile"] = "wmf", + ["application/x-msmoney"] = "mny", + ["application/x-mspublisher"] = "pub", + ["application/x-msschedule"] = "scd", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-msterminal"] = "trm", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-mswrite"] = "wri", + ["application/x-ms-xbap"] = "xbap", + ["application/x-netcdf"] = "cdf", + ["application/x-nzb"] = "nzb", + ["application/xop+xml"] = "xop", + ["application/x-pkcs12"] = "p12", + ["application/x-pkcs7-certificates"] = "p7b", + ["application/x-pkcs7-certreqresp"] = "p7r", + ["application/xproc+xml"] = "xpl", + ["application/x-rar-compressed"] = "rar", + ["application/x-research-info-systems"] = "ris", + ["application/x-shar"] = "shar", + ["application/x-shockwave-flash"] = "swf", + ["application/x-sh"] = "sh", + ["application/x-silverlight-app"] = "xap", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/x-sql"] = "sql", + ["application/x-stuffit"] = "sit", + ["application/x-stuffitx"] = "sitx", + ["application/x-subrip"] = "srt", + ["application/x-sv4cpio"] = "sv4cpio", + ["application/x-sv4crc"] = "sv4crc", + ["application/x-t3vm-image"] = "t3", + ["application/x-tads"] = "gam", + ["application/x-tar"] = "tar", + ["application/x-tcl"] = "tcl", + ["application/x-texinfo"] = "texinfo", + ["application/x-tex"] = "tex", + ["application/x-tex-tfm"] = "tfm", + ["application/x-tgif"] = "obj", + ["application/x-ustar"] = "ustar", + ["application/xv+xml"] = "xvml", + ["application/x-wais-source"] = "src", + ["application/x-x509-ca-cert"] = "crt", + ["application/x-xfig"] = "fig", + ["application/x-xliff+xml"] = "xlf", + ["application/x-xpinstall"] = "xpi", + ["application/x-xz"] = "xz", + ["application/x-zmachine"] = "z1", + ["application/yang"] = "yang", + ["application/yin+xml"] = "yin", + ["application/zip"] = "zip", + ["audio/adpcm"] = "adp", + ["audio/basic"] = "au", + ["audio/midi"] = "mid", + ["audio/mp4"] = "m4a", + ["audio/mpeg"] = "mpga", + ["audio/ogg"] = "ogg", + ["audio/s3m"] = "s3m", + ["audio/silk"] = "sil", + ["audio/vnd.dece.audio"] = "uva", + ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dra"] = "dra", + ["audio/vnd.dts"] = "dts", + ["audio/vnd.dts.hd"] = "dtshd", + ["audio/vnd.lucent.voice"] = "lvp", + ["audio/vnd.ms-playready.media.pya"] = "pya", + ["audio/vnd.nuera.ecelp4800"] = "ecelp4800", + ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", + ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", + ["audio/vnd.rip"] = "rip", + ["audio/webm"] = "weba", + ["audio/x-aac"] = "aac", + ["audio/x-aiff"] = "aiff", + ["audio/x-caf"] = "caf", + ["audio/x-flac"] = "flac", + ["audio/x-matroska"] = "mka", + ["audio/x-mpegurl"] = "m3u", + ["audio/x-ms-wax"] = "wax", + ["audio/x-ms-wma"] = "wma", + ["audio/xm"] = "xm", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-pn-realaudio"] = "ra", + ["audio/x-wav"] = "wav", + ["chemical/x-cdx"] = "cdx", + ["chemical/x-cif"] = "cif", + ["chemical/x-cmdf"] = "cmdf", + ["chemical/x-cml"] = "cml", + ["chemical/x-csml"] = "csml", + ["chemical/x-xyz"] = "xyz", + ["font/collection"] = "ttc", + ["font/otf"] = "otf", + ["font/ttf"] = "ttf", + ["font/woff2"] = "woff2", + ["font/woff"] = "woff", + ["image/bmp"] = "bmp", + ["image/cgm"] = "cgm", + ["image/g3fax"] = "g3", + ["image/gif"] = "gif", + ["image/ief"] = "ief", + ["image/jpeg"] = "jpg", + ["image/ktx"] = "ktx", + ["image/png"] = "png", + ["image/prs.btif"] = "btif", + ["image/sgi"] = "sgi", + ["image/svg+xml"] = "svg", + ["image/tiff"] = "tiff", + ["image/vnd.adobe.photoshop"] = "psd", + ["image/vnd.dece.graphic"] = "uvg", + ["image/vnd.djvu"] = "djvu", + ["image/vnd.dvb.subtitle"] = "sub", + ["image/vnd.dwg"] = "dwg", + ["image/vnd.dxf"] = "dxf", + ["image/vnd.fastbidsheet"] = "fbs", + ["image/vnd.fpx"] = "fpx", + ["image/vnd.fst"] = "fst", + ["image/vnd.fujixerox.edmics-mmr"] = "mmr", + ["image/vnd.fujixerox.edmics-rlc"] = "rlc", + ["image/vnd.ms-modi"] = "mdi", + ["image/vnd.ms-photo"] = "wdp", + ["image/vnd.net-fpx"] = "npx", + ["image/vnd.wap.wbmp"] = "wbmp", + ["image/vnd.xiff"] = "xif", + ["image/webp"] = "webp", + ["image/x-3ds"] = "3ds", + ["image/x-cmu-raster"] = "ras", + ["image/x-cmx"] = "cmx", + ["image/x-freehand"] = "fh", + ["image/x-icon"] = "ico", + ["image/x-mrsid-image"] = "sid", + ["image/x-pcx"] = "pcx", + ["image/x-pict"] = "pct", + ["image/x-portable-anymap"] = "pnm", + ["image/x-portable-bitmap"] = "pbm", + ["image/x-portable-graymap"] = "pgm", + ["image/x-portable-pixmap"] = "ppm", + ["image/x-rgb"] = "rgb", + ["image/x-tga"] = "tga", + ["image/x-xbitmap"] = "xbm", + ["image/x-xpixmap"] = "xpm", + ["image/x-xwindowdump"] = "xwd", + ["message/rfc822"] = "mime", + ["model/iges"] = "iges", + ["model/mesh"] = "mesh", + ["model/vnd.collada+xml"] = "dae", + ["model/vnd.dwf"] = "dwf", + ["model/vnd.gdl"] = "gdl", + ["model/vnd.gtw"] = "gtw", + ["model/vnd.mts"] = "mts", + ["model/vnd.vtu"] = "vtu", + ["model/vrml"] = "vrml", + ["model/x3d+binary"] = "x3db", + ["model/x3d+vrml"] = "x3dv", + ["model/x3d+xml"] = "x3d", + ["text/cache-manifest"] = "appcache", + ["text/calendar"] = "ics", + ["text/css"] = "css", + ["text/csv"] = "csv", + ["text/html"] = "html", + ["text/javascript"] = "js", + ["text/n3"] = "n3", + ["text/plain"] = "txt", + ["text/prs.lines.tag"] = "dsc", + ["text/richtext"] = "rtx", + ["text/sgml"] = "sgml", + ["text/tab-separated-values"] = "tsv", + ["text/troff"] = "tr", + ["text/turtle"] = "ttl", + ["text/uri-list"] = "uri", + ["text/vcard"] = "vcard", + ["text/vnd.curl"] = "curl", + ["text/vnd.curl.dcurl"] = "dcurl", + ["text/vnd.curl.mcurl"] = "mcurl", + ["text/vnd.curl.scurl"] = "scurl", + ["text/vnd.dvb.subtitle"] = "sub", + ["text/vnd.fly"] = "fly", + ["text/vnd.fmi.flexstor"] = "flx", + ["text/vnd.graphviz"] = "gv", + ["text/vnd.in3d.3dml"] = "3dml", + ["text/vnd.in3d.spot"] = "spot", + ["text/vnd.sun.j2me.app-descriptor"] = "jad", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vnd.wap.wml"] = "wml", + ["text/x-asm"] = "asm", + ["text/x-c"] = "c", + ["text/x-fortran"] = "f", + ["text/x-java-source"] = "java", + ["text/x-nfo"] = "nfo", + ["text/x-opml"] = "opml", + ["text/x-pascal"] = "pas", + ["text/x-setext"] = "etx", + ["text/x-sfv"] = "sfv", + ["text/x-uuencode"] = "uu", + ["text/x-vcalendar"] = "vcs", + ["text/x-vcard"] = "vcf", + ["video/3gpp2"] = "3g2", + ["video/3gpp"] = "3gp", + ["video/h261"] = "h261", + ["video/h263"] = "h263", + ["video/h264"] = "h264", + ["video/jpeg"] = "jpgv", + ["video/jpm"] = "jpm", + ["video/mj2"] = "mj2", + ["video/mp4"] = "mp4", + ["video/mpeg"] = "mpg", + ["video/ogg"] = "ogv", + ["video/quicktime"] = "mov", + ["video/vnd.dece.hd"] = "uvh", + ["video/vnd.dece.mobile"] = "uvm", + ["video/vnd.dece.pd"] = "uvp", + ["video/vnd.dece.sd"] = "uvs", + ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dvb.file"] = "dvb", + ["video/vnd.fvt"] = "fvt", + ["video/vnd.mpegurl"] = "m4u", + ["video/vnd.ms-playready.media.pyv"] = "pyv", + ["video/vnd.uvvu.mp4"] = "uvu", + ["video/vnd.vivo"] = "viv", + ["video/webm"] = "webm", + ["video/x-f4v"] = "f4v", + ["video/x-fli"] = "fli", + ["video/x-flv"] = "flv", + ["video/x-m4v"] = "m4v", + ["video/x-matroska"] = "mkv", + ["video/x-mng"] = "mng", + ["video/x-ms-asf"] = "asf", + ["video/x-msvideo"] = "avi", + ["video/x-ms-vob"] = "vob", + ["video/x-ms-wmv"] = "wmv", + ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmx"] = "wmx", + ["video/x-ms-wvx"] = "wvx", + ["video/x-sgi-movie"] = "movie", + ["video/x-smv"] = "smv", + ["x-conference/x-cooltalk"] = "ice" } &default="bin" &redef; } diff --git a/shared/bin/configure-capture.py b/shared/bin/configure-capture.py index c67729d81..d463fa206 100755 --- a/shared/bin/configure-capture.py +++ b/shared/bin/configure-capture.py @@ -48,6 +48,7 @@ class Constants: ZEEK_FILE_CARVING_KNOWN = 'known' ZEEK_FILE_CARVING_MAPPED = 'mapped' ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT = 'mapped (except common plain text files)' + ZEEK_FILE_CARVING_NOTCOMMTXT = 'notcommtxt' ZEEK_FILE_CARVING_INTERESTING = 'interesting' ZEEK_FILE_CARVING_CUSTOM = 'custom' ZEEK_FILE_CARVING_CUSTOM_MIME = 'custom (mime-sorted)' @@ -56,13 +57,6 @@ class Constants: ZEEK_FILE_CARVING_OVERRIDE_FILE = '/opt/sensor/sensor_ctl/extractor_override.zeek' ZEEK_FILE_CARVING_OVERRIDE_INTERESTING_FILE = '/opt/sensor/sensor_ctl/zeek/extractor_override.interesting.zeek' ZEEK_FILE_CARVING_OVERRIDE_FILE_MAP_NAME = 'extractor_mime_to_ext_map' - ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES = { - "application/json", - "application/x-x509-ca-cert", - "application/xml", - "text/plain", - "text/xml", - } FILEBEAT = 'filebeat' MISCBEAT = 'miscbeat' @@ -594,7 +588,7 @@ def main(): ( Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT, 'Carve files with recognized mime types (except common plain text files)', - False, + (capture_config_dict["ZEEK_EXTRACTOR_MODE"] == Constants.ZEEK_FILE_CARVING_NOTCOMMTXT), ), ( Constants.ZEEK_FILE_CARVING_KNOWN, @@ -633,45 +627,32 @@ def main(): capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = "" zeek_carved_file_preservation = PRESERVE_NONE - if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM) or zeek_carve_mode.startswith( - Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT - ): + if zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_CUSTOM): # get all known mime-to-extension mappings into a dictionary all_mime_maps = mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_DEFAULTS) - if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT: - # all mime types minus common text mime types - mime_tags.extend( - [ - mime - for mime in all_mime_maps.keys() - if mime not in Constants.ZEEK_FILE_CARVING_PLAIN_TEXT_MIMES - ] - ) - + # select mimes to carve (pre-selecting items previously in the override file) + if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT: + mime_choices = [ + ( + pair[0], + pair[1], + pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), + ) + for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower()) + ] else: - # select mimes to carve (pre-selecting items previously in the override file) - if zeek_carve_mode == Constants.ZEEK_FILE_CARVING_CUSTOM_EXT: - mime_choices = [ - ( - pair[0], - pair[1], - pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), - ) - for pair in sorted(all_mime_maps.items(), key=lambda x: x[1].lower()) - ] - else: - mime_choices = [ - ( - pair[0], - pair[1], - pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), - ) - for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower()) - ] - code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices) - if code == Dialog.CANCEL or code == Dialog.ESC: - raise CancelledError + mime_choices = [ + ( + pair[0], + pair[1], + pair[0] in mime_to_extension_mappings(Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE), + ) + for pair in sorted(all_mime_maps.items(), key=lambda x: x[0].lower()) + ] + code, mime_tags = d.checklist(Constants.MSG_CONFIG_ZEEK_CARVING_MIMES, choices=mime_choices) + if code == Dialog.CANCEL or code == Dialog.ESC: + raise CancelledError mime_tags.sort() if len(mime_tags) == 0: @@ -691,6 +672,9 @@ def main(): zeek_carve_mode = Constants.ZEEK_FILE_CARVING_MAPPED capture_config_dict["ZEEK_EXTRACTOR_OVERRIDE_FILE"] = Constants.ZEEK_FILE_CARVING_OVERRIDE_FILE + elif zeek_carve_mode.startswith(Constants.ZEEK_FILE_CARVING_MAPPED_MINUS_TEXT): + zeek_carve_mode = Constants.ZEEK_FILE_CARVING_NOTCOMMTXT + # what to do with carved files if zeek_carve_mode != Constants.ZEEK_FILE_CARVING_NONE: # select engines for file scanning diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py index 40e62d1c0..eef96db41 100755 --- a/shared/bin/pcap_processor.py +++ b/shared/bin/pcap_processor.py @@ -60,6 +60,7 @@ ZEEK_EXTRACTOR_MODE_INTERESTING = 'interesting' ZEEK_EXTRACTOR_MODE_MAPPED = 'mapped' ZEEK_EXTRACTOR_MODE_NONE = 'none' +ZEEK_EXTRACTOR_MODE_NOTCOMMTXT = 'notcommtxt' ZEEK_EXTRACTOR_SCRIPT = "extractor.zeek" ZEEK_EXTRACTOR_SCRIPT_INTERESTING = "extractor_override.interesting.zeek" ZEEK_LOCAL_SCRIPT = 'local' @@ -640,7 +641,7 @@ def main(): '--extract', dest='zeekExtractFileMode', help='Zeek file carving mode', - metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}', + metavar=f'{ZEEK_EXTRACTOR_MODE_INTERESTING}|{ZEEK_EXTRACTOR_MODE_MAPPED}|{ZEEK_EXTRACTOR_MODE_NONE}|{ZEEK_EXTRACTOR_MODE_NOTCOMMTXT}', type=str, default=ZEEK_EXTRACTOR_MODE_NONE, ) diff --git a/zeek/config/extractor.zeek b/zeek/config/extractor.zeek index 07e745368..643b67bc4 100644 --- a/zeek/config/extractor.zeek +++ b/zeek/config/extractor.zeek @@ -17,7 +17,9 @@ event file_sniff(f: fa_file, meta: fa_metadata) { # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped - ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map))) { + ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || + # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those + ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { local ext: string = ""; if (! meta?$mime_type) diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek index 653e91503..e72dd0f15 100644 --- a/zeek/config/extractor_params.zeek +++ b/zeek/config/extractor_params.zeek @@ -3,937 +3,792 @@ # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. export { - const extractor_extract_none = "none" &redef; - const extractor_extract_known = "known" &redef; - const extractor_extract_mapped = "mapped" &redef; - const extractor_extract_all = "all" &redef; + const extractor_extract_none = "none" &redef; + const extractor_extract_known = "known" &redef; + const extractor_extract_mapped = "mapped" &redef; + const extractor_extract_all = "all" &redef; + const extractor_extract_notcommtxt = "notcommtxt" &redef; const extractor_always_extract_unknown = F &redef; const extractor_max_size_default = 134217728 &redef; + const plain_text_mimes : set[string] = { + "application/json", + "application/x-x509-ca-cert", + "application/xml", + "text/plain", + "text/xml", + } &redef; + # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { - ["application/acad"]= "dwg", - ["application/andrew-inset"]= "ez", - ["application/annodex"]= "anx", - ["application/applixware"]= "aw", - ["application/atom+xml"]= "atom", - ["application/atomcat+xml"]= "atomcat", - ["application/atomsvc+xml"]= "atomsvc", - ["application/binary"]= "bin", - ["application/ccxml+xml"]= "ccxml", - ["application/cdmi-capability"]= "cdmia", - ["application/cdmi-container"]= "cdmic", - ["application/cdmi-domain"]= "cdmid", - ["application/cdmi-object"]= "cdmio", - ["application/cdmi-queue"]= "cdmiq", - ["application/cu-seeme"]= "cu", - ["application/davmount+xml"]= "davmount", - ["application/directx"]= "x", - ["application/docbook+xml"]= "dbk", - ["application/dssc+der"]= "dssc", - ["application/dssc+xml"]= "xdssc", - ["application/ecmascript"]= "es", - ["application/emma+xml"]= "emma", - ["application/envoy"]= "evy", - ["application/epub+zip"]= "epub", - ["application/etl"]= "etl", - ["application/exi"]= "exi", - ["application/font-sfnt"]= "ttf", - ["application/fractals"]= "fif", - ["application/fsharp-script"]= "fsscript", - ["application/futuresplash"]= "spl", - ["application/gml+xml"]= "gml", - ["application/gpx+xml"]= "gpx", - ["application/gxf"]= "gxf", - ["application/hta"]= "hta", - ["application/hyperstudio"]= "stk", - ["application/inkml+xml"]= "inkml", - ["application/internet-property-stream"]= "acx", - ["application/ipfix"]= "ipfix", - ["application/java-archive"]= "jar", - ["application/java-serialized-object"]= "ser", - ["application/java-vm"]= "class", - ["application/javascript"]= "js", - ["application/json"]= "json", - ["application/jsonml+json"]= "jsonml", - ["application/liquidmotion"]= "jck", - ["application/lost+xml"]= "lostxml", - ["application/mac-binhex40"]= "hqx", - ["application/mac-compactpro"]= "cpt", - ["application/mads+xml"]= "mads", - ["application/marc"]= "mrc", - ["application/marcxml+xml"]= "mrcx", - ["application/mathematica"]= "ma", - ["application/mathml+xml"]= "mathml", - ["application/mbox"]= "mbox", - ["application/mediaservercontrol+xml"]= "mscml", - ["application/metalink+xml"]= "metalink", - ["application/metalink4+xml"]= "meta4", - ["application/mets+xml"]= "mets", - ["application/mods+xml"]= "mods", - ["application/mp21"]= "mp21", - ["application/mp4"]= "mp4s", - ["application/mpeg"]= "amc", - ["application/ms-vsi"]= "vsi", - ["application/msaccess"]= "accdb", - ["application/msaccess.addin"]= "accda", - ["application/msaccess.cab"]= "accdc", - ["application/msaccess.ftemplate"]= "accft", - ["application/msaccess.runtime"]= "accdr", - ["application/msaccess.webapplication"]= "accdw", - ["application/msexcel"]= "xls", - ["application/mspowerpoint"]= "ppt", - ["application/msword"]= "doc", - ["application/mxf"]= "mxf", - ["application/octet-stream"]= "bin", - ["application/oda"]= "oda", - ["application/oebps-package+xml"]= "opf", - ["application/ogg"]= "ogx", - ["application/olescript"]= "axs", - ["application/omdoc+xml"]= "omdoc", - ["application/onenote"]= "one", - ["application/opensearchdescription+xml"]= "osdx", - ["application/oxps"]= "oxps", - ["application/patch-ops-error+xml"]= "xer", - ["application/pdf"]= "pdf", - ["application/pgp-encrypted"]= "pgp", - ["application/pgp-signature"]= "pgp", - ["application/pics-rules"]= "prf", - ["application/pkcs10"]= "p10", - ["application/pkcs7-mime"]= "p7c", - ["application/pkcs7-signature"]= "p7s", - ["application/pkcs8"]= "p8", - ["application/pkix-attr-cert"]= "ac", - ["application/pkix-cert"]= "cer", - ["application/pkix-crl"]= "crl", - ["application/pkix-pkipath"]= "pkipath", - ["application/pkixcmp"]= "pki", - ["application/pls+xml"]= "pls", - ["application/postscript"]= "ps", - ["application/PowerShell"]= "psc1", - ["application/prs.cww"]= "cww", - ["application/pskc+xml"]= "pskcxml", - ["application/rat-file"]= "rat", - ["application/rdf+xml"]= "rdf", - ["application/reginfo+xml"]= "rif", - ["application/relax-ng-compact-syntax"]= "rnc", - ["application/resource-lists+xml"]= "rl", - ["application/resource-lists-diff+xml"]= "rld", - ["application/rls-services+xml"]= "rs", - ["application/rpki-ghostbusters"]= "gbr", - ["application/rpki-manifest"]= "mft", - ["application/rpki-roa"]= "roa", - ["application/rsd+xml"]= "rsd", - ["application/rss+xml"]= "rss", - ["application/rtf"]= "rtf", - ["application/sbml+xml"]= "sbml", - ["application/scvp-cv-request"]= "scq", - ["application/scvp-cv-response"]= "scs", - ["application/scvp-vp-request"]= "spq", - ["application/scvp-vp-response"]= "spp", - ["application/sdp"]= "sdp", - ["application/set-payment-initiation"]= "setpay", - ["application/set-registration-initiation"]= "setreg", - ["application/shf+xml"]= "shf", - ["application/smil+xml"]= "smil", - ["application/sparql-query"]= "rq", - ["application/sparql-results+xml"]= "srx", - ["application/srgs"]= "gram", - ["application/srgs+xml"]= "grxml", - ["application/sru+xml"]= "sru", - ["application/ssdl+xml"]= "ssdl", - ["application/ssml+xml"]= "ssml", - ["application/step"]= "step", - ["application/streamingmedia"]= "ssm", - ["application/tei+xml"]= "tei", - ["application/thraud+xml"]= "tfi", - ["application/timestamped-data"]= "tsd", - ["application/vnd.3gpp.pic-bw-large"]= "plb", - ["application/vnd.3gpp.pic-bw-small"]= "psb", - ["application/vnd.3gpp.pic-bw-var"]= "pvb", - ["application/vnd.3gpp2.tcap"]= "tcap", - ["application/vnd.3m.post-it-notes"]= "pwn", - ["application/vnd.accpac.simply.aso"]= "aso", - ["application/vnd.accpac.simply.imp"]= "imp", - ["application/vnd.acucobol"]= "acu", - ["application/vnd.acucorp"]= "acutc", - ["application/vnd.adobe.air-application-installer-package+zip"]= "air", - ["application/vnd.adobe.formscentral.fcdt"]= "fcdt", - ["application/vnd.adobe.fxp"]= "fxp", - ["application/vnd.adobe.xdp+xml"]= "xdp", - ["application/vnd.adobe.xfdf"]= "xfdf", - ["application/vnd.ahead.space"]= "ahead", - ["application/vnd.airzip.filesecure.azf"]= "azf", - ["application/vnd.airzip.filesecure.azs"]= "azs", - ["application/vnd.amazon.ebook"]= "azw", - ["application/vnd.americandynamics.acc"]= "acc", - ["application/vnd.amiga.ami"]= "ami", - ["application/vnd.android.package-archive"]= "apk", - ["application/vnd.anser-web-certificate-issue-initiation"]= "cii", - ["application/vnd.anser-web-funds-transfer-initiation"]= "fti", - ["application/vnd.antix.game-component"]= "atx", - ["application/vnd.apple.installer+xml"]= "mpkg", - ["application/vnd.apple.mpegurl"]= "m3u8", - ["application/vnd.aristanetworks.swi"]= "swi", - ["application/vnd.astraea-software.iota"]= "iota", - ["application/vnd.audiograph"]= "aep", - ["application/vnd.blueice.multipass"]= "mpm", - ["application/vnd.bmi"]= "bmi", - ["application/vnd.businessobjects"]= "rep", - ["application/vnd.chemdraw+xml"]= "cdxml", - ["application/vnd.chipnuts.karaoke-mmd"]= "mmd", - ["application/vnd.cinderella"]= "cdy", - ["application/vnd.claymore"]= "cla", - ["application/vnd.cloanto.rp9"]= "rp9", - ["application/vnd.clonk.c4group"]= "c4g", - ["application/vnd.cluetrust.cartomobile-config"]= "c11amc", - ["application/vnd.cluetrust.cartomobile-config-pkg"]= "c11amz", - ["application/vnd.commonspace"]= "csp", - ["application/vnd.contact.cmsg"]= "cdbcmsg", - ["application/vnd.cosmocaller"]= "cmc", - ["application/vnd.crick.clicker"]= "clkx", - ["application/vnd.crick.clicker.keyboard"]= "clkk", - ["application/vnd.crick.clicker.palette"]= "clkp", - ["application/vnd.crick.clicker.template"]= "clkt", - ["application/vnd.crick.clicker.wordbank"]= "clkw", - ["application/vnd.criticaltools.wbs+xml"]= "wbs", - ["application/vnd.ctc-posml"]= "pml", - ["application/vnd.cups-ppd"]= "ppd", - ["application/vnd.curl.car"]= "car", - ["application/vnd.curl.pcurl"]= "pcurl", - ["application/vnd.dart"]= "dart", - ["application/vnd.data-vision.rdz"]= "rdz", - ["application/vnd.dece.data"]= "uvd", - ["application/vnd.dece.ttml+xml"]= "uvt", - ["application/vnd.dece.unspecified"]= "uvx", - ["application/vnd.dece.zip"]= "uvz", - ["application/vnd.denovo.fcselayout-link"]= "fe_launch", - ["application/vnd.dna"]= "dna", - ["application/vnd.dolby.mlp"]= "mlp", - ["application/vnd.dpgraph"]= "dpg", - ["application/vnd.dreamfactory"]= "dfac", - ["application/vnd.ds-keypoint"]= "kpxx", - ["application/vnd.dvb.ait"]= "ait", - ["application/vnd.dvb.service"]= "svc", - ["application/vnd.dynageo"]= "geo", - ["application/vnd.ecowin.chart"]= "mag", - ["application/vnd.enliven"]= "nml", - ["application/vnd.epson.esf"]= "esf", - ["application/vnd.epson.msf"]= "msf", - ["application/vnd.epson.quickanime"]= "qam", - ["application/vnd.epson.salt"]= "slt", - ["application/vnd.epson.ssf"]= "ssf", - ["application/vnd.eszigno3+xml"]= "es3", - ["application/vnd.ezpix-album"]= "ez2", - ["application/vnd.ezpix-package"]= "ez3", - ["application/vnd.fdf"]= "fdf", - ["application/vnd.fdsn.mseed"]= "mseed", - ["application/vnd.fdsn.seed"]= "seed", - ["application/vnd.flographit"]= "gph", - ["application/vnd.fluxtime.clip"]= "ftc", - ["application/vnd.framemaker"]= "fm", - ["application/vnd.frogans.fnc"]= "fnc", - ["application/vnd.frogans.ltf"]= "ltf", - ["application/vnd.fsc.weblaunch"]= "fsc", - ["application/vnd.fujitsu.oasys"]= "oas", - ["application/vnd.fujitsu.oasys2"]= "oa2", - ["application/vnd.fujitsu.oasys3"]= "oa3", - ["application/vnd.fujitsu.oasysgp"]= "fg5", - ["application/vnd.fujitsu.oasysprs"]= "bh2", - ["application/vnd.fujixerox.ddd"]= "ddd", - ["application/vnd.fujixerox.docuworks"]= "xdw", - ["application/vnd.fujixerox.docuworks.binder"]= "xbd", - ["application/vnd.fuzzysheet"]= "fzs", - ["application/vnd.genomatix.tuxedo"]= "txd", - ["application/vnd.geogebra.file"]= "ggb", - ["application/vnd.geogebra.tool"]= "ggt", - ["application/vnd.geometry-explorer"]= "gex", - ["application/vnd.geonext"]= "gxt", - ["application/vnd.geoplan"]= "g2w", - ["application/vnd.geospace"]= "g3w", - ["application/vnd.gmx"]= "gmx", - ["application/vnd.google-earth.kml+xml"]= "kml", - ["application/vnd.google-earth.kmz"]= "kmz", - ["application/vnd.grafeq"]= "gqf", - ["application/vnd.groove-account"]= "gac", - ["application/vnd.groove-help"]= "ghf", - ["application/vnd.groove-identity-message"]= "gim", - ["application/vnd.groove-injector"]= "grv", - ["application/vnd.groove-tool-message"]= "gtm", - ["application/vnd.groove-tool-template"]= "tpl", - ["application/vnd.groove-vcard"]= "vcg", - ["application/vnd.hal+xml"]= "hal", - ["application/vnd.handheld-entertainment+xml"]= "zmm", - ["application/vnd.hbci"]= "hbci", - ["application/vnd.hhe.lesson-player"]= "les", - ["application/vnd.hp-hpgl"]= "hpgl", - ["application/vnd.hp-hpid"]= "hpid", - ["application/vnd.hp-hps"]= "hps", - ["application/vnd.hp-jlyt"]= "jlt", - ["application/vnd.hp-pcl"]= "pcl", - ["application/vnd.hp-pclxl"]= "pclxl", - ["application/vnd.hydrostatix.sof-data"]= "sfd-hdstx", - ["application/vnd.ibm.minipay"]= "mpy", - ["application/vnd.ibm.modcap"]= "afp", - ["application/vnd.ibm.rights-management"]= "irm", - ["application/vnd.ibm.secure-container"]= "sc", - ["application/vnd.iccprofile"]= "icc", - ["application/vnd.igloader"]= "igl", - ["application/vnd.immervision-ivp"]= "ivp", - ["application/vnd.immervision-ivu"]= "ivu", - ["application/vnd.insors.igm"]= "igm", - ["application/vnd.intercon.formnet"]= "xpw", - ["application/vnd.intergeo"]= "i2g", - ["application/vnd.intu.qbo"]= "qbo", - ["application/vnd.intu.qfx"]= "qfx", - ["application/vnd.ipunplugged.rcprofile"]= "rcprofile", - ["application/vnd.irepository.package+xml"]= "irp", - ["application/vnd.is-xpr"]= "xpr", - ["application/vnd.isac.fcs"]= "fcs", - ["application/vnd.jam"]= "jam", - ["application/vnd.jcp.javame.midlet-rms"]= "rms", - ["application/vnd.jisp"]= "jisp", - ["application/vnd.joost.joda-archive"]= "joda", - ["application/vnd.kahootz"]= "ktz", - ["application/vnd.kde.karbon"]= "karbon", - ["application/vnd.kde.kchart"]= "chrt", - ["application/vnd.kde.kformula"]= "kfo", - ["application/vnd.kde.kivio"]= "flw", - ["application/vnd.kde.kontour"]= "kon", - ["application/vnd.kde.kpresenter"]= "kpt", - ["application/vnd.kde.kspread"]= "ksp", - ["application/vnd.kde.kword"]= "kwd", - ["application/vnd.kenameaapp"]= "htke", - ["application/vnd.kidspiration"]= "kia", - ["application/vnd.kinar"]= "kne", - ["application/vnd.koan"]= "skd", - ["application/vnd.kodak-descriptor"]= "sse", - ["application/vnd.las.las+xml"]= "lasxml", - ["application/vnd.llamagraphics.life-balance.desktop"]= "lbd", - ["application/vnd.llamagraphics.life-balance.exchange+xml"]= "lbe", - ["application/vnd.lotus-1-2-3"]= "123", - ["application/vnd.lotus-approach"]= "apr", - ["application/vnd.lotus-freelance"]= "pre", - ["application/vnd.lotus-notes"]= "nsf", - ["application/vnd.lotus-organizer"]= "org", - ["application/vnd.lotus-screencam"]= "scm", - ["application/vnd.lotus-wordpro"]= "lwp", - ["application/vnd.macports.portpkg"]= "portpkg", - ["application/vnd.mcd"]= "mcd", - ["application/vnd.medcalcdata"]= "mc1", - ["application/vnd.mediastation.cdkey"]= "cdkey", - ["application/vnd.mfer"]= "mwf", - ["application/vnd.mfmp"]= "mfm", - ["application/vnd.micrografx.flo"]= "flo", - ["application/vnd.micrografx.igx"]= "igx", - ["application/vnd.microsoft.portable-executable"]= "exe", - ["application/vnd.mif"]= "mif", - ["application/vnd.mobius.daf"]= "daf", - ["application/vnd.mobius.dis"]= "dis", - ["application/vnd.mobius.mbk"]= "mbk", - ["application/vnd.mobius.mqy"]= "mqy", - ["application/vnd.mobius.msl"]= "msl", - ["application/vnd.mobius.plc"]= "plc", - ["application/vnd.mobius.txf"]= "txf", - ["application/vnd.mophun.application"]= "mpn", - ["application/vnd.mophun.certificate"]= "mpc", - ["application/vnd.mozilla.xul+xml"]= "xul", - ["application/vnd.ms-artgalry"]= "cil", - ["application/vnd.ms-cab-compressed"]= "cab", - ["application/vnd.ms-excel"]= "xls", - ["application/vnd.ms-excel.addin.macroEnabled.12"]= "xlam", - ["application/vnd.ms-excel.addin.macroenabled.12"]= "xlam", - ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]= "xlsb", - ["application/vnd.ms-excel.sheet.macroEnabled.12"]= "xlsm", - ["application/vnd.ms-excel.sheet.macroenabled.12"]= "xlsm", - ["application/vnd.ms-excel.template.macroEnabled.12"]= "xltm", - ["application/vnd.ms-excel.template.macroenabled.12"]= "xltm", - ["application/vnd.ms-fontobject"]= "eot", - ["application/vnd.ms-htmlhelp"]= "chm", - ["application/vnd.ms-ims"]= "ims", - ["application/vnd.ms-lrm"]= "lrm", - ["application/vnd.ms-mediapackage"]= "mpf", - ["application/vnd.ms-office.calx"]= "calx", - ["application/vnd.ms-officetheme"]= "thmx", - ["application/vnd.ms-outlook"]= "msg", - ["application/vnd.ms-pki.certstore"]= "sst", - ["application/vnd.ms-pki.pko"]= "pko", - ["application/vnd.ms-pki.seccat"]= "cat", - ["application/vnd.ms-pki.stl"]= "stl", - ["application/vnd.ms-powerpoint"]= "ppt", - ["application/vnd.ms-powerpoint.addin.macroEnabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"]= "ppam", - ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]= "pptm", - ["application/vnd.ms-powerpoint.slide.macroEnabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slide.macroenabled.12"]= "sldm", - ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]= "ppsm", - ["application/vnd.ms-powerpoint.template.macroEnabled.12"]= "potm", - ["application/vnd.ms-powerpoint.template.macroenabled.12"]= "potm", - ["application/vnd.ms-project"]= "mpt", - ["application/vnd.ms-visio.viewer"]= "vdx", - ["application/vnd.ms-word.document.macroEnabled.12"]= "docm", - ["application/vnd.ms-word.document.macroenabled.12"]= "docm", - ["application/vnd.ms-word.template.macroEnabled.12"]= "dotm", - ["application/vnd.ms-word.template.macroenabled.12"]= "dotm", - ["application/vnd.ms-works"]= "wks", - ["application/vnd.ms-wpl"]= "wpl", - ["application/vnd.ms-xpsdocument"]= "xps", - ["application/vnd.mseq"]= "mseq", - ["application/vnd.musician"]= "mus", - ["application/vnd.muvee.style"]= "msty", - ["application/vnd.mynfc"]= "taglet", - ["application/vnd.neurolanguage.nlu"]= "nlu", - ["application/vnd.nitf"]= "nitf", - ["application/vnd.noblenet-directory"]= "nnd", - ["application/vnd.noblenet-sealer"]= "nns", - ["application/vnd.noblenet-web"]= "nnw", - ["application/vnd.nokia.n-gage.data"]= "ngdat", - ["application/vnd.nokia.n-gage.symbian.install"]= "n-gage", - ["application/vnd.nokia.radio-preset"]= "rpst", - ["application/vnd.nokia.radio-presets"]= "rpss", - ["application/vnd.novadigm.edm"]= "edm", - ["application/vnd.novadigm.edx"]= "edx", - ["application/vnd.novadigm.ext"]= "ext", - ["application/vnd.oasis.opendocument.chart"]= "odc", - ["application/vnd.oasis.opendocument.chart-template"]= "otc", - ["application/vnd.oasis.opendocument.database"]= "odb", - ["application/vnd.oasis.opendocument.formula"]= "odf", - ["application/vnd.oasis.opendocument.formula-template"]= "odft", - ["application/vnd.oasis.opendocument.graphics"]= "odg", - ["application/vnd.oasis.opendocument.graphics-template"]= "otg", - ["application/vnd.oasis.opendocument.image"]= "odi", - ["application/vnd.oasis.opendocument.image-template"]= "oti", - ["application/vnd.oasis.opendocument.presentation"]= "odp", - ["application/vnd.oasis.opendocument.presentation-template"]= "otp", - ["application/vnd.oasis.opendocument.spreadsheet"]= "ods", - ["application/vnd.oasis.opendocument.spreadsheet-template"]= "ots", - ["application/vnd.oasis.opendocument.text"]= "odt", - ["application/vnd.oasis.opendocument.text-master"]= "odm", - ["application/vnd.oasis.opendocument.text-template"]= "ott", - ["application/vnd.oasis.opendocument.text-web"]= "oth", - ["application/vnd.olpc-sugar"]= "xo", - ["application/vnd.oma.dd2+xml"]= "dd2", - ["application/vnd.openofficeorg.extension"]= "oxt", - ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]= "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slide"]= "sldx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]= "ppsx", - ["application/vnd.openxmlformats-officedocument.presentationml.template"]= "potx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]= "xlsx", - ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]= "xltx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]= "docx", - ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]= "dotx", - ["application/vnd.osgeo.mapguide.package"]= "mgp", - ["application/vnd.osgi.dp"]= "dp", - ["application/vnd.osgi.subsystem"]= "esa", - ["application/vnd.palm"]= "pdb", - ["application/vnd.pawaafile"]= "paw", - ["application/vnd.pg.format"]= "str", - ["application/vnd.pg.osasli"]= "ei6", - ["application/vnd.picsel"]= "efif", - ["application/vnd.pmi.widget"]= "wg", - ["application/vnd.pocketlearn"]= "plf", - ["application/vnd.powerbuilder6"]= "pbd", - ["application/vnd.previewsystems.box"]= "box", - ["application/vnd.proteus.magazine"]= "mgz", - ["application/vnd.publishare-delta-tree"]= "qps", - ["application/vnd.pvi.ptid1"]= "ptid", - ["application/vnd.quark.quarkxpress"]= "qxt", - ["application/vnd.realvnc.bed"]= "bed", - ["application/vnd.recordare.musicxml"]= "mxl", - ["application/vnd.recordare.musicxml+xml"]= "musicxml", - ["application/vnd.rig.cryptonote"]= "cryptonote", - ["application/vnd.rim.cod"]= "cod", - ["application/vnd.rn-realmedia"]= "rm", - ["application/vnd.rn-realmedia-vbr"]= "rmvb", - ["application/vnd.rn-rn_music_package"]= "rmp", - ["application/vnd.route66.link66+xml"]= "link66", - ["application/vnd.sailingtracker.track"]= "st", - ["application/vnd.seemail"]= "see", - ["application/vnd.sema"]= "sema", - ["application/vnd.semd"]= "semd", - ["application/vnd.semf"]= "semf", - ["application/vnd.shana.informed.formdata"]= "ifm", - ["application/vnd.shana.informed.formtemplate"]= "itp", - ["application/vnd.shana.informed.interchange"]= "iif", - ["application/vnd.shana.informed.package"]= "ipk", - ["application/vnd.simtech-mindmapper"]= "twd", - ["application/vnd.smaf"]= "mmf", - ["application/vnd.smart.teacher"]= "teacher", - ["application/vnd.solent.sdkm+xml"]= "sdkm", - ["application/vnd.spotfire.dxp"]= "dxp", - ["application/vnd.spotfire.sfs"]= "sfs", - ["application/vnd.stardivision.calc"]= "sdc", - ["application/vnd.stardivision.draw"]= "sda", - ["application/vnd.stardivision.impress"]= "sdd", - ["application/vnd.stardivision.math"]= "smf", - ["application/vnd.stardivision.writer"]= "sdw", - ["application/vnd.stardivision.writer-global"]= "sgl", - ["application/vnd.stepmania.package"]= "smzip", - ["application/vnd.stepmania.stepchart"]= "sm", - ["application/vnd.sun.xml.calc"]= "sxc", - ["application/vnd.sun.xml.calc.template"]= "stc", - ["application/vnd.sun.xml.draw"]= "sxd", - ["application/vnd.sun.xml.draw.template"]= "std", - ["application/vnd.sun.xml.impress"]= "sxi", - ["application/vnd.sun.xml.impress.template"]= "sti", - ["application/vnd.sun.xml.math"]= "sxm", - ["application/vnd.sun.xml.writer"]= "sxw", - ["application/vnd.sun.xml.writer.global"]= "sxg", - ["application/vnd.sun.xml.writer.template"]= "stw", - ["application/vnd.sus-calendar"]= "sus", - ["application/vnd.svd"]= "svd", - ["application/vnd.symbian.install"]= "sis", - ["application/vnd.syncml+xml"]= "xsm", - ["application/vnd.syncml.dm+wbxml"]= "bdm", - ["application/vnd.syncml.dm+xml"]= "xdm", - ["application/vnd.tao.intent-module-archive"]= "tao", - ["application/vnd.tcpdump.pcap"]= "pcap", - ["application/vnd.tmobile-livetv"]= "tmo", - ["application/vnd.trid.tpt"]= "tpt", - ["application/vnd.triscape.mxs"]= "mxs", - ["application/vnd.trueapp"]= "tra", - ["application/vnd.ufdl"]= "ufdl", - ["application/vnd.uiq.theme"]= "utz", - ["application/vnd.umajin"]= "umj", - ["application/vnd.unity"]= "unityweb", - ["application/vnd.uoml+xml"]= "uoml", - ["application/vnd.vcx"]= "vcx", - ["application/vnd.visio"]= "vsd", - ["application/vnd.visionary"]= "vis", - ["application/vnd.vsf"]= "vsf", - ["application/vnd.wap.wbxml"]= "wbxml", - ["application/vnd.wap.wmlc"]= "wmlc", - ["application/vnd.wap.wmlscriptc"]= "wmlsc", - ["application/vnd.webturbo"]= "wtb", - ["application/vnd.wolfram.player"]= "nbp", - ["application/vnd.wordperfect"]= "wpd", - ["application/vnd.wqd"]= "wqd", - ["application/vnd.wt.stf"]= "stf", - ["application/vnd.xara"]= "xar", - ["application/vnd.xfdl"]= "xfdl", - ["application/vnd.yamaha.hv-dic"]= "hvd", - ["application/vnd.yamaha.hv-script"]= "hvs", - ["application/vnd.yamaha.hv-voice"]= "hvp", - ["application/vnd.yamaha.openscoreformat"]= "osf", - ["application/vnd.yamaha.openscoreformat.osfpvg+xml"]= "osfpvg", - ["application/vnd.yamaha.smaf-audio"]= "saf", - ["application/vnd.yamaha.smaf-phrase"]= "spf", - ["application/vnd.yellowriver-custom-menu"]= "cmp", - ["application/vnd.zul"]= "zir", - ["application/vnd.zzazz.deck+xml"]= "zaz", - ["application/voicexml+xml"]= "vxml", - ["application/vsix"]= "vsix", - ["application/wasm"]= "wasm", - ["application/widget"]= "wgt", - ["application/windows-library+xml"]= "library-ms", - ["application/windows-search-connector+xml"]= "searchConnector-ms", - ["application/winhlp"]= "hlp", - ["application/wlmoviemaker"]= "WLMP", - ["application/wsdl+xml"]= "wsdl", - ["application/wspolicy+xml"]= "wspolicy", - ["application/x-7z-compressed"]= "7z", - ["application/x-abiword"]= "abw", - ["application/x-ace-compressed"]= "ace", - ["application/x-apple-diskimage"]= "dmg", - ["application/x-authorware-bin"]= "aab", - ["application/x-authorware-map"]= "aam", - ["application/x-authorware-seg"]= "aas", - ["application/x-bcpio"]= "bcpio", - ["application/x-bittorrent"]= "torrent", - ["application/x-blorb"]= "blorb", - ["application/x-bridge-url"]= "adobebridge", - ["application/x-bzip"]= "bz", - ["application/x-bzip2"]= "bz2", - ["application/x-cbr"]= "cbr", - ["application/x-cdlink"]= "vcd", - ["application/x-cfs-compressed"]= "cfs", - ["application/x-chat"]= "chat", - ["application/x-chess-pgn"]= "pgn", - ["application/x-compress"]= "z", - ["application/x-compressed"]= "tgz", - ["application/x-conference"]= "nsc", - ["application/x-cpio"]= "cpio", - ["application/x-csh"]= "csh", - ["application/x-debian-package"]= "deb", - ["application/x-dgc-compressed"]= "dgc", - ["application/x-director"]= "dir", - ["application/x-doom"]= "wad", - ["application/x-dosexec"]= "exe", - ["application/x-dtbncx+xml"]= "ncx", - ["application/x-dtbook+xml"]= "dtb", - ["application/x-dtbresource+xml"]= "res", - ["application/x-dvi"]= "dvi", - ["application/x-dxf"]= "dxf", - ["application/x-elf"]= "elf", - ["application/x-envoy"]= "evy", - ["application/x-eva"]= "eva", - ["application/x-executable"]= "exe", - ["application/x-font-bdf"]= "bdf", - ["application/x-font-ghostscript"]= "gsf", - ["application/x-font-linux-psf"]= "psf", - ["application/x-font-pcf"]= "pcf", - ["application/x-font-snf"]= "snf", - ["application/x-font-type1"]= "pfm", - ["application/x-freearc"]= "arc", - ["application/x-futuresplash"]= "spl", - ["application/x-gca-compressed"]= "gca", - ["application/x-glulx"]= "ulx", - ["application/x-gnumeric"]= "gnumeric", - ["application/x-gramps-xml"]= "gramps", - ["application/x-gtar"]= "gtar", - ["application/x-gzip"]= "gz", - ["application/x-hdf"]= "hdf", - ["application/x-install-instructions"]= "install", - ["application/x-internet-signup"]= "isp", - ["application/x-iphone"]= "iii", - ["application/x-iso9660-image"]= "iso", - ["application/x-itunes-ipa"]= "ipa", - ["application/x-itunes-ipg"]= "ipg", - ["application/x-itunes-ipsw"]= "ipsw", - ["application/x-itunes-ite"]= "ite", - ["application/x-itunes-itlp"]= "itlp", - ["application/x-itunes-itms"]= "itms", - ["application/x-itunes-itpc"]= "itpc", - ["application/x-java-applet"]= "class", - ["application/x-java-jnlp-file"]= "jnlp", - ["application/x-koan"]= "skp", - ["application/x-latex"]= "latex", - ["application/x-lzh-compressed"]= "lzh", - ["application/x-mie"]= "mie", - ["application/x-miva-compiled"]= "mvc", - ["application/x-mmxp"]= "mxp", - ["application/x-mobipocket-ebook"]= "mobi", - ["application/x-ms-application"]= "application", - ["application/x-ms-installer"]= "msi", - ["application/x-ms-license"]= "slupkg-ms", - ["application/x-ms-manifest"]= "manifest", - ["application/x-ms-reader"]= "lit", - ["application/x-ms-shortcut"]= "lnk", - ["application/x-ms-vsto"]= "vsto", - ["application/x-ms-wmd"]= "wmd", - ["application/x-ms-wmz"]= "wmz", - ["application/x-ms-xbap"]= "xbap", - ["application/x-msaccess"]= "mdb", - ["application/x-msbinder"]= "obd", - ["application/x-mscardfile"]= "crd", - ["application/x-msclip"]= "clp", - ["application/x-msdos-program"]= "exe", - ["application/x-msdownload"]= "exe", - ["application/x-msmediaview"]= "mvb", - ["application/x-msmetafile"]= "wmf", - ["application/x-msmoney"]= "mny", - ["application/x-mspublisher"]= "pub", - ["application/x-msschedule"]= "scd", - ["application/x-msterminal"]= "trm", - ["application/x-mswrite"]= "wri", - ["application/x-netcdf"]= "cdf", - ["application/x-nzb"]= "nzb", - ["application/x-oleobject"]= "hhc", - ["application/x-pcapng"]= "pcap", - ["application/x-pe-app-32bit-i386"]= "exe", - ["application/x-perfmon"]= "pmw", - ["application/x-perl"]= "pl", - ["application/x-pkcs12"]= "p12", - ["application/x-pkcs7-certificates"]= "p7b", - ["application/x-pkcs7-certreqresp"]= "p7r", - ["application/x-podcast"]= "pcast", - ["application/x-python"]= "py", - ["application/x-quicktimeplayer"]= "qtl", - ["application/x-rar-compressed"]= "rar", - ["application/x-research-info-systems"]= "ris", - ["application/x-safari-safariextz"]= "safariextz", - ["application/x-safari-webarchive"]= "webarchive", - ["application/x-sgimb"]= "sgimb", - ["application/x-sh"]= "sh", - ["application/x-shar"]= "shar", - ["application/x-sharedlib"]= "lib", - ["application/x-shockwave-flash"]= "swf", - ["application/x-silverlight-app"]= "xap", - ["application/x-smaf"]= "mmf", - ["application/x-sql"]= "sql", - ["application/x-stuffit"]= "sit", - ["application/x-stuffitx"]= "sitx", - ["application/x-subrip"]= "srt", - ["application/x-sv4cpio"]= "sv4cpio", - ["application/x-sv4crc"]= "sv4crc", - ["application/x-t3vm-image"]= "t3", - ["application/x-tads"]= "gam", - ["application/x-tar"]= "tar", - ["application/x-tcl"]= "tcl", - ["application/x-tex"]= "tex", - ["application/x-tex-tfm"]= "tfm", - ["application/x-texinfo"]= "texinfo", - ["application/x-tgif"]= "obj", - ["application/x-troff"]= "tr", - ["application/x-troff-man"]= "man", - ["application/x-troff-me"]= "me", - ["application/x-troff-ms"]= "ms", - ["application/x-ustar"]= "ustar", - ["application/x-wais-source"]= "src", - ["application/x-wlpg-detect"]= "wlpginstall", - ["application/x-wlpg3-detect"]= "wlpginstall3", - ["application/x-x509-ca-cert"]= "crt", - ["application/x-xfig"]= "fig", - ["application/x-xliff+xml"]= "xlf", - ["application/x-xpinstall"]= "xpi", - ["application/x-xz"]= "xz", - ["application/x-zip-compressed"]= "zip", - ["application/x-zmachine"]= "z1", - ["application/xaml+xml"]= "xaml", - ["application/xcap-diff+xml"]= "xdf", - ["application/xenc+xml"]= "xenc", - ["application/xhtml+xml"]= "xhtml", - ["application/xml"]= "xml", - ["application/xml-dtd"]= "dtd", - ["application/xop+xml"]= "xop", - ["application/xproc+xml"]= "xpl", - ["application/xslt+xml"]= "xslt", - ["application/xspf+xml"]= "xspf", - ["application/xv+xml"]= "xvml", - ["application/yang"]= "yang", - ["application/yin+xml"]= "yin", - ["application/zip"]= "zip", - ["audio/aac"]= "aac", - ["audio/ac3"]= "ac3", - ["audio/adpcm"]= "adp", - ["audio/aiff"]= "aiff", - ["audio/annodex"]= "axa", - ["audio/audible"]= "aa", - ["audio/basic"]= "au", - ["audio/flac"]= "flac", - ["audio/m4a"]= "m4a", - ["audio/m4b"]= "m4b", - ["audio/m4p"]= "m4p", - ["audio/mid"]= "midi", - ["audio/midi"]= "midi", - ["audio/mp4"]= "m4a", - ["audio/mpeg"]= "mp3", - ["audio/ogg"]= "ogg", - ["audio/s3m"]= "s3m", - ["audio/scpls"]= "pls", - ["audio/silk"]= "sil", - ["audio/vnd.audible.aax"]= "aax", - ["audio/vnd.dece.audio"]= "uva", - ["audio/vnd.digital-winds"]= "eol", - ["audio/vnd.dlna.adts"]= "ADT", - ["audio/vnd.dra"]= "dra", - ["audio/vnd.dts"]= "dts", - ["audio/vnd.dts.hd"]= "dtshd", - ["audio/vnd.lucent.voice"]= "lvp", - ["audio/vnd.ms-playready.media.pya"]= "pya", - ["audio/vnd.nuera.ecelp4800"]= "ecelp4800", - ["audio/vnd.nuera.ecelp7470"]= "ecelp7470", - ["audio/vnd.nuera.ecelp9600"]= "ecelp9600", - ["audio/vnd.rip"]= "rip", - ["audio/wav"]= "wav", - ["audio/webm"]= "weba", - ["audio/x-aac"]= "aac", - ["audio/x-aiff"]= "aiff", - ["audio/x-caf"]= "caf", - ["audio/x-flac"]= "flac", - ["audio/x-gsm"]= "gsm", - ["audio/x-m4a"]= "m4a", - ["audio/x-m4r"]= "m4r", - ["audio/x-matroska"]= "mka", - ["audio/x-mpegurl"]= "m3u", - ["audio/x-ms-wax"]= "wax", - ["audio/x-ms-wma"]= "wma", - ["audio/x-pn-realaudio"]= "ra", - ["audio/x-pn-realaudio-plugin"]= "rmp", - ["audio/x-sd2"]= "sd2", - ["audio/x-smd"]= "smd", - ["audio/x-wav"]= "wav", - ["audio/xm"]= "xm", - ["chemical/x-cdx"]= "cdx", - ["chemical/x-cif"]= "cif", - ["chemical/x-cmdf"]= "cmdf", - ["chemical/x-cml"]= "cml", - ["chemical/x-csml"]= "csml", - ["chemical/x-xyz"]= "xyz", - ["drawing/x-dwf"]= "dwf", - ["font/collection"]= "ttc", - ["font/otf"]= "otf", - ["font/ttf"]= "ttf", - ["font/woff"]= "woff", - ["font/woff2"]= "woff2", - ["image/bmp"]= "bmp", - ["image/cgm"]= "cgm", - ["image/cis-cod"]= "cod", - ["image/g3fax"]= "g3", - ["image/gif"]= "gif", - ["image/ief"]= "ief", - ["image/jpeg"]= "jpg", - ["image/ktx"]= "ktx", - ["image/pict"]= "pict", - ["image/pjpeg"]= "jfif", - ["image/png"]= "png", - ["image/prs.btif"]= "btif", - ["image/sgi"]= "sgi", - ["image/svg+xml"]= "svg", - ["image/tiff"]= "tiff", - ["image/vnd.adobe.photoshop"]= "psd", - ["image/vnd.dece.graphic"]= "uvg", - ["image/vnd.djvu"]= "djvu", - ["image/vnd.dvb.subtitle"]= "sub", - ["image/vnd.dwg"]= "dwg", - ["image/vnd.dxf"]= "dxf", - ["image/vnd.fastbidsheet"]= "fbs", - ["image/vnd.fpx"]= "fpx", - ["image/vnd.fst"]= "fst", - ["image/vnd.fujixerox.edmics-mmr"]= "mmr", - ["image/vnd.fujixerox.edmics-rlc"]= "rlc", - ["image/vnd.ms-modi"]= "mdi", - ["image/vnd.ms-photo"]= "wdp", - ["image/vnd.net-fpx"]= "npx", - ["image/vnd.rn-realflash"]= "rf", - ["image/vnd.wap.wbmp"]= "wbmp", - ["image/vnd.xiff"]= "xif", - ["image/webp"]= "webp", - ["image/x-3ds"]= "3ds", - ["image/x-cmu-raster"]= "ras", - ["image/x-cmx"]= "cmx", - ["image/x-freehand"]= "fh", - ["image/x-gif"]= "gif", - ["image/x-icon"]= "ico", - ["image/x-jg"]= "art", - ["image/x-jpeg"]= "jpg", - ["image/x-macpaint"]= "mac", - ["image/x-mrsid-image"]= "sid", - ["image/x-pcx"]= "pcx", - ["image/x-pict"]= "pic", - ["image/x-png"]= "png", - ["image/x-portable-anymap"]= "pnm", - ["image/x-portable-bitmap"]= "pbm", - ["image/x-portable-graymap"]= "pgm", - ["image/x-portable-pixmap"]= "ppm", - ["image/x-quicktime"]= "qti", - ["image/x-rgb"]= "rgb", - ["image/x-tga"]= "tga", - ["image/x-xbitmap"]= "xbm", - ["image/x-xpixmap"]= "xpm", - ["image/x-xwindowdump"]= "xwd", - ["message/rfc822"]= "eml", - ["model/iges"]= "iges", - ["model/mesh"]= "mesh", - ["model/vnd.collada+xml"]= "dae", - ["model/vnd.dwf"]= "dwf", - ["model/vnd.gdl"]= "gdl", - ["model/vnd.gtw"]= "gtw", - ["model/vnd.mts"]= "mts", - ["model/vnd.vtu"]= "vtu", - ["model/vrml"]= "vrml", - ["model/x3d+binary"]= "x3db", - ["model/x3d+vrml"]= "x3dv", - ["model/x3d+xml"]= "x3d", - ["text/cache-manifest"]= "appcache", - ["text/calendar"]= "ics", - ["text/css"]= "css", - ["text/csv"]= "csv", - ["text/dlm"]= "dlm", - ["text/h323"]= "323", - ["text/html"]= "html", - ["text/iuls"]= "uls", - ["text/jscript"]= "jsx", - ["text/n3"]= "n3", - ["text/plain"]= "txt", - ["text/prs.lines.tag"]= "dsc", - ["text/richtext"]= "rtx", - ["text/rtf"]= "rtf", - ["text/scriptlet"]= "sct", - ["text/sgml"]= "sgml", - ["text/tab-separated-values"]= "tsv", - ["text/troff"]= "tr", - ["text/uri-list"]= "uri", - ["text/vbscript"]= "vbs", - ["text/vcard"]= "vcard", - ["text/vnd.curl"]= "curl", - ["text/vnd.curl.dcurl"]= "dcurl", - ["text/vnd.curl.mcurl"]= "mcurl", - ["text/vnd.curl.scurl"]= "scurl", - ["text/vnd.dvb.subtitle"]= "sub", - ["text/vnd.fly"]= "fly", - ["text/vnd.fmi.flexstor"]= "flx", - ["text/vnd.graphviz"]= "gv", - ["text/vnd.in3d.3dml"]= "3dml", - ["text/vnd.in3d.spot"]= "spot", - ["text/vnd.sun.j2me.app-descriptor"]= "jad", - ["text/vnd.wap.wml"]= "wml", - ["text/vnd.wap.wmlscript"]= "wmls", - ["text/vtt"]= "vtt", - ["text/webviewhtml"]= "htt", - ["text/x-asm"]= "asm", - ["text/x-c"]= "c", - ["text/x-component"]= "htc", - ["text/x-fortran"]= "f", - ["text/x-hdml"]= "hdml", - ["text/x-html-insertion"]= "qhtm", - ["text/x-java-source"]= "java", - ["text/x-ms-contact"]= "contact", - ["text/x-ms-group"]= "group", - ["text/x-ms-iqy"]= "iqy", - ["text/x-ms-rqy"]= "rqy", - ["text/x-nfo"]= "nfo", - ["text/x-opml"]= "opml", - ["text/x-pascal"]= "pas", - ["text/x-setext"]= "etx", - ["text/x-sfv"]= "sfv", - ["text/x-uuencode"]= "uu", - ["text/x-vcalendar"]= "vcs", - ["text/x-vcard"]= "vcf", - ["text/xml"]= "xml", - ["video/3gpp"]= "3gp", - ["video/3gpp2"]= "3g2", - ["video/annodex"]= "axv", - ["video/divx"]= "divx", - ["video/h261"]= "h261", - ["video/h263"]= "h263", - ["video/h264"]= "h264", - ["video/jpeg"]= "jpgv", - ["video/jpm"]= "jpm", - ["video/mj2"]= "mj2", - ["video/mp4"]= "mp4", - ["video/mpeg"]= "mpg", - ["video/ogg"]= "ogv", - ["video/quicktime"]= "mov", - ["video/vnd.dece.hd"]= "uvh", - ["video/vnd.dece.mobile"]= "uvm", - ["video/vnd.dece.pd"]= "uvp", - ["video/vnd.dece.sd"]= "uvs", - ["video/vnd.dece.video"]= "uvv", - ["video/vnd.dlna.mpeg-tts"]= "m2t", - ["video/vnd.dvb.file"]= "dvb", - ["video/vnd.fvt"]= "fvt", - ["video/vnd.mpegurl"]= "m4u", - ["video/vnd.ms-playready.media.pyv"]= "pyv", - ["video/vnd.uvvu.mp4"]= "uvu", - ["video/vnd.vivo"]= "viv", - ["video/webm"]= "webm", - ["video/x-dv"]= "dv", - ["video/x-f4v"]= "f4v", - ["video/x-fli"]= "fli", - ["video/x-flv"]= "flv", - ["video/x-ivf"]= "IVF", - ["video/x-la-asf"]= "lsf", - ["video/x-m4v"]= "m4v", - ["video/x-matroska"]= "mkv", - ["video/x-matroska-3d"]= "mk3d", - ["video/x-mng"]= "mng", - ["video/x-ms-asf"]= "asf", - ["video/x-ms-vob"]= "vob", - ["video/x-ms-wm"]= "wm", - ["video/x-ms-wmp"]= "wmp", - ["video/x-ms-wmv"]= "wmv", - ["video/x-ms-wmx"]= "wmx", - ["video/x-ms-wvx"]= "wvx", - ["video/x-msvideo"]= "avi", - ["video/x-sgi-movie"]= "movie", - ["video/x-smv"]= "smv", - ["x-conference/x-cooltalk"]= "ice", - ["x-world/x-vrml"]= "wrl" + ["application/andrew-inset"] = "ez", + ["application/applixware"] = "aw", + ["application/atomcat+xml"] = "atomcat", + ["application/atomsvc+xml"] = "atomsvc", + ["application/atom+xml"] = "atom", + ["application/ccxml+xml"] = "ccxml", + ["application/cdmi-capability"] = "cdmia", + ["application/cdmi-container"] = "cdmic", + ["application/cdmi-domain"] = "cdmid", + ["application/cdmi-object"] = "cdmio", + ["application/cdmi-queue"] = "cdmiq", + ["application/cu-seeme"] = "cu", + ["application/davmount+xml"] = "davmount", + ["application/docbook+xml"] = "dbk", + ["application/dssc+der"] = "dssc", + ["application/dssc+xml"] = "xdssc", + ["application/ecmascript"] = "ecma", + ["application/emma+xml"] = "emma", + ["application/epub+zip"] = "epub", + ["application/exi"] = "exi", + ["application/font-tdpfr"] = "pfr", + ["application/gml+xml"] = "gml", + ["application/gpx+xml"] = "gpx", + ["application/gxf"] = "gxf", + ["application/hyperstudio"] = "stk", + ["application/inkml+xml"] = "inkml", + ["application/ipfix"] = "ipfix", + ["application/java-archive"] = "jar", + ["application/java-serialized-object"] = "ser", + ["application/java-vm"] = "class", + ["application/json"] = "json", + ["application/jsonml+json"] = "jsonml", + ["application/lost+xml"] = "lostxml", + ["application/mac-binhex40"] = "hqx", + ["application/mac-compactpro"] = "cpt", + ["application/mads+xml"] = "mads", + ["application/marc"] = "mrc", + ["application/marcxml+xml"] = "mrcx", + ["application/mathematica"] = "ma", + ["application/mathml+xml"] = "mathml", + ["application/mbox"] = "mbox", + ["application/mediaservercontrol+xml"] = "mscml", + ["application/metalink4+xml"] = "meta4", + ["application/metalink+xml"] = "metalink", + ["application/mets+xml"] = "mets", + ["application/mods+xml"] = "mods", + ["application/mp21"] = "mp21", + ["application/mp4"] = "mp4s", + ["application/msword"] = "doc", + ["application/mxf"] = "mxf", + ["application/octet-stream"] = "bin", + ["application/oda"] = "oda", + ["application/oebps-package+xml"] = "opf", + ["application/ogg"] = "ogx", + ["application/omdoc+xml"] = "omdoc", + ["application/onenote"] = "onepkg", + ["application/oxps"] = "oxps", + ["application/patch-ops-error+xml"] = "xer", + ["application/pdf"] = "pdf", + ["application/pgp-encrypted"] = "pgp", + ["application/pgp-signature"] = "sig", + ["application/pics-rules"] = "prf", + ["application/pkcs10"] = "p10", + ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-signature"] = "p7s", + ["application/pkcs8"] = "p8", + ["application/pkix-attr-cert"] = "ac", + ["application/pkix-cert"] = "cer", + ["application/pkixcmp"] = "pki", + ["application/pkix-crl"] = "crl", + ["application/pkix-pkipath"] = "pkipath", + ["application/pls+xml"] = "pls", + ["application/postscript"] = "ps", + ["application/prs.cww"] = "cww", + ["application/pskc+xml"] = "pskcxml", + ["application/rdf+xml"] = "rdf", + ["application/reginfo+xml"] = "rif", + ["application/relax-ng-compact-syntax"] = "rnc", + ["application/resource-lists-diff+xml"] = "rld", + ["application/resource-lists+xml"] = "rl", + ["application/rls-services+xml"] = "rs", + ["application/rpki-ghostbusters"] = "gbr", + ["application/rpki-manifest"] = "mft", + ["application/rpki-roa"] = "roa", + ["application/rsd+xml"] = "rsd", + ["application/rss+xml"] = "rss", + ["application/rtf"] = "rtf", + ["application/sbml+xml"] = "sbml", + ["application/scvp-cv-request"] = "scq", + ["application/scvp-cv-response"] = "scs", + ["application/scvp-vp-request"] = "spq", + ["application/scvp-vp-response"] = "spp", + ["application/sdp"] = "sdp", + ["application/set-payment-initiation"] = "setpay", + ["application/set-registration-initiation"] = "setreg", + ["application/shf+xml"] = "shf", + ["application/smil+xml"] = "smil", + ["application/sparql-query"] = "rq", + ["application/sparql-results+xml"] = "srx", + ["application/srgs"] = "gram", + ["application/srgs+xml"] = "grxml", + ["application/sru+xml"] = "sru", + ["application/ssdl+xml"] = "ssdl", + ["application/ssml+xml"] = "ssml", + ["application/tei+xml"] = "tei", + ["application/thraud+xml"] = "tfi", + ["application/timestamped-data"] = "tsd", + ["application/vnd.3gpp2.tcap"] = "tcap", + ["application/vnd.3gpp.pic-bw-large"] = "plb", + ["application/vnd.3gpp.pic-bw-small"] = "psb", + ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3m.post-it-notes"] = "pwn", + ["application/vnd.accpac.simply.aso"] = "aso", + ["application/vnd.accpac.simply.imp"] = "imp", + ["application/vnd.acucobol"] = "acu", + ["application/vnd.acucorp"] = "acutc", + ["application/vnd.adobe.air-application-installer-package+zip"] = "air", + ["application/vnd.adobe.formscentral.fcdt"] = "fcdt", + ["application/vnd.adobe.fxp"] = "fxp", + ["application/vnd.adobe.xdp+xml"] = "xdp", + ["application/vnd.adobe.xfdf"] = "xfdf", + ["application/vnd.ahead.space"] = "ahead", + ["application/vnd.airzip.filesecure.azf"] = "azf", + ["application/vnd.airzip.filesecure.azs"] = "azs", + ["application/vnd.amazon.ebook"] = "azw", + ["application/vnd.americandynamics.acc"] = "acc", + ["application/vnd.amiga.ami"] = "ami", + ["application/vnd.android.package-archive"] = "apk", + ["application/vnd.anser-web-certificate-issue-initiation"] = "cii", + ["application/vnd.anser-web-funds-transfer-initiation"] = "fti", + ["application/vnd.antix.game-component"] = "atx", + ["application/vnd.apple.installer+xml"] = "mpkg", + ["application/vnd.apple.mpegurl"] = "m3u8", + ["application/vnd.aristanetworks.swi"] = "swi", + ["application/vnd.astraea-software.iota"] = "iota", + ["application/vnd.audiograph"] = "aep", + ["application/vnd.blueice.multipass"] = "mpm", + ["application/vnd.bmi"] = "bmi", + ["application/vnd.businessobjects"] = "rep", + ["application/vnd.chemdraw+xml"] = "cdxml", + ["application/vnd.chipnuts.karaoke-mmd"] = "mmd", + ["application/vnd.cinderella"] = "cdy", + ["application/vnd.claymore"] = "cla", + ["application/vnd.cloanto.rp9"] = "rp9", + ["application/vnd.clonk.c4group"] = "c4g", + ["application/vnd.cluetrust.cartomobile-config"] = "c11amc", + ["application/vnd.cluetrust.cartomobile-config-pkg"] = "c11amz", + ["application/vnd.commonspace"] = "csp", + ["application/vnd.contact.cmsg"] = "cdbcmsg", + ["application/vnd.cosmocaller"] = "cmc", + ["application/vnd.crick.clicker"] = "clkx", + ["application/vnd.crick.clicker.keyboard"] = "clkk", + ["application/vnd.crick.clicker.palette"] = "clkp", + ["application/vnd.crick.clicker.template"] = "clkt", + ["application/vnd.crick.clicker.wordbank"] = "clkw", + ["application/vnd.criticaltools.wbs+xml"] = "wbs", + ["application/vnd.ctc-posml"] = "pml", + ["application/vnd.cups-ppd"] = "ppd", + ["application/vnd.curl.car"] = "car", + ["application/vnd.curl.pcurl"] = "pcurl", + ["application/vnd.dart"] = "dart", + ["application/vnd.data-vision.rdz"] = "rdz", + ["application/vnd.dece.data"] = "uvd", + ["application/vnd.dece.ttml+xml"] = "uvt", + ["application/vnd.dece.unspecified"] = "uvx", + ["application/vnd.dece.zip"] = "uvz", + ["application/vnd.denovo.fcselayout-link"] = "fe_launch", + ["application/vnd.dna"] = "dna", + ["application/vnd.dolby.mlp"] = "mlp", + ["application/vnd.dpgraph"] = "dpg", + ["application/vnd.dreamfactory"] = "dfac", + ["application/vnd.ds-keypoint"] = "kpxx", + ["application/vnd.dvb.ait"] = "ait", + ["application/vnd.dvb.service"] = "svc", + ["application/vnd.dynageo"] = "geo", + ["application/vnd.ecowin.chart"] = "mag", + ["application/vnd.enliven"] = "nml", + ["application/vnd.epson.esf"] = "esf", + ["application/vnd.epson.msf"] = "msf", + ["application/vnd.epson.quickanime"] = "qam", + ["application/vnd.epson.salt"] = "slt", + ["application/vnd.epson.ssf"] = "ssf", + ["application/vnd.eszigno3+xml"] = "es3", + ["application/vnd.ezpix-album"] = "ez2", + ["application/vnd.ezpix-package"] = "ez3", + ["application/vnd.fdf"] = "fdf", + ["application/vnd.fdsn.mseed"] = "mseed", + ["application/vnd.fdsn.seed"] = "seed", + ["application/vnd.flographit"] = "gph", + ["application/vnd.fluxtime.clip"] = "ftc", + ["application/vnd.framemaker"] = "frame", + ["application/vnd.frogans.fnc"] = "fnc", + ["application/vnd.frogans.ltf"] = "ltf", + ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys2"] = "oa2", + ["application/vnd.fujitsu.oasys3"] = "oa3", + ["application/vnd.fujitsu.oasysgp"] = "fg5", + ["application/vnd.fujitsu.oasys"] = "oas", + ["application/vnd.fujitsu.oasysprs"] = "bh2", + ["application/vnd.fujixerox.ddd"] = "ddd", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", + ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fuzzysheet"] = "fzs", + ["application/vnd.genomatix.tuxedo"] = "txd", + ["application/vnd.geogebra.file"] = "ggb", + ["application/vnd.geogebra.slides"] = "ggs", + ["application/vnd.geogebra.tool"] = "ggt", + ["application/vnd.geometry-explorer"] = "gex", + ["application/vnd.geonext"] = "gxt", + ["application/vnd.geoplan"] = "g2w", + ["application/vnd.geospace"] = "g3w", + ["application/vnd.gmx"] = "gmx", + ["application/vnd.google-earth.kml+xml"] = "kml", + ["application/vnd.google-earth.kmz"] = "kmz", + ["application/vnd.grafeq"] = "gqf", + ["application/vnd.groove-account"] = "gac", + ["application/vnd.groove-help"] = "ghf", + ["application/vnd.groove-identity-message"] = "gim", + ["application/vnd.groove-injector"] = "grv", + ["application/vnd.groove-tool-message"] = "gtm", + ["application/vnd.groove-tool-template"] = "tpl", + ["application/vnd.groove-vcard"] = "vcg", + ["application/vnd.hal+xml"] = "hal", + ["application/vnd.handheld-entertainment+xml"] = "zmm", + ["application/vnd.hbci"] = "hbci", + ["application/vnd.hhe.lesson-player"] = "les", + ["application/vnd.hp-hpgl"] = "hpgl", + ["application/vnd.hp-hpid"] = "hpid", + ["application/vnd.hp-hps"] = "hps", + ["application/vnd.hp-jlyt"] = "jlt", + ["application/vnd.hp-pcl"] = "pcl", + ["application/vnd.hp-pclxl"] = "pclxl", + ["application/vnd.hydrostatix.sof-data"] = "sfd-hdstx", + ["application/vnd.ibm.minipay"] = "mpy", + ["application/vnd.ibm.modcap"] = "afp", + ["application/vnd.ibm.rights-management"] = "irm", + ["application/vnd.ibm.secure-container"] = "sc", + ["application/vnd.iccprofile"] = "icc", + ["application/vnd.igloader"] = "igl", + ["application/vnd.immervision-ivp"] = "ivp", + ["application/vnd.immervision-ivu"] = "ivu", + ["application/vnd.insors.igm"] = "igm", + ["application/vnd.intercon.formnet"] = "xpw", + ["application/vnd.intergeo"] = "i2g", + ["application/vnd.intu.qbo"] = "qbo", + ["application/vnd.intu.qfx"] = "qfx", + ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", + ["application/vnd.irepository.package+xml"] = "irp", + ["application/vnd.isac.fcs"] = "fcs", + ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.jam"] = "jam", + ["application/vnd.jcp.javame.midlet-rms"] = "rms", + ["application/vnd.jisp"] = "jisp", + ["application/vnd.joost.joda-archive"] = "joda", + ["application/vnd.kahootz"] = "ktz", + ["application/vnd.kde.karbon"] = "karbon", + ["application/vnd.kde.kchart"] = "chrt", + ["application/vnd.kde.kformula"] = "kfo", + ["application/vnd.kde.kivio"] = "flw", + ["application/vnd.kde.kontour"] = "kon", + ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kspread"] = "ksp", + ["application/vnd.kde.kword"] = "kwd", + ["application/vnd.kenameaapp"] = "htke", + ["application/vnd.kidspiration"] = "kia", + ["application/vnd.kinar"] = "kne", + ["application/vnd.koan"] = "skd", + ["application/vnd.kodak-descriptor"] = "sse", + ["application/vnd.las.las+xml"] = "lasxml", + ["application/vnd.llamagraphics.life-balance.desktop"] = "lbd", + ["application/vnd.llamagraphics.life-balance.exchange+xml"] = "lbe", + ["application/vnd.lotus-1-2-3"] = "123", + ["application/vnd.lotus-approach"] = "apr", + ["application/vnd.lotus-freelance"] = "pre", + ["application/vnd.lotus-notes"] = "nsf", + ["application/vnd.lotus-organizer"] = "org", + ["application/vnd.lotus-screencam"] = "scm", + ["application/vnd.lotus-wordpro"] = "lwp", + ["application/vnd.macports.portpkg"] = "portpkg", + ["application/vnd.mcd"] = "mcd", + ["application/vnd.medcalcdata"] = "mc1", + ["application/vnd.mediastation.cdkey"] = "cdkey", + ["application/vnd.mfer"] = "mwf", + ["application/vnd.mfmp"] = "mfm", + ["application/vnd.micrografx.flo"] = "flo", + ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.mif"] = "mif", + ["application/vnd.mobius.daf"] = "daf", + ["application/vnd.mobius.dis"] = "dis", + ["application/vnd.mobius.mbk"] = "mbk", + ["application/vnd.mobius.mqy"] = "mqy", + ["application/vnd.mobius.msl"] = "msl", + ["application/vnd.mobius.plc"] = "plc", + ["application/vnd.mobius.txf"] = "txf", + ["application/vnd.mophun.application"] = "mpn", + ["application/vnd.mophun.certificate"] = "mpc", + ["application/vnd.mozilla.xul+xml"] = "xul", + ["application/vnd.ms-artgalry"] = "cil", + ["application/vnd.ms-cab-compressed"] = "cab", + ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", + ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-fontobject"] = "eot", + ["application/vnd.ms-htmlhelp"] = "chm", + ["application/vnd.ms-ims"] = "ims", + ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-pki.seccat"] = "cat", + ["application/vnd.ms-pki.stl"] = "stl", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-wpl"] = "wpl", + ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.musician"] = "mus", + ["application/vnd.muvee.style"] = "msty", + ["application/vnd.mynfc"] = "taglet", + ["application/vnd.neurolanguage.nlu"] = "nlu", + ["application/vnd.nitf"] = "nitf", + ["application/vnd.noblenet-directory"] = "nnd", + ["application/vnd.noblenet-sealer"] = "nns", + ["application/vnd.noblenet-web"] = "nnw", + ["application/vnd.nokia.n-gage.data"] = "ngdat", + ["application/vnd.nokia.n-gage.symbian.install"] = "n-gage", + ["application/vnd.nokia.radio-preset"] = "rpst", + ["application/vnd.nokia.radio-presets"] = "rpss", + ["application/vnd.novadigm.edm"] = "edm", + ["application/vnd.novadigm.edx"] = "edx", + ["application/vnd.novadigm.ext"] = "ext", + ["application/vnd.oasis.opendocument.chart"] = "odc", + ["application/vnd.oasis.opendocument.chart-template"] = "otc", + ["application/vnd.oasis.opendocument.database"] = "odb", + ["application/vnd.oasis.opendocument.formula"] = "odf", + ["application/vnd.oasis.opendocument.formula-template"] = "odft", + ["application/vnd.oasis.opendocument.graphics"] = "odg", + ["application/vnd.oasis.opendocument.graphics-template"] = "otg", + ["application/vnd.oasis.opendocument.image"] = "odi", + ["application/vnd.oasis.opendocument.image-template"] = "oti", + ["application/vnd.oasis.opendocument.presentation"] = "odp", + ["application/vnd.oasis.opendocument.presentation-template"] = "otp", + ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", + ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", + ["application/vnd.oasis.opendocument.text-master"] = "odm", + ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-template"] = "ott", + ["application/vnd.oasis.opendocument.text-web"] = "oth", + ["application/vnd.olpc-sugar"] = "xo", + ["application/vnd.oma.dd2+xml"] = "dd2", + ["application/vnd.openofficeorg.extension"] = "oxt", + ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", + ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", + ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"] = "docx", + ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"] = "dotx", + ["application/vnd.osgeo.mapguide.package"] = "mgp", + ["application/vnd.osgi.dp"] = "dp", + ["application/vnd.osgi.subsystem"] = "esa", + ["application/vnd.palm"] = "pdb", + ["application/vnd.pawaafile"] = "paw", + ["application/vnd.pg.format"] = "str", + ["application/vnd.pg.osasli"] = "ei6", + ["application/vnd.picsel"] = "efif", + ["application/vnd.pmi.widget"] = "wg", + ["application/vnd.pocketlearn"] = "plf", + ["application/vnd.powerbuilder6"] = "pbd", + ["application/vnd.previewsystems.box"] = "box", + ["application/vnd.proteus.magazine"] = "mgz", + ["application/vnd.publishare-delta-tree"] = "qps", + ["application/vnd.pvi.ptid1"] = "ptid", + ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.realvnc.bed"] = "bed", + ["application/vnd.recordare.musicxml"] = "mxl", + ["application/vnd.recordare.musicxml+xml"] = "musicxml", + ["application/vnd.rig.cryptonote"] = "cryptonote", + ["application/vnd.rim.cod"] = "cod", + ["application/vnd.rn-realmedia"] = "rm", + ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.route66.link66+xml"] = "link66", + ["application/vnd.sailingtracker.track"] = "st", + ["application/vnd.seemail"] = "see", + ["application/vnd.sema"] = "sema", + ["application/vnd.semd"] = "semd", + ["application/vnd.semf"] = "semf", + ["application/vnd.shana.informed.formdata"] = "ifm", + ["application/vnd.shana.informed.formtemplate"] = "itp", + ["application/vnd.shana.informed.interchange"] = "iif", + ["application/vnd.shana.informed.package"] = "ipk", + ["application/vnd.simtech-mindmapper"] = "twd", + ["application/vnd.smaf"] = "mmf", + ["application/vnd.smart.teacher"] = "teacher", + ["application/vnd.solent.sdkm+xml"] = "sdkm", + ["application/vnd.spotfire.dxp"] = "dxp", + ["application/vnd.spotfire.sfs"] = "sfs", + ["application/vnd.stardivision.calc"] = "sdc", + ["application/vnd.stardivision.draw"] = "sda", + ["application/vnd.stardivision.impress"] = "sdd", + ["application/vnd.stardivision.math"] = "smf", + ["application/vnd.stardivision.writer-global"] = "sgl", + ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stepmania.package"] = "smzip", + ["application/vnd.stepmania.stepchart"] = "sm", + ["application/vnd.sun.xml.calc"] = "sxc", + ["application/vnd.sun.xml.calc.template"] = "stc", + ["application/vnd.sun.xml.draw"] = "sxd", + ["application/vnd.sun.xml.draw.template"] = "std", + ["application/vnd.sun.xml.impress"] = "sxi", + ["application/vnd.sun.xml.impress.template"] = "sti", + ["application/vnd.sun.xml.math"] = "sxm", + ["application/vnd.sun.xml.writer.global"] = "sxg", + ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.template"] = "stw", + ["application/vnd.sus-calendar"] = "sus", + ["application/vnd.svd"] = "svd", + ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml.dm+wbxml"] = "bdm", + ["application/vnd.syncml.dm+xml"] = "xdm", + ["application/vnd.syncml+xml"] = "xsm", + ["application/vnd.tao.intent-module-archive"] = "tao", + ["application/vnd.tcpdump.pcap"] = "pcap", + ["application/vnd.tmobile-livetv"] = "tmo", + ["application/vnd.trid.tpt"] = "tpt", + ["application/vnd.triscape.mxs"] = "mxs", + ["application/vnd.trueapp"] = "tra", + ["application/vnd.ufdl"] = "ufdl", + ["application/vnd.uiq.theme"] = "utz", + ["application/vnd.umajin"] = "umj", + ["application/vnd.unity"] = "unityweb", + ["application/vnd.uoml+xml"] = "uoml", + ["application/vnd.vcx"] = "vcx", + ["application/vnd.visionary"] = "vis", + ["application/vnd.visio"] = "vsd", + ["application/vnd.vsf"] = "vsf", + ["application/vnd.wap.wbxml"] = "wbxml", + ["application/vnd.wap.wmlc"] = "wmlc", + ["application/vnd.wap.wmlscriptc"] = "wmlsc", + ["application/vnd.webturbo"] = "wtb", + ["application/vnd.wolfram.player"] = "nbp", + ["application/vnd.wordperfect"] = "wpd", + ["application/vnd.wqd"] = "wqd", + ["application/vnd.wt.stf"] = "stf", + ["application/vnd.xara"] = "xar", + ["application/vnd.xfdl"] = "xfdl", + ["application/vnd.yamaha.hv-dic"] = "hvd", + ["application/vnd.yamaha.hv-script"] = "hvs", + ["application/vnd.yamaha.hv-voice"] = "hvp", + ["application/vnd.yamaha.openscoreformat"] = "osf", + ["application/vnd.yamaha.openscoreformat.osfpvg+xml"] = "osfpvg", + ["application/vnd.yamaha.smaf-audio"] = "saf", + ["application/vnd.yamaha.smaf-phrase"] = "spf", + ["application/vnd.yellowriver-custom-menu"] = "cmp", + ["application/vnd.zul"] = "zir", + ["application/vnd.zzazz.deck+xml"] = "zaz", + ["application/voicexml+xml"] = "vxml", + ["application/wasm"] = "wasm", + ["application/widget"] = "wgt", + ["application/winhlp"] = "hlp", + ["application/wsdl+xml"] = "wsdl", + ["application/wspolicy+xml"] = "wspolicy", + ["application/x-7z-compressed"] = "7z", + ["application/x-abiword"] = "abw", + ["application/x-ace-compressed"] = "ace", + ["application/xaml+xml"] = "xaml", + ["application/x-apple-diskimage"] = "dmg", + ["application/x-authorware-bin"] = "aab", + ["application/x-bcpio"] = "bcpio", + ["application/x-bittorrent"] = "torrent", + ["application/x-blorb"] = "blorb", + ["application/x-bzip2"] = "bz2", + ["application/x-bzip"] = "bz", + ["application/xcap-diff+xml"] = "xdf", + ["application/x-cbr"] = "cbr", + ["application/x-cdlink"] = "vcd", + ["application/x-cfs-compressed"] = "cfs", + ["application/x-chat"] = "chat", + ["application/x-chess-pgn"] = "pgn", + ["application/x-conference"] = "nsc", + ["application/x-cpio"] = "cpio", + ["application/x-csh"] = "csh", + ["application/x-debian-package"] = "deb", + ["application/x-dgc-compressed"] = "dgc", + ["application/x-director"] = "dir", + ["application/x-doom"] = "wad", + ["application/x-dtbncx+xml"] = "ncx", + ["application/x-dtbook+xml"] = "dtb", + ["application/x-dtbresource+xml"] = "res", + ["application/x-dvi"] = "dvi", + ["application/xenc+xml"] = "xenc", + ["application/x-envoy"] = "evy", + ["application/x-eva"] = "eva", + ["application/x-font-bdf"] = "bdf", + ["application/x-font-ghostscript"] = "gsf", + ["application/x-font-linux-psf"] = "psf", + ["application/x-font-pcf"] = "pcf", + ["application/x-font-snf"] = "snf", + ["application/x-font-type1"] = "pfm", + ["application/x-freearc"] = "arc", + ["application/x-futuresplash"] = "spl", + ["application/x-gca-compressed"] = "gca", + ["application/x-glulx"] = "ulx", + ["application/x-gnumeric"] = "gnumeric", + ["application/x-gramps-xml"] = "gramps", + ["application/x-gtar"] = "gtar", + ["application/x-hdf"] = "hdf", + ["application/xhtml+xml"] = "xhtml", + ["application/x-install-instructions"] = "install", + ["application/x-iso9660-image"] = "iso", + ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-latex"] = "latex", + ["application/x-lzh-compressed"] = "lzh", + ["application/x-mie"] = "mie", + ["application/xml-dtd"] = "dtd", + ["application/xml"] = "xml", + ["application/x-mobipocket-ebook"] = "mobi", + ["application/x-msaccess"] = "mdb", + ["application/x-ms-application"] = "application", + ["application/x-msbinder"] = "obd", + ["application/x-mscardfile"] = "crd", + ["application/x-msclip"] = "clp", + ["application/x-msdownload"] = "msi", + ["application/x-msmediaview"] = "mvb", + ["application/x-msmetafile"] = "wmf", + ["application/x-msmoney"] = "mny", + ["application/x-mspublisher"] = "pub", + ["application/x-msschedule"] = "scd", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-msterminal"] = "trm", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-mswrite"] = "wri", + ["application/x-ms-xbap"] = "xbap", + ["application/x-netcdf"] = "cdf", + ["application/x-nzb"] = "nzb", + ["application/xop+xml"] = "xop", + ["application/x-pkcs12"] = "p12", + ["application/x-pkcs7-certificates"] = "p7b", + ["application/x-pkcs7-certreqresp"] = "p7r", + ["application/xproc+xml"] = "xpl", + ["application/x-rar-compressed"] = "rar", + ["application/x-research-info-systems"] = "ris", + ["application/x-shar"] = "shar", + ["application/x-shockwave-flash"] = "swf", + ["application/x-sh"] = "sh", + ["application/x-silverlight-app"] = "xap", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/x-sql"] = "sql", + ["application/x-stuffit"] = "sit", + ["application/x-stuffitx"] = "sitx", + ["application/x-subrip"] = "srt", + ["application/x-sv4cpio"] = "sv4cpio", + ["application/x-sv4crc"] = "sv4crc", + ["application/x-t3vm-image"] = "t3", + ["application/x-tads"] = "gam", + ["application/x-tar"] = "tar", + ["application/x-tcl"] = "tcl", + ["application/x-texinfo"] = "texinfo", + ["application/x-tex"] = "tex", + ["application/x-tex-tfm"] = "tfm", + ["application/x-tgif"] = "obj", + ["application/x-ustar"] = "ustar", + ["application/xv+xml"] = "xvml", + ["application/x-wais-source"] = "src", + ["application/x-x509-ca-cert"] = "crt", + ["application/x-xfig"] = "fig", + ["application/x-xliff+xml"] = "xlf", + ["application/x-xpinstall"] = "xpi", + ["application/x-xz"] = "xz", + ["application/x-zmachine"] = "z1", + ["application/yang"] = "yang", + ["application/yin+xml"] = "yin", + ["application/zip"] = "zip", + ["audio/adpcm"] = "adp", + ["audio/basic"] = "au", + ["audio/midi"] = "mid", + ["audio/mp4"] = "m4a", + ["audio/mpeg"] = "mpga", + ["audio/ogg"] = "ogg", + ["audio/s3m"] = "s3m", + ["audio/silk"] = "sil", + ["audio/vnd.dece.audio"] = "uva", + ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dra"] = "dra", + ["audio/vnd.dts"] = "dts", + ["audio/vnd.dts.hd"] = "dtshd", + ["audio/vnd.lucent.voice"] = "lvp", + ["audio/vnd.ms-playready.media.pya"] = "pya", + ["audio/vnd.nuera.ecelp4800"] = "ecelp4800", + ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", + ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", + ["audio/vnd.rip"] = "rip", + ["audio/webm"] = "weba", + ["audio/x-aac"] = "aac", + ["audio/x-aiff"] = "aiff", + ["audio/x-caf"] = "caf", + ["audio/x-flac"] = "flac", + ["audio/x-matroska"] = "mka", + ["audio/x-mpegurl"] = "m3u", + ["audio/x-ms-wax"] = "wax", + ["audio/x-ms-wma"] = "wma", + ["audio/xm"] = "xm", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-pn-realaudio"] = "ra", + ["audio/x-wav"] = "wav", + ["chemical/x-cdx"] = "cdx", + ["chemical/x-cif"] = "cif", + ["chemical/x-cmdf"] = "cmdf", + ["chemical/x-cml"] = "cml", + ["chemical/x-csml"] = "csml", + ["chemical/x-xyz"] = "xyz", + ["font/collection"] = "ttc", + ["font/otf"] = "otf", + ["font/ttf"] = "ttf", + ["font/woff2"] = "woff2", + ["font/woff"] = "woff", + ["image/bmp"] = "bmp", + ["image/cgm"] = "cgm", + ["image/g3fax"] = "g3", + ["image/gif"] = "gif", + ["image/ief"] = "ief", + ["image/jpeg"] = "jpg", + ["image/ktx"] = "ktx", + ["image/png"] = "png", + ["image/prs.btif"] = "btif", + ["image/sgi"] = "sgi", + ["image/svg+xml"] = "svg", + ["image/tiff"] = "tiff", + ["image/vnd.adobe.photoshop"] = "psd", + ["image/vnd.dece.graphic"] = "uvg", + ["image/vnd.djvu"] = "djvu", + ["image/vnd.dvb.subtitle"] = "sub", + ["image/vnd.dwg"] = "dwg", + ["image/vnd.dxf"] = "dxf", + ["image/vnd.fastbidsheet"] = "fbs", + ["image/vnd.fpx"] = "fpx", + ["image/vnd.fst"] = "fst", + ["image/vnd.fujixerox.edmics-mmr"] = "mmr", + ["image/vnd.fujixerox.edmics-rlc"] = "rlc", + ["image/vnd.ms-modi"] = "mdi", + ["image/vnd.ms-photo"] = "wdp", + ["image/vnd.net-fpx"] = "npx", + ["image/vnd.wap.wbmp"] = "wbmp", + ["image/vnd.xiff"] = "xif", + ["image/webp"] = "webp", + ["image/x-3ds"] = "3ds", + ["image/x-cmu-raster"] = "ras", + ["image/x-cmx"] = "cmx", + ["image/x-freehand"] = "fh", + ["image/x-icon"] = "ico", + ["image/x-mrsid-image"] = "sid", + ["image/x-pcx"] = "pcx", + ["image/x-pict"] = "pct", + ["image/x-portable-anymap"] = "pnm", + ["image/x-portable-bitmap"] = "pbm", + ["image/x-portable-graymap"] = "pgm", + ["image/x-portable-pixmap"] = "ppm", + ["image/x-rgb"] = "rgb", + ["image/x-tga"] = "tga", + ["image/x-xbitmap"] = "xbm", + ["image/x-xpixmap"] = "xpm", + ["image/x-xwindowdump"] = "xwd", + ["message/rfc822"] = "mime", + ["model/iges"] = "iges", + ["model/mesh"] = "mesh", + ["model/vnd.collada+xml"] = "dae", + ["model/vnd.dwf"] = "dwf", + ["model/vnd.gdl"] = "gdl", + ["model/vnd.gtw"] = "gtw", + ["model/vnd.mts"] = "mts", + ["model/vnd.vtu"] = "vtu", + ["model/vrml"] = "vrml", + ["model/x3d+binary"] = "x3db", + ["model/x3d+vrml"] = "x3dv", + ["model/x3d+xml"] = "x3d", + ["text/cache-manifest"] = "appcache", + ["text/calendar"] = "ics", + ["text/css"] = "css", + ["text/csv"] = "csv", + ["text/html"] = "html", + ["text/javascript"] = "js", + ["text/n3"] = "n3", + ["text/plain"] = "txt", + ["text/prs.lines.tag"] = "dsc", + ["text/richtext"] = "rtx", + ["text/sgml"] = "sgml", + ["text/tab-separated-values"] = "tsv", + ["text/troff"] = "tr", + ["text/turtle"] = "ttl", + ["text/uri-list"] = "uri", + ["text/vcard"] = "vcard", + ["text/vnd.curl"] = "curl", + ["text/vnd.curl.dcurl"] = "dcurl", + ["text/vnd.curl.mcurl"] = "mcurl", + ["text/vnd.curl.scurl"] = "scurl", + ["text/vnd.dvb.subtitle"] = "sub", + ["text/vnd.fly"] = "fly", + ["text/vnd.fmi.flexstor"] = "flx", + ["text/vnd.graphviz"] = "gv", + ["text/vnd.in3d.3dml"] = "3dml", + ["text/vnd.in3d.spot"] = "spot", + ["text/vnd.sun.j2me.app-descriptor"] = "jad", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vnd.wap.wml"] = "wml", + ["text/x-asm"] = "asm", + ["text/x-c"] = "c", + ["text/x-fortran"] = "f", + ["text/x-java-source"] = "java", + ["text/x-nfo"] = "nfo", + ["text/x-opml"] = "opml", + ["text/x-pascal"] = "pas", + ["text/x-setext"] = "etx", + ["text/x-sfv"] = "sfv", + ["text/x-uuencode"] = "uu", + ["text/x-vcalendar"] = "vcs", + ["text/x-vcard"] = "vcf", + ["video/3gpp2"] = "3g2", + ["video/3gpp"] = "3gp", + ["video/h261"] = "h261", + ["video/h263"] = "h263", + ["video/h264"] = "h264", + ["video/jpeg"] = "jpgv", + ["video/jpm"] = "jpm", + ["video/mj2"] = "mj2", + ["video/mp4"] = "mp4", + ["video/mpeg"] = "mpg", + ["video/ogg"] = "ogv", + ["video/quicktime"] = "mov", + ["video/vnd.dece.hd"] = "uvh", + ["video/vnd.dece.mobile"] = "uvm", + ["video/vnd.dece.pd"] = "uvp", + ["video/vnd.dece.sd"] = "uvs", + ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dvb.file"] = "dvb", + ["video/vnd.fvt"] = "fvt", + ["video/vnd.mpegurl"] = "m4u", + ["video/vnd.ms-playready.media.pyv"] = "pyv", + ["video/vnd.uvvu.mp4"] = "uvu", + ["video/vnd.vivo"] = "viv", + ["video/webm"] = "webm", + ["video/x-f4v"] = "f4v", + ["video/x-fli"] = "fli", + ["video/x-flv"] = "flv", + ["video/x-m4v"] = "m4v", + ["video/x-matroska"] = "mkv", + ["video/x-mng"] = "mng", + ["video/x-ms-asf"] = "asf", + ["video/x-msvideo"] = "avi", + ["video/x-ms-vob"] = "vob", + ["video/x-ms-wmv"] = "wmv", + ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmx"] = "wmx", + ["video/x-ms-wvx"] = "wvx", + ["video/x-sgi-movie"] = "movie", + ["video/x-smv"] = "smv", + ["x-conference/x-cooltalk"] = "ice" } &default="bin" &redef; } From 810e9386cbc0adf999539044478ea7342c5717ed Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 14:34:15 -0700 Subject: [PATCH 51/88] idaholab/Malcolm#290, add 'all files except common plain text files' to file carving option for Malcolm --- .../share/zeek/site/extractor_params.zeek | 274 ++++++++++++++---- .../zeek/extractor_override.interesting.zeek | 1 + .../extractor_override.interesting.zeek | 1 + zeek/config/extractor_params.zeek | 274 ++++++++++++++---- 4 files changed, 434 insertions(+), 116 deletions(-) diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek index e72dd0f15..b693186bd 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek @@ -23,11 +23,14 @@ export { # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { + ["application/acad"] = "dwg", ["application/andrew-inset"] = "ez", + ["application/annodex"] = "anx", ["application/applixware"] = "aw", + ["application/atom+xml"] = "atom", ["application/atomcat+xml"] = "atomcat", ["application/atomsvc+xml"] = "atomsvc", - ["application/atom+xml"] = "atom", + ["application/binary"] = "bin", ["application/ccxml+xml"] = "ccxml", ["application/cdmi-capability"] = "cdmia", ["application/cdmi-container"] = "cdmic", @@ -36,25 +39,36 @@ export { ["application/cdmi-queue"] = "cdmiq", ["application/cu-seeme"] = "cu", ["application/davmount+xml"] = "davmount", + ["application/directx"] = "x", ["application/docbook+xml"] = "dbk", ["application/dssc+der"] = "dssc", ["application/dssc+xml"] = "xdssc", - ["application/ecmascript"] = "ecma", + ["application/ecmascript"] = "es", ["application/emma+xml"] = "emma", + ["application/envoy"] = "evy", ["application/epub+zip"] = "epub", + ["application/etl"] = "etl", ["application/exi"] = "exi", + ["application/font-sfnt"] = "ttf", ["application/font-tdpfr"] = "pfr", + ["application/fractals"] = "fif", + ["application/fsharp-script"] = "fsscript", + ["application/futuresplash"] = "spl", ["application/gml+xml"] = "gml", ["application/gpx+xml"] = "gpx", ["application/gxf"] = "gxf", + ["application/hta"] = "hta", ["application/hyperstudio"] = "stk", ["application/inkml+xml"] = "inkml", + ["application/internet-property-stream"] = "acx", ["application/ipfix"] = "ipfix", ["application/java-archive"] = "jar", ["application/java-serialized-object"] = "ser", ["application/java-vm"] = "class", + ["application/javascript"] = "js", ["application/json"] = "json", ["application/jsonml+json"] = "jsonml", + ["application/liquidmotion"] = "jck", ["application/lost+xml"] = "lostxml", ["application/mac-binhex40"] = "hqx", ["application/mac-compactpro"] = "cpt", @@ -65,44 +79,58 @@ export { ["application/mathml+xml"] = "mathml", ["application/mbox"] = "mbox", ["application/mediaservercontrol+xml"] = "mscml", - ["application/metalink4+xml"] = "meta4", ["application/metalink+xml"] = "metalink", + ["application/metalink4+xml"] = "meta4", ["application/mets+xml"] = "mets", ["application/mods+xml"] = "mods", ["application/mp21"] = "mp21", ["application/mp4"] = "mp4s", + ["application/mpeg"] = "amc", + ["application/ms-vsi"] = "vsi", + ["application/msaccess"] = "accdb", + ["application/msaccess.addin"] = "accda", + ["application/msaccess.cab"] = "accdc", + ["application/msaccess.ftemplate"] = "accft", + ["application/msaccess.runtime"] = "accdr", + ["application/msaccess.webapplication"] = "accdw", + ["application/msexcel"] = "xls", + ["application/mspowerpoint"] = "ppt", ["application/msword"] = "doc", ["application/mxf"] = "mxf", ["application/octet-stream"] = "bin", ["application/oda"] = "oda", ["application/oebps-package+xml"] = "opf", ["application/ogg"] = "ogx", + ["application/olescript"] = "axs", ["application/omdoc+xml"] = "omdoc", - ["application/onenote"] = "onepkg", + ["application/onenote"] = "one", + ["application/opensearchdescription+xml"] = "osdx", ["application/oxps"] = "oxps", ["application/patch-ops-error+xml"] = "xer", ["application/pdf"] = "pdf", ["application/pgp-encrypted"] = "pgp", - ["application/pgp-signature"] = "sig", + ["application/pgp-signature"] = "pgp", ["application/pics-rules"] = "prf", ["application/pkcs10"] = "p10", - ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-mime"] = "p7c", ["application/pkcs7-signature"] = "p7s", ["application/pkcs8"] = "p8", ["application/pkix-attr-cert"] = "ac", ["application/pkix-cert"] = "cer", - ["application/pkixcmp"] = "pki", ["application/pkix-crl"] = "crl", ["application/pkix-pkipath"] = "pkipath", + ["application/pkixcmp"] = "pki", ["application/pls+xml"] = "pls", ["application/postscript"] = "ps", + ["application/PowerShell"] = "psc1", ["application/prs.cww"] = "cww", ["application/pskc+xml"] = "pskcxml", + ["application/rat-file"] = "rat", ["application/rdf+xml"] = "rdf", ["application/reginfo+xml"] = "rif", ["application/relax-ng-compact-syntax"] = "rnc", - ["application/resource-lists-diff+xml"] = "rld", ["application/resource-lists+xml"] = "rl", + ["application/resource-lists-diff+xml"] = "rld", ["application/rls-services+xml"] = "rs", ["application/rpki-ghostbusters"] = "gbr", ["application/rpki-manifest"] = "mft", @@ -127,13 +155,15 @@ export { ["application/sru+xml"] = "sru", ["application/ssdl+xml"] = "ssdl", ["application/ssml+xml"] = "ssml", + ["application/step"] = "step", + ["application/streamingmedia"] = "ssm", ["application/tei+xml"] = "tei", ["application/thraud+xml"] = "tfi", ["application/timestamped-data"] = "tsd", - ["application/vnd.3gpp2.tcap"] = "tcap", ["application/vnd.3gpp.pic-bw-large"] = "plb", ["application/vnd.3gpp.pic-bw-small"] = "psb", ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3gpp2.tcap"] = "tcap", ["application/vnd.3m.post-it-notes"] = "pwn", ["application/vnd.accpac.simply.aso"] = "aso", ["application/vnd.accpac.simply.imp"] = "imp", @@ -213,18 +243,18 @@ export { ["application/vnd.fdsn.seed"] = "seed", ["application/vnd.flographit"] = "gph", ["application/vnd.fluxtime.clip"] = "ftc", - ["application/vnd.framemaker"] = "frame", + ["application/vnd.framemaker"] = "fm", ["application/vnd.frogans.fnc"] = "fnc", ["application/vnd.frogans.ltf"] = "ltf", ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys"] = "oas", ["application/vnd.fujitsu.oasys2"] = "oa2", ["application/vnd.fujitsu.oasys3"] = "oa3", ["application/vnd.fujitsu.oasysgp"] = "fg5", - ["application/vnd.fujitsu.oasys"] = "oas", ["application/vnd.fujitsu.oasysprs"] = "bh2", ["application/vnd.fujixerox.ddd"] = "ddd", - ["application/vnd.fujixerox.docuworks.binder"] = "xbd", ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", ["application/vnd.fuzzysheet"] = "fzs", ["application/vnd.genomatix.tuxedo"] = "txd", ["application/vnd.geogebra.file"] = "ggb", @@ -271,8 +301,8 @@ export { ["application/vnd.intu.qfx"] = "qfx", ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", ["application/vnd.irepository.package+xml"] = "irp", - ["application/vnd.isac.fcs"] = "fcs", ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.isac.fcs"] = "fcs", ["application/vnd.jam"] = "jam", ["application/vnd.jcp.javame.midlet-rms"] = "rms", ["application/vnd.jisp"] = "jisp", @@ -283,7 +313,7 @@ export { ["application/vnd.kde.kformula"] = "kfo", ["application/vnd.kde.kivio"] = "flw", ["application/vnd.kde.kontour"] = "kon", - ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kpresenter"] = "kpt", ["application/vnd.kde.kspread"] = "ksp", ["application/vnd.kde.kword"] = "kwd", ["application/vnd.kenameaapp"] = "htke", @@ -309,6 +339,7 @@ export { ["application/vnd.mfmp"] = "mfm", ["application/vnd.micrografx.flo"] = "flo", ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.microsoft.portable-executable"] = "exe", ["application/vnd.mif"] = "mif", ["application/vnd.mobius.daf"] = "daf", ["application/vnd.mobius.dis"] = "dis", @@ -322,31 +353,48 @@ export { ["application/vnd.mozilla.xul+xml"] = "xul", ["application/vnd.ms-artgalry"] = "cil", ["application/vnd.ms-cab-compressed"] = "cab", - ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel"] = "xls", ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.addin.macroEnabled.12"] = "xlam", ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"] = "xlsb", ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.sheet.macroEnabled.12"] = "xlsm", ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", - ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-excel.template.macroEnabled.12"] = "xltm", ["application/vnd.ms-fontobject"] = "eot", ["application/vnd.ms-htmlhelp"] = "chm", ["application/vnd.ms-ims"] = "ims", ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-mediapackage"] = "mpf", + ["application/vnd.ms-office.calx"] = "calx", ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-outlook"] = "msg", + ["application/vnd.ms-pki.certstore"] = "sst", + ["application/vnd.ms-pki.pko"] = "pko", ["application/vnd.ms-pki.seccat"] = "cat", ["application/vnd.ms-pki.stl"] = "stl", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint.addin.macroEnabled.12"] = "ppam", ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"] = "pptm", ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slide.macroEnabled.12"] = "sldm", ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"] = "ppsm", ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", - ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-powerpoint.template.macroEnabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpt", + ["application/vnd.ms-visio.viewer"] = "vdx", ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.document.macroEnabled.12"] = "docm", ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", - ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-word.template.macroEnabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wks", ["application/vnd.ms-wpl"] = "wpl", ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.mseq"] = "mseq", ["application/vnd.musician"] = "mus", ["application/vnd.muvee.style"] = "msty", ["application/vnd.mynfc"] = "taglet", @@ -375,16 +423,16 @@ export { ["application/vnd.oasis.opendocument.presentation-template"] = "otp", ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", - ["application/vnd.oasis.opendocument.text-master"] = "odm", ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-master"] = "odm", ["application/vnd.oasis.opendocument.text-template"] = "ott", ["application/vnd.oasis.opendocument.text-web"] = "oth", ["application/vnd.olpc-sugar"] = "xo", ["application/vnd.oma.dd2+xml"] = "dd2", ["application/vnd.openofficeorg.extension"] = "oxt", ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", @@ -405,7 +453,7 @@ export { ["application/vnd.proteus.magazine"] = "mgz", ["application/vnd.publishare-delta-tree"] = "qps", ["application/vnd.pvi.ptid1"] = "ptid", - ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.quark.quarkxpress"] = "qxt", ["application/vnd.realvnc.bed"] = "bed", ["application/vnd.recordare.musicxml"] = "mxl", ["application/vnd.recordare.musicxml+xml"] = "musicxml", @@ -413,6 +461,7 @@ export { ["application/vnd.rim.cod"] = "cod", ["application/vnd.rn-realmedia"] = "rm", ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.rn-rn_music_package"] = "rmp", ["application/vnd.route66.link66+xml"] = "link66", ["application/vnd.sailingtracker.track"] = "st", ["application/vnd.seemail"] = "see", @@ -433,8 +482,8 @@ export { ["application/vnd.stardivision.draw"] = "sda", ["application/vnd.stardivision.impress"] = "sdd", ["application/vnd.stardivision.math"] = "smf", - ["application/vnd.stardivision.writer-global"] = "sgl", ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stardivision.writer-global"] = "sgl", ["application/vnd.stepmania.package"] = "smzip", ["application/vnd.stepmania.stepchart"] = "sm", ["application/vnd.sun.xml.calc"] = "sxc", @@ -444,15 +493,15 @@ export { ["application/vnd.sun.xml.impress"] = "sxi", ["application/vnd.sun.xml.impress.template"] = "sti", ["application/vnd.sun.xml.math"] = "sxm", - ["application/vnd.sun.xml.writer.global"] = "sxg", ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.global"] = "sxg", ["application/vnd.sun.xml.writer.template"] = "stw", ["application/vnd.sus-calendar"] = "sus", ["application/vnd.svd"] = "svd", ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml+xml"] = "xsm", ["application/vnd.syncml.dm+wbxml"] = "bdm", ["application/vnd.syncml.dm+xml"] = "xdm", - ["application/vnd.syncml+xml"] = "xsm", ["application/vnd.tao.intent-module-archive"] = "tao", ["application/vnd.tcpdump.pcap"] = "pcap", ["application/vnd.tmobile-livetv"] = "tmo", @@ -465,8 +514,8 @@ export { ["application/vnd.unity"] = "unityweb", ["application/vnd.uoml+xml"] = "uoml", ["application/vnd.vcx"] = "vcx", - ["application/vnd.visionary"] = "vis", ["application/vnd.visio"] = "vsd", + ["application/vnd.visionary"] = "vis", ["application/vnd.vsf"] = "vsf", ["application/vnd.wap.wbxml"] = "wbxml", ["application/vnd.wap.wmlc"] = "wmlc", @@ -489,28 +538,35 @@ export { ["application/vnd.zul"] = "zir", ["application/vnd.zzazz.deck+xml"] = "zaz", ["application/voicexml+xml"] = "vxml", + ["application/vsix"] = "vsix", ["application/wasm"] = "wasm", ["application/widget"] = "wgt", + ["application/windows-library+xml"] = "library-ms", + ["application/windows-search-connector+xml"] = "searchConnector-ms", ["application/winhlp"] = "hlp", + ["application/wlmoviemaker"] = "WLMP", ["application/wsdl+xml"] = "wsdl", ["application/wspolicy+xml"] = "wspolicy", ["application/x-7z-compressed"] = "7z", ["application/x-abiword"] = "abw", ["application/x-ace-compressed"] = "ace", - ["application/xaml+xml"] = "xaml", ["application/x-apple-diskimage"] = "dmg", ["application/x-authorware-bin"] = "aab", + ["application/x-authorware-map"] = "aam", + ["application/x-authorware-seg"] = "aas", ["application/x-bcpio"] = "bcpio", ["application/x-bittorrent"] = "torrent", ["application/x-blorb"] = "blorb", - ["application/x-bzip2"] = "bz2", + ["application/x-bridge-url"] = "adobebridge", ["application/x-bzip"] = "bz", - ["application/xcap-diff+xml"] = "xdf", + ["application/x-bzip2"] = "bz2", ["application/x-cbr"] = "cbr", ["application/x-cdlink"] = "vcd", ["application/x-cfs-compressed"] = "cfs", ["application/x-chat"] = "chat", ["application/x-chess-pgn"] = "pgn", + ["application/x-compress"] = "z", + ["application/x-compressed"] = "tgz", ["application/x-conference"] = "nsc", ["application/x-cpio"] = "cpio", ["application/x-csh"] = "csh", @@ -518,13 +574,16 @@ export { ["application/x-dgc-compressed"] = "dgc", ["application/x-director"] = "dir", ["application/x-doom"] = "wad", + ["application/x-dosexec"] = "exe", ["application/x-dtbncx+xml"] = "ncx", ["application/x-dtbook+xml"] = "dtb", ["application/x-dtbresource+xml"] = "res", ["application/x-dvi"] = "dvi", - ["application/xenc+xml"] = "xenc", + ["application/x-dxf"] = "dxf", + ["application/x-elf"] = "elf", ["application/x-envoy"] = "evy", ["application/x-eva"] = "eva", + ["application/x-executable"] = "exe", ["application/x-font-bdf"] = "bdf", ["application/x-font-ghostscript"] = "gsf", ["application/x-font-linux-psf"] = "psf", @@ -538,49 +597,75 @@ export { ["application/x-gnumeric"] = "gnumeric", ["application/x-gramps-xml"] = "gramps", ["application/x-gtar"] = "gtar", + ["application/x-gzip"] = "gz", ["application/x-hdf"] = "hdf", - ["application/xhtml+xml"] = "xhtml", ["application/x-install-instructions"] = "install", + ["application/x-internet-signup"] = "isp", + ["application/x-iphone"] = "iii", ["application/x-iso9660-image"] = "iso", + ["application/x-itunes-ipa"] = "ipa", + ["application/x-itunes-ipg"] = "ipg", + ["application/x-itunes-ipsw"] = "ipsw", + ["application/x-itunes-ite"] = "ite", + ["application/x-itunes-itlp"] = "itlp", + ["application/x-itunes-itms"] = "itms", + ["application/x-itunes-itpc"] = "itpc", + ["application/x-java-applet"] = "class", ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-koan"] = "skp", ["application/x-latex"] = "latex", ["application/x-lzh-compressed"] = "lzh", ["application/x-mie"] = "mie", - ["application/xml-dtd"] = "dtd", - ["application/xml"] = "xml", + ["application/x-miva-compiled"] = "mvc", + ["application/x-mmxp"] = "mxp", ["application/x-mobipocket-ebook"] = "mobi", - ["application/x-msaccess"] = "mdb", ["application/x-ms-application"] = "application", + ["application/x-ms-installer"] = "msi", + ["application/x-ms-license"] = "slupkg-ms", + ["application/x-ms-manifest"] = "manifest", + ["application/x-ms-reader"] = "lit", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-ms-vsto"] = "vsto", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-ms-xbap"] = "xbap", + ["application/x-msaccess"] = "mdb", ["application/x-msbinder"] = "obd", ["application/x-mscardfile"] = "crd", ["application/x-msclip"] = "clp", - ["application/x-msdownload"] = "msi", + ["application/x-msdos-program"] = "exe", + ["application/x-msdownload"] = "exe", ["application/x-msmediaview"] = "mvb", ["application/x-msmetafile"] = "wmf", ["application/x-msmoney"] = "mny", ["application/x-mspublisher"] = "pub", ["application/x-msschedule"] = "scd", - ["application/x-ms-shortcut"] = "lnk", ["application/x-msterminal"] = "trm", - ["application/x-ms-wmd"] = "wmd", - ["application/x-ms-wmz"] = "wmz", ["application/x-mswrite"] = "wri", - ["application/x-ms-xbap"] = "xbap", ["application/x-netcdf"] = "cdf", ["application/x-nzb"] = "nzb", - ["application/xop+xml"] = "xop", + ["application/x-oleobject"] = "hhc", + ["application/x-pcapng"] = "pcap", + ["application/x-pe-app-32bit-i386"] = "exe", + ["application/x-perfmon"] = "pmw", + ["application/x-perl"] = "pl", ["application/x-pkcs12"] = "p12", ["application/x-pkcs7-certificates"] = "p7b", ["application/x-pkcs7-certreqresp"] = "p7r", - ["application/xproc+xml"] = "xpl", + ["application/x-podcast"] = "pcast", + ["application/x-python"] = "py", + ["application/x-quicktimeplayer"] = "qtl", ["application/x-rar-compressed"] = "rar", ["application/x-research-info-systems"] = "ris", + ["application/x-safari-safariextz"] = "safariextz", + ["application/x-safari-webarchive"] = "webarchive", + ["application/x-sgimb"] = "sgimb", + ["application/x-sh"] = "sh", ["application/x-shar"] = "shar", + ["application/x-sharedlib"] = "lib", ["application/x-shockwave-flash"] = "swf", - ["application/x-sh"] = "sh", ["application/x-silverlight-app"] = "xap", - ["application/xslt+xml"] = "xslt", - ["application/xspf+xml"] = "xspf", + ["application/x-smaf"] = "mmf", ["application/x-sql"] = "sql", ["application/x-stuffit"] = "sit", ["application/x-stuffitx"] = "sitx", @@ -591,32 +676,62 @@ export { ["application/x-tads"] = "gam", ["application/x-tar"] = "tar", ["application/x-tcl"] = "tcl", - ["application/x-texinfo"] = "texinfo", ["application/x-tex"] = "tex", ["application/x-tex-tfm"] = "tfm", + ["application/x-texinfo"] = "texinfo", ["application/x-tgif"] = "obj", + ["application/x-troff"] = "tr", + ["application/x-troff-man"] = "man", + ["application/x-troff-me"] = "me", + ["application/x-troff-ms"] = "ms", ["application/x-ustar"] = "ustar", - ["application/xv+xml"] = "xvml", ["application/x-wais-source"] = "src", + ["application/x-wlpg-detect"] = "wlpginstall", + ["application/x-wlpg3-detect"] = "wlpginstall3", ["application/x-x509-ca-cert"] = "crt", ["application/x-xfig"] = "fig", ["application/x-xliff+xml"] = "xlf", ["application/x-xpinstall"] = "xpi", ["application/x-xz"] = "xz", + ["application/x-zip-compressed"] = "zip", ["application/x-zmachine"] = "z1", + ["application/xaml+xml"] = "xaml", + ["application/xcap-diff+xml"] = "xdf", + ["application/xenc+xml"] = "xenc", + ["application/xhtml+xml"] = "xhtml", + ["application/xml"] = "xml", + ["application/xml-dtd"] = "dtd", + ["application/xop+xml"] = "xop", + ["application/xproc+xml"] = "xpl", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/xv+xml"] = "xvml", ["application/yang"] = "yang", ["application/yin+xml"] = "yin", ["application/zip"] = "zip", + ["audio/aac"] = "aac", + ["audio/ac3"] = "ac3", ["audio/adpcm"] = "adp", + ["audio/aiff"] = "aiff", + ["audio/annodex"] = "axa", + ["audio/audible"] = "aa", ["audio/basic"] = "au", - ["audio/midi"] = "mid", + ["audio/flac"] = "flac", + ["audio/m4a"] = "m4a", + ["audio/m4b"] = "m4b", + ["audio/m4p"] = "m4p", + ["audio/mid"] = "midi", + ["audio/midi"] = "midi", ["audio/mp4"] = "m4a", - ["audio/mpeg"] = "mpga", + ["audio/mpeg"] = "mp3", ["audio/ogg"] = "ogg", ["audio/s3m"] = "s3m", + ["audio/scpls"] = "pls", ["audio/silk"] = "sil", + ["audio/vnd.audible.aax"] = "aax", ["audio/vnd.dece.audio"] = "uva", ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dlna.adts"] = "ADT", ["audio/vnd.dra"] = "dra", ["audio/vnd.dts"] = "dts", ["audio/vnd.dts.hd"] = "dtshd", @@ -626,37 +741,47 @@ export { ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", ["audio/vnd.rip"] = "rip", + ["audio/wav"] = "wav", ["audio/webm"] = "weba", ["audio/x-aac"] = "aac", ["audio/x-aiff"] = "aiff", ["audio/x-caf"] = "caf", ["audio/x-flac"] = "flac", + ["audio/x-gsm"] = "gsm", + ["audio/x-m4a"] = "m4a", + ["audio/x-m4r"] = "m4r", ["audio/x-matroska"] = "mka", ["audio/x-mpegurl"] = "m3u", ["audio/x-ms-wax"] = "wax", ["audio/x-ms-wma"] = "wma", - ["audio/xm"] = "xm", - ["audio/x-pn-realaudio-plugin"] = "rmp", ["audio/x-pn-realaudio"] = "ra", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-sd2"] = "sd2", + ["audio/x-smd"] = "smd", ["audio/x-wav"] = "wav", + ["audio/xm"] = "xm", ["chemical/x-cdx"] = "cdx", ["chemical/x-cif"] = "cif", ["chemical/x-cmdf"] = "cmdf", ["chemical/x-cml"] = "cml", ["chemical/x-csml"] = "csml", ["chemical/x-xyz"] = "xyz", + ["drawing/x-dwf"] = "dwf", ["font/collection"] = "ttc", ["font/otf"] = "otf", ["font/ttf"] = "ttf", - ["font/woff2"] = "woff2", ["font/woff"] = "woff", + ["font/woff2"] = "woff2", ["image/bmp"] = "bmp", ["image/cgm"] = "cgm", + ["image/cis-cod"] = "cod", ["image/g3fax"] = "g3", ["image/gif"] = "gif", ["image/ief"] = "ief", ["image/jpeg"] = "jpg", ["image/ktx"] = "ktx", + ["image/pict"] = "pict", + ["image/pjpeg"] = "jfif", ["image/png"] = "png", ["image/prs.btif"] = "btif", ["image/sgi"] = "sgi", @@ -676,6 +801,7 @@ export { ["image/vnd.ms-modi"] = "mdi", ["image/vnd.ms-photo"] = "wdp", ["image/vnd.net-fpx"] = "npx", + ["image/vnd.rn-realflash"] = "rf", ["image/vnd.wap.wbmp"] = "wbmp", ["image/vnd.xiff"] = "xif", ["image/webp"] = "webp", @@ -683,20 +809,26 @@ export { ["image/x-cmu-raster"] = "ras", ["image/x-cmx"] = "cmx", ["image/x-freehand"] = "fh", + ["image/x-gif"] = "gif", ["image/x-icon"] = "ico", + ["image/x-jg"] = "art", + ["image/x-jpeg"] = "jpg", + ["image/x-macpaint"] = "mac", ["image/x-mrsid-image"] = "sid", ["image/x-pcx"] = "pcx", - ["image/x-pict"] = "pct", + ["image/x-pict"] = "pic", + ["image/x-png"] = "png", ["image/x-portable-anymap"] = "pnm", ["image/x-portable-bitmap"] = "pbm", ["image/x-portable-graymap"] = "pgm", ["image/x-portable-pixmap"] = "ppm", + ["image/x-quicktime"] = "qti", ["image/x-rgb"] = "rgb", ["image/x-tga"] = "tga", ["image/x-xbitmap"] = "xbm", ["image/x-xpixmap"] = "xpm", ["image/x-xwindowdump"] = "xwd", - ["message/rfc822"] = "mime", + ["message/rfc822"] = "eml", ["model/iges"] = "iges", ["model/mesh"] = "mesh", ["model/vnd.collada+xml"] = "dae", @@ -713,17 +845,24 @@ export { ["text/calendar"] = "ics", ["text/css"] = "css", ["text/csv"] = "csv", + ["text/dlm"] = "dlm", + ["text/h323"] = "323", ["text/html"] = "html", + ["text/iuls"] = "uls", ["text/javascript"] = "js", + ["text/jscript"] = "jsx", ["text/n3"] = "n3", ["text/plain"] = "txt", ["text/prs.lines.tag"] = "dsc", ["text/richtext"] = "rtx", + ["text/rtf"] = "rtf", + ["text/scriptlet"] = "sct", ["text/sgml"] = "sgml", ["text/tab-separated-values"] = "tsv", ["text/troff"] = "tr", ["text/turtle"] = "ttl", ["text/uri-list"] = "uri", + ["text/vbscript"] = "vbs", ["text/vcard"] = "vcard", ["text/vnd.curl"] = "curl", ["text/vnd.curl.dcurl"] = "dcurl", @@ -736,12 +875,21 @@ export { ["text/vnd.in3d.3dml"] = "3dml", ["text/vnd.in3d.spot"] = "spot", ["text/vnd.sun.j2me.app-descriptor"] = "jad", - ["text/vnd.wap.wmlscript"] = "wmls", ["text/vnd.wap.wml"] = "wml", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vtt"] = "vtt", + ["text/webviewhtml"] = "htt", ["text/x-asm"] = "asm", ["text/x-c"] = "c", + ["text/x-component"] = "htc", ["text/x-fortran"] = "f", + ["text/x-hdml"] = "hdml", + ["text/x-html-insertion"] = "qhtm", ["text/x-java-source"] = "java", + ["text/x-ms-contact"] = "contact", + ["text/x-ms-group"] = "group", + ["text/x-ms-iqy"] = "iqy", + ["text/x-ms-rqy"] = "rqy", ["text/x-nfo"] = "nfo", ["text/x-opml"] = "opml", ["text/x-pascal"] = "pas", @@ -750,8 +898,11 @@ export { ["text/x-uuencode"] = "uu", ["text/x-vcalendar"] = "vcs", ["text/x-vcard"] = "vcf", - ["video/3gpp2"] = "3g2", + ["text/xml"] = "xml", ["video/3gpp"] = "3gp", + ["video/3gpp2"] = "3g2", + ["video/annodex"] = "axv", + ["video/divx"] = "divx", ["video/h261"] = "h261", ["video/h263"] = "h263", ["video/h264"] = "h264", @@ -767,6 +918,7 @@ export { ["video/vnd.dece.pd"] = "uvp", ["video/vnd.dece.sd"] = "uvs", ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dlna.mpeg-tts"] = "m2t", ["video/vnd.dvb.file"] = "dvb", ["video/vnd.fvt"] = "fvt", ["video/vnd.mpegurl"] = "m4u", @@ -774,21 +926,27 @@ export { ["video/vnd.uvvu.mp4"] = "uvu", ["video/vnd.vivo"] = "viv", ["video/webm"] = "webm", + ["video/x-dv"] = "dv", ["video/x-f4v"] = "f4v", ["video/x-fli"] = "fli", ["video/x-flv"] = "flv", + ["video/x-ivf"] = "IVF", + ["video/x-la-asf"] = "lsf", ["video/x-m4v"] = "m4v", ["video/x-matroska"] = "mkv", + ["video/x-matroska-3d"] = "mk3d", ["video/x-mng"] = "mng", ["video/x-ms-asf"] = "asf", - ["video/x-msvideo"] = "avi", ["video/x-ms-vob"] = "vob", - ["video/x-ms-wmv"] = "wmv", ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmp"] = "wmp", + ["video/x-ms-wmv"] = "wmv", ["video/x-ms-wmx"] = "wmx", ["video/x-ms-wvx"] = "wvx", + ["video/x-msvideo"] = "avi", ["video/x-sgi-movie"] = "movie", ["video/x-smv"] = "smv", - ["x-conference/x-cooltalk"] = "ice" + ["x-conference/x-cooltalk"] = "ice", + ["x-world/x-vrml"] = "wrl" } &default="bin" &redef; } diff --git a/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek b/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek index 290a8948c..314d4c5a9 100644 --- a/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek +++ b/sensor-iso/interface/sensor_ctl/zeek/extractor_override.interesting.zeek @@ -98,6 +98,7 @@ export { ["application/x-shockwave-flash"]= "swf", ["application/x-zip-compressed"]= "zip", ["application/zip"]= "zip", + ["text/javascript"]= "js", ["text/jscript"]= "jsx", ["text/rtf"]= "rtf", ["text/vbscript"]= "vbs" diff --git a/zeek/config/extractor_override.interesting.zeek b/zeek/config/extractor_override.interesting.zeek index 290a8948c..314d4c5a9 100644 --- a/zeek/config/extractor_override.interesting.zeek +++ b/zeek/config/extractor_override.interesting.zeek @@ -98,6 +98,7 @@ export { ["application/x-shockwave-flash"]= "swf", ["application/x-zip-compressed"]= "zip", ["application/zip"]= "zip", + ["text/javascript"]= "js", ["text/jscript"]= "jsx", ["text/rtf"]= "rtf", ["text/vbscript"]= "vbs" diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek index e72dd0f15..b693186bd 100644 --- a/zeek/config/extractor_params.zeek +++ b/zeek/config/extractor_params.zeek @@ -23,11 +23,14 @@ export { # wget -qO- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types | egrep -v ^# | awk '{ for (i=2; i<=NF; i++) {print "[\x22"$1"\x22]"" = ""\x22"$i"\x22,"}}' | sort const extractor_mime_to_ext_map : table[string] of string = { + ["application/acad"] = "dwg", ["application/andrew-inset"] = "ez", + ["application/annodex"] = "anx", ["application/applixware"] = "aw", + ["application/atom+xml"] = "atom", ["application/atomcat+xml"] = "atomcat", ["application/atomsvc+xml"] = "atomsvc", - ["application/atom+xml"] = "atom", + ["application/binary"] = "bin", ["application/ccxml+xml"] = "ccxml", ["application/cdmi-capability"] = "cdmia", ["application/cdmi-container"] = "cdmic", @@ -36,25 +39,36 @@ export { ["application/cdmi-queue"] = "cdmiq", ["application/cu-seeme"] = "cu", ["application/davmount+xml"] = "davmount", + ["application/directx"] = "x", ["application/docbook+xml"] = "dbk", ["application/dssc+der"] = "dssc", ["application/dssc+xml"] = "xdssc", - ["application/ecmascript"] = "ecma", + ["application/ecmascript"] = "es", ["application/emma+xml"] = "emma", + ["application/envoy"] = "evy", ["application/epub+zip"] = "epub", + ["application/etl"] = "etl", ["application/exi"] = "exi", + ["application/font-sfnt"] = "ttf", ["application/font-tdpfr"] = "pfr", + ["application/fractals"] = "fif", + ["application/fsharp-script"] = "fsscript", + ["application/futuresplash"] = "spl", ["application/gml+xml"] = "gml", ["application/gpx+xml"] = "gpx", ["application/gxf"] = "gxf", + ["application/hta"] = "hta", ["application/hyperstudio"] = "stk", ["application/inkml+xml"] = "inkml", + ["application/internet-property-stream"] = "acx", ["application/ipfix"] = "ipfix", ["application/java-archive"] = "jar", ["application/java-serialized-object"] = "ser", ["application/java-vm"] = "class", + ["application/javascript"] = "js", ["application/json"] = "json", ["application/jsonml+json"] = "jsonml", + ["application/liquidmotion"] = "jck", ["application/lost+xml"] = "lostxml", ["application/mac-binhex40"] = "hqx", ["application/mac-compactpro"] = "cpt", @@ -65,44 +79,58 @@ export { ["application/mathml+xml"] = "mathml", ["application/mbox"] = "mbox", ["application/mediaservercontrol+xml"] = "mscml", - ["application/metalink4+xml"] = "meta4", ["application/metalink+xml"] = "metalink", + ["application/metalink4+xml"] = "meta4", ["application/mets+xml"] = "mets", ["application/mods+xml"] = "mods", ["application/mp21"] = "mp21", ["application/mp4"] = "mp4s", + ["application/mpeg"] = "amc", + ["application/ms-vsi"] = "vsi", + ["application/msaccess"] = "accdb", + ["application/msaccess.addin"] = "accda", + ["application/msaccess.cab"] = "accdc", + ["application/msaccess.ftemplate"] = "accft", + ["application/msaccess.runtime"] = "accdr", + ["application/msaccess.webapplication"] = "accdw", + ["application/msexcel"] = "xls", + ["application/mspowerpoint"] = "ppt", ["application/msword"] = "doc", ["application/mxf"] = "mxf", ["application/octet-stream"] = "bin", ["application/oda"] = "oda", ["application/oebps-package+xml"] = "opf", ["application/ogg"] = "ogx", + ["application/olescript"] = "axs", ["application/omdoc+xml"] = "omdoc", - ["application/onenote"] = "onepkg", + ["application/onenote"] = "one", + ["application/opensearchdescription+xml"] = "osdx", ["application/oxps"] = "oxps", ["application/patch-ops-error+xml"] = "xer", ["application/pdf"] = "pdf", ["application/pgp-encrypted"] = "pgp", - ["application/pgp-signature"] = "sig", + ["application/pgp-signature"] = "pgp", ["application/pics-rules"] = "prf", ["application/pkcs10"] = "p10", - ["application/pkcs7-mime"] = "p7m", + ["application/pkcs7-mime"] = "p7c", ["application/pkcs7-signature"] = "p7s", ["application/pkcs8"] = "p8", ["application/pkix-attr-cert"] = "ac", ["application/pkix-cert"] = "cer", - ["application/pkixcmp"] = "pki", ["application/pkix-crl"] = "crl", ["application/pkix-pkipath"] = "pkipath", + ["application/pkixcmp"] = "pki", ["application/pls+xml"] = "pls", ["application/postscript"] = "ps", + ["application/PowerShell"] = "psc1", ["application/prs.cww"] = "cww", ["application/pskc+xml"] = "pskcxml", + ["application/rat-file"] = "rat", ["application/rdf+xml"] = "rdf", ["application/reginfo+xml"] = "rif", ["application/relax-ng-compact-syntax"] = "rnc", - ["application/resource-lists-diff+xml"] = "rld", ["application/resource-lists+xml"] = "rl", + ["application/resource-lists-diff+xml"] = "rld", ["application/rls-services+xml"] = "rs", ["application/rpki-ghostbusters"] = "gbr", ["application/rpki-manifest"] = "mft", @@ -127,13 +155,15 @@ export { ["application/sru+xml"] = "sru", ["application/ssdl+xml"] = "ssdl", ["application/ssml+xml"] = "ssml", + ["application/step"] = "step", + ["application/streamingmedia"] = "ssm", ["application/tei+xml"] = "tei", ["application/thraud+xml"] = "tfi", ["application/timestamped-data"] = "tsd", - ["application/vnd.3gpp2.tcap"] = "tcap", ["application/vnd.3gpp.pic-bw-large"] = "plb", ["application/vnd.3gpp.pic-bw-small"] = "psb", ["application/vnd.3gpp.pic-bw-var"] = "pvb", + ["application/vnd.3gpp2.tcap"] = "tcap", ["application/vnd.3m.post-it-notes"] = "pwn", ["application/vnd.accpac.simply.aso"] = "aso", ["application/vnd.accpac.simply.imp"] = "imp", @@ -213,18 +243,18 @@ export { ["application/vnd.fdsn.seed"] = "seed", ["application/vnd.flographit"] = "gph", ["application/vnd.fluxtime.clip"] = "ftc", - ["application/vnd.framemaker"] = "frame", + ["application/vnd.framemaker"] = "fm", ["application/vnd.frogans.fnc"] = "fnc", ["application/vnd.frogans.ltf"] = "ltf", ["application/vnd.fsc.weblaunch"] = "fsc", + ["application/vnd.fujitsu.oasys"] = "oas", ["application/vnd.fujitsu.oasys2"] = "oa2", ["application/vnd.fujitsu.oasys3"] = "oa3", ["application/vnd.fujitsu.oasysgp"] = "fg5", - ["application/vnd.fujitsu.oasys"] = "oas", ["application/vnd.fujitsu.oasysprs"] = "bh2", ["application/vnd.fujixerox.ddd"] = "ddd", - ["application/vnd.fujixerox.docuworks.binder"] = "xbd", ["application/vnd.fujixerox.docuworks"] = "xdw", + ["application/vnd.fujixerox.docuworks.binder"] = "xbd", ["application/vnd.fuzzysheet"] = "fzs", ["application/vnd.genomatix.tuxedo"] = "txd", ["application/vnd.geogebra.file"] = "ggb", @@ -271,8 +301,8 @@ export { ["application/vnd.intu.qfx"] = "qfx", ["application/vnd.ipunplugged.rcprofile"] = "rcprofile", ["application/vnd.irepository.package+xml"] = "irp", - ["application/vnd.isac.fcs"] = "fcs", ["application/vnd.is-xpr"] = "xpr", + ["application/vnd.isac.fcs"] = "fcs", ["application/vnd.jam"] = "jam", ["application/vnd.jcp.javame.midlet-rms"] = "rms", ["application/vnd.jisp"] = "jisp", @@ -283,7 +313,7 @@ export { ["application/vnd.kde.kformula"] = "kfo", ["application/vnd.kde.kivio"] = "flw", ["application/vnd.kde.kontour"] = "kon", - ["application/vnd.kde.kpresenter"] = "kpr", + ["application/vnd.kde.kpresenter"] = "kpt", ["application/vnd.kde.kspread"] = "ksp", ["application/vnd.kde.kword"] = "kwd", ["application/vnd.kenameaapp"] = "htke", @@ -309,6 +339,7 @@ export { ["application/vnd.mfmp"] = "mfm", ["application/vnd.micrografx.flo"] = "flo", ["application/vnd.micrografx.igx"] = "igx", + ["application/vnd.microsoft.portable-executable"] = "exe", ["application/vnd.mif"] = "mif", ["application/vnd.mobius.daf"] = "daf", ["application/vnd.mobius.dis"] = "dis", @@ -322,31 +353,48 @@ export { ["application/vnd.mozilla.xul+xml"] = "xul", ["application/vnd.ms-artgalry"] = "cil", ["application/vnd.ms-cab-compressed"] = "cab", - ["application/vnd.mseq"] = "mseq", + ["application/vnd.ms-excel"] = "xls", ["application/vnd.ms-excel.addin.macroenabled.12"] = "xlam", + ["application/vnd.ms-excel.addin.macroEnabled.12"] = "xlam", ["application/vnd.ms-excel.sheet.binary.macroenabled.12"] = "xlsb", + ["application/vnd.ms-excel.sheet.binary.macroEnabled.12"] = "xlsb", ["application/vnd.ms-excel.sheet.macroenabled.12"] = "xlsm", + ["application/vnd.ms-excel.sheet.macroEnabled.12"] = "xlsm", ["application/vnd.ms-excel.template.macroenabled.12"] = "xltm", - ["application/vnd.ms-excel"] = "xls", + ["application/vnd.ms-excel.template.macroEnabled.12"] = "xltm", ["application/vnd.ms-fontobject"] = "eot", ["application/vnd.ms-htmlhelp"] = "chm", ["application/vnd.ms-ims"] = "ims", ["application/vnd.ms-lrm"] = "lrm", + ["application/vnd.ms-mediapackage"] = "mpf", + ["application/vnd.ms-office.calx"] = "calx", ["application/vnd.ms-officetheme"] = "thmx", + ["application/vnd.ms-outlook"] = "msg", + ["application/vnd.ms-pki.certstore"] = "sst", + ["application/vnd.ms-pki.pko"] = "pko", ["application/vnd.ms-pki.seccat"] = "cat", ["application/vnd.ms-pki.stl"] = "stl", - ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", ["application/vnd.ms-powerpoint"] = "ppt", + ["application/vnd.ms-powerpoint.addin.macroenabled.12"] = "ppam", + ["application/vnd.ms-powerpoint.addin.macroEnabled.12"] = "ppam", ["application/vnd.ms-powerpoint.presentation.macroenabled.12"] = "pptm", + ["application/vnd.ms-powerpoint.presentation.macroEnabled.12"] = "pptm", ["application/vnd.ms-powerpoint.slide.macroenabled.12"] = "sldm", + ["application/vnd.ms-powerpoint.slide.macroEnabled.12"] = "sldm", ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"] = "ppsm", + ["application/vnd.ms-powerpoint.slideshow.macroEnabled.12"] = "ppsm", ["application/vnd.ms-powerpoint.template.macroenabled.12"] = "potm", - ["application/vnd.ms-project"] = "mpp", + ["application/vnd.ms-powerpoint.template.macroEnabled.12"] = "potm", + ["application/vnd.ms-project"] = "mpt", + ["application/vnd.ms-visio.viewer"] = "vdx", ["application/vnd.ms-word.document.macroenabled.12"] = "docm", + ["application/vnd.ms-word.document.macroEnabled.12"] = "docm", ["application/vnd.ms-word.template.macroenabled.12"] = "dotm", - ["application/vnd.ms-works"] = "wps", + ["application/vnd.ms-word.template.macroEnabled.12"] = "dotm", + ["application/vnd.ms-works"] = "wks", ["application/vnd.ms-wpl"] = "wpl", ["application/vnd.ms-xpsdocument"] = "xps", + ["application/vnd.mseq"] = "mseq", ["application/vnd.musician"] = "mus", ["application/vnd.muvee.style"] = "msty", ["application/vnd.mynfc"] = "taglet", @@ -375,16 +423,16 @@ export { ["application/vnd.oasis.opendocument.presentation-template"] = "otp", ["application/vnd.oasis.opendocument.spreadsheet"] = "ods", ["application/vnd.oasis.opendocument.spreadsheet-template"] = "ots", - ["application/vnd.oasis.opendocument.text-master"] = "odm", ["application/vnd.oasis.opendocument.text"] = "odt", + ["application/vnd.oasis.opendocument.text-master"] = "odm", ["application/vnd.oasis.opendocument.text-template"] = "ott", ["application/vnd.oasis.opendocument.text-web"] = "oth", ["application/vnd.olpc-sugar"] = "xo", ["application/vnd.oma.dd2+xml"] = "dd2", ["application/vnd.openofficeorg.extension"] = "oxt", ["application/vnd.openxmlformats-officedocument.presentationml.presentation"] = "pptx", - ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", ["application/vnd.openxmlformats-officedocument.presentationml.slide"] = "sldx", + ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"] = "ppsx", ["application/vnd.openxmlformats-officedocument.presentationml.template"] = "potx", ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] = "xlsx", ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"] = "xltx", @@ -405,7 +453,7 @@ export { ["application/vnd.proteus.magazine"] = "mgz", ["application/vnd.publishare-delta-tree"] = "qps", ["application/vnd.pvi.ptid1"] = "ptid", - ["application/vnd.quark.quarkxpress"] = "qxd", + ["application/vnd.quark.quarkxpress"] = "qxt", ["application/vnd.realvnc.bed"] = "bed", ["application/vnd.recordare.musicxml"] = "mxl", ["application/vnd.recordare.musicxml+xml"] = "musicxml", @@ -413,6 +461,7 @@ export { ["application/vnd.rim.cod"] = "cod", ["application/vnd.rn-realmedia"] = "rm", ["application/vnd.rn-realmedia-vbr"] = "rmvb", + ["application/vnd.rn-rn_music_package"] = "rmp", ["application/vnd.route66.link66+xml"] = "link66", ["application/vnd.sailingtracker.track"] = "st", ["application/vnd.seemail"] = "see", @@ -433,8 +482,8 @@ export { ["application/vnd.stardivision.draw"] = "sda", ["application/vnd.stardivision.impress"] = "sdd", ["application/vnd.stardivision.math"] = "smf", - ["application/vnd.stardivision.writer-global"] = "sgl", ["application/vnd.stardivision.writer"] = "sdw", + ["application/vnd.stardivision.writer-global"] = "sgl", ["application/vnd.stepmania.package"] = "smzip", ["application/vnd.stepmania.stepchart"] = "sm", ["application/vnd.sun.xml.calc"] = "sxc", @@ -444,15 +493,15 @@ export { ["application/vnd.sun.xml.impress"] = "sxi", ["application/vnd.sun.xml.impress.template"] = "sti", ["application/vnd.sun.xml.math"] = "sxm", - ["application/vnd.sun.xml.writer.global"] = "sxg", ["application/vnd.sun.xml.writer"] = "sxw", + ["application/vnd.sun.xml.writer.global"] = "sxg", ["application/vnd.sun.xml.writer.template"] = "stw", ["application/vnd.sus-calendar"] = "sus", ["application/vnd.svd"] = "svd", ["application/vnd.symbian.install"] = "sis", + ["application/vnd.syncml+xml"] = "xsm", ["application/vnd.syncml.dm+wbxml"] = "bdm", ["application/vnd.syncml.dm+xml"] = "xdm", - ["application/vnd.syncml+xml"] = "xsm", ["application/vnd.tao.intent-module-archive"] = "tao", ["application/vnd.tcpdump.pcap"] = "pcap", ["application/vnd.tmobile-livetv"] = "tmo", @@ -465,8 +514,8 @@ export { ["application/vnd.unity"] = "unityweb", ["application/vnd.uoml+xml"] = "uoml", ["application/vnd.vcx"] = "vcx", - ["application/vnd.visionary"] = "vis", ["application/vnd.visio"] = "vsd", + ["application/vnd.visionary"] = "vis", ["application/vnd.vsf"] = "vsf", ["application/vnd.wap.wbxml"] = "wbxml", ["application/vnd.wap.wmlc"] = "wmlc", @@ -489,28 +538,35 @@ export { ["application/vnd.zul"] = "zir", ["application/vnd.zzazz.deck+xml"] = "zaz", ["application/voicexml+xml"] = "vxml", + ["application/vsix"] = "vsix", ["application/wasm"] = "wasm", ["application/widget"] = "wgt", + ["application/windows-library+xml"] = "library-ms", + ["application/windows-search-connector+xml"] = "searchConnector-ms", ["application/winhlp"] = "hlp", + ["application/wlmoviemaker"] = "WLMP", ["application/wsdl+xml"] = "wsdl", ["application/wspolicy+xml"] = "wspolicy", ["application/x-7z-compressed"] = "7z", ["application/x-abiword"] = "abw", ["application/x-ace-compressed"] = "ace", - ["application/xaml+xml"] = "xaml", ["application/x-apple-diskimage"] = "dmg", ["application/x-authorware-bin"] = "aab", + ["application/x-authorware-map"] = "aam", + ["application/x-authorware-seg"] = "aas", ["application/x-bcpio"] = "bcpio", ["application/x-bittorrent"] = "torrent", ["application/x-blorb"] = "blorb", - ["application/x-bzip2"] = "bz2", + ["application/x-bridge-url"] = "adobebridge", ["application/x-bzip"] = "bz", - ["application/xcap-diff+xml"] = "xdf", + ["application/x-bzip2"] = "bz2", ["application/x-cbr"] = "cbr", ["application/x-cdlink"] = "vcd", ["application/x-cfs-compressed"] = "cfs", ["application/x-chat"] = "chat", ["application/x-chess-pgn"] = "pgn", + ["application/x-compress"] = "z", + ["application/x-compressed"] = "tgz", ["application/x-conference"] = "nsc", ["application/x-cpio"] = "cpio", ["application/x-csh"] = "csh", @@ -518,13 +574,16 @@ export { ["application/x-dgc-compressed"] = "dgc", ["application/x-director"] = "dir", ["application/x-doom"] = "wad", + ["application/x-dosexec"] = "exe", ["application/x-dtbncx+xml"] = "ncx", ["application/x-dtbook+xml"] = "dtb", ["application/x-dtbresource+xml"] = "res", ["application/x-dvi"] = "dvi", - ["application/xenc+xml"] = "xenc", + ["application/x-dxf"] = "dxf", + ["application/x-elf"] = "elf", ["application/x-envoy"] = "evy", ["application/x-eva"] = "eva", + ["application/x-executable"] = "exe", ["application/x-font-bdf"] = "bdf", ["application/x-font-ghostscript"] = "gsf", ["application/x-font-linux-psf"] = "psf", @@ -538,49 +597,75 @@ export { ["application/x-gnumeric"] = "gnumeric", ["application/x-gramps-xml"] = "gramps", ["application/x-gtar"] = "gtar", + ["application/x-gzip"] = "gz", ["application/x-hdf"] = "hdf", - ["application/xhtml+xml"] = "xhtml", ["application/x-install-instructions"] = "install", + ["application/x-internet-signup"] = "isp", + ["application/x-iphone"] = "iii", ["application/x-iso9660-image"] = "iso", + ["application/x-itunes-ipa"] = "ipa", + ["application/x-itunes-ipg"] = "ipg", + ["application/x-itunes-ipsw"] = "ipsw", + ["application/x-itunes-ite"] = "ite", + ["application/x-itunes-itlp"] = "itlp", + ["application/x-itunes-itms"] = "itms", + ["application/x-itunes-itpc"] = "itpc", + ["application/x-java-applet"] = "class", ["application/x-java-jnlp-file"] = "jnlp", + ["application/x-koan"] = "skp", ["application/x-latex"] = "latex", ["application/x-lzh-compressed"] = "lzh", ["application/x-mie"] = "mie", - ["application/xml-dtd"] = "dtd", - ["application/xml"] = "xml", + ["application/x-miva-compiled"] = "mvc", + ["application/x-mmxp"] = "mxp", ["application/x-mobipocket-ebook"] = "mobi", - ["application/x-msaccess"] = "mdb", ["application/x-ms-application"] = "application", + ["application/x-ms-installer"] = "msi", + ["application/x-ms-license"] = "slupkg-ms", + ["application/x-ms-manifest"] = "manifest", + ["application/x-ms-reader"] = "lit", + ["application/x-ms-shortcut"] = "lnk", + ["application/x-ms-vsto"] = "vsto", + ["application/x-ms-wmd"] = "wmd", + ["application/x-ms-wmz"] = "wmz", + ["application/x-ms-xbap"] = "xbap", + ["application/x-msaccess"] = "mdb", ["application/x-msbinder"] = "obd", ["application/x-mscardfile"] = "crd", ["application/x-msclip"] = "clp", - ["application/x-msdownload"] = "msi", + ["application/x-msdos-program"] = "exe", + ["application/x-msdownload"] = "exe", ["application/x-msmediaview"] = "mvb", ["application/x-msmetafile"] = "wmf", ["application/x-msmoney"] = "mny", ["application/x-mspublisher"] = "pub", ["application/x-msschedule"] = "scd", - ["application/x-ms-shortcut"] = "lnk", ["application/x-msterminal"] = "trm", - ["application/x-ms-wmd"] = "wmd", - ["application/x-ms-wmz"] = "wmz", ["application/x-mswrite"] = "wri", - ["application/x-ms-xbap"] = "xbap", ["application/x-netcdf"] = "cdf", ["application/x-nzb"] = "nzb", - ["application/xop+xml"] = "xop", + ["application/x-oleobject"] = "hhc", + ["application/x-pcapng"] = "pcap", + ["application/x-pe-app-32bit-i386"] = "exe", + ["application/x-perfmon"] = "pmw", + ["application/x-perl"] = "pl", ["application/x-pkcs12"] = "p12", ["application/x-pkcs7-certificates"] = "p7b", ["application/x-pkcs7-certreqresp"] = "p7r", - ["application/xproc+xml"] = "xpl", + ["application/x-podcast"] = "pcast", + ["application/x-python"] = "py", + ["application/x-quicktimeplayer"] = "qtl", ["application/x-rar-compressed"] = "rar", ["application/x-research-info-systems"] = "ris", + ["application/x-safari-safariextz"] = "safariextz", + ["application/x-safari-webarchive"] = "webarchive", + ["application/x-sgimb"] = "sgimb", + ["application/x-sh"] = "sh", ["application/x-shar"] = "shar", + ["application/x-sharedlib"] = "lib", ["application/x-shockwave-flash"] = "swf", - ["application/x-sh"] = "sh", ["application/x-silverlight-app"] = "xap", - ["application/xslt+xml"] = "xslt", - ["application/xspf+xml"] = "xspf", + ["application/x-smaf"] = "mmf", ["application/x-sql"] = "sql", ["application/x-stuffit"] = "sit", ["application/x-stuffitx"] = "sitx", @@ -591,32 +676,62 @@ export { ["application/x-tads"] = "gam", ["application/x-tar"] = "tar", ["application/x-tcl"] = "tcl", - ["application/x-texinfo"] = "texinfo", ["application/x-tex"] = "tex", ["application/x-tex-tfm"] = "tfm", + ["application/x-texinfo"] = "texinfo", ["application/x-tgif"] = "obj", + ["application/x-troff"] = "tr", + ["application/x-troff-man"] = "man", + ["application/x-troff-me"] = "me", + ["application/x-troff-ms"] = "ms", ["application/x-ustar"] = "ustar", - ["application/xv+xml"] = "xvml", ["application/x-wais-source"] = "src", + ["application/x-wlpg-detect"] = "wlpginstall", + ["application/x-wlpg3-detect"] = "wlpginstall3", ["application/x-x509-ca-cert"] = "crt", ["application/x-xfig"] = "fig", ["application/x-xliff+xml"] = "xlf", ["application/x-xpinstall"] = "xpi", ["application/x-xz"] = "xz", + ["application/x-zip-compressed"] = "zip", ["application/x-zmachine"] = "z1", + ["application/xaml+xml"] = "xaml", + ["application/xcap-diff+xml"] = "xdf", + ["application/xenc+xml"] = "xenc", + ["application/xhtml+xml"] = "xhtml", + ["application/xml"] = "xml", + ["application/xml-dtd"] = "dtd", + ["application/xop+xml"] = "xop", + ["application/xproc+xml"] = "xpl", + ["application/xslt+xml"] = "xslt", + ["application/xspf+xml"] = "xspf", + ["application/xv+xml"] = "xvml", ["application/yang"] = "yang", ["application/yin+xml"] = "yin", ["application/zip"] = "zip", + ["audio/aac"] = "aac", + ["audio/ac3"] = "ac3", ["audio/adpcm"] = "adp", + ["audio/aiff"] = "aiff", + ["audio/annodex"] = "axa", + ["audio/audible"] = "aa", ["audio/basic"] = "au", - ["audio/midi"] = "mid", + ["audio/flac"] = "flac", + ["audio/m4a"] = "m4a", + ["audio/m4b"] = "m4b", + ["audio/m4p"] = "m4p", + ["audio/mid"] = "midi", + ["audio/midi"] = "midi", ["audio/mp4"] = "m4a", - ["audio/mpeg"] = "mpga", + ["audio/mpeg"] = "mp3", ["audio/ogg"] = "ogg", ["audio/s3m"] = "s3m", + ["audio/scpls"] = "pls", ["audio/silk"] = "sil", + ["audio/vnd.audible.aax"] = "aax", ["audio/vnd.dece.audio"] = "uva", ["audio/vnd.digital-winds"] = "eol", + ["audio/vnd.dlna.adts"] = "ADT", ["audio/vnd.dra"] = "dra", ["audio/vnd.dts"] = "dts", ["audio/vnd.dts.hd"] = "dtshd", @@ -626,37 +741,47 @@ export { ["audio/vnd.nuera.ecelp7470"] = "ecelp7470", ["audio/vnd.nuera.ecelp9600"] = "ecelp9600", ["audio/vnd.rip"] = "rip", + ["audio/wav"] = "wav", ["audio/webm"] = "weba", ["audio/x-aac"] = "aac", ["audio/x-aiff"] = "aiff", ["audio/x-caf"] = "caf", ["audio/x-flac"] = "flac", + ["audio/x-gsm"] = "gsm", + ["audio/x-m4a"] = "m4a", + ["audio/x-m4r"] = "m4r", ["audio/x-matroska"] = "mka", ["audio/x-mpegurl"] = "m3u", ["audio/x-ms-wax"] = "wax", ["audio/x-ms-wma"] = "wma", - ["audio/xm"] = "xm", - ["audio/x-pn-realaudio-plugin"] = "rmp", ["audio/x-pn-realaudio"] = "ra", + ["audio/x-pn-realaudio-plugin"] = "rmp", + ["audio/x-sd2"] = "sd2", + ["audio/x-smd"] = "smd", ["audio/x-wav"] = "wav", + ["audio/xm"] = "xm", ["chemical/x-cdx"] = "cdx", ["chemical/x-cif"] = "cif", ["chemical/x-cmdf"] = "cmdf", ["chemical/x-cml"] = "cml", ["chemical/x-csml"] = "csml", ["chemical/x-xyz"] = "xyz", + ["drawing/x-dwf"] = "dwf", ["font/collection"] = "ttc", ["font/otf"] = "otf", ["font/ttf"] = "ttf", - ["font/woff2"] = "woff2", ["font/woff"] = "woff", + ["font/woff2"] = "woff2", ["image/bmp"] = "bmp", ["image/cgm"] = "cgm", + ["image/cis-cod"] = "cod", ["image/g3fax"] = "g3", ["image/gif"] = "gif", ["image/ief"] = "ief", ["image/jpeg"] = "jpg", ["image/ktx"] = "ktx", + ["image/pict"] = "pict", + ["image/pjpeg"] = "jfif", ["image/png"] = "png", ["image/prs.btif"] = "btif", ["image/sgi"] = "sgi", @@ -676,6 +801,7 @@ export { ["image/vnd.ms-modi"] = "mdi", ["image/vnd.ms-photo"] = "wdp", ["image/vnd.net-fpx"] = "npx", + ["image/vnd.rn-realflash"] = "rf", ["image/vnd.wap.wbmp"] = "wbmp", ["image/vnd.xiff"] = "xif", ["image/webp"] = "webp", @@ -683,20 +809,26 @@ export { ["image/x-cmu-raster"] = "ras", ["image/x-cmx"] = "cmx", ["image/x-freehand"] = "fh", + ["image/x-gif"] = "gif", ["image/x-icon"] = "ico", + ["image/x-jg"] = "art", + ["image/x-jpeg"] = "jpg", + ["image/x-macpaint"] = "mac", ["image/x-mrsid-image"] = "sid", ["image/x-pcx"] = "pcx", - ["image/x-pict"] = "pct", + ["image/x-pict"] = "pic", + ["image/x-png"] = "png", ["image/x-portable-anymap"] = "pnm", ["image/x-portable-bitmap"] = "pbm", ["image/x-portable-graymap"] = "pgm", ["image/x-portable-pixmap"] = "ppm", + ["image/x-quicktime"] = "qti", ["image/x-rgb"] = "rgb", ["image/x-tga"] = "tga", ["image/x-xbitmap"] = "xbm", ["image/x-xpixmap"] = "xpm", ["image/x-xwindowdump"] = "xwd", - ["message/rfc822"] = "mime", + ["message/rfc822"] = "eml", ["model/iges"] = "iges", ["model/mesh"] = "mesh", ["model/vnd.collada+xml"] = "dae", @@ -713,17 +845,24 @@ export { ["text/calendar"] = "ics", ["text/css"] = "css", ["text/csv"] = "csv", + ["text/dlm"] = "dlm", + ["text/h323"] = "323", ["text/html"] = "html", + ["text/iuls"] = "uls", ["text/javascript"] = "js", + ["text/jscript"] = "jsx", ["text/n3"] = "n3", ["text/plain"] = "txt", ["text/prs.lines.tag"] = "dsc", ["text/richtext"] = "rtx", + ["text/rtf"] = "rtf", + ["text/scriptlet"] = "sct", ["text/sgml"] = "sgml", ["text/tab-separated-values"] = "tsv", ["text/troff"] = "tr", ["text/turtle"] = "ttl", ["text/uri-list"] = "uri", + ["text/vbscript"] = "vbs", ["text/vcard"] = "vcard", ["text/vnd.curl"] = "curl", ["text/vnd.curl.dcurl"] = "dcurl", @@ -736,12 +875,21 @@ export { ["text/vnd.in3d.3dml"] = "3dml", ["text/vnd.in3d.spot"] = "spot", ["text/vnd.sun.j2me.app-descriptor"] = "jad", - ["text/vnd.wap.wmlscript"] = "wmls", ["text/vnd.wap.wml"] = "wml", + ["text/vnd.wap.wmlscript"] = "wmls", + ["text/vtt"] = "vtt", + ["text/webviewhtml"] = "htt", ["text/x-asm"] = "asm", ["text/x-c"] = "c", + ["text/x-component"] = "htc", ["text/x-fortran"] = "f", + ["text/x-hdml"] = "hdml", + ["text/x-html-insertion"] = "qhtm", ["text/x-java-source"] = "java", + ["text/x-ms-contact"] = "contact", + ["text/x-ms-group"] = "group", + ["text/x-ms-iqy"] = "iqy", + ["text/x-ms-rqy"] = "rqy", ["text/x-nfo"] = "nfo", ["text/x-opml"] = "opml", ["text/x-pascal"] = "pas", @@ -750,8 +898,11 @@ export { ["text/x-uuencode"] = "uu", ["text/x-vcalendar"] = "vcs", ["text/x-vcard"] = "vcf", - ["video/3gpp2"] = "3g2", + ["text/xml"] = "xml", ["video/3gpp"] = "3gp", + ["video/3gpp2"] = "3g2", + ["video/annodex"] = "axv", + ["video/divx"] = "divx", ["video/h261"] = "h261", ["video/h263"] = "h263", ["video/h264"] = "h264", @@ -767,6 +918,7 @@ export { ["video/vnd.dece.pd"] = "uvp", ["video/vnd.dece.sd"] = "uvs", ["video/vnd.dece.video"] = "uvv", + ["video/vnd.dlna.mpeg-tts"] = "m2t", ["video/vnd.dvb.file"] = "dvb", ["video/vnd.fvt"] = "fvt", ["video/vnd.mpegurl"] = "m4u", @@ -774,21 +926,27 @@ export { ["video/vnd.uvvu.mp4"] = "uvu", ["video/vnd.vivo"] = "viv", ["video/webm"] = "webm", + ["video/x-dv"] = "dv", ["video/x-f4v"] = "f4v", ["video/x-fli"] = "fli", ["video/x-flv"] = "flv", + ["video/x-ivf"] = "IVF", + ["video/x-la-asf"] = "lsf", ["video/x-m4v"] = "m4v", ["video/x-matroska"] = "mkv", + ["video/x-matroska-3d"] = "mk3d", ["video/x-mng"] = "mng", ["video/x-ms-asf"] = "asf", - ["video/x-msvideo"] = "avi", ["video/x-ms-vob"] = "vob", - ["video/x-ms-wmv"] = "wmv", ["video/x-ms-wm"] = "wm", + ["video/x-ms-wmp"] = "wmp", + ["video/x-ms-wmv"] = "wmv", ["video/x-ms-wmx"] = "wmx", ["video/x-ms-wvx"] = "wvx", + ["video/x-msvideo"] = "avi", ["video/x-sgi-movie"] = "movie", ["video/x-smv"] = "smv", - ["x-conference/x-cooltalk"] = "ice" + ["x-conference/x-cooltalk"] = "ice", + ["x-world/x-vrml"] = "wrl" } &default="bin" &redef; } From 1ca00e0ab7643c492e313fd7f41d28fededd3828 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 14:53:07 -0700 Subject: [PATCH 52/88] idaholab/Malcolm#290, add 'all files except common plain text files' to file carving option for Malcolm --- .../includes.chroot/opt/zeek/share/zeek/site/extractor.zeek | 2 +- .../opt/zeek/share/zeek/site/extractor_params.zeek | 2 ++ zeek/config/extractor.zeek | 2 +- zeek/config/extractor_params.zeek | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek index 643b67bc4..7f846c9ea 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor.zeek @@ -16,7 +16,7 @@ event file_sniff(f: fa_file, meta: fa_metadata) { ((! meta?$mime_type) && extractor_always_extract_unknown) || # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || - # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped + # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped OR ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek index b693186bd..6ec4ef4e1 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek @@ -16,7 +16,9 @@ export { const plain_text_mimes : set[string] = { "application/json", "application/x-x509-ca-cert", + "application/x-x509-user-cert", "application/xml", + "text/json", "text/plain", "text/xml", } &redef; diff --git a/zeek/config/extractor.zeek b/zeek/config/extractor.zeek index 643b67bc4..7f846c9ea 100644 --- a/zeek/config/extractor.zeek +++ b/zeek/config/extractor.zeek @@ -16,7 +16,7 @@ event file_sniff(f: fa_file, meta: fa_metadata) { ((! meta?$mime_type) && extractor_always_extract_unknown) || # we only want to extract knowns and we know the mime type OR ((extractor_extract_mode == extractor_extract_known) && meta?$mime_type) || - # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped + # we only want to extract mime->extension mapped files, we know the mimetype, and the mime type is mapped OR ((extractor_extract_mode == extractor_extract_mapped) && meta?$mime_type && (meta$mime_type in extractor_mime_to_ext_map)) || # we want to extract everything except common plain-text mimes, and either there's no mime type or the mime type isn't one of those ((extractor_extract_mode == extractor_extract_notcommtxt) && ((! meta?$mime_type) || (meta$mime_type !in plain_text_mimes)))) { diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek index b693186bd..6ec4ef4e1 100644 --- a/zeek/config/extractor_params.zeek +++ b/zeek/config/extractor_params.zeek @@ -16,7 +16,9 @@ export { const plain_text_mimes : set[string] = { "application/json", "application/x-x509-ca-cert", + "application/x-x509-user-cert", "application/xml", + "text/json", "text/plain", "text/xml", } &redef; From 9c9f39c46231d496f9ba99654ae217da710491c0 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 15:11:26 -0700 Subject: [PATCH 53/88] idaholab/Malcolm#290, add 'all files except common plain text files' to file carving option for Malcolm --- .../opt/zeek/share/zeek/site/extractor_params.zeek | 1 + zeek/config/extractor_params.zeek | 1 + 2 files changed, 2 insertions(+) diff --git a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek index 6ec4ef4e1..9e1325fa0 100644 --- a/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek +++ b/sensor-iso/config/includes.chroot/opt/zeek/share/zeek/site/extractor_params.zeek @@ -15,6 +15,7 @@ export { const plain_text_mimes : set[string] = { "application/json", + "application/soap+xml", "application/x-x509-ca-cert", "application/x-x509-user-cert", "application/xml", diff --git a/zeek/config/extractor_params.zeek b/zeek/config/extractor_params.zeek index 6ec4ef4e1..9e1325fa0 100644 --- a/zeek/config/extractor_params.zeek +++ b/zeek/config/extractor_params.zeek @@ -15,6 +15,7 @@ export { const plain_text_mimes : set[string] = { "application/json", + "application/soap+xml", "application/x-x509-ca-cert", "application/x-x509-user-cert", "application/xml", From 01e2323dfdca8db800abaebb9dc1cc81d9de354e Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Mon, 8 Jan 2024 15:19:04 -0700 Subject: [PATCH 54/88] fix idaholab/Malcolm#314, Suricata Alerts dashboard 'tags' visualization is useless --- .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 902 +++++++++--------- 1 file changed, 451 insertions(+), 451 deletions(-) diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index 87f3167cc..49405f87b 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -1,452 +1,452 @@ -{ - "version": "1.3.1", - "objects": [ - { - "id": "5694ca60-cbdf-11ec-a50a-5fedd672f5c5", - "type": "dashboard", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:51:44.144Z", - "version": "WzI1OTEsMV0=", - "attributes": { - "title": "Suricata Alerts", - "hits": 0, - "description": "", - "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":27,\"i\":\"5\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"5\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":11,\"i\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":11,\"i\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":16,\"i\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"w\":19,\"x\":8,\"y\":11},\"panelIndex\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":35,\"i\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"w\":21,\"x\":27,\"y\":11},\"panelIndex\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":19,\"i\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"w\":10,\"x\":0,\"y\":27},\"panelIndex\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":19,\"i\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"w\":17,\"x\":10,\"y\":27},\"panelIndex\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"w\":10,\"x\":0,\"y\":46},\"panelIndex\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"w\":14,\"x\":10,\"y\":46},\"panelIndex\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"w\":12,\"x\":36,\"y\":46},\"panelIndex\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"w\":12,\"x\":24,\"y\":46},\"panelIndex\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":30,\"i\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"w\":48,\"x\":0,\"y\":64},\"panelIndex\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"version\":\"1.3.1\",\"panelRefName\":\"panel_11\"}]", - "optionsJSON": "{\"useMargins\":true}", - "version": 1, - "timeRestore": false, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[]}" - } - }, - "references": [ - { - "name": "panel_0", - "type": "visualization", - "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3" - }, - { - "name": "panel_1", - "type": "visualization", - "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_2", - "type": "visualization", - "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_3", - "type": "visualization", - "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_4", - "type": "visualization", - "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_5", - "type": "visualization", - "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_6", - "type": "visualization", - "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_7", - "type": "visualization", - "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_8", - "type": "visualization", - "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_9", - "type": "visualization", - "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_10", - "type": "visualization", - "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5" - }, - { - "name": "panel_11", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "dashboard": "7.9.3" - } - }, - { - "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T17:53:15.100Z", - "version": "Wzc4NCwxXQ==", - "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\":[]}", - "uiStateJSON": "{}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}" - } - }, - "references": [], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:24:11.223Z", - "version": "WzIxNzQsMV0=", - "attributes": { - "title": "Alerts - Log Count", - "visState": "{\"title\":\"Alerts - Log Count\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":false},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":36}}}}", - "uiStateJSON": "{}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:25:17.961Z", - "version": "WzIxODEsMV0=", - "attributes": { - "title": "Alerts - Log Count Over Time", - "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", - "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:42:11.290Z", - "version": "WzIzMjgsMV0=", - "attributes": { - "title": "Alerts - Tags", - "visState": "{\"title\":\"Alerts - Tags\",\"type\":\"tagcloud\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"schema\":\"segment\"}}],\"params\":{\"scale\":\"square root\",\"orientation\":\"single\",\"minFontSize\":18,\"maxFontSize\":48,\"showLabel\":false}}", - "uiStateJSON": "{}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:27:08.830Z", - "version": "WzIxOTUsMV0=", - "attributes": { - "title": "Alert Category", - "visState": "{\"title\":\"Alert Category\",\"type\":\"horizontal_bar\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":30,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Category\"},\"schema\":\"segment\"}],\"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\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\" \",\"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\"}}}", - "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:48:01.982Z", - "version": "WzI0NTYsMV0=", - "attributes": { - "title": "Alerts - Target", - "visState": "{\"title\":\"Alerts - Target\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Target\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:48:21.122Z", - "version": "WzI0NzQsMV0=", - "attributes": { - "title": "Alerts - Name", - "visState": "{\"title\":\"Alerts - Name\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Name\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:47:45.982Z", - "version": "WzI0MzgsMV0=", - "attributes": { - "title": "Alerts - Source", - "visState": "{\"title\":\"Alerts - Source\",\"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\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source IP\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:47:26.491Z", - "version": "WzI0MTUsMV0=", - "attributes": { - "title": "Alerts - Destination", - "visState": "{\"title\":\"Alerts - Destination\",\"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\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination IP\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.port\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Port\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", - "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}}", - "description": "", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:51:21.487Z", - "version": "WzI1NzUsMV0=", - "attributes": { - "title": "Alerts - Destination Country", - "visState": "{\"title\":\"Alerts - Destination Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5", - "type": "visualization", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T19:50:18.591Z", - "version": "WzI1MzgsMV0=", - "attributes": { - "title": "Alerts - Source Country", - "visState": "{\"title\":\"Alerts - Source Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" - }, - "savedSearchRefName": "search_0" - }, - "references": [ - { - "name": "search_0", - "type": "search", - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" - } - ], - "migrationVersion": { - "visualization": "7.10.0" - } - }, - { - "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5", - "type": "search", - "namespaces": [ - "default" - ], - "updated_at": "2022-05-04T18:29:39.730Z", - "version": "WzEzMTcsMV0=", - "attributes": { - "title": "Suricata Alerts - Logs", - "description": "", - "hits": 0, - "columns": [ - "rule.category", - "rule.name", - "rule.id", - "vulnerability.category", - "source.ip", - "destination.ip", - "event.id" - ], - "sort": [], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"query\":\"event.provider:suricata AND event.dataset:alert\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" - } - }, - "references": [ - { - "name": "kibanaSavedObjectMeta.searchSourceJSON.index", - "type": "index-pattern", - "id": "arkime_sessions3-*" - } - ], - "migrationVersion": { - "search": "7.9.3" - } - } - ] +{ + "version": "2.11.1", + "objects": [ + { + "id": "5694ca60-cbdf-11ec-a50a-5fedd672f5c5", + "type": "dashboard", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:17:37.689Z", + "version": "Wzk1MSwxXQ==", + "attributes": { + "title": "Suricata Alerts", + "hits": 0, + "description": "", + "panelsJSON": "[{\"version\":\"2.11.1\",\"gridData\":{\"h\":27,\"i\":\"5\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":11,\"i\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"331da8a4-a726-4c07-9ff0-5f95eab912c8\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":11,\"i\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"daab2b41-3ca9-4410-a1c8-e1ba32e95de9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_2\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":16,\"i\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"w\":19,\"x\":8,\"y\":11},\"panelIndex\":\"cdd4f7f8-4cd3-449d-9076-6e236f946ef3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_3\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":35,\"i\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"w\":21,\"x\":27,\"y\":11},\"panelIndex\":\"aa99aaa4-9970-4910-9762-07eac21bffc5\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":19,\"i\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"w\":10,\"x\":0,\"y\":27},\"panelIndex\":\"688db712-7f7f-4903-b484-367c3a52f15e\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":19,\"i\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"w\":17,\"x\":10,\"y\":27},\"panelIndex\":\"6a87656d-7ae9-4a7f-af93-e4bf91a39160\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_6\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"w\":10,\"x\":0,\"y\":46},\"panelIndex\":\"e76eaf12-21aa-44bd-80ff-2383ccfee2a8\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_7\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"w\":14,\"x\":10,\"y\":46},\"panelIndex\":\"4884a3be-aece-45b8-942b-1a25221b5049\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":2,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_8\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"w\":12,\"x\":36,\"y\":46},\"panelIndex\":\"19552ae8-56c1-488b-a559-f26fc2c0f881\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_9\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":18,\"i\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"w\":12,\"x\":24,\"y\":46},\"panelIndex\":\"3b293194-f08c-490a-8c29-34b99a5dc0db\",\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":1,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.11.1\",\"gridData\":{\"h\":30,\"i\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"w\":48,\"x\":0,\"y\":64},\"panelIndex\":\"cd3b95fd-6dda-48d9-b91b-9e6b3d0bd125\",\"embeddableConfig\":{},\"panelRefName\":\"panel_11\"}]", + "optionsJSON": "{\"useMargins\":true}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[]}" + } + }, + "references": [ + { + "name": "panel_0", + "type": "visualization", + "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3" + }, + { + "name": "panel_1", + "type": "visualization", + "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_2", + "type": "visualization", + "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_3", + "type": "visualization", + "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_4", + "type": "visualization", + "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_5", + "type": "visualization", + "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_6", + "type": "visualization", + "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_7", + "type": "visualization", + "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_8", + "type": "visualization", + "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_9", + "type": "visualization", + "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_10", + "type": "visualization", + "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5" + }, + { + "name": "panel_11", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "dashboard": "7.9.3" + } + }, + { + "id": "df9e399b-efa5-4e33-b0ac-a7668a8ac2b3", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:09:25.111Z", + "version": "Wzg2MSwxXQ==", + "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\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}" + } + }, + "references": [], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "b4dcfd90-cbdf-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM4OSwxXQ==", + "attributes": { + "title": "Alerts - Log Count", + "visState": "{\"title\":\"Alerts - Log Count\",\"type\":\"metric\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":false},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":36}}}}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "ee686f90-cbdf-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5MCwxXQ==", + "attributes": { + "title": "Alerts - Log Count Over Time", + "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "eac98170-cbe0-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:14:24.341Z", + "version": "Wzk1MCwxXQ==", + "attributes": { + "title": "Alerts - Tags", + "visState": "{\"title\":\"Alerts - Tags\",\"type\":\"tagcloud\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"tags\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"},\"schema\":\"segment\"}],\"params\":{\"scale\":\"square root\",\"orientation\":\"single\",\"minFontSize\":18,\"maxFontSize\":48,\"showLabel\":false}}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "307db3e0-cbe0-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5MiwxXQ==", + "attributes": { + "title": "Alert Category", + "visState": "{\"title\":\"Alert Category\",\"type\":\"horizontal_bar\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":30,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Category\"},\"schema\":\"segment\"}],\"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\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\" \",\"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\"}}}", + "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "d6c86460-cbe1-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5MywxXQ==", + "attributes": { + "title": "Alerts - Target", + "visState": "{\"title\":\"Alerts - Target\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Target\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "74e7d2c0-cbe2-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5NCwxXQ==", + "attributes": { + "title": "Alerts - Name", + "visState": "{\"title\":\"Alerts - Name\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"rule.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":250,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Name\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "b5c5a880-cbe2-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5NSwxXQ==", + "attributes": { + "title": "Alerts - Source", + "visState": "{\"title\":\"Alerts - Source\",\"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\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source IP\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "dc1b0b10-cbe2-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5NiwxXQ==", + "attributes": { + "title": "Alerts - Destination", + "visState": "{\"title\":\"Alerts - Destination\",\"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\":250,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination IP\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.port\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":100,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Port\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "73105e30-cbe3-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5NywxXQ==", + "attributes": { + "title": "Alerts - Destination Country", + "visState": "{\"title\":\"Alerts - Destination Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"destination.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Destination Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "6cda8e00-cbe3-11ec-a50a-5fedd672f5c5", + "type": "visualization", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5OCwxXQ==", + "attributes": { + "title": "Alerts - Source Country", + "visState": "{\"title\":\"Alerts - Source Country\",\"type\":\"table\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"source.geo.country_name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Source Country\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "savedSearchRefName": "search_0" + }, + "references": [ + { + "name": "search_0", + "type": "search", + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5" + } + ], + "migrationVersion": { + "visualization": "7.10.0" + } + }, + { + "id": "c25e2640-cbd7-11ec-a50a-5fedd672f5c5", + "type": "search", + "namespaces": [ + "default" + ], + "updated_at": "2024-01-08T22:08:43.581Z", + "version": "WzM5OSwxXQ==", + "attributes": { + "title": "Suricata Alerts - Logs", + "description": "", + "hits": 0, + "columns": [ + "rule.category", + "rule.name", + "rule.id", + "vulnerability.category", + "source.ip", + "destination.ip", + "event.id" + ], + "sort": [], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":false,\"version\":true,\"query\":{\"query\":\"event.provider:suricata AND event.dataset:alert\",\"language\":\"kuery\"},\"filter\":[],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" + } + }, + "references": [ + { + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern", + "id": "arkime_sessions3-*" + } + ], + "migrationVersion": { + "search": "7.9.3" + } + } + ] } \ No newline at end of file From 93bf0a47c065b01429656e2b3fec816937f96852 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 9 Jan 2024 10:11:10 -0700 Subject: [PATCH 55/88] update prompt to reflect URL is allow for htpdate sync (idaholab/Malcolm#324) --- shared/bin/configure-interfaces.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shared/bin/configure-interfaces.py b/shared/bin/configure-interfaces.py index 56eafb508..aff275b4a 100755 --- a/shared/bin/configure-interfaces.py +++ b/shared/bin/configure-interfaces.py @@ -66,7 +66,7 @@ class Constants: MSG_CONFIG_SSH = ('SSH Authentication', 'Configure SSH authentication') MSG_CONFIG_STATIC_TITLE = 'Provide the values for static IP configuration' MSG_ERR_ROOT_REQUIRED = 'Elevated privileges required, run as root' - MSG_ERR_BAD_HOST = 'Invalid host or port' + MSG_ERR_BAD_HOST = 'Invalid host/URL or port' MSG_MESSAGE_DHCP = 'Configuring for DHCP provided address...' MSG_MESSAGE_ERROR = 'Error: {}\n\nPlease try again.' MSG_MESSAGE_STATIC = 'Configuring for static IP address...' @@ -304,7 +304,7 @@ def main(): # host/port for htpdate code, values = d.form( Constants.MSG_TIME_SYNC_HTPDATE_CONFIG, - [('Host', 1, 1, '', 1, 25, 30, 255), ('Port', 2, 1, '9200', 2, 25, 6, 5)], + [('URL', 1, 1, '', 1, 25, 30, 255), ('Port', 2, 1, '443', 2, 25, 6, 5)], ) values = [x.strip() for x in values] From 50cc2334dd71b80c8c3319478fed4a9690467f15 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 9 Jan 2024 11:17:20 -0700 Subject: [PATCH 56/88] consistenly populate MALCOLM_VERSION, BUILD_DATE, VCS_REVISION in docker images --- Dockerfiles/api.Dockerfile | 1 - Dockerfiles/arkime.Dockerfile | 3 +++ Dockerfiles/dashboards-helper.Dockerfile | 3 +++ Dockerfiles/dashboards.Dockerfile | 3 +++ Dockerfiles/dirinit.Dockerfile | 3 +++ Dockerfiles/file-monitor.Dockerfile | 3 +++ Dockerfiles/file-upload.Dockerfile | 3 +++ Dockerfiles/filebeat.Dockerfile | 3 +++ Dockerfiles/freq.Dockerfile | 3 +++ Dockerfiles/htadmin.Dockerfile | 3 +++ Dockerfiles/logstash.Dockerfile | 3 +++ Dockerfiles/netbox.Dockerfile | 1 - Dockerfiles/nginx.Dockerfile | 3 +++ Dockerfiles/opensearch.Dockerfile | 3 +++ Dockerfiles/pcap-capture.Dockerfile | 3 +++ Dockerfiles/pcap-monitor.Dockerfile | 3 +++ Dockerfiles/postgresql.Dockerfile | 1 - Dockerfiles/redis.Dockerfile | 1 - Dockerfiles/suricata.Dockerfile | 13 +++++++++++++ Dockerfiles/zeek.Dockerfile | 3 +++ scripts/build.sh | 2 +- 21 files changed, 59 insertions(+), 5 deletions(-) diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile index e4666a15a..dc80e696a 100644 --- a/Dockerfiles/api.Dockerfile +++ b/Dockerfiles/api.Dockerfile @@ -106,7 +106,6 @@ ENTRYPOINT ["/usr/bin/tini", \ ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION - ENV BUILD_DATE $BUILD_DATE ENV MALCOLM_VERSION $MALCOLM_VERSION ENV VCS_REVISION $VCS_REVISION diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile index e1fbcc82e..1ae22ebba 100644 --- a/Dockerfiles/arkime.Dockerfile +++ b/Dockerfiles/arkime.Dockerfile @@ -277,6 +277,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index 217c139fe..e8e009089 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -117,6 +117,9 @@ VOLUME ["/data/init"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile index 1ccbca95a..37991229f 100644 --- a/Dockerfiles/dashboards.Dockerfile +++ b/Dockerfiles/dashboards.Dockerfile @@ -118,6 +118,9 @@ EXPOSE 5601 ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/dirinit.Dockerfile b/Dockerfiles/dirinit.Dockerfile index e13689ee5..b469571aa 100644 --- a/Dockerfiles/dirinit.Dockerfile +++ b/Dockerfiles/dirinit.Dockerfile @@ -42,6 +42,9 @@ ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION ENV BUILD_DATE $BUILD_DATE ENV MALCOLM_VERSION $MALCOLM_VERSION ENV VCS_REVISION $VCS_REVISION diff --git a/Dockerfiles/file-monitor.Dockerfile b/Dockerfiles/file-monitor.Dockerfile index aae54c3b3..20e831c7a 100644 --- a/Dockerfiles/file-monitor.Dockerfile +++ b/Dockerfiles/file-monitor.Dockerfile @@ -256,6 +256,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/file-upload.Dockerfile b/Dockerfiles/file-upload.Dockerfile index fd582306a..1d6c2cab2 100644 --- a/Dockerfiles/file-upload.Dockerfile +++ b/Dockerfiles/file-upload.Dockerfile @@ -140,6 +140,9 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf", "-u", "root", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index f3ee8e66c..659236bfc 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -181,6 +181,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-u", "root", ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/freq.Dockerfile b/Dockerfiles/freq.Dockerfile index 82f9067b4..3801f963c 100644 --- a/Dockerfiles/freq.Dockerfile +++ b/Dockerfiles/freq.Dockerfile @@ -77,6 +77,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/htadmin.Dockerfile b/Dockerfiles/htadmin.Dockerfile index ffcc27bd9..82718df06 100644 --- a/Dockerfiles/htadmin.Dockerfile +++ b/Dockerfiles/htadmin.Dockerfile @@ -104,6 +104,9 @@ CMD ["/usr/bin/supervisord", "-c", "/supervisord.conf", "-u", "root", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/logstash.Dockerfile b/Dockerfiles/logstash.Dockerfile index e5e792f2e..85c7104fc 100644 --- a/Dockerfiles/logstash.Dockerfile +++ b/Dockerfiles/logstash.Dockerfile @@ -143,6 +143,9 @@ CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/netbox.Dockerfile b/Dockerfiles/netbox.Dockerfile index fce34a491..c513fe26a 100644 --- a/Dockerfiles/netbox.Dockerfile +++ b/Dockerfiles/netbox.Dockerfile @@ -138,7 +138,6 @@ CMD ["/opt/netbox/docker-entrypoint.sh", "/usr/bin/supervisord", "-c", "/etc/sup ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION - ENV BUILD_DATE $BUILD_DATE ENV MALCOLM_VERSION $MALCOLM_VERSION ENV VCS_REVISION $VCS_REVISION diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index d86c8cbf8..425e3fcbb 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -264,6 +264,9 @@ CMD ["supervisord", "-c", "/etc/supervisord.conf", "-u", "root", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/opensearch.Dockerfile b/Dockerfiles/opensearch.Dockerfile index bdfccaf61..82fbddd10 100644 --- a/Dockerfiles/opensearch.Dockerfile +++ b/Dockerfiles/opensearch.Dockerfile @@ -92,6 +92,9 @@ CMD ["/usr/share/opensearch/opensearch-docker-entrypoint.sh"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/pcap-capture.Dockerfile b/Dockerfiles/pcap-capture.Dockerfile index c582e9e26..15cc1b528 100644 --- a/Dockerfiles/pcap-capture.Dockerfile +++ b/Dockerfiles/pcap-capture.Dockerfile @@ -105,6 +105,9 @@ CMD ["/usr/local/bin/supervisor.sh"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/pcap-monitor.Dockerfile b/Dockerfiles/pcap-monitor.Dockerfile index b1baabbee..84a9a0b0f 100644 --- a/Dockerfiles/pcap-monitor.Dockerfile +++ b/Dockerfiles/pcap-monitor.Dockerfile @@ -99,6 +99,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-u", "root", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/Dockerfiles/postgresql.Dockerfile b/Dockerfiles/postgresql.Dockerfile index dde2e3b4d..4f263abbb 100644 --- a/Dockerfiles/postgresql.Dockerfile +++ b/Dockerfiles/postgresql.Dockerfile @@ -52,7 +52,6 @@ CMD ["/usr/bin/docker-entrypoint.sh", "postgres"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION - ENV BUILD_DATE $BUILD_DATE ENV MALCOLM_VERSION $MALCOLM_VERSION ENV VCS_REVISION $VCS_REVISION diff --git a/Dockerfiles/redis.Dockerfile b/Dockerfiles/redis.Dockerfile index a7ce82e61..0e28fdf3d 100644 --- a/Dockerfiles/redis.Dockerfile +++ b/Dockerfiles/redis.Dockerfile @@ -41,7 +41,6 @@ ENTRYPOINT ["/sbin/tini", \ ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION - ENV BUILD_DATE $BUILD_DATE ENV MALCOLM_VERSION $MALCOLM_VERSION ENV VCS_REVISION $VCS_REVISION diff --git a/Dockerfiles/suricata.Dockerfile b/Dockerfiles/suricata.Dockerfile index 62f026d4b..e75aa2d30 100644 --- a/Dockerfiles/suricata.Dockerfile +++ b/Dockerfiles/suricata.Dockerfile @@ -199,3 +199,16 @@ ENTRYPOINT ["/usr/bin/tini", \ "/usr/local/bin/docker_entrypoint.sh"] CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] + + +# to be populated at build-time: +ARG BUILD_DATE +ARG MALCOLM_VERSION +ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION + +LABEL org.opencontainers.image.created=$BUILD_DATE +LABEL org.opencontainers.image.version=$MALCOLM_VERSION +LABEL org.opencontainers.image.revision=$VCS_REVISION diff --git a/Dockerfiles/zeek.Dockerfile b/Dockerfiles/zeek.Dockerfile index b71ae6801..a036649ab 100644 --- a/Dockerfiles/zeek.Dockerfile +++ b/Dockerfiles/zeek.Dockerfile @@ -358,6 +358,9 @@ CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf", "-n"] ARG BUILD_DATE ARG MALCOLM_VERSION ARG VCS_REVISION +ENV BUILD_DATE $BUILD_DATE +ENV MALCOLM_VERSION $MALCOLM_VERSION +ENV VCS_REVISION $VCS_REVISION LABEL org.opencontainers.image.created=$BUILD_DATE LABEL org.opencontainers.image.version=$MALCOLM_VERSION diff --git a/scripts/build.sh b/scripts/build.sh index ec85eeb1c..c5330f14b 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -77,7 +77,7 @@ read -p "Malcolm Docker images will now be built and/or pulled, force full clean CONFIRMATION=${CONFIRMATION:-N} BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" -MALCOLM_VERSION="$($GREP -P "^\s+image:\s*malcolm" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" +MALCOLM_VERSION="$($GREP -P "^\s+image:\s*.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" VCS_REVISION="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)" GITHUB_API_TOKEN="${GITHUB_TOKEN:-}" From fafa2f10bee6aa351a920798e89a00e6480ee9a3 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 9 Jan 2024 11:31:01 -0700 Subject: [PATCH 57/88] landingpage work in progress (idaholab/Malcolm#252) --- nginx/landingpage/index.html | 2 +- nginx/scripts/docker_entrypoint.sh | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 82637d7f5..50cfcb1a3 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -105,7 +105,7 @@ <h3>API</h3></a> <div class="row"> <div class="col-lg-6 h-100 text-center text-lg-start my-auto"> <p class="text-muted small mb-4 mb-lg-0"> - © 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the + <a href="https://github.com/idaholab/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> © 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p> </div> <div class="col-lg-6 h-100 text-center text-lg-end my-auto"> diff --git a/nginx/scripts/docker_entrypoint.sh b/nginx/scripts/docker_entrypoint.sh index 4d96735d7..9a81dfafa 100755 --- a/nginx/scripts/docker_entrypoint.sh +++ b/nginx/scripts/docker_entrypoint.sh @@ -26,6 +26,8 @@ if [ "$socketMissing" = 1 -a "$1" = 'supervisord' -a "$2" = '-c' -a "$3" = '/etc exit 1 fi +NGINX_LANDING_INDEX_HTML=/usr/share/nginx/html/index.html + # set up for HTTPS/HTTP and NGINX HTTP basic vs. LDAP/LDAPS/LDAP+StartTLS auth # "include" file that sets 'ssl on' and indicates the locations of the PEM files @@ -244,6 +246,8 @@ if [[ ! -f /etc/nginx/auth/htpasswd ]] && [[ -f /tmp/auth/default/htpasswd ]]; t rm -rf /tmp/auth/* || true fi +[[ -f "${NGINX_LANDING_INDEX_HTML}" ]] && sed -i "s/MALCOLM_VERSION_REPLACER/v${MALCOLM_VERSION:-unknown} (${VCS_REVISION:-} @ ${BUILD_DATE:-})/g" "${NGINX_LANDING_INDEX_HTML}" + rm -rf /var/log/nginx/* || true # start supervisor (which will spawn nginx, stunnel, etc.) or whatever the default command is From ec8882f4a477bffb9e062c12fefe8ce61376e557 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 07:27:16 -0700 Subject: [PATCH 58/88] extract build version, build timestamp, and VCS revision for all images --- .github/workflows/api-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/arkime-build-and-push-ghcr.yml | 18 +++++++++++++++ .../dashboards-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../dashboards-helper-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/dirinit-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../file-monitor-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../file-upload-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../filebeat-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/freq-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/htadmin-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../logstash-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/netbox-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/nginx-build-and-push-ghcr.yml | 12 ++++++++++ .../opensearch-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../pcap-capture-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../pcap-monitor-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../postgresql-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/redis-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../suricata-build-and-push-ghcr.yml | 19 ++++++++++++++++ .../workflows/zeek-build-and-push-ghcr.yml | 22 +++++++++++++++++-- scripts/build.sh | 2 +- 21 files changed, 374 insertions(+), 3 deletions(-) diff --git a/.github/workflows/api-build-and-push-ghcr.yml b/.github/workflows/api-build-and-push-ghcr.yml index 5a3ab5eee..dacbb7a4f 100644 --- a/.github/workflows/api-build-and-push-ghcr.yml +++ b/.github/workflows/api-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/api.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/api:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/arkime-build-and-push-ghcr.yml b/.github/workflows/arkime-build-and-push-ghcr.yml index 51e258b03..c847c9995 100644 --- a/.github/workflows/arkime-build-and-push-ghcr.yml +++ b/.github/workflows/arkime-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -67,6 +82,9 @@ jobs: context: . file: ./Dockerfiles/arkime.Dockerfile build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} MAXMIND_GEOIP_DB_LICENSE_KEY=${{ secrets.MAXMIND_GEOIP_DB_LICENSE_KEY }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/arkime:${{ steps.extract_branch.outputs.branch }} diff --git a/.github/workflows/dashboards-build-and-push-ghcr.yml b/.github/workflows/dashboards-build-and-push-ghcr.yml index 5f4e729ee..ada149096 100644 --- a/.github/workflows/dashboards-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/dashboards.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/dashboards:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml index 2a4fb6a47..1ec639dcb 100644 --- a/.github/workflows/dashboards-helper-build-and-push-ghcr.yml +++ b/.github/workflows/dashboards-helper-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/dashboards-helper.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/dashboards-helper:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/dirinit-build-and-push-ghcr.yml b/.github/workflows/dirinit-build-and-push-ghcr.yml index c57ed918a..db9b8bdd3 100644 --- a/.github/workflows/dirinit-build-and-push-ghcr.yml +++ b/.github/workflows/dirinit-build-and-push-ghcr.yml @@ -31,11 +31,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -58,6 +73,10 @@ jobs: with: context: . file: ./Dockerfiles/dirinit.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/dirinit:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/file-monitor-build-and-push-ghcr.yml b/.github/workflows/file-monitor-build-and-push-ghcr.yml index c74860015..10c6885da 100644 --- a/.github/workflows/file-monitor-build-and-push-ghcr.yml +++ b/.github/workflows/file-monitor-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/file-monitor.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/file-monitor:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/file-upload-build-and-push-ghcr.yml b/.github/workflows/file-upload-build-and-push-ghcr.yml index eb42c5ee1..6228bfa20 100644 --- a/.github/workflows/file-upload-build-and-push-ghcr.yml +++ b/.github/workflows/file-upload-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/file-upload.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/file-upload:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/filebeat-build-and-push-ghcr.yml b/.github/workflows/filebeat-build-and-push-ghcr.yml index c56c1c6a8..5d67fd099 100644 --- a/.github/workflows/filebeat-build-and-push-ghcr.yml +++ b/.github/workflows/filebeat-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/filebeat.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/filebeat-oss:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/freq-build-and-push-ghcr.yml b/.github/workflows/freq-build-and-push-ghcr.yml index b8e589f19..a6411ca25 100644 --- a/.github/workflows/freq-build-and-push-ghcr.yml +++ b/.github/workflows/freq-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/freq.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/freq:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/htadmin-build-and-push-ghcr.yml b/.github/workflows/htadmin-build-and-push-ghcr.yml index 04ac783ce..954d245aa 100644 --- a/.github/workflows/htadmin-build-and-push-ghcr.yml +++ b/.github/workflows/htadmin-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/htadmin.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/htadmin:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/logstash-build-and-push-ghcr.yml b/.github/workflows/logstash-build-and-push-ghcr.yml index f358e2226..19ae8e43e 100644 --- a/.github/workflows/logstash-build-and-push-ghcr.yml +++ b/.github/workflows/logstash-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/logstash.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/logstash-oss:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/netbox-build-and-push-ghcr.yml b/.github/workflows/netbox-build-and-push-ghcr.yml index 65cc11a71..c59567995 100644 --- a/.github/workflows/netbox-build-and-push-ghcr.yml +++ b/.github/workflows/netbox-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/netbox.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/netbox:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/nginx-build-and-push-ghcr.yml b/.github/workflows/nginx-build-and-push-ghcr.yml index 7ef3e9a7f..06f028768 100644 --- a/.github/workflows/nginx-build-and-push-ghcr.yml +++ b/.github/workflows/nginx-build-and-push-ghcr.yml @@ -46,6 +46,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash @@ -56,6 +61,11 @@ jobs: shell: bash run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -79,6 +89,8 @@ jobs: context: . file: ./Dockerfiles/nginx.Dockerfile build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} push: true diff --git a/.github/workflows/opensearch-build-and-push-ghcr.yml b/.github/workflows/opensearch-build-and-push-ghcr.yml index 225b89a2d..8a0083bad 100644 --- a/.github/workflows/opensearch-build-and-push-ghcr.yml +++ b/.github/workflows/opensearch-build-and-push-ghcr.yml @@ -38,11 +38,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -65,6 +80,10 @@ jobs: with: context: . file: ./Dockerfiles/opensearch.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/opensearch:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/pcap-capture-build-and-push-ghcr.yml b/.github/workflows/pcap-capture-build-and-push-ghcr.yml index e8de170c4..332d0b560 100644 --- a/.github/workflows/pcap-capture-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-capture-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/pcap-capture.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/pcap-capture:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml index ca5138e18..385ec4fec 100644 --- a/.github/workflows/pcap-monitor-build-and-push-ghcr.yml +++ b/.github/workflows/pcap-monitor-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/pcap-monitor.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/pcap-monitor:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/postgresql-build-and-push-ghcr.yml b/.github/workflows/postgresql-build-and-push-ghcr.yml index 29aefda44..c90fd8b64 100644 --- a/.github/workflows/postgresql-build-and-push-ghcr.yml +++ b/.github/workflows/postgresql-build-and-push-ghcr.yml @@ -38,11 +38,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -65,6 +80,10 @@ jobs: with: context: . file: ./Dockerfiles/postgresql.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/postgresql:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/redis-build-and-push-ghcr.yml b/.github/workflows/redis-build-and-push-ghcr.yml index a04d0369b..921e11c91 100644 --- a/.github/workflows/redis-build-and-push-ghcr.yml +++ b/.github/workflows/redis-build-and-push-ghcr.yml @@ -38,11 +38,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -65,6 +80,10 @@ jobs: with: context: . file: ./Dockerfiles/redis.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/redis:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/suricata-build-and-push-ghcr.yml b/.github/workflows/suricata-build-and-push-ghcr.yml index bd07b7006..2d9da5d1e 100644 --- a/.github/workflows/suricata-build-and-push-ghcr.yml +++ b/.github/workflows/suricata-build-and-push-ghcr.yml @@ -39,11 +39,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -66,6 +81,10 @@ jobs: with: context: . file: ./Dockerfiles/suricata.Dockerfile + build-args: | + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} push: true tags: ghcr.io/${{ github.repository_owner }}/malcolm/suricata:${{ steps.extract_branch.outputs.branch }} - diff --git a/.github/workflows/zeek-build-and-push-ghcr.yml b/.github/workflows/zeek-build-and-push-ghcr.yml index 4cb14636c..27f6e05db 100644 --- a/.github/workflows/zeek-build-and-push-ghcr.yml +++ b/.github/workflows/zeek-build-and-push-ghcr.yml @@ -38,11 +38,26 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - + name: Generate build timestamp + shell: bash + run: echo "btimestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + id: generate_build_timestamp - name: Extract branch name shell: bash run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT id: extract_branch + - + name: Extract commit SHA + shell: bash + run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + id: extract_commit_sha + - + name: Extract Malcolm version + shell: bash + run: echo "mversion=$(grep -P "^\s+image:.*/malcolm/" docker-compose.yml | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" >> $GITHUB_OUTPUT + id: extract_malcolm_version - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -65,10 +80,13 @@ jobs: with: context: . file: ./Dockerfiles/zeek.Dockerfile - push: true - tags: ghcr.io/${{ github.repository_owner }}/malcolm/zeek:${{ steps.extract_branch.outputs.branch }} build-args: | BUILD_JOBS=2 + MALCOLM_VERSION=${{ steps.extract_malcolm_version.outputs.mversion }} + BUILD_DATE=${{ steps.generate_build_timestamp.outputs.btimestamp }} + VCS_REVISION=${{ steps.extract_commit_sha.outputs.sha }} + push: true + tags: ghcr.io/${{ github.repository_owner }}/malcolm/zeek:${{ steps.extract_branch.outputs.branch }} - name: Run Trivy vulnerability scanner id: trivy-scan diff --git a/scripts/build.sh b/scripts/build.sh index c5330f14b..526ab83c3 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -77,7 +77,7 @@ read -p "Malcolm Docker images will now be built and/or pulled, force full clean CONFIRMATION=${CONFIRMATION:-N} BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" -MALCOLM_VERSION="$($GREP -P "^\s+image:\s*.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" +MALCOLM_VERSION="$($GREP -P "^\s+image:.*/malcolm/" "$CONFIG_FILE" | awk '{print $2}' | cut -d':' -f2 | uniq -c | sort -nr | awk '{print $2}' | head -n 1)" VCS_REVISION="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)" GITHUB_API_TOKEN="${GITHUB_TOKEN:-}" From 775749750245decb99da1e222ed62e31e977120a Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 07:37:41 -0700 Subject: [PATCH 59/88] only specify --node and/or --host for live capture arkime if those variables are specified idaholab/Malcolm#321 --- arkime/scripts/live_capture.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/arkime/scripts/live_capture.sh b/arkime/scripts/live_capture.sh index 04069f2cf..fb672a311 100755 --- a/arkime/scripts/live_capture.sh +++ b/arkime/scripts/live_capture.sh @@ -8,8 +8,6 @@ KEY_FILE="${ARKIME_DIR}"/etc/viewer.key ARKIME_PACKET_THREADS=${ARKIME_PACKET_THREADS:-1} PUSER=${PUSER:-"arkime"} PGROUP=${PGROUP:-"arkime"} -NODE_NAME=${PCAP_NODE_NAME:-"malcolm"} -NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""} OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"} OPENSEARCH_URL=${OPENSEARCH_URL:-"http://opensearch:9200"} @@ -25,6 +23,12 @@ else CURL_CONFIG_PARAMS=() fi +NODE_NAME=${PCAP_NODE_NAME:-""} +NODE_HOST=${ARKIME_LIVE_NODE_HOST:-""} +NODE_ARGS=() +[[ -n "$NODE_NAME" ]] && NODE_ARGS+=( --node ) && NODE_ARGS+=( "$NODE_NAME" ) +[[ -n "$NODE_HOST" ]] && NODE_ARGS+=( --host ) && NODE_ARGS+=( "$NODE_HOST" ) + rm -f /var/run/arkime/initialized /var/run/arkime/runwise # make sure TLS certificates exist prior to starting up @@ -61,12 +65,10 @@ touch /var/run/arkime/initialized echo "Arkime is initialized!" echo -"${ARKIME_DIR}"/bin/capture --insecure \ +"${ARKIME_DIR}"/bin/capture --insecure "${NODE_ARGS[@]}" \ -c "${ARKIME_DIR}"/etc/config.ini \ -o pcapDir=/data/pcap/arkime-live \ -o dropUser=${PUSER} \ -o dropGroup=${PGROUP} \ -o ecsEventProvider=arkime \ - -o ecsEventDataset=session \ - --node "${NODE_NAME}" \ - --host "${NODE_HOST}" + -o ecsEventDataset=session From 3546e67e7c5b9adcd9dbc6e2e5c573025615f0b2 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 08:32:16 -0700 Subject: [PATCH 60/88] update version API to include opensearch health under opensearch --- api/project/__init__.py | 15 ++++---- docs/api-version.md | 76 +++++++++++++++++++++-------------------- 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/api/project/__init__.py b/api/project/__init__.py index a4a03cf6f..f21f04e0f 100644 --- a/api/project/__init__.py +++ b/api/project/__init__.py @@ -818,17 +818,20 @@ def version(): """ global databaseClient + opensearchStats = requests.get( + opensearchUrl, + auth=opensearchReqHttpAuth, + verify=opensearchSslVerify, + ).json() + if isinstance(opensearchStats, dict): + opensearchStats['health'] = dict(databaseClient.cluster.health()) + return jsonify( version=app.config["MALCOLM_VERSION"], built=app.config["BUILD_DATE"], sha=app.config["VCS_REVISION"], mode=malcolm_utils.DatabaseModeEnumToStr(databaseMode), - opensearch=requests.get( - opensearchUrl, - auth=opensearchReqHttpAuth, - verify=opensearchSslVerify, - ).json(), - opensearch_health=dict(databaseClient.cluster.health()), + opensearch=opensearchStats, ) diff --git a/docs/api-version.md b/docs/api-version.md index 94b3d23e7..50f4af4e5 100644 --- a/docs/api-version.md +++ b/docs/api-version.md @@ -8,43 +8,45 @@ Returns version information about Malcolm and version/[health](https://opensearc ```json { - "built": "2022-01-18T16:10:39Z", - "opensearch": { - "cluster_name": "docker-cluster", - "cluster_uuid": "TcSiEaOgTdO_l1IivYz2gA", - "name": "opensearch", - "tagline": "The OpenSearch Project: https://opensearch.org/", - "version": { - "build_date": "2021-12-21T01:36:21.407473Z", - "build_hash": "8a529d77c7432bc45b005ac1c4ba3b2741b57d4a", - "build_snapshot": false, - "build_type": "tar", - "lucene_version": "8.10.1", - "minimum_index_compatibility_version": "6.0.0-beta1", - "minimum_wire_compatibility_version": "6.8.0", - "number": "7.10.2" - } + "built": "2024-01-10T15:27:31Z", + "mode": "opensearch-remote", + "opensearch": { + "cluster_name": "opensearch-cluster", + "cluster_uuid": "4QK51McnS96aAvuj5qQKXA", + "health": { + "active_primary_shards": 5, + "active_shards": 10, + "active_shards_percent_as_number": 100, + "cluster_name": "opensearch-cluster", + "delayed_unassigned_shards": 0, + "discovered_cluster_manager": true, + "discovered_master": true, + "initializing_shards": 0, + "number_of_data_nodes": 2, + "number_of_in_flight_fetch": 0, + "number_of_nodes": 4, + "number_of_pending_tasks": 0, + "relocating_shards": 0, + "status": "green", + "task_max_waiting_in_queue_millis": 0, + "timed_out": false, + "unassigned_shards": 0 }, - "opensearch_health": { - "active_primary_shards": 29, - "active_shards": 29, - "active_shards_percent_as_number": 82.85714285714286, - "cluster_name": "docker-cluster", - "delayed_unassigned_shards": 0, - "discovered_master": true, - "initializing_shards": 0, - "number_of_data_nodes": 1, - "number_of_in_flight_fetch": 0, - "number_of_nodes": 1, - "number_of_pending_tasks": 0, - "relocating_shards": 0, - "status": "yellow", - "task_max_waiting_in_queue_millis": 0, - "timed_out": false, - "unassigned_shards": 6 - }, - "sha": "8ddbbf4", - "version": "5.2.0", - "mode": "opensearch-local" + "name": "opensearch-node1", + "tagline": "The OpenSearch Project: https://opensearch.org/", + "version": { + "build_date": "2023-10-13T02:55:55.511945994Z", + "build_hash": "4dcad6dd1fd45b6bd91f041a041829c8687278fa", + "build_snapshot": false, + "build_type": "tar", + "distribution": "opensearch", + "lucene_version": "9.7.0", + "minimum_index_compatibility_version": "7.0.0", + "minimum_wire_compatibility_version": "7.10.0", + "number": "2.11.0" + } + }, + "sha": "77574975", + "version": "24.01.0" } ``` From 0228de1d00dd200ea5ada5a3b1694724579040fb Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 08:43:12 -0700 Subject: [PATCH 61/88] allow blank arkime node host for live capture as it will default to hostname (idaholab/Malcolm#321) --- scripts/install.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/scripts/install.py b/scripts/install.py index 6bfe064d6..15abddae6 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1395,20 +1395,6 @@ def tweak_malcolm_runtime(self, malcolm_install_path): f"Enter this node's hostname or IP to associate with network traffic metadata", default=args.liveArkimeNodeHost, ) - if ( - (not liveArkimeNodeHost) - and (not args.acceptDefaultsNonInteractive) - and ( - not InstallerYesOrNo( - f'With live Arkime capture node hostname or IP is required for viewer session retrieval. Are you sure?', - default=False, - ) - ) - ): - liveArkimeNodeHost = InstallerAskForString( - f"Enter this node's hostname or IP to associate with network traffic metadata", - default=args.liveArkimeNodeHost, - ) if ( (malcolmProfile == PROFILE_HEDGEHOG) From 45f8e9639ce0d4efcb326eda17932a6bb440819b Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 09:23:35 -0700 Subject: [PATCH 62/88] allow blank arkime node name for uploaded capture as it will default to hostname (idaholab/Malcolm#321) --- shared/bin/pcap_processor.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/shared/bin/pcap_processor.py b/shared/bin/pcap_processor.py index eef96db41..8b01d0a2c 100755 --- a/shared/bin/pcap_processor.py +++ b/shared/bin/pcap_processor.py @@ -170,7 +170,9 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs): # if this is an uploaded PCAP (not captured "live"") # append -upload to the node name used (which originates from PCAP_NODE_NAME) tmpNodeName = fileInfo[FILE_INFO_DICT_NODE] if (FILE_INFO_DICT_NODE in fileInfo) else nodeName - if (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE]): + if tmpNodeName and ( + (not (FILE_INFO_DICT_LIVE in fileInfo)) or (not fileInfo[FILE_INFO_DICT_LIVE]) + ): tmpNodeName = tmpNodeName + '-upload' # put together arkime execution command @@ -178,8 +180,6 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs): arkimeBin, '--quiet', '--insecure', - '--node', - tmpNodeName, '-o', f'ecsEventProvider={arkimeProvider}', '-o', @@ -187,6 +187,9 @@ def arkimeCaptureFileWorker(arkimeWorkerArgs): '-r', fileInfo[FILE_INFO_DICT_NAME], ] + if tmpNodeName: + cmd.append('--node') + cmd.append(tmpNodeName) if nodeHost: cmd.append('--host') cmd.append(nodeHost) From 47679fc43ed50067fee2171542b1befdceb3fcd3 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 09:23:47 -0700 Subject: [PATCH 63/88] rename 'capture source' to 'log source' in some dashboards --- .../dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 4 ++-- .../dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index 95273016e..e3cd1481b 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -258,8 +258,8 @@ "updated_at": "2022-05-04T20:06:10.844Z", "version": "WzY2LDFd", "attributes": { - "title": "Capture Source", - "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "title": "Log Source", + "visState": "{\"title\":\"Log Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"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, diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index 29114ef82..4853d0102 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -154,8 +154,8 @@ "updated_at": "2023-01-19T16:44:51.171Z", "version": "WzUxMiwxXQ==", "attributes": { - "title": "Capture Source", - "visState": "{\"title\":\"Capture Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Capture Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "title": "Log Source", + "visState": "{\"title\":\"Log Source\",\"type\":\"table\",\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"host.name\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"event.ingested\",\"customLabel\":\"Last Ingested\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"}],\"params\":{\"perPage\":5,\"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, From c184812d1b3712f683c12e0a2e94acf171c1cff6 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 09:30:24 -0700 Subject: [PATCH 64/88] documentation update --- .../screenshots/malcolm_landing_page.png | Bin 0 -> 264734 bytes docs/quickstart.md | 7 +++++-- docs/ubuntu-install-example.md | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 docs/images/screenshots/malcolm_landing_page.png diff --git a/docs/images/screenshots/malcolm_landing_page.png b/docs/images/screenshots/malcolm_landing_page.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd28892da25344889bea636250a8bca8edfdc91 GIT binary patch literal 264734 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≠G$Od22sg1=K^G0>wOlm`d8 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͞%hA@8I8ZbcS2H2$7Vx5|KB`Y|REEE(s3l?C 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®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 literal 0 HcmV?d00001 diff --git a/docs/quickstart.md b/docs/quickstart.md index acf540722..d4201513a 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -88,9 +88,12 @@ instance, wipe the database and restore Malcolm to a fresh state, etc. A few minutes after starting Malcolm (probably 5 or so for Logstash to be completely loaded, depending on the system), the following services will be accessible: -* [Arkime](https://arkime.com/): **https://localhost** +* Malcolm Landing Page: **https://localhost/** +* [Arkime](https://arkime.com/): **https://localhost/arkime/** * [OpenSearch Dashboards](https://opensearch.org/docs/latest/dashboards/index/): **https://localhost/dashboards/** * [Network Traffic Artifact Upload (Web)](upload.md#Upload): **https://localhost/upload/** * [Network Traffic Artifact Upload (SFTP)](upload.md#Upload): `sftp://<username>@127.0.0.1:8022/files` * [NetBox](asset-interaction-analysis.md#AssetInteractionAnalysis): **https://localhost/netbox/** -* [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/** \ No newline at end of file +* [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/** + +![Malcolm Landing Page](./images/malcolm_landing_page.png) \ No newline at end of file diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index 0fbea72a7..de5adecac 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -315,4 +315,6 @@ malcolm-logstash-1 | [2022-07-27T20:27:52,056][INFO ][logstash.agent … ``` -The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser. \ No newline at end of file +The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser. + +![Malcolm Landing Page](./images/malcolm_landing_page.png) \ No newline at end of file From 4133a746b22450f4b928ae69c7188117427f002c Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 09:33:33 -0700 Subject: [PATCH 65/88] documentation update --- docs/quickstart.md | 2 +- docs/ubuntu-install-example.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/quickstart.md b/docs/quickstart.md index d4201513a..e90cbe9cf 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -96,4 +96,4 @@ A few minutes after starting Malcolm (probably 5 or so for Logstash to be comple * [NetBox](asset-interaction-analysis.md#AssetInteractionAnalysis): **https://localhost/netbox/** * [Account Management](authsetup.md#AuthBasicAccountManagement): **https://localhost/auth/** -![Malcolm Landing Page](./images/malcolm_landing_page.png) \ No newline at end of file +![Malcolm Landing Page](./images/screenshots/malcolm_landing_page.png) \ No newline at end of file diff --git a/docs/ubuntu-install-example.md b/docs/ubuntu-install-example.md index de5adecac..5478e91ec 100644 --- a/docs/ubuntu-install-example.md +++ b/docs/ubuntu-install-example.md @@ -317,4 +317,4 @@ malcolm-logstash-1 | [2022-07-27T20:27:52,056][INFO ][logstash.agent The [Malcolm user interfaces](quickstart.md#UserInterfaceURLs) may be accessed via a web browser. -![Malcolm Landing Page](./images/malcolm_landing_page.png) \ No newline at end of file +![Malcolm Landing Page](./images/screenshots/malcolm_landing_page.png) \ No newline at end of file From b45132869a547ae306f6b0da23d86387ecbf21c9 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 11:38:59 -0700 Subject: [PATCH 66/88] fix to install.py not using the --opensearch command line argument as a default correctly; also remove unused argument --- scripts/install.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/scripts/install.py b/scripts/install.py index 15abddae6..c662a4b49 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -612,7 +612,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path): databaseModeChoice = InstallerChooseOne( 'Select primary Malcolm document store', choices=[ - (x, allowedDatabaseModes[x][1], x == DATABASE_MODE_LABELS[DatabaseMode.OpenSearchLocal]) + (x, allowedDatabaseModes[x][1], x == args.opensearchPrimaryMode) for x in list(allowedDatabaseModes.keys()) ], ) @@ -3489,16 +3489,6 @@ def main(): default=False, help="Expose Filebeat TCP port to external hosts", ) - openPortsArgGroup.add_argument( - '--arkime-viewer-expose', - dest='exposeArkimeViewer', - type=str2bool, - metavar="true|false", - nargs='?', - const=True, - default=False, - help="Expose Arkime viewer to external hosts for PCAP payload retrieval", - ) openPortsArgGroup.add_argument( '--sftp-expose', dest='exposeSFTP', From 92480a36f6e5dbcfaeded41bdfe3b5e826e64b49 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 13:44:20 -0700 Subject: [PATCH 67/88] allow overriding destination index for Zeek and Suricata logs, work in progress, idaholab/Malcolm#313 --- Dockerfiles/api.Dockerfile | 16 ------ Dockerfiles/arkime.Dockerfile | 4 -- Dockerfiles/dashboards-helper.Dockerfile | 12 ----- Dockerfiles/dashboards.Dockerfile | 15 +----- Dockerfiles/filebeat.Dockerfile | 4 -- Dockerfiles/opensearch.Dockerfile | 6 --- Dockerfiles/pcap-monitor.Dockerfile | 4 -- api/project/__init__.py | 51 ++++++++++++------- api/project/config.py | 11 ++-- config/dashboards-helper.env.example | 3 +- config/opensearch.env.example | 9 ++++ .../malcolm_api_loopback_monitor.json | 4 +- .../anomaly_detectors/action_result_user.json | 4 +- .../anomaly_detectors/file_mime_type.json | 4 +- .../anomaly_detectors/malcolm_init_dummy.json | 4 +- .../anomaly_detectors/network_protocol.json | 4 +- dashboards/anomaly_detectors/total_bytes.json | 4 +- .../024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 6 +-- .../03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 2 +- .../05e3e000-f118-11e9-acda-83a8e29e1a24.json | 6 +-- .../078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 2 +- .../0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 4 +- .../0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 14 ++--- .../0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 8 +-- .../0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json | 2 +- .../11be6381-beef-40a7-bdce-88c5398392fc.json | 2 +- .../11ddd980-e388-11e9-b568-cf17de8e860c.json | 2 +- .../12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json | 2 +- .../152f29dc-51a2-4f53-93e9-6e92765567b8.json | 20 ++++---- .../1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 2 +- .../1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 8 +-- .../1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 2 +- .../29a1b290-eb98-11e9-a384-0fcf32210194.json | 16 +++--- .../2bec1490-eb94-11e9-a384-0fcf32210194.json | 18 +++---- .../2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 4 +- .../2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json | 2 +- .../2d98bb8e-214c-4374-837b-20e1bcd63a5e.json | 2 +- .../32587740-ef88-11e9-b38a-2db3ee640e88.json | 2 +- .../36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json | 2 +- .../37041ee1-79c0-4684-a436-3173b0e89876.json | 6 +-- .../39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 8 +-- .../42e831b9-41a9-4f35-8b7d-e1566d368773.json | 4 +- .../432af556-c5c0-4cc3-8166-b274b4e3a406.json | 2 +- .../4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 4 +- .../4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 8 +-- .../4e5f106e-c60a-4226-8f64-d534abb912ab.json | 4 +- .../50ced171-1b10-4c3f-8b67-2db9635661a6.json | 2 +- .../543118a9-02d7-43fe-b669-b8652177fc37.json | 2 +- .../55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 2 +- .../60d78fbd-471c-4f59-a9e3-189b33a13644.json | 8 +-- .../665d1610-523d-11e9-a30e-e3576242f3ed.json | 4 +- .../677ee170-809e-11ed-8d5b-07069f823b6f.json | 8 +-- .../76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 2 +- .../77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 8 +-- .../7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 2 +- .../7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 4 +- .../82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 2 +- .../870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 10 ++-- .../87a32f90-ef58-11e9-974e-9d600036d105.json | 8 +-- .../87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 2 +- .../89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 12 ++--- .../92985909-dc29-4533-9e80-d3182a0ecf1d.json | 2 +- .../95479950-41f2-11ea-88fa-7151df485405.json | 18 +++---- .../9ee51f94-3316-4fc5-bd89-93a52af69714.json | 6 +-- dashboards/dashboards/Vega.Sankey.txt | 4 +- .../a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 8 +-- .../a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 14 ++--- .../a7514350-eba6-11e9-a384-0fcf32210194.json | 14 ++--- .../abdd7550-2c7c-40dc-947e-f6d186a158c4.json | 2 +- .../ae79b7d1-4281-4095-b2f6-fa7eafda9970.json | 2 +- .../af5df620-eeb6-11e9-bdef-65a192b7f586.json | 2 +- .../b50c8d17-6ed3-4de6-aed4-5181032810b2.json | 8 +-- .../b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 8 +-- .../bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 2 +- .../0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json | 6 +-- .../7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json | 4 +- .../903f42c0-f634-11ec-828d-2fb7a4a26e1f.json | 4 +- .../dashboards/beats/Filebeat-nginx-logs.json | 6 +-- .../beats/Filebeat-nginx-overview.json | 14 ++--- .../beats/Metricbeat-host-overview.json | 30 +++++------ .../beats/Metricbeat-system-overview.json | 18 +++---- .../f6600310-9943-11ee-a029-e973f4774355.json | 2 +- .../bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 4 +- .../bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 2 +- .../c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 2 +- .../ca5799a0-56b5-11eb-b749-576de068f8ad.json | 6 +-- .../caef3ade-d289-4d05-a511-149f3e97f238.json | 2 +- .../d2dd0180-06b1-11ec-8c6b-353266ade330.json | 12 ++--- .../d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 8 +-- .../d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 8 +-- .../dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 12 ++--- .../e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 8 +-- .../e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 8 +-- .../ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- .../f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 2 +- .../f394057d-1b16-4174-b994-7045f423a416.json | 8 +-- .../f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 2 +- .../fa141950-ef89-11e9-b38a-2db3ee640e88.json | 2 +- .../fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 6 +-- .../scripts/create-arkime-sessions-index.sh | 15 +++--- dashboards/scripts/index-refresh.py | 2 +- dashboards/templates/malcolm_template.json | 2 +- .../pipelines/enrichment/98_finalize.conf | 9 +++- nginx/nginx.conf | 1 + nginx/nginx_readonly.conf | 1 + shared/bin/opensearch_index_size_prune.py | 1 + shared/bin/opensearch_status.sh | 18 +++++-- 108 files changed, 349 insertions(+), 369 deletions(-) diff --git a/Dockerfiles/api.Dockerfile b/Dockerfiles/api.Dockerfile index dc80e696a..b7fbfdfd6 100644 --- a/Dockerfiles/api.Dockerfile +++ b/Dockerfiles/api.Dockerfile @@ -44,14 +44,6 @@ ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 ARG FLASK_ENV=production -ARG ARKIME_FIELDS_INDEX="arkime_fields" -ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*" -ARG ARKIME_INDEX_TIME_FIELD="firstPacket" -ARG BEATS_INDEX_PATTERN="malcolm_beats_*" -ARG BEATS_INDEX_TIME_FIELD="@timestamp" -ARG DASHBOARDS_URL="http://dashboards:5601/dashboards" -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" ARG RESULT_SET_LIMIT="500" ENV HOME=/malcolm @@ -59,14 +51,6 @@ ENV APP_HOME="${HOME}"/api ENV APP_FOLDER="${APP_HOME}" ENV FLASK_APP=project/__init__.py ENV FLASK_ENV $FLASK_ENV -ENV ARKIME_FIELDS_INDEX $ARKIME_FIELDS_INDEX -ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN -ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD -ENV BEATS_INDEX_PATTERN $BEATS_INDEX_PATTERN -ENV BEATS_INDEX_TIME_FIELD $BEATS_INDEX_TIME_FIELD -ENV DASHBOARDS_URL $DASHBOARDS_URL -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY ENV RESULT_SET_LIMIT $RESULT_SET_LIMIT WORKDIR "${APP_HOME}" diff --git a/Dockerfiles/arkime.Dockerfile b/Dockerfiles/arkime.Dockerfile index 1ae22ebba..3c99bdd5d 100644 --- a/Dockerfiles/arkime.Dockerfile +++ b/Dockerfiles/arkime.Dockerfile @@ -106,8 +106,6 @@ ENV TERM xterm ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" ARG MALCOLM_USERNAME=admin ARG ARKIME_ECS_PROVIDER=arkime ARG ARKIME_ECS_DATASET=session @@ -135,8 +133,6 @@ ARG PCAP_NODE_NAME=malcolm ARG MAXMIND_GEOIP_DB_LICENSE_KEY="" # Declare envs vars for each arg -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY ENV ARKIME_INTERFACE $ARKIME_INTERFACE ENV MALCOLM_USERNAME $MALCOLM_USERNAME # this needs to be present, but is unused as nginx is going to handle auth for us diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index e8e009089..b7e17c98b 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -20,30 +20,18 @@ ENV PUSER_PRIV_DROP true ENV TERM xterm -ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*" -ARG ARKIME_INDEX_PATTERN_ID="arkime_sessions3-*" -ARG ARKIME_INDEX_TIME_FIELD="firstPacket" ARG CREATE_OS_ARKIME_SESSION_INDEX="true" -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" ARG ISM_SNAPSHOT_COMPRESSED=false ARG ISM_SNAPSHOT_REPO=logs ARG OFFLINE_REGION_MAPS_PORT="28991" ARG OPENSEARCH_DEFAULT_DASHBOARD="0ad3d7c2-3441-485e-9dfe-dbb22e84e576" -ARG DASHBOARDS_URL="http://dashboards:5601/dashboards" ARG DASHBOARDS_DARKMODE="true" -ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN -ENV ARKIME_INDEX_PATTERN_ID $ARKIME_INDEX_PATTERN_ID -ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD ENV CREATE_OS_ARKIME_SESSION_INDEX $CREATE_OS_ARKIME_SESSION_INDEX -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY ENV ISM_SNAPSHOT_COMPRESSED $ISM_SNAPSHOT_COMPRESSED ENV ISM_SNAPSHOT_REPO $ISM_SNAPSHOT_REPO ENV OFFLINE_REGION_MAPS_PORT $OFFLINE_REGION_MAPS_PORT ENV OPENSEARCH_DEFAULT_DASHBOARD $OPENSEARCH_DEFAULT_DASHBOARD -ENV DASHBOARDS_URL $DASHBOARDS_URL ENV DASHBOARDS_DARKMODE $DASHBOARDS_DARKMODE ENV PATH="/data:${PATH}" diff --git a/Dockerfiles/dashboards.Dockerfile b/Dockerfiles/dashboards.Dockerfile index 37991229f..b4e6e828d 100644 --- a/Dockerfiles/dashboards.Dockerfile +++ b/Dockerfiles/dashboards.Dockerfile @@ -22,23 +22,10 @@ ENV TERM xterm ENV TINI_VERSION v0.19.0 ENV OSD_TRANSFORM_VIS_VERSION 2.11.0 -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" -ARG CREATE_OS_ARKIME_SESSION_INDEX="true" -ARG ARKIME_INDEX_PATTERN="arkime_sessions3-*" -ARG ARKIME_INDEX_PATTERN_ID="arkime_sessions3-*" -ARG ARKIME_INDEX_TIME_FIELD="firstPacket" ARG NODE_OPTIONS="--max_old_space_size=4096" +ENV NODE_OPTIONS $NODE_OPTIONS -ENV CREATE_OS_ARKIME_SESSION_INDEX $CREATE_OS_ARKIME_SESSION_INDEX -ENV ARKIME_INDEX_PATTERN $ARKIME_INDEX_PATTERN -ENV ARKIME_INDEX_PATTERN_ID $ARKIME_INDEX_PATTERN_ID -ENV ARKIME_INDEX_TIME_FIELD $ARKIME_INDEX_TIME_FIELD -ENV OPENSEARCH_DEFAULT_DASHBOARD $OPENSEARCH_DEFAULT_DASHBOARD ENV PATH="/data:${PATH}" -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY -ENV NODE_OPTIONS $NODE_OPTIONS USER root diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index 659236bfc..84a56baa2 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -44,8 +44,6 @@ ARG FILEBEAT_WATCHER_POLLING_ASSUME_CLOSED_SEC=10 ARG LOG_CLEANUP_MINUTES=0 ARG ZIP_CLEANUP_MINUTES=0 ARG NGINX_LOG_ACCESS_AND_ERRORS=false -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" ARG FILEBEAT_TCP_LISTEN=false ARG FILEBEAT_TCP_PORT=5045 ARG FILEBEAT_TCP_LOG_FORMAT="raw" @@ -146,8 +144,6 @@ ENV FILEBEAT_ZEEK_LOG_LIVE_PATH $FILEBEAT_ZEEK_LOG_LIVE_PATH ENV FILEBEAT_SURICATA_LOG_PATH $FILEBEAT_SURICATA_LOG_PATH ENV FILEBEAT_NGINX_LOG_PATH $FILEBEAT_NGINX_LOG_PATH ENV NGINX_LOG_ACCESS_AND_ERRORS $NGINX_LOG_ACCESS_AND_ERRORS -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY ENV FILEBEAT_TCP_LISTEN $FILEBEAT_TCP_LISTEN ENV FILEBEAT_TCP_PORT $FILEBEAT_TCP_PORT ENV FILEBEAT_TCP_LOG_FORMAT $FILEBEAT_TCP_LOG_FORMAT diff --git a/Dockerfiles/opensearch.Dockerfile b/Dockerfiles/opensearch.Dockerfile index 82fbddd10..cb9aa6a66 100644 --- a/Dockerfiles/opensearch.Dockerfile +++ b/Dockerfiles/opensearch.Dockerfile @@ -24,12 +24,6 @@ ENV TERM xterm ENV TINI_VERSION v0.19.0 -ARG OPENSEARCH_PRIMARY="opensearch-local" -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY - -ARG MALCOLM_API_URL="http://api:5000/mapi/event" -ENV MALCOLM_API_URL $MALCOLM_API_URL - ARG DISABLE_INSTALL_DEMO_CONFIG=true ARG DISABLE_PERFORMANCE_ANALYZER_AGENT_CLI=true ENV DISABLE_INSTALL_DEMO_CONFIG $DISABLE_INSTALL_DEMO_CONFIG diff --git a/Dockerfiles/pcap-monitor.Dockerfile b/Dockerfiles/pcap-monitor.Dockerfile index 84a9a0b0f..6ec3c649b 100644 --- a/Dockerfiles/pcap-monitor.Dockerfile +++ b/Dockerfiles/pcap-monitor.Dockerfile @@ -26,8 +26,6 @@ ENV TERM xterm ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -ARG OPENSEARCH_URL="http://opensearch:9200" -ARG OPENSEARCH_PRIMARY="opensearch-local" ARG PCAP_PATH=/pcap ARG PCAP_PIPELINE_VERBOSITY="" ARG PCAP_PIPELINE_IGNORE_PREEXISTING=false @@ -36,8 +34,6 @@ ARG PCAP_PIPELINE_POLLING_ASSUME_CLOSED_SEC=10 ARG PCAP_NODE_NAME=malcolm ARG ZEEK_PATH=/zeek -ENV OPENSEARCH_URL $OPENSEARCH_URL -ENV OPENSEARCH_PRIMARY $OPENSEARCH_PRIMARY ENV PCAP_PATH $PCAP_PATH ENV PCAP_PIPELINE_VERBOSITY $PCAP_PIPELINE_VERBOSITY ENV PCAP_PIPELINE_IGNORE_PREEXISTING $PCAP_PIPELINE_IGNORE_PREEXISTING diff --git a/api/project/__init__.py b/api/project/__init__.py index f21f04e0f..9e5106b34 100644 --- a/api/project/__init__.py +++ b/api/project/__init__.py @@ -381,16 +381,24 @@ def index_from_args(args): ---------- args : dict The dictionary which should contain 'doctype' value. Missing - key returns value of app.config["ARKIME_INDEX_PATTERN"] + key returns value of app.config["MALCOLM_NETWORK_INDEX_PATTERN"] Returns ------- return index - app.config["ARKIME_INDEX_PATTERN"] or app.config["BEATS_INDEX_PATTERN"] + app.config["MALCOLM_OTHER_INDEX_PATTERN"], + app.config["ARKIME_NETWORK_INDEX_PATTERN"], + app.config["MALCOLM_NETWORK_INDEX_PATTERN"], """ - return ( - app.config["BEATS_INDEX_PATTERN"] if doctype_from_args(args) == 'host' else app.config["ARKIME_INDEX_PATTERN"] - ) + index = None + if dtype := str(doctype_from_args(args)).lower(): + if dtype.startswith('host') or dtype.startswith('beat') or dtype.startswith('miscbeat'): + index = app.config["MALCOLM_OTHER_INDEX_PATTERN"] + elif dtype.startswith('arkime') or dtype.startswith('session'): + index = app.config["ARKIME_NETWORK_INDEX_PATTERN"] + else: + index = app.config["MALCOLM_NETWORK_INDEX_PATTERN"] + return index def timefield_from_args(args): @@ -401,18 +409,24 @@ def timefield_from_args(args): ---------- args : dict The dictionary which should contain 'doctype' value. Missing - key returns value of app.config["ARKIME_INDEX_TIME_FIELD"] + key returns value of app.config["MALCOLM_NETWORK_INDEX_PATTERN"] Returns ------- - return index - app.config["ARKIME_INDEX_TIME_FIELD"] or app.config["BEATS_INDEX_TIME_FIELD"] + timefield index + app.config["MALCOLM_OTHER_INDEX_TIME_FIELD"], + app.config["ARKIME_NETWORK_INDEX_TIME_FIELD"], + app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"], """ - return ( - app.config["BEATS_INDEX_TIME_FIELD"] - if doctype_from_args(args) == 'host' - else app.config["ARKIME_INDEX_TIME_FIELD"] - ) + timefield = None + if dtype := str(doctype_from_args(args)).lower(): + if dtype.startswith('host') or dtype.startswith('beat') or dtype.startswith('miscbeat'): + timefield = app.config["MALCOLM_OTHER_INDEX_TIME_FIELD"] + elif dtype.startswith('arkime') or dtype.startswith('session'): + timefield = app.config["ARKIME_NETWORK_INDEX_TIME_FIELD"] + else: + timefield = app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"] + return timefield def filtertime(search, args, default_from="1 day ago", default_to="now"): @@ -860,8 +874,7 @@ def ping(): ) def event(): """Webhook that accepts alert data (like that from the OpenSearch Alerting API) to be - reindexed into OpenSearch as session records (e.g., arkime_sessions3-*) for viewing - in Malcolm's default visualizations. + reindexed into OpenSearch as session records for viewing in Malcolm's default visualizations. See Malcolm's malcolm_api_loopback_monitor.json and malcolm_api_loopback_destination.json for formatting template examples. @@ -921,7 +934,7 @@ def event(): data = get_request_arguments(request) nowTimeStr = datetime.now().astimezone(pytz.utc).isoformat().replace('+00:00', 'Z') if 'alert' in data: - alert['@timestamp'] = deep_get( + alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]] = deep_get( data, [ 'alert', @@ -930,7 +943,7 @@ def event(): ], nowTimeStr, ) - alert['firstPacket'] = alert['@timestamp'] + alert['firstPacket'] = alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]] alert['lastPacket'] = deep_get( data, [ @@ -1012,9 +1025,9 @@ def event(): if hitCount := deep_get(alertResults[0], ['hits', 'total', 'value'], 0): alert['event']['hits'] = hitCount - docDateStr = dateparser.parse(alert['@timestamp']).strftime('%y%m%d') + docDateStr = dateparser.parse(alert[app.config["MALCOLM_NETWORK_INDEX_TIME_FIELD"]]).strftime('%y%m%d') idxResponse = databaseClient.index( - index=f"{app.config['ARKIME_INDEX_PATTERN'].rstrip('*')}{docDateStr}", + index=f"{app.config['MALCOLM_NETWORK_INDEX_PATTERN'].rstrip('*')}{docDateStr}", id=f"{docDateStr}-{alert['event']['id']}", body=alert, ) diff --git a/api/project/config.py b/api/project/config.py index 71e33a3bc..b98ef3481 100644 --- a/api/project/config.py +++ b/api/project/config.py @@ -6,10 +6,13 @@ class Config(object): ARKIME_FIELDS_INDEX = f"{os.getenv('ARKIME_FIELDS_INDEX', 'arkime_fields')}" - ARKIME_INDEX_PATTERN = f"{os.getenv('ARKIME_INDEX_PATTERN', 'arkime_sessions3-*')}" - ARKIME_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_INDEX_TIME_FIELD', 'firstPacket')}" - BEATS_INDEX_PATTERN = f"{os.getenv('BEATS_INDEX_PATTERN', 'malcolm_beats_*')}" - BEATS_INDEX_TIME_FIELD = f"{os.getenv('BEATS_INDEX_TIME_FIELD', '@timestamp')}" + MALCOLM_NETWORK_INDEX_PATTERN = f"{os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*')}" + MALCOLM_NETWORK_INDEX_TIME_FIELD = f"{os.getenv('MALCOLM_NETWORK_INDEX_TIME_FIELD', 'firstPacket')}" + MALCOLM_OTHER_INDEX_PATTERN = f"{os.getenv('MALCOLM_OTHER_INDEX_PATTERN', 'malcolm_beats_*')}" + MALCOLM_OTHER_INDEX_TIME_FIELD = f"{os.getenv('MALCOLM_OTHER_INDEX_TIME_FIELD', '@timestamp')}" + ARKIME_NETWORK_INDEX_PATTERN = f"{os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*')}" + ARKIME_NETWORK_INDEX_TIME_FIELD = f"{os.getenv('ARKIME_NETWORK_INDEX_TIME_FIELD', 'firstPacket')}" + DOCTYPE_DEFAULT = f"{os.getenv('DOCTYPE_DEFAULT', 'network')}" BUILD_DATE = f"{os.getenv('BUILD_DATE', 'unknown')}" DASHBOARDS_URL = f"{os.getenv('DASHBOARDS_URL', 'http://dashboards:5601/dashboards')}" diff --git a/config/dashboards-helper.env.example b/config/dashboards-helper.env.example index 75873108e..268e653e1 100644 --- a/config/dashboards-helper.env.example +++ b/config/dashboards-helper.env.example @@ -1,8 +1,7 @@ # Whether or not to set OpenSearch Dashboards to dark mode DASHBOARDS_DARKMODE=true # The maximum cumulative size of OpenSearch indices containing network traffic metadata -# (arkime_sessions3-*) before which the oldest indices will be deleted ('' to disable -# storage-based index pruning). +# before which the oldest indices will be deleted ('' to disable storage-based index pruning). OPENSEARCH_INDEX_SIZE_PRUNE_LIMIT=0 # Whether to determine the "oldest" indices for storage-based index pruning by creation # date/time ('true') or index name ('false') diff --git a/config/opensearch.env.example b/config/opensearch.env.example index 1eedf9809..fbdf87a17 100644 --- a/config/opensearch.env.example +++ b/config/opensearch.env.example @@ -41,6 +41,15 @@ OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION=false # OpenSearch memory allowance and other Java options OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dlog4j.formatMsgNoLookups=true +# OpenSearch index patterns and timestamp fields +MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-* +MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket +MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_* +MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp +ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-* +ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket + +# Miscellaneous logger.level=WARN bootstrap.memory_lock=true MAX_LOCKED_MEMORY=unlimited diff --git a/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json b/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json index 0472c806b..fcff1a770 100644 --- a/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json +++ b/dashboards/alerting/monitors/malcolm_api_loopback_monitor.json @@ -13,7 +13,7 @@ { "search": { "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "query": { "size": 0, @@ -22,7 +22,7 @@ "filter": [ { "range": { - "firstPacket": { + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER": { "from": "{{period_end}}||-10m", "to": "{{period_end}}", "include_lower": true, diff --git a/dashboards/anomaly_detectors/action_result_user.json b/dashboards/anomaly_detectors/action_result_user.json index 367be6190..86bf8457b 100644 --- a/dashboards/anomaly_detectors/action_result_user.json +++ b/dashboards/anomaly_detectors/action_result_user.json @@ -1,9 +1,9 @@ { "name": "action_result_user", "description": "Detect anomalies in action (event.action), result (event.result) and user (related.user) within application protocols (network.protocol)", - "time_field": "firstPacket", + "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "category_field": [ "network.protocol" diff --git a/dashboards/anomaly_detectors/file_mime_type.json b/dashboards/anomaly_detectors/file_mime_type.json index 7473479a6..9f3e45afe 100644 --- a/dashboards/anomaly_detectors/file_mime_type.json +++ b/dashboards/anomaly_detectors/file_mime_type.json @@ -1,9 +1,9 @@ { "name": "file_mime_type", "description": "Detect anomalies based on transferred file type (file.mime_type)", - "time_field": "firstPacket", + "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "feature_attributes": [ { diff --git a/dashboards/anomaly_detectors/malcolm_init_dummy.json b/dashboards/anomaly_detectors/malcolm_init_dummy.json index 5ee2a4095..ca7644921 100644 --- a/dashboards/anomaly_detectors/malcolm_init_dummy.json +++ b/dashboards/anomaly_detectors/malcolm_init_dummy.json @@ -1,9 +1,9 @@ { "name": "malcolm_init_dummy", "description": "A dummy detector to force opensearch anomaly detection index creation", - "time_field": "firstPacket", + "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "feature_attributes": [ { diff --git a/dashboards/anomaly_detectors/network_protocol.json b/dashboards/anomaly_detectors/network_protocol.json index 241264b1e..770223aa9 100644 --- a/dashboards/anomaly_detectors/network_protocol.json +++ b/dashboards/anomaly_detectors/network_protocol.json @@ -1,9 +1,9 @@ { "name": "network_protocol", "description": "Detect anomalies based on application protocol (network.protocol)", - "time_field": "firstPacket", + "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "feature_attributes": [ { diff --git a/dashboards/anomaly_detectors/total_bytes.json b/dashboards/anomaly_detectors/total_bytes.json index c932c50de..c66a125bb 100644 --- a/dashboards/anomaly_detectors/total_bytes.json +++ b/dashboards/anomaly_detectors/total_bytes.json @@ -1,9 +1,9 @@ { "name": "total_bytes", "description": "Detect anomalies based on traffic size (sum of network.bytes)", - "time_field": "firstPacket", + "time_field": "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "indices": [ - "arkime_sessions3-*" + "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" ], "feature_attributes": [ { diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json index 850c55c2b..5b9c4e526 100644 --- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json +++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json @@ -520,7 +520,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -558,7 +558,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -600,7 +600,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json index 11c63eb2b..2f1225139 100644 --- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json +++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json @@ -373,7 +373,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json index 9a380588e..9ce459d27 100644 --- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json +++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json @@ -174,7 +174,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -425,7 +425,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -470,7 +470,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json index c13df5038..377c3df1b 100644 --- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json +++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json @@ -374,7 +374,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json index 82734a3a9..07441f472 100644 --- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json +++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json @@ -341,7 +341,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -381,7 +381,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index e3cd1481b..cca70c8fd 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -212,7 +212,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -271,7 +271,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -300,7 +300,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -329,7 +329,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -374,7 +374,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -418,7 +418,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -459,7 +459,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json index 1c0dd53cd..a07074421 100644 --- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json +++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json index 76c75d379..64df21f9f 100644 --- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json +++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json @@ -516,7 +516,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json index 2edf0077c..788c9e082 100644 --- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json +++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json @@ -341,7 +341,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json index 286026632..df9c1574d 100644 --- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json +++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json @@ -165,7 +165,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json index 6c8a08505..9d223dfda 100644 --- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json +++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json @@ -330,7 +330,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json index 28176f040..212bd215f 100644 --- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json +++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json @@ -178,7 +178,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -327,7 +327,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -356,7 +356,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -580,7 +580,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -624,7 +624,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -669,7 +669,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -717,7 +717,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -756,7 +756,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -796,7 +796,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -840,7 +840,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json index 6d5b8e3a9..073c2d86f 100644 --- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json +++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json @@ -411,7 +411,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json index 5286672ad..fe6f46e35 100644 --- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json index 3abce6f00..c23d35ca3 100644 --- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json +++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json @@ -270,7 +270,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json index d67af9f6f..c08b8db6b 100644 --- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json @@ -137,7 +137,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -166,7 +166,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -225,7 +225,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -284,7 +284,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -389,7 +389,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -432,7 +432,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -476,7 +476,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -518,7 +518,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json index f23198b57..2c471f762 100644 --- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json @@ -147,7 +147,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -176,7 +176,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -295,7 +295,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -324,7 +324,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -353,7 +353,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -455,7 +455,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -498,7 +498,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -540,7 +540,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -577,7 +577,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json index aa93ccb50..0f1e10a33 100644 --- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json +++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json @@ -588,7 +588,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -630,7 +630,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json index 24ecaaf4a..84c997390 100644 --- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json +++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json @@ -514,7 +514,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index 3d763d28a..85ff935ff 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -378,7 +378,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json index ff1bec8ec..8b46aff5b 100644 --- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json @@ -120,7 +120,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json index 4ea6ee9a4..fef185cc5 100644 --- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json +++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json @@ -387,7 +387,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json index 69dd8c9c9..037344c46 100644 --- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json +++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json @@ -222,7 +222,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -625,7 +625,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -642,7 +642,7 @@ "version": "Wzk1MywxXQ==", "attributes": { "title": "HTTP - Method and Status", - "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: arkime_sessions3-*\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Method\\\", \\\"Status\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Method\\\", \\\"Status\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json index 731ada58a..b2855ae48 100644 --- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json index a34b2f29c..3325c8e0b 100644 --- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json +++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json @@ -481,7 +481,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -523,7 +523,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json index 0dd286831..af8f8fdc5 100644 --- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json +++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json @@ -446,7 +446,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json index 677fa9c43..1ad2919e4 100644 --- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json +++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json @@ -307,7 +307,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -344,7 +344,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json index e59e420a4..c5c3ba13c 100644 --- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json +++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json @@ -247,7 +247,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -410,7 +410,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -454,7 +454,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -496,7 +496,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json index b903db812..47c9a857d 100644 --- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json +++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json @@ -346,7 +346,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -363,7 +363,7 @@ "version": "Wzk1MSwxXQ==", "attributes": { "title": "SNMP - Version and PDU Type", - "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: arkime_sessions3-*\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol_version\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol_version\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json index 67d3cedf9..d5ed0a385 100644 --- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json +++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json @@ -235,7 +235,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json index 29c7129e2..ef67fc815 100644 --- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json +++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json @@ -448,7 +448,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json index 3edcebc14..afe5a2eb4 100644 --- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json @@ -127,7 +127,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index 49405f87b..0bd547249 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -441,7 +441,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json index 6bcbd4f97..07b55b7fb 100644 --- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json +++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json index 8d328cb06..5d40fb575 100644 --- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json +++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json @@ -112,7 +112,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -183,7 +183,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json index 52d43d0d0..205f303a3 100644 --- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json +++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json @@ -525,7 +525,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -566,7 +566,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -583,7 +583,7 @@ "version": "WzQzMSwxXQ==", "attributes": { "title": "Cross Segment Traffic", - "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: arkime_sessions3-*\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"source.segment.name\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"destination.segment.name\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"source.segment.name\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"destination.segment.name\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -621,7 +621,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json index c452f1d5a..d53132306 100644 --- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json +++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json @@ -341,7 +341,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json index 710154d0b..2f3e70e89 100644 --- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json index fe22e1ae0..c5ccb502b 100644 --- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json +++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json @@ -413,7 +413,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json index dba7cb265..59fc58138 100644 --- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json +++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json @@ -658,7 +658,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -700,7 +700,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json index 9f9933675..2a14155c0 100644 --- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json +++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json @@ -516,7 +516,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json index 5f373392d..09479edc7 100644 --- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json +++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json @@ -257,7 +257,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -286,7 +286,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -419,7 +419,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -461,7 +461,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -504,7 +504,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json index a0b342987..d18342d85 100644 --- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json +++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json @@ -409,7 +409,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -452,7 +452,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -495,7 +495,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -538,7 +538,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json index 048c718fc..979d1b4c4 100644 --- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json +++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index 4853d0102..d1c09ca1a 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -167,7 +167,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -419,7 +419,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -460,7 +460,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -498,7 +498,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -538,7 +538,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -579,7 +579,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json index db66cce10..5b281bb0f 100644 --- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json +++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json @@ -376,7 +376,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json index 30d07fe83..373fc5337 100644 --- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json +++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json @@ -137,7 +137,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -196,7 +196,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -255,7 +255,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -314,7 +314,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -343,7 +343,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -372,7 +372,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -473,7 +473,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -517,7 +517,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -558,7 +558,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 4dcf04eac..74bd123dc 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -302,7 +302,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -331,7 +331,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -373,7 +373,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/Vega.Sankey.txt b/dashboards/dashboards/Vega.Sankey.txt index 7b710e97e..0181028d3 100644 --- a/dashboards/dashboards/Vega.Sankey.txt +++ b/dashboards/dashboards/Vega.Sankey.txt @@ -10,7 +10,7 @@ url: { %context%: true %timefield%: firstPacket - index: arkime_sessions3-* + index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER body: { size: 0 aggs: { @@ -407,7 +407,7 @@ { // Clicking groupMark sets this signal to the filter values events: @groupMark:click! - update: "datum.stack=='stk1' ? opensearchDashboardsAddFilter({\"match_phrase\": { \"source.ip\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\"match_phrase\": { \"destination.ip\": datum.grpId } }, 'arkime_sessions3-*')" + update: "datum.stack=='stk1' ? opensearchDashboardsAddFilter({\"match_phrase\": { \"source.ip\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\"match_phrase\": { \"destination.ip\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')" } { // Clicking "show all" button, or double-clicking anywhere resets it diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json index 089349790..982cf50fd 100644 --- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json index ee4b3eb59..375fba702 100644 --- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json +++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json @@ -117,7 +117,7 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -176,7 +176,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -193,7 +193,7 @@ "version": "Wzk1OSwxXQ==", "attributes": { "title": "Top Actions by Service", - "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: arkime_sessions3-*\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Action\\\", \\\"Protocol\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Action\\\", \\\"Protocol\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -216,7 +216,7 @@ "version": "Wzk2MCwxXQ==", "attributes": { "title": "Top Results by Service", - "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: arkime_sessions3-*\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Protocol\\\", \\\"Result\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"right\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'arkime_sessions3-*') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'arkime_sessions3-*')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Protocol\\\", \\\"Result\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"right\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -251,7 +251,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -280,7 +280,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -325,7 +325,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json index a3b757c70..bc99e025d 100644 --- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json @@ -122,12 +122,12 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -156,12 +156,12 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -205,7 +205,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -429,7 +429,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -472,7 +472,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json index 9df8a913f..94363754e 100644 --- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json +++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json @@ -930,7 +930,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json index 01be94389..2a870c85b 100644 --- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json +++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json @@ -377,7 +377,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json index 5c24b521e..858c224a5 100644 --- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json +++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json @@ -137,7 +137,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json index 3ae48e383..4c01c5b18 100644 --- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json +++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json index bce317209..9c6683341 100644 --- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json index fe4e02a41..03cfd0560 100644 --- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json +++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json @@ -516,7 +516,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json index 1cb489e73..acd0455b2 100644 --- a/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json +++ b/dashboards/dashboards/beats/0d4955f0-eb25-11ec-a6d4-b3526526c2c7.json @@ -74,7 +74,7 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -133,7 +133,7 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -198,7 +198,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json index b4a58edec..dd54b51d0 100644 --- a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json +++ b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json @@ -132,7 +132,7 @@ "version": "WzkyNCwxXQ==", "attributes": { "title": "Malcolm Sensor Audit Logs - Logs Over Time by Type", - "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}", + "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -267,7 +267,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json index de7c0a4e5..d9ffc162c 100644 --- a/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json +++ b/dashboards/dashboards/beats/903f42c0-f634-11ec-828d-2fb7a4a26e1f.json @@ -74,7 +74,7 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -202,7 +202,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/beats/Filebeat-nginx-logs.json b/dashboards/dashboards/beats/Filebeat-nginx-logs.json index 859ee6d8b..46f35dcdd 100644 --- a/dashboards/dashboards/beats/Filebeat-nginx-logs.json +++ b/dashboards/dashboards/beats/Filebeat-nginx-logs.json @@ -79,7 +79,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -119,7 +119,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -142,7 +142,7 @@ "title": "nginx Access Over Time", "uiStateJSON": "{}", "version": 1, - "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"Access logs\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"index_pattern\":\"malcolm_beats_*\",\"axis_position\":\"left\",\"annotations\":[{\"index_pattern\":\"malcolm_beats_*\",\"ignore_global_filters\":1,\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"time_field\":\"@timestamp\",\"icon\":\"fa-tag\",\"color\":\"#F00\",\"ignore_panel_filters\":1}],\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Access Over Time\"}" + "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"Access logs\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"axis_position\":\"left\",\"annotations\":[{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"ignore_global_filters\":1,\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"time_field\":\"@timestamp\",\"icon\":\"fa-tag\",\"color\":\"#F00\",\"ignore_panel_filters\":1}],\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Access Over Time\"}" }, "references": [], "migrationVersion": { diff --git a/dashboards/dashboards/beats/Filebeat-nginx-overview.json b/dashboards/dashboards/beats/Filebeat-nginx-overview.json index 1092fdcba..4df0fb11c 100644 --- a/dashboards/dashboards/beats/Filebeat-nginx-overview.json +++ b/dashboards/dashboards/beats/Filebeat-nginx-overview.json @@ -90,7 +90,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -119,7 +119,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -172,7 +172,7 @@ "title": "nginx Response Codes Over Time", "uiStateJSON": "{}", "version": 1, - "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":{\"query\":\"http.response.status_code:[300 TO 399]\",\"language\":\"lucene\"},\"label\":\"300s\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":{\"query\":\"http.response.status_code:[400 TO 499]\",\"language\":\"lucene\"},\"label\":\"400s\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":{\"query\":\"http.response.status_code:[500 TO 599]\",\"language\":\"lucene\"},\"label\":\"500s\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"filters\",\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"http.response.status_code\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Response Codes Over Time\"}" + "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":{\"query\":\"http.response.status_code:[300 TO 399]\",\"language\":\"lucene\"},\"label\":\"300s\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":{\"query\":\"http.response.status_code:[400 TO 499]\",\"language\":\"lucene\"},\"label\":\"400s\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":{\"query\":\"http.response.status_code:[500 TO 599]\",\"language\":\"lucene\"},\"label\":\"500s\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"filters\",\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"http.response.status_code\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Response Codes Over Time\"}" }, "references": [], "migrationVersion": { @@ -195,7 +195,7 @@ "title": "nginx Top Pages", "uiStateJSON": "{}", "version": 1, - "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"value_template\":\"\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"top_n\",\"index_pattern\":\"malcolm_beats_*\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"interval\":\"auto\"},\"aggs\":[],\"title\":\"nginx Top Pages\"}" + "visState": "{\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"line\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"value_template\":\"\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"url.original\",\"color\":\"#68BC00\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"top_n\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"interval\":\"auto\"},\"aggs\":[],\"title\":\"nginx Top Pages\"}" }, "references": [], "migrationVersion": { @@ -218,7 +218,7 @@ "title": "nginx Errors Over Time", "uiStateJSON": "{}", "version": 1, - "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"log.level\",\"color\":\"rgba(211,49,21,1)\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:error\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Errors Over Time\"}" + "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"number\",\"chart_type\":\"bar\",\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"axis_position\":\"right\",\"split_mode\":\"terms\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"log.level\",\"color\":\"rgba(211,49,21,1)\",\"line_width\":1,\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module:nginx AND fileset.name:error\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Errors Over Time\"}" }, "references": [], "migrationVersion": { @@ -241,7 +241,7 @@ "title": "nginx Data Volume", "uiStateJSON": "{}", "version": 1, - "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"formatter\":\"bytes\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"field\":\"http.response.body.bytes\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":null,\"color\":\"#68BC00\",\"line_width\":1,\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module: nginx AND fileset.name: access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Data Volume\"}" + "visState": "{\"type\":\"metrics\",\"params\":{\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"formatter\":\"bytes\",\"chart_type\":\"line\",\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":{\"query\":\"http.response.status_code:[200 TO 299]\",\"language\":\"lucene\"},\"label\":\"200s\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\"}],\"seperate_axis\":0,\"point_size\":1,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"metrics\":[{\"type\":\"sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"field\":\"http.response.body.bytes\"}],\"label\":\"\",\"axis_position\":\"right\",\"split_mode\":\"everything\",\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":null,\"color\":\"#68BC00\",\"line_width\":1,\"split_color_mode\":\"gradient\"}],\"time_field\":\"@timestamp\",\"filter\":{\"query\":\"event.module: nginx AND fileset.name: access\",\"language\":\"lucene\"},\"show_grid\":1,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"show_legend\":1,\"type\":\"timeseries\",\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"interval\":\"auto\",\"legend_position\":\"bottom\"},\"aggs\":[],\"title\":\"nginx Data Volume\"}" }, "references": [], "migrationVersion": { @@ -305,7 +305,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/beats/Metricbeat-host-overview.json b/dashboards/dashboards/beats/Metricbeat-host-overview.json index bace7fc3d..c532cb56d 100644 --- a/dashboards/dashboards/beats/Metricbeat-host-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-host-overview.json @@ -122,7 +122,7 @@ "version": "WzEwMjgsMV0=", "attributes": { "title": "Network Traffic (Packets)", - "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", + "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -145,7 +145,7 @@ "version": "Wzg1NSwxXQ==", "attributes": { "title": "Network Traffic (Bytes)", - "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", + "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -168,7 +168,7 @@ "version": "Wzg1NiwxXQ==", "attributes": { "title": "Memory Usage", - "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -191,7 +191,7 @@ "version": "Wzg1NywxXQ==", "attributes": { "title": "CPU Usage", - "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -214,7 +214,7 @@ "version": "Wzg1OCwxXQ==", "attributes": { "title": "Disk IO (Bytes)", - "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -237,7 +237,7 @@ "version": "Wzg4MSwxXQ==", "attributes": { "title": "CPU Usage Gauge", - "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", + "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -260,7 +260,7 @@ "version": "Wzg4MCwxXQ==", "attributes": { "title": "Memory Usage Gauge", - "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -283,7 +283,7 @@ "version": "Wzk0OCwxXQ==", "attributes": { "title": "Inbound Traffic", - "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", + "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -306,7 +306,7 @@ "version": "Wzk1NSwxXQ==", "attributes": { "title": "Outbound Traffic", - "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -352,7 +352,7 @@ "version": "Wzg2NCwxXQ==", "attributes": { "title": "Swap usage", - "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -375,7 +375,7 @@ "version": "Wzg2NSwxXQ==", "attributes": { "title": "Memory usage vs total", - "visState": "{\"title\":\"Memory usage vs total\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.used\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"647ab8e0-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"674d39d0-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memusedkb\",\"field\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memusedkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"83f4bc70-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"9ea2b900-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memtotalkb\",\"field\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memtotalkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory usage vs total\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.used\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"647ab8e0-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"674d39d0-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memusedkb\",\"field\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memusedkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"miscbeat.mem.Mem.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"},{\"id\":\"83f4bc70-eb53-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"9ea2b900-eb53-11ec-ae08-f703744a0ba1\",\"name\":\"memtotalkb\",\"field\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\"}],\"script\":\"params.memtotalkb * 1000\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -398,7 +398,7 @@ "version": "Wzk3NSwxXQ==", "attributes": { "title": "Disk used", - "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"arkime_sessions3-*\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", + "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -421,7 +421,7 @@ "version": "WzEwMzQsMV0=", "attributes": { "title": "Interfaces by Incoming traffic", - "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -444,7 +444,7 @@ "version": "WzEwMzcsMV0=", "attributes": { "title": "Interfaces by Outgoing traffic", - "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"malcolm_beats_*\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -490,7 +490,7 @@ "version": "WzEwMjUsMV0=", "attributes": { "title": "Network Traffic (Drops and Errors)", - "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}", + "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/beats/Metricbeat-system-overview.json b/dashboards/dashboards/beats/Metricbeat-system-overview.json index 00449938f..a0d9aa0c3 100644 --- a/dashboards/dashboards/beats/Metricbeat-system-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-system-overview.json @@ -120,7 +120,7 @@ }, "references": [ { - "id": "malcolm_beats_*", + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER", "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern" } @@ -139,7 +139,7 @@ "version": "Wzg3NCwxXQ==", "attributes": { "title": "Top Hosts By Memory", - "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -162,7 +162,7 @@ "version": "Wzg3NSwxXQ==", "attributes": { "title": "Top Hosts By CPU", - "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -197,7 +197,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -214,7 +214,7 @@ "version": "Wzk0OCwxXQ==", "attributes": { "title": "Inbound Traffic", - "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"malcolm_beats_*\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", + "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -237,7 +237,7 @@ "version": "Wzk1NSwxXQ==", "attributes": { "title": "Outbound Traffic", - "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"malcolm_beats_*\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -260,7 +260,7 @@ "version": "Wzk3NSwxXQ==", "attributes": { "title": "Disk used", - "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"arkime_sessions3-*\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", + "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -283,7 +283,7 @@ "version": "Wzg4MCwxXQ==", "attributes": { "title": "Memory Usage Gauge", - "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -306,7 +306,7 @@ "version": "Wzg4MSwxXQ==", "attributes": { "title": "CPU Usage Gauge", - "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"malcolm_beats_*\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"arkime_sessions3-*\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", + "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json index 6a4e2047e..f465091b6 100644 --- a/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json +++ b/dashboards/dashboards/beats/f6600310-9943-11ee-a029-e973f4774355.json @@ -240,7 +240,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "malcolm_beats_*" + "id": "MALCOLM_OTHER_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json index ca024e00b..1c9904d9e 100644 --- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json @@ -120,7 +120,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -311,7 +311,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json index 813a5c6dd..84e6c2487 100644 --- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json +++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json @@ -343,7 +343,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json index 62c2d8847..5e954e4b1 100644 --- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json +++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json @@ -307,7 +307,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json index 9f73fd737..f379f6b05 100644 --- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json +++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json @@ -353,7 +353,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -400,7 +400,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -475,7 +475,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json index e3fb73a63..f628bde9e 100644 --- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json +++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json @@ -482,7 +482,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json index c7c63c3ee..17f9a6c1b 100644 --- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json +++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json @@ -237,7 +237,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -506,7 +506,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -548,7 +548,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -593,7 +593,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -635,7 +635,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -677,7 +677,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json index ef4c170a9..ac5e72581 100644 --- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json index 33b38480a..43a27ddbf 100644 --- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json +++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json index ac91e6016..73bec3d0e 100644 --- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json +++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json @@ -172,7 +172,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -201,7 +201,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -230,7 +230,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -259,7 +259,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -478,7 +478,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -517,7 +517,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json index 229e97acd..d472ef8df 100644 --- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json +++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json index 455a53aaa..8b658a84a 100644 --- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json @@ -374,7 +374,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -413,7 +413,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -454,7 +454,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -495,7 +495,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json index 404280a46..bd1b7bb7d 100644 --- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json @@ -127,7 +127,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json index 44b974e2a..6d97c14ef 100644 --- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json +++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json @@ -425,7 +425,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json index 0f4429f77..af52c8ca0 100644 --- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json +++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json @@ -122,17 +122,17 @@ { "name": "control_0_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_1_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" }, { "name": "control_2_index_pattern", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -199,7 +199,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json index 2c2b0e1e2..9e65b0dba 100644 --- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json +++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json @@ -482,7 +482,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json index 0b583c93c..93142ab14 100644 --- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json @@ -125,7 +125,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json index 68d0a8e17..851e81269 100644 --- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json +++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json @@ -448,7 +448,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -488,7 +488,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { @@ -533,7 +533,7 @@ { "name": "kibanaSavedObjectMeta.searchSourceJSON.index", "type": "index-pattern", - "id": "arkime_sessions3-*" + "id": "MALCOLM_NETWORK_INDEX_PATTERN_REPLACER" } ], "migrationVersion": { diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh index 868f9d135..1039a686a 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/create-arkime-sessions-index.sh @@ -6,9 +6,8 @@ set -euo pipefail shopt -s nocasematch DASHB_URL=${DASHBOARDS_URL:-"http://dashboards:5601/dashboards"} -INDEX_PATTERN=${ARKIME_INDEX_PATTERN:-"arkime_sessions3-*"} -INDEX_PATTERN_ID=${ARKIME_INDEX_PATTERN_ID:-"arkime_sessions3-*"} -INDEX_TIME_FIELD=${ARKIME_INDEX_TIME_FIELD:-"firstPacket"} +INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"} +INDEX_TIME_FIELD=${MALCOLM_NETWORK_INDEX_TIME_FIELD:-"firstPacket"} DUMMY_DETECTOR_NAME=${DUMMY_DETECTOR_NAME:-"malcolm_init_dummy"} DARK_MODE=${DASHBOARDS_DARKMODE:-"true"} @@ -26,7 +25,7 @@ OPENSEARCH_SECONDARY=${OPENSEARCH_SECONDARY:-""} # is the argument to automatically create this index enabled? if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then - # give OpenSearch time to start and Arkime to get its template created before configuring dashboards + # 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 for LOOP in primary secondary; do @@ -79,7 +78,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then if [[ "$LOOP" != "primary" ]] || curl "${CURL_CONFIG_PARAMS[@]}" -L --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_ID" ; then + if [[ "$LOOP" != "primary" ]] || ! curl "${CURL_CONFIG_PARAMS[@]}" -L --silent --output /dev/null --fail -XGET "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN" ; then echo "$DATASTORE_TYPE ($LOOP) is running at \"${OPENSEARCH_URL_TO_USE}\"!" @@ -171,7 +170,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # 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" \ - "$DASHB_URL/api/saved_objects/index-pattern/$INDEX_PATTERN_ID" \ + "$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..." @@ -179,7 +178,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # Make it the default index curl "${CURL_CONFIG_PARAMS[@]}" -w "\n" -sSL -XPOST -H "Content-Type: application/json" -H "$XSRF_HEADER: anything" \ "$DASHB_URL/api/$DASHBOARDS_URI_PATH/settings/defaultIndex" \ - -d"{\"value\":\"$INDEX_PATTERN_ID\"}" || true + -d"{\"value\":\"$INDEX_PATTERN\"}" || true for i in ${OTHER_INDEX_PATTERNS[@]}; do IDX_ID="$(echo "$i" | cut -d';' -f1)" @@ -240,7 +239,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # 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}' - # before we go on to create the anomaly detectors, we need to wait for actual arkime_sessions3-* documents + # 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 diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py index ce283fc58..82fc27b5a 100755 --- a/dashboards/scripts/index-refresh.py +++ b/dashboards/scripts/index-refresh.py @@ -62,7 +62,7 @@ def main(): dest='index', metavar='<str>', type=str, - default='arkime_sessions3-*', + default=os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'), help='Index Pattern Name', ) parser.add_argument( diff --git a/dashboards/templates/malcolm_template.json b/dashboards/templates/malcolm_template.json index e576fcd78..adb4e4e1c 100644 --- a/dashboards/templates/malcolm_template.json +++ b/dashboards/templates/malcolm_template.json @@ -1,5 +1,5 @@ { - "index_patterns" : ["arkime_sessions3-*"], + "index_patterns" : ["MALCOLM_NETWORK_INDEX_PATTERN_REPLACER"], "composed_of": [ "ecs_base", "ecs_ecs", diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index 5655f6908..51ec8f212 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -6,8 +6,13 @@ filter { # this field is used to determine opensearch index prefix if (![@metadata][malcolm_opensearch_index_prefix]) { - mutate { id => "mutate_add_arkime_sessions_index_prefix" - add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "arkime_sessions3" } } + ruby { + id => "rube_add_network_logs_index_prefix" + init => "$indexPrefix = ENV['MALCOLM_NETWORK_INDEX_PATTERN'].sub(/[\*_-]*$/, '')" + code => " + event.set('[@metadata][malcolm_opensearch_index_prefix]', ($indexPrefix.nil? || $indexPrefix.empty?) ? 'arkime_sessions3' : $indexPrefix) + " + } } # event.hash is used for document ID, it really needed to be set by now diff --git a/nginx/nginx.conf b/nginx/nginx.conf index fc0289e84..e9b621b16 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -161,6 +161,7 @@ http { set $filter_value $arg_value; } + # TODO: index and time field could be specified by environment variables rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; proxy_pass http://dashboards; proxy_redirect off; diff --git a/nginx/nginx_readonly.conf b/nginx/nginx_readonly.conf index fd12a4a8d..f19b341c5 100644 --- a/nginx/nginx_readonly.conf +++ b/nginx/nginx_readonly.conf @@ -95,6 +95,7 @@ http { set $filter_value $arg_value; } + # TODO: index and time field could be specified by environment variables rewrite ^/idark2dash/(.*) /dashboards/app/discover#/?_g=(refreshInterval:(pause:!t,value:0),time:(from:$filter_start_time,mode:absolute,to:$filter_stop_time))&_a=(columns:!(_source),filters:!((meta:(alias:!n,disabled:!f,index:'arkime_sessions3-*',key:$filter_field,negate:!f,params:(query:'$filter_value',type:phrase),type:phrase,value:'$filter_value'),query:(match:($filter_field:(query:'$filter_value',type:phrase))))),index:'arkime_sessions3-*',interval:auto,query:(language:lucene,query:''),sort:!(firstPacket,desc)) redirect; proxy_pass http://dashboards; proxy_redirect off; diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py index 50b724576..ee4a4eb0c 100755 --- a/shared/bin/opensearch_index_size_prune.py +++ b/shared/bin/opensearch_index_size_prune.py @@ -39,6 +39,7 @@ def main(): default=str2bool(os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_DEBUG', default='False')), help="Verbose output", ) + # TODO: allow specifying two indices (e.g., MALCOLM_NETWORK_INDEX_PATTERN may be different than ARKIME_NETWORK_INDEX_PATTERN) parser.add_argument( '-i', '--index', diff --git a/shared/bin/opensearch_status.sh b/shared/bin/opensearch_status.sh index 72883939b..fb79d34a8 100755 --- a/shared/bin/opensearch_status.sh +++ b/shared/bin/opensearch_status.sh @@ -9,7 +9,7 @@ ENCODING="utf-8" # options # -v (verbose) # -t <str> (wait not only for "up" status, but also wait for specified index template ot exist -# -w (wait not only for "up" status, but also wait for actual arkime_sessions3-* logs to exist) +# -w (wait not only for "up" status, but also wait for actual network traffic logs to exist) # # opensearch connection parameters are read from environment variables @@ -44,6 +44,8 @@ shift "$(($OPTIND -1))" OPENSEARCH_URL=${OPENSEARCH_URL:-"http://opensearch:9200"} OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"} +MALCOLM_NETWORK_INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"} +ARKIME_NETWORK_INDEX_PATTERN=${ARKIME_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"} OPENSEARCH_SSL_CERTIFICATE_VERIFICATION=${OPENSEARCH_SSL_CERTIFICATE_VERIFICATION:-"false"} OPENSEARCH_CREDS_CONFIG_FILE=${OPENSEARCH_CREDS_CONFIG_FILE:-"/var/local/curlrc/.opensearch.primary.curlrc"} if ( [[ "$OPENSEARCH_PRIMARY" == "opensearch-remote" ]] || [[ "$OPENSEARCH_PRIMARY" == "elasticsearch-remote" ]] ) && [[ -r "$OPENSEARCH_CREDS_CONFIG_FILE" ]]; then @@ -100,14 +102,20 @@ if (( $WAIT_FOR_LOG_DATA == 1 )); then echo "Waiting until $OPENSEARCH_PRIMARY has logs..." >&2 - # wait until at least one arkime_sessions3-* index exists - until (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/arkime_sessions3-*" 2>/dev/null | wc -l) > 0 )) ; do - sleep 5 + # wait until at least one network traffic log index exists + FOUND_INDEX= + while true; do + if (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/$MALCOLM_NETWORK_INDEX_PATTERN" 2>/dev/null | wc -l) > 0 )); then + FOUND_INDEX="$MALCOLM_NETWORK_INDEX_PATTERN" + elif [[ "$MALCOLM_NETWORK_INDEX_PATTERN" != "$ARKIME_NETWORK_INDEX_PATTERN" ]] && (( $(curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XGET "$OPENSEARCH_URL/_cat/indices/$ARKIME_NETWORK_INDEX_PATTERN" 2>/dev/null | wc -l) > 0 )); then + FOUND_INDEX="$ARKIME_NETWORK_INDEX_PATTERN" + fi + [[ -n "$FOUND_INDEX" ]] && break || sleep 5 done echo "Log indices exist." >&2 # wait until at least one record with @timestamp exists - until curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XPOST "$OPENSEARCH_URL/arkime_sessions3-*/_search" -d'{ "sort": { "@timestamp" : "desc" }, "size" : 1 }' >/dev/null 2>&1 ; do + until curl "${CURL_CONFIG_PARAMS[@]}" -fs -H'Content-Type: application/json' -XPOST "$OPENSEARCH_URL/$FOUND_INDEX/_search" -d'{ "sort": { "@timestamp" : "desc" }, "size" : 1 }' >/dev/null 2>&1 ; do sleep 5 done echo "Logs exist." >&2 From 16e223ed2cf565d6588173a42908a5a7ec784add Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 14:09:30 -0700 Subject: [PATCH 68/88] allow overriding destination index for Zeek and Suricata logs, work in progress, idaholab/Malcolm#313 --- .../024062a6-48d6-498f-a91a-3bf2da3a3cd3.json | 6 +- .../03207c00-d07e-11ec-b4a7-d1b4003706b7.json | 2 +- .../05e3e000-f118-11e9-acda-83a8e29e1a24.json | 6 +- .../078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json | 4 +- .../0a490422-0ce9-44bf-9a2d-19329ddde8c3.json | 4 +- .../0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json | 8 +-- .../0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json | 2 +- .../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 | 2 +- .../152f29dc-51a2-4f53-93e9-6e92765567b8.json | 18 +++--- .../1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json | 2 +- .../1ce42250-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../1fff49f6-0199-4a0f-820b-721aff9ff1f1.json | 4 +- .../29a1b290-eb98-11e9-a384-0fcf32210194.json | 10 ++-- .../2bec1490-eb94-11e9-a384-0fcf32210194.json | 8 +-- .../2cc56240-e460-11ed-a9d5-9f591c284cb4.json | 6 +- .../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 | 6 +- .../37041ee1-79c0-4684-a436-3173b0e89876.json | 6 +- .../39abfe30-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../42e831b9-41a9-4f35-8b7d-e1566d368773.json | 6 +- .../432af556-c5c0-4cc3-8166-b274b4e3a406.json | 4 +- .../4a073440-b286-11eb-a4d4-09fa12a6ebd4.json | 2 +- .../4a4bde20-4760-11ea-949c-bbb5a9feecbf.json | 8 +-- .../4e5f106e-c60a-4226-8f64-d534abb912ab.json | 6 +- .../50ced171-1b10-4c3f-8b67-2db9635661a6.json | 4 +- .../543118a9-02d7-43fe-b669-b8652177fc37.json | 4 +- .../55e332d0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json | 2 +- .../60d78fbd-471c-4f59-a9e3-189b33a13644.json | 2 +- .../665d1610-523d-11e9-a30e-e3576242f3ed.json | 4 +- .../677ee170-809e-11ed-8d5b-07069f823b6f.json | 2 +- .../76f2f912-80da-44cd-ab66-6a73c8344cc3.json | 4 +- .../77fc9960-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../7f41913f-cba8-43f5-82a8-241b7ead03e0.json | 4 +- .../7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json | 6 +- .../82da3101-2a9c-4ae2-bb61-d447a3fbe673.json | 4 +- .../870a5862-6c26-4a08-99fd-0c06cda85ba3.json | 8 +-- .../87a32f90-ef58-11e9-974e-9d600036d105.json | 10 ++-- .../87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json | 4 +- .../89d1cc50-974c-11ed-bb6b-3fb06c879b11.json | 2 +- .../92985909-dc29-4533-9e80-d3182a0ecf1d.json | 4 +- .../95479950-41f2-11ea-88fa-7151df485405.json | 8 +-- .../9ee51f94-3316-4fc5-bd89-93a52af69714.json | 4 +- dashboards/dashboards/Vega.Sankey.txt | 2 +- .../a16110b0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../a33e0a50-afcd-11ea-993f-b7d8522a8bed.json | 8 +-- .../a7514350-eba6-11e9-a384-0fcf32210194.json | 8 +-- .../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 | 2 +- .../b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json | 2 +- .../bb827f8e-639e-468c-93c8-9f5bc132eb8f.json | 4 +- .../7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json | 2 +- .../beats/Metricbeat-host-overview.json | 28 +++++----- .../beats/Metricbeat-system-overview.json | 14 ++--- .../bed185a0-ef82-11e9-b38a-2db3ee640e88.json | 6 +- .../bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json | 4 +- .../c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json | 4 +- .../ca5799a0-56b5-11eb-b749-576de068f8ad.json | 8 +-- .../caef3ade-d289-4d05-a511-149f3e97f238.json | 4 +- .../d2dd0180-06b1-11ec-8c6b-353266ade330.json | 6 +- .../d41fe630-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- .../d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json | 2 +- .../dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json | 2 +- .../e09a4b86-29b5-4256-bb3b-802ac9f90404.json | 2 +- .../e76d05c0-eb9f-11e9-a384-0fcf32210194.json | 2 +- .../ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json | 2 +- .../f1f09567-fc7f-450b-a341-19d2f2bb468b.json | 4 +- .../f394057d-1b16-4174-b994-7045f423a416.json | 2 +- .../f77bf097-18a8-465c-b634-eb2acc7a4f26.json | 4 +- .../fa141950-ef89-11e9-b38a-2db3ee640e88.json | 4 +- .../fa477130-2b8a-11ec-a9f2-3911c8571bfd.json | 4 +- .../scripts/create-arkime-sessions-index.sh | 56 +++++++++++++++---- 79 files changed, 233 insertions(+), 197 deletions(-) diff --git a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json index 5b9c4e526..51ce770a4 100644 --- a/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json +++ b/dashboards/dashboards/024062a6-48d6-498f-a91a-3bf2da3a3cd3.json @@ -134,7 +134,7 @@ "updated_at": "2021-10-12T17:34:03.402Z", "version": "WzUsMV0=", "attributes": { - "visState": "{\"title\":\"X.509 - 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\":{}}", + "visState": "{\"title\":\"X.509 - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "X.509 - Log Count Over Time", "uiStateJSON": "{}", @@ -507,7 +507,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -587,7 +587,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json index 2f1225139..8784f04c2 100644 --- a/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json +++ b/dashboards/dashboards/03207c00-d07e-11ec-b4a7-d1b4003706b7.json @@ -140,7 +140,7 @@ "version": "WzExMDYsMV0=", "attributes": { "title": "GENISYS - Log Count Over Time", - "visState": "{\"title\":\"GENISYS - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"GENISYS - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json index 9ce459d27..8c6b70b09 100644 --- a/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json +++ b/dashboards/dashboards/05e3e000-f118-11e9-acda-83a8e29e1a24.json @@ -115,7 +115,7 @@ "version": "WzIwMCwxXQ==", "attributes": { "title": "LDAP - Log Count Over Time", - "visState": "{\"title\":\"LDAP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", + "visState": "{\"title\":\"LDAP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -161,7 +161,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -457,7 +457,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json index 377c3df1b..51de061f4 100644 --- a/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json +++ b/dashboards/dashboards/078b9aa5-9bd4-4f02-ae5e-cf80fa6f887b.json @@ -109,7 +109,7 @@ "updated_at": "2021-02-10T21:24:07.693Z", "version": "WzgyLDFd", "attributes": { - "visState": "{\"title\":\"FTP - 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\":{}}", + "visState": "{\"title\":\"FTP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "FTP - Log Count Over Time", "uiStateJSON": "{}", @@ -361,7 +361,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json index 07441f472..f108ed7e2 100644 --- a/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json +++ b/dashboards/dashboards/0a490422-0ce9-44bf-9a2d-19329ddde8c3.json @@ -109,7 +109,7 @@ "updated_at": "2021-11-16T20:40:06.406Z", "version": "WzIwNSwxXQ==", "attributes": { - "visState": "{\"title\":\"PE - 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\":{}}", + "visState": "{\"title\":\"PE - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "PE - Log Count Over Time", "uiStateJSON": "{}", @@ -328,7 +328,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json index cca70c8fd..a72287382 100644 --- a/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json +++ b/dashboards/dashboards/0ad3d7c2-3441-485e-9dfe-dbb22e84e576.json @@ -110,7 +110,7 @@ "version": "WzYxLDFd", "attributes": { "title": "Total Log Count Over Time", - "visState": "{\"title\":\"Total Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"unknown\"},\"schema\":\"group\"}],\"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 30 seconds\"}}],\"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\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Total Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"unknown\"},\"schema\":\"group\"}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 seconds\"}}],\"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\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, @@ -361,7 +361,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -405,7 +405,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -446,7 +446,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json index a07074421..a35d26d64 100644 --- a/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json +++ b/dashboards/dashboards/0aed0e23-c8ac-4f2b-9f68-d04b6e7666b0.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json index 64df21f9f..f633eb1a8 100644 --- a/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json +++ b/dashboards/dashboards/0b2354ae-0fe9-4fd9-b156-1c3870e5c7aa.json @@ -129,7 +129,7 @@ "updated_at": "2021-02-10T21:24:11.908Z", "version": "WzE0NywxXQ==", "attributes": { - "visState": "{\"title\":\"SIP - 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\":{}}", + "visState": "{\"title\":\"SIP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SIP - Log Count Over Time", "uiStateJSON": "{}", @@ -503,7 +503,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json index 788c9e082..ebc8fcfb9 100644 --- a/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json +++ b/dashboards/dashboards/11be6381-beef-40a7-bdce-88c5398392fc.json @@ -104,7 +104,7 @@ "updated_at": "2021-02-10T21:24:12.938Z", "version": "WzE3MiwxXQ==", "attributes": { - "visState": "{\"title\":\"Tunnels - 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\":{}}", + "visState": "{\"title\":\"Tunnels - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "Tunnels - Log Count Over Time", "uiStateJSON": "{}", @@ -328,7 +328,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json index df9c1574d..4660534a5 100644 --- a/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json +++ b/dashboards/dashboards/11ddd980-e388-11e9-b568-cf17de8e860c.json @@ -152,7 +152,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -182,7 +182,7 @@ "version": "WzIzNTAsMV0=", "attributes": { "title": "QUIC - Log Count Over Time", - "visState": "{\"title\":\"QUIC - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"quic.version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"QUIC Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"QUIC - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"quic.version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"QUIC Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json index 9d223dfda..bdf4ca834 100644 --- a/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json +++ b/dashboards/dashboards/12e3a130-d83b-11eb-a0b0-f328ce09b0b7.json @@ -135,7 +135,7 @@ "version": "WzExMiwxXQ==", "attributes": { "title": "Best Guess - Log Count Over Time", - "visState": "{\"title\":\"Best Guess - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-26y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Best Guess - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-26y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json index 212bd215f..9ccb3d124 100644 --- a/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json +++ b/dashboards/dashboards/152f29dc-51a2-4f53-93e9-6e92765567b8.json @@ -13,7 +13,7 @@ "title": "Modbus", "hits": 0, "description": "Dashboard for the Modbus Protocol", - "panelsJSON": "[{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":30,\"i\":\"2\"},\"panelIndex\":\"2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":85,\"w\":48,\"h\":18,\"i\":\"14\"},\"panelIndex\":\"14\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":23,\"w\":8,\"h\":18,\"i\":\"15\"},\"panelIndex\":\"15\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_2\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":40,\"y\":23,\"w\":8,\"h\":18,\"i\":\"16\"},\"panelIndex\":\"16\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_3\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":23,\"w\":11,\"h\":18,\"i\":\"18\"},\"panelIndex\":\"18\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":30,\"w\":8,\"h\":11,\"i\":\"19\"},\"panelIndex\":\"19\",\"embeddableConfig\":{\"legendOpen\":true,\"table\":null,\"vis\":{\"legendOpen\":true}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":0,\"w\":11,\"h\":23,\"i\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\"},\"panelIndex\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":0,\"w\":29,\"h\":23,\"i\":\"218010cf-a0d9-4864-815b-f562bb67949d\"},\"panelIndex\":\"218010cf-a0d9-4864-815b-f562bb67949d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":23,\"w\":13,\"h\":18,\"i\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\"},\"panelIndex\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":41,\"w\":16,\"h\":26,\"i\":\"f8941a7d-be4b-4782-b72b-808645d02139\"},\"panelIndex\":\"f8941a7d-be4b-4782-b72b-808645d02139\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":41,\"w\":16,\"h\":26,\"i\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\"},\"panelIndex\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":4,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":41,\"w\":16,\"h\":26,\"i\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\"},\"panelIndex\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":5,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_11\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":67,\"w\":16,\"h\":18,\"i\":\"a3049ec4-3c48-4a43-9899-99c018670773\"},\"panelIndex\":\"a3049ec4-3c48-4a43-9899-99c018670773\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":67,\"w\":32,\"h\":18,\"i\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\"},\"panelIndex\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":103,\"w\":48,\"h\":23,\"i\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\"},\"panelIndex\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\",\"embeddableConfig\":{\"sort\":[[\"firstPacket\",\"asc\"]]},\"panelRefName\":\"panel_14\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":126,\"w\":48,\"h\":15,\"i\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\"},\"panelIndex\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\",\"embeddableConfig\":{},\"panelRefName\":\"panel_15\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":141,\"w\":48,\"h\":15,\"i\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\"},\"panelIndex\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_16\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":156,\"w\":48,\"h\":19,\"i\":\"3711221b-ce64-447a-886b-6ad2c50322f9\"},\"panelIndex\":\"3711221b-ce64-447a-886b-6ad2c50322f9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_17\"}]", + "panelsJSON": "[{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":30,\"i\":\"2\"},\"panelIndex\":\"2\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":85,\"w\":48,\"h\":18,\"i\":\"14\"},\"panelIndex\":\"14\",\"embeddableConfig\":{},\"panelRefName\":\"panel_1\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":23,\"w\":8,\"h\":18,\"i\":\"15\"},\"panelIndex\":\"15\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_2\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":40,\"y\":23,\"w\":8,\"h\":18,\"i\":\"16\"},\"panelIndex\":\"16\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"panelRefName\":\"panel_3\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":23,\"w\":11,\"h\":18,\"i\":\"18\"},\"panelIndex\":\"18\",\"embeddableConfig\":{},\"panelRefName\":\"panel_4\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":30,\"w\":8,\"h\":11,\"i\":\"19\"},\"panelIndex\":\"19\",\"embeddableConfig\":{\"legendOpen\":true,\"table\":null,\"vis\":{\"legendOpen\":true}},\"panelRefName\":\"panel_5\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":8,\"y\":0,\"w\":11,\"h\":23,\"i\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\"},\"panelIndex\":\"90799aa8-a1f5-4f22-8ebd-fcc89d16f6de\",\"embeddableConfig\":{},\"panelRefName\":\"panel_6\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":0,\"w\":29,\"h\":23,\"i\":\"218010cf-a0d9-4864-815b-f562bb67949d\"},\"panelIndex\":\"218010cf-a0d9-4864-815b-f562bb67949d\",\"embeddableConfig\":{},\"panelRefName\":\"panel_7\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":19,\"y\":23,\"w\":13,\"h\":18,\"i\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\"},\"panelIndex\":\"5fd617f5-e213-4c2b-ae10-7a1643e739a7\",\"embeddableConfig\":{},\"panelRefName\":\"panel_8\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":41,\"w\":16,\"h\":26,\"i\":\"f8941a7d-be4b-4782-b72b-808645d02139\"},\"panelIndex\":\"f8941a7d-be4b-4782-b72b-808645d02139\",\"embeddableConfig\":{},\"panelRefName\":\"panel_9\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":41,\"w\":16,\"h\":26,\"i\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\"},\"panelIndex\":\"c0d7fb2c-a651-4054-b4cd-026d9f34ad44\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":4,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":4,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_10\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":32,\"y\":41,\"w\":16,\"h\":26,\"i\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\"},\"panelIndex\":\"502f22a6-2e5c-44dd-afa8-39309464f3f2\",\"embeddableConfig\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"asc\"}},\"vis\":{\"params\":{\"sort\":{\"columnIndex\":5,\"direction\":\"desc\"}},\"sortColumn\":{\"colIndex\":5,\"direction\":\"desc\"}}},\"panelRefName\":\"panel_11\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":67,\"w\":16,\"h\":18,\"i\":\"a3049ec4-3c48-4a43-9899-99c018670773\"},\"panelIndex\":\"a3049ec4-3c48-4a43-9899-99c018670773\",\"embeddableConfig\":{},\"panelRefName\":\"panel_12\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":16,\"y\":67,\"w\":32,\"h\":18,\"i\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\"},\"panelIndex\":\"7efb9ae4-4913-4ae3-a945-0d83e27377d3\",\"embeddableConfig\":{},\"panelRefName\":\"panel_13\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":103,\"w\":48,\"h\":23,\"i\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\"},\"panelIndex\":\"1d1b2b12-c510-4b9e-9fbe-b65a2946fe13\",\"embeddableConfig\":{\"sort\":[[\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"asc\"]]},\"panelRefName\":\"panel_14\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":126,\"w\":48,\"h\":15,\"i\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\"},\"panelIndex\":\"99311c07-fbae-4197-ab3f-f8ddf89deefc\",\"embeddableConfig\":{},\"panelRefName\":\"panel_15\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":141,\"w\":48,\"h\":15,\"i\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\"},\"panelIndex\":\"f50e3c18-31ce-482f-b6a0-c99215b5b5e9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_16\"},{\"version\":\"2.8.0\",\"gridData\":{\"x\":0,\"y\":156,\"w\":48,\"h\":19,\"i\":\"3711221b-ce64-447a-886b-6ad2c50322f9\"},\"panelIndex\":\"3711221b-ce64-447a-886b-6ad2c50322f9\",\"embeddableConfig\":{},\"panelRefName\":\"panel_17\"}]", "optionsJSON": "{\"useMargins\":true}", "version": 1, "timeRestore": false, @@ -165,7 +165,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -344,7 +344,7 @@ "version": "WzE0MCwxXQ==", "attributes": { "title": "Modbus - Logs Over Time", - "visState": "{\"title\":\"Modbus - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:33:54.363Z\",\"max\":\"2021-01-14T16:33:54.363Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"Modbus - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:33:54.363Z\",\"max\":\"2021-01-14T16:33:54.363Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "Modbus Logs over Time", "version": 1, @@ -567,7 +567,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -611,7 +611,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -656,7 +656,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -704,7 +704,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -743,7 +743,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -827,7 +827,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json index 073c2d86f..bcd964578 100644 --- a/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json +++ b/dashboards/dashboards/1cc01ff0-5205-11ec-a62c-7bc80e88f3f0.json @@ -145,7 +145,7 @@ "version": "WzExNDksMV0=", "attributes": { "title": "OSPF - Log Count Over Time", - "visState": "{\"title\":\"OSPF - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-03-01T05:59:45.424Z\",\"to\":\"2021-03-01T06:03:07.090Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol_version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"OSPF - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-03-01T05:59:45.424Z\",\"to\":\"2021-03-01T06:03:07.090Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol_version\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Version\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json index fe6f46e35..b8206ee94 100644 --- a/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/1ce42250-3f99-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json index c23d35ca3..a97af6c77 100644 --- a/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json +++ b/dashboards/dashboards/1fff49f6-0199-4a0f-820b-721aff9ff1f1.json @@ -95,7 +95,7 @@ "version": "WzE2MywxXQ==", "attributes": { "title": "Weird - Log Count Over Time", - "visState": "{\"title\":\"Weird - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"firstPacket per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"legendPosition\":\"right\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\" \"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"times\":[],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\" \"},\"type\":\"value\"}],\"type\":\"histogram\",\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Weird - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"legendPosition\":\"right\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\" \"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"times\":[],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\" \"},\"type\":\"value\"}],\"type\":\"histogram\",\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -257,7 +257,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json index c08b8db6b..6a831bcda 100644 --- a/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/29a1b290-eb98-11e9-a384-0fcf32210194.json @@ -154,7 +154,7 @@ "version": "WzE3NCwxXQ==", "attributes": { "title": "EtherNet/IP - Logs Over Time", - "visState": "{\"title\":\"EtherNet/IP - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:48:06.557Z\",\"max\":\"2021-01-14T16:48:06.557Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"EtherNet/IP - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:48:06.557Z\",\"max\":\"2021-01-14T16:48:06.557Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, @@ -376,7 +376,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -419,7 +419,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -463,7 +463,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -505,7 +505,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json index 2c471f762..2efe353b4 100644 --- a/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/2bec1490-eb94-11e9-a384-0fcf32210194.json @@ -164,7 +164,7 @@ "version": "WzE5NSwxXQ==", "attributes": { "title": "BACnet - Logs Over Time", - "visState": "{\"title\":\"BACnet - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:39:09.309Z\",\"max\":\"2021-01-14T16:39:09.309Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"BACnet - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:39:09.309Z\",\"max\":\"2021-01-14T16:39:09.309Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "BACnet Logs over Time", "version": 1, @@ -442,7 +442,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -485,7 +485,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -527,7 +527,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json index 0f1e10a33..a1f6c52b3 100644 --- a/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json +++ b/dashboards/dashboards/2cc56240-e460-11ed-a9d5-9f591c284cb4.json @@ -175,7 +175,7 @@ "version": "WzIxMCwxXQ==", "attributes": { "title": "Synchrophasor - Log Count Over Time", - "visState": "{\"title\":\"Synchrophasor - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\"\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"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\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Synchrophasor - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\"\"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"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\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -505,7 +505,7 @@ "version": "Wzk1MCwxXQ==", "attributes": { "title": "Synchrophasor - Rate of Change of Frequency Over Time", - "visState": "{\"title\":\"Synchrophasor - Rate of Change of Frequency Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.rocof\",\"customLabel\":\"ROCOF (Hz/sec * 100)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\"Count\"},\"schema\":\"radius\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"ROCOF (Hz/sec * 100)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"line\",\"mode\":\"stacked\",\"data\":{\"label\":\"ROCOF (Hz/sec * 100)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":false,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"radiusRatio\":25}}", + "visState": "{\"title\":\"Synchrophasor - Rate of Change of Frequency Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.rocof\",\"customLabel\":\"ROCOF (Hz/sec * 100)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\"Count\"},\"schema\":\"radius\"}],\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"ROCOF (Hz/sec * 100)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"line\",\"mode\":\"stacked\",\"data\":{\"label\":\"ROCOF (Hz/sec * 100)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":false,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"radiusRatio\":25}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -535,7 +535,7 @@ "version": "Wzk0OCwxXQ==", "attributes": { "title": "Synchrophasor - Frequency Deviation From Nominal Over Time", - "visState": "{\"title\":\"Synchrophasor - Frequency Deviation From Nominal Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.freq_dev_mhz\",\"customLabel\":\"Maximum frequency deviation from nominal (mHz)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"log\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Maximum frequency deviation from nominal (mHz)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Maximum frequency deviation from nominal (mHz)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Synchrophasor - Frequency Deviation From Nominal Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"zeek.synchrophasor_data_detail.freq_dev_mhz\",\"customLabel\":\"Maximum frequency deviation from nominal (mHz)\"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"log\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Maximum frequency deviation from nominal (mHz)\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Maximum frequency deviation from nominal (mHz)\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json index 84c997390..a6934fea2 100644 --- a/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json +++ b/dashboards/dashboards/2cf94cd0-ecab-40a5-95a7-8419f3a39cd9.json @@ -249,7 +249,7 @@ "updated_at": "2021-05-11T12:24:17.423Z", "version": "WzM1NSwxXQ==", "attributes": { - "visState": "{\"title\":\"DNS - 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 30 minutes\"}}],\"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\":{}}", + "visState": "{\"title\":\"DNS - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 minutes\"}}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "DNS - Log Count Over Time", "uiStateJSON": "{}", @@ -501,7 +501,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json index 85ff935ff..340240a7e 100644 --- a/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json +++ b/dashboards/dashboards/2d98bb8e-214c-4374-837b-20e1bcd63a5e.json @@ -86,7 +86,7 @@ "updated_at": "2021-02-10T21:24:21.144Z", "version": "WzMyOSwxXQ==", "attributes": { - "visState": "{\"title\":\"DHCP - 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\":{}}", + "visState": "{\"title\":\"DHCP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "DHCP - Log Count Over Time", "uiStateJSON": "{}", @@ -365,7 +365,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json index 8b46aff5b..2a8ec6840 100644 --- a/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/32587740-ef88-11e9-b38a-2db3ee640e88.json @@ -107,7 +107,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -167,7 +167,7 @@ "version": "WzM1NiwxXQ==", "attributes": { "title": "Tabular Data Stream - RPC Log Count Over Time", - "visState": "{\"title\":\"Tabular Data Stream - RPC Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", + "visState": "{\"title\":\"Tabular Data Stream - RPC Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json index fef185cc5..123f1f771 100644 --- a/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json +++ b/dashboards/dashboards/36ed695f-edcc-47c1-b0ec-50d20c93ce0f.json @@ -13,7 +13,7 @@ "title": "Zeek Intelligence", "hits": 0, "description": "", - "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":26,\"i\":\"2\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"2\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":8,\"i\":\"3\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"3\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"5\",\"w\":16,\"x\":8,\"y\":8},\"panelIndex\":\"5\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"6\",\"w\":15,\"x\":33,\"y\":26},\"panelIndex\":\"6\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"7\",\"w\":13,\"x\":14,\"y\":44},\"panelIndex\":\"7\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"8\",\"w\":21,\"x\":27,\"y\":44},\"panelIndex\":\"8\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"11\",\"w\":25,\"x\":8,\"y\":26},\"panelIndex\":\"11\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"12\",\"w\":14,\"x\":0,\"y\":44},\"panelIndex\":\"12\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"13\",\"w\":8,\"x\":0,\"y\":26},\"panelIndex\":\"13\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"columns\":[\"source.ip\",\"destination.ip\",\"destination.port\",\"zeek.intel.seen_indicator\",\"zeek.intel.seen_indicator_type\",\"zeek.intel.sources\",\"zeek.intel.seen_where\",\"event.id\"],\"sort\":[\"firstPacket\",\"desc\"]},\"gridData\":{\"h\":24,\"i\":\"14\",\"w\":48,\"x\":0,\"y\":62},\"panelIndex\":\"14\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"16\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"16\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":8,\"i\":\"17\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"17\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_11\"}]", + "panelsJSON": "[{\"embeddableConfig\":{},\"gridData\":{\"h\":26,\"i\":\"2\",\"w\":8,\"x\":0,\"y\":0},\"panelIndex\":\"2\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_0\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"legendOpen\":false}},\"gridData\":{\"h\":8,\"i\":\"3\",\"w\":32,\"x\":16,\"y\":0},\"panelIndex\":\"3\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_1\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"5\",\"w\":16,\"x\":8,\"y\":8},\"panelIndex\":\"5\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_2\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"6\",\"w\":15,\"x\":33,\"y\":26},\"panelIndex\":\"6\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_3\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"7\",\"w\":13,\"x\":14,\"y\":44},\"panelIndex\":\"7\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_4\"},{\"embeddableConfig\":{\"table\":null,\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"8\",\"w\":21,\"x\":27,\"y\":44},\"panelIndex\":\"8\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_5\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"11\",\"w\":25,\"x\":8,\"y\":26},\"panelIndex\":\"11\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_6\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"12\",\"w\":14,\"x\":0,\"y\":44},\"panelIndex\":\"12\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_7\"},{\"embeddableConfig\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":1,\"direction\":\"desc\"}}}},\"gridData\":{\"h\":18,\"i\":\"13\",\"w\":8,\"x\":0,\"y\":26},\"panelIndex\":\"13\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_8\"},{\"embeddableConfig\":{\"columns\":[\"source.ip\",\"destination.ip\",\"destination.port\",\"zeek.intel.seen_indicator\",\"zeek.intel.seen_indicator_type\",\"zeek.intel.sources\",\"zeek.intel.seen_where\",\"event.id\"],\"sort\":[\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"desc\"]},\"gridData\":{\"h\":24,\"i\":\"14\",\"w\":48,\"x\":0,\"y\":62},\"panelIndex\":\"14\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_9\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":18,\"i\":\"16\",\"w\":24,\"x\":24,\"y\":8},\"panelIndex\":\"16\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_10\"},{\"embeddableConfig\":{},\"gridData\":{\"h\":8,\"i\":\"17\",\"w\":8,\"x\":8,\"y\":0},\"panelIndex\":\"17\",\"version\":\"1.2.0\",\"panelRefName\":\"panel_11\"}]", "optionsJSON": "{\"useMargins\":true}", "version": 1, "timeRestore": false, @@ -120,7 +120,7 @@ "version": "Wzk5OCwxXQ==", "attributes": { "title": "Intel - Log Count Over Time", - "visState": "{\"title\":\"Intel - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Intel - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -361,7 +361,7 @@ "attributes": { "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json index 037344c46..6f899ce01 100644 --- a/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json +++ b/dashboards/dashboards/37041ee1-79c0-4684-a436-3173b0e89876.json @@ -150,7 +150,7 @@ "version": "WzI3NywxXQ==", "attributes": { "title": "HTTP - Status Over Time", - "visState": "{\"title\":\"HTTP - Status Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.http.status_msg\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Status Code\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"firstPacket per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T16:47:29.688Z\",\"max\":\"2020-02-12T16:47:29.689Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Status Code\",\"aggType\":\"terms\"}]},\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"labels\":{\"show\":true},\"legendPosition\":\"bottom\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"square root\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}", + "visState": "{\"title\":\"HTTP - Status Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.http.status_msg\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Status Code\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"},\"type\":\"category\"}],\"defaultYExtents\":false,\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T16:47:29.688Z\",\"max\":\"2020-02-12T16:47:29.689Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Status Code\",\"aggType\":\"terms\"}]},\"drawLinesBetweenPoints\":true,\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"interpolate\":\"linear\",\"labels\":{\"show\":true},\"legendPosition\":\"bottom\",\"radiusRatio\":9,\"scale\":\"linear\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"setYExtents\":false,\"showCircles\":true,\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"square root\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -612,7 +612,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -642,7 +642,7 @@ "version": "Wzk1MywxXQ==", "attributes": { "title": "HTTP - Method and Status", - "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Method\\\", \\\"Status\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"HTTP - Method and Status\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Method\\\", \\\"Status\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json index b2855ae48..0494646a7 100644 --- a/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/39abfe30-3f99-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json index 3325c8e0b..0f8d69764 100644 --- a/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json +++ b/dashboards/dashboards/42e831b9-41a9-4f35-8b7d-e1566d368773.json @@ -124,7 +124,7 @@ "updated_at": "2021-11-12T19:32:24.674Z", "version": "WzQ0MiwxXQ==", "attributes": { - "visState": "{\"title\":\"SMB - 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 minute\"}}],\"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\":{}}", + "visState": "{\"title\":\"SMB - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per minute\"}}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SMB - Log Count Over Time", "uiStateJSON": "{}", @@ -468,7 +468,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -510,7 +510,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json index af8f8fdc5..71e7efefe 100644 --- a/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json +++ b/dashboards/dashboards/432af556-c5c0-4cc3-8166-b274b4e3a406.json @@ -119,7 +119,7 @@ "updated_at": "2021-02-10T21:24:27.443Z", "version": "WzQzNywxXQ==", "attributes": { - "visState": "{\"title\":\"DCE/RPC - 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 30 minutes\"}}],\"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\":{}}", + "visState": "{\"title\":\"DCE/RPC - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 minutes\"}}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "DCE/RPC - Log Count Over Time", "uiStateJSON": "{}", @@ -433,7 +433,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json index 1ad2919e4..07b3051a7 100644 --- a/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json +++ b/dashboards/dashboards/4a073440-b286-11eb-a4d4-09fa12a6ebd4.json @@ -135,7 +135,7 @@ "version": "WzEyNDcsMV0=", "attributes": { "title": "EtherCAT - Log Count Over Time", - "visState": "{\"title\":\"EtherCAT - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-03-01T05:59:58.120Z\",\"to\":\"2021-03-01T06:00:51.365Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":true,\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false},\"labels\":{\"show\":false},\"legendPosition\":\"bottom\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}", + "visState": "{\"title\":\"EtherCAT - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-03-01T05:59:58.120Z\",\"to\":\"2021-03-01T06:00:51.365Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"},\"schema\":\"group\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"filter\":true,\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false},\"labels\":{\"show\":false},\"legendPosition\":\"bottom\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"mode\":\"stacked\",\"show\":true,\"showCircles\":true,\"type\":\"histogram\",\"valueAxis\":\"ValueAxis-1\"}],\"thresholdLine\":{\"color\":\"#E7664C\",\"show\":false,\"style\":\"full\",\"value\":10,\"width\":1},\"times\":[],\"type\":\"histogram\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"\"},\"type\":\"value\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json index c5c3ba13c..65b3d609d 100644 --- a/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json +++ b/dashboards/dashboards/4a4bde20-4760-11ea-949c-bbb5a9feecbf.json @@ -145,7 +145,7 @@ "version": "WzQ1MSwxXQ==", "attributes": { "title": "ICS/IoT Traffic Over Time", - "visState": "{\"title\":\"ICS/IoT Traffic Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-04T15:18:33.141Z\",\"max\":\"2020-02-04T15:18:33.141Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-44y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"}}]}", + "visState": "{\"title\":\"ICS/IoT Traffic Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-04T15:18:33.141Z\",\"max\":\"2020-02-04T15:18:33.141Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-44y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -397,7 +397,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -441,7 +441,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -483,7 +483,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json index 47c9a857d..0dd1a359e 100644 --- a/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json +++ b/dashboards/dashboards/4e5f106e-c60a-4226-8f64-d534abb912ab.json @@ -109,7 +109,7 @@ "updated_at": "2023-11-14T19:18:39.742Z", "version": "WzM1NCwxXQ==", "attributes": { - "visState": "{\"title\":\"SNMP - 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\":{}}", + "visState": "{\"title\":\"SNMP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SNMP - Log Count Over Time", "uiStateJSON": "{}", @@ -333,7 +333,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -363,7 +363,7 @@ "version": "Wzk1MSwxXQ==", "attributes": { "title": "SNMP - Version and PDU Type", - "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol_version\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"SNMP - Version and PDU Type\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol_version\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"SNMP Version\\\", \\\"Action\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol_version\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json index d5ed0a385..7c9590cfa 100644 --- a/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json +++ b/dashboards/dashboards/50ced171-1b10-4c3f-8b67-2db9635661a6.json @@ -67,7 +67,7 @@ "version": "WzIyNjEsMV0=", "attributes": { "title": "MySQL - Log Count Over Time", - "visState": "{\"title\":\"MySQL - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.mysql.cmd\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Command\"},\"schema\":\"group\"}],\"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\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T17:52:43.825Z\",\"max\":\"2020-02-12T17:52:43.825Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Command\",\"aggType\":\"terms\"}]}}}", + "visState": "{\"title\":\"MySQL - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"zeek.mysql.cmd\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Command\"},\"schema\":\"group\"}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"type\":\"histogram\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"lineWidth\":2,\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"showCircles\":true,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-02-12T17:52:43.825Z\",\"max\":\"2020-02-12T17:52:43.825Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Command\",\"aggType\":\"terms\"}]}}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -222,7 +222,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json index ef67fc815..c1a32a920 100644 --- a/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json +++ b/dashboards/dashboards/543118a9-02d7-43fe-b669-b8652177fc37.json @@ -119,7 +119,7 @@ "updated_at": "2021-02-10T21:24:31.603Z", "version": "WzQ4MSwxXQ==", "attributes": { - "visState": "{\"title\":\"NTLM - 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 minute\"}}],\"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\":{}}", + "visState": "{\"title\":\"NTLM - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per minute\"}}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "NTLM - Log Count Over Time", "uiStateJSON": "{}", @@ -435,7 +435,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json index afe5a2eb4..bb8112815 100644 --- a/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/55e332d0-3f99-11e9-a58e-8bdedb0915e8.json @@ -114,7 +114,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json index 0bd547249..292dc28f2 100644 --- a/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json +++ b/dashboards/dashboards/5694ca60-cbdf-11ec-a50a-5fedd672f5c5.json @@ -150,7 +150,7 @@ "version": "WzM5MCwxXQ==", "attributes": { "title": "Alerts - Log Count Over Time", - "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Alerts - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"customLabel\":\" \"},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\" \"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\" \",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json index 07b55b7fb..41106a81e 100644 --- a/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json +++ b/dashboards/dashboards/60d78fbd-471c-4f59-a9e3-189b33a13644.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json index 5d40fb575..625bd0ecf 100644 --- a/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json +++ b/dashboards/dashboards/665d1610-523d-11e9-a30e-e3576242f3ed.json @@ -100,7 +100,7 @@ "version": "WzM2NSwxXQ==", "attributes": { "title": "Signatures - Log Count Over Time", - "visState": "{\"title\":\"Signatures - 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,\"type\":\"histogram\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", + "visState": "{\"title\":\"Signatures - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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,\"type\":\"histogram\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -170,7 +170,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json index 205f303a3..74a772b37 100644 --- a/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json +++ b/dashboards/dashboards/677ee170-809e-11ed-8d5b-07069f823b6f.json @@ -583,7 +583,7 @@ "version": "WzQzMSwxXQ==", "attributes": { "title": "Cross Segment Traffic", - "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"source.segment.name\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"destination.segment.name\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Cross Segment Traffic\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"source.segment.name\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"destination.segment.name\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Source Segment\\\", \\\"Destination Segment\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"source.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"destination.segment.name\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json index d53132306..49b1454f3 100644 --- a/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json +++ b/dashboards/dashboards/76f2f912-80da-44cd-ab66-6a73c8344cc3.json @@ -104,7 +104,7 @@ "updated_at": "2021-02-10T21:24:36.060Z", "version": "WzUxMSwxXQ==", "attributes": { - "visState": "{\"title\":\"IRC - 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\":{}}", + "visState": "{\"title\":\"IRC - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "IRC - Log Count Over Time", "uiStateJSON": "{}", @@ -328,7 +328,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json index 2f3e70e89..0086705a9 100644 --- a/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/77fc9960-3f99-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json index c5ccb502b..e0c944d52 100644 --- a/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json +++ b/dashboards/dashboards/7f41913f-cba8-43f5-82a8-241b7ead03e0.json @@ -114,7 +114,7 @@ "updated_at": "2021-02-10T21:24:38.098Z", "version": "WzUyNywxXQ==", "attributes": { - "visState": "{\"title\":\"RDP - 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\":{}}", + "visState": "{\"title\":\"RDP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "RDP - Log Count Over Time", "uiStateJSON": "{}", @@ -400,7 +400,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json index 59fc58138..a4bb946bf 100644 --- a/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json +++ b/dashboards/dashboards/7f77b58a-df3e-4cc2-b782-fd7f8bad8ffb.json @@ -149,7 +149,7 @@ "updated_at": "2021-10-12T14:14:37.087Z", "version": "WzM3MSwxXQ==", "attributes": { - "visState": "{\"title\":\"SSL - 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\":{}}", + "visState": "{\"title\":\"SSL - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SSL - Log Count Over Time", "uiStateJSON": "{}", @@ -645,7 +645,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -687,7 +687,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json index 2a14155c0..07e08af3f 100644 --- a/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json +++ b/dashboards/dashboards/82da3101-2a9c-4ae2-bb61-d447a3fbe673.json @@ -129,7 +129,7 @@ "updated_at": "2021-02-10T21:24:40.130Z", "version": "WzU2MSwxXQ==", "attributes": { - "visState": "{\"title\":\"Kerberos - 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\":{}}", + "visState": "{\"title\":\"Kerberos - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "Kerberos - Log Count Over Time", "uiStateJSON": "{}", @@ -503,7 +503,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json index 09479edc7..f6dc287dc 100644 --- a/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json +++ b/dashboards/dashboards/870a5862-6c26-4a08-99fd-0c06cda85ba3.json @@ -274,7 +274,7 @@ "version": "WzU4MSwxXQ==", "attributes": { "title": "DNP3 - Logs Over Time", - "visState": "{\"title\":\"DNP3 - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:42:16.432Z\",\"max\":\"2021-01-14T16:42:16.432Z\"}},\"label\":\"firstPacket per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"DNP3 - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY\"}},\"params\":{\"date\":true,\"interval\":\"P365D\",\"intervalESValue\":365,\"intervalESUnit\":\"d\",\"format\":\"YYYY\",\"bounds\":{\"min\":\"1971-01-14T16:42:16.432Z\",\"max\":\"2021-01-14T16:42:16.432Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 365 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Log Type\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-50y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "DNP3 logs over time", "version": 1, @@ -406,7 +406,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -448,7 +448,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -491,7 +491,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json index d18342d85..6c84e6043 100644 --- a/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json +++ b/dashboards/dashboards/87a32f90-ef58-11e9-974e-9d600036d105.json @@ -145,7 +145,7 @@ "version": "WzU5MSwxXQ==", "attributes": { "title": "MQTT - Log Count Over Time", - "visState": "{\"title\":\"MQTT - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"MQTT Message Type\"}}]}", + "visState": "{\"title\":\"MQTT - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"MQTT Message Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -396,7 +396,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -439,7 +439,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -482,7 +482,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -525,7 +525,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json index 979d1b4c4..92073bf69 100644 --- a/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json +++ b/dashboards/dashboards/87d990cc-9e0b-41e5-b8fe-b10ae1da0c85.json @@ -84,7 +84,7 @@ "updated_at": "2021-02-10T21:24:43.189Z", "version": "WzYwNSwxXQ==", "attributes": { - "visState": "{\"title\":\"Software - 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\":{}}", + "visState": "{\"title\":\"Software - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "Software - Log Count Over Time", "uiStateJSON": "{}", @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json index d1c09ca1a..85dc96edb 100644 --- a/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json +++ b/dashboards/dashboards/89d1cc50-974c-11ed-bb6b-3fb06c879b11.json @@ -566,7 +566,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json index 5b281bb0f..71e242be5 100644 --- a/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json +++ b/dashboards/dashboards/92985909-dc29-4533-9e80-d3182a0ecf1d.json @@ -109,7 +109,7 @@ "updated_at": "2021-02-10T21:24:44.215Z", "version": "WzYxMSwxXQ==", "attributes": { - "visState": "{\"title\":\"Syslog - 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 30 seconds\"}}],\"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\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":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\":{}}", + "visState": "{\"title\":\"Syslog - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 seconds\"}}],\"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\",\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "Syslog - Log Count Over Time", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", @@ -363,7 +363,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json index 373fc5337..5d977f3c8 100644 --- a/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json +++ b/dashboards/dashboards/95479950-41f2-11ea-88fa-7151df485405.json @@ -213,7 +213,7 @@ "version": "WzU2MSwxXQ==", "attributes": { "title": "Vulnerabilities", - "visState": "{\"title\":\"Vulnerabilities\",\"type\":\"table\",\"aggs\":[{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"firstPacket\",\"customLabel\":\"Last Seen\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":20,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Data Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.id\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":200,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Vulnerability ID\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\"}}", + "visState": "{\"title\":\"Vulnerabilities\",\"type\":\"table\",\"aggs\":[{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"customLabel\":\"Last Seen\"},\"schema\":\"metric\"},{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.provider\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":20,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Data Source\"},\"schema\":\"bucket\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":50,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Log Type\"},\"schema\":\"bucket\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"vulnerability.id\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":200,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Vulnerability ID\"},\"schema\":\"bucket\"}],\"params\":{\"perPage\":10,\"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, @@ -272,7 +272,7 @@ "version": "WzU2MywxXQ==", "attributes": { "title": "Inbound Access By Protocol Over Time", - "visState": "{\"title\":\"Inbound Access By Protocol Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-01-28T18:52:45.953Z\",\"max\":\"2020-01-28T18:52:45.953Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}}}", + "visState": "{\"title\":\"Inbound Access By Protocol Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#34130C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1976-01-28T18:52:45.953Z\",\"max\":\"2020-01-28T18:52:45.953Z\"}},\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"aggType\":\"terms\"}]}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, @@ -504,7 +504,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -545,7 +545,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json index 74bd123dc..4e502b7c2 100644 --- a/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json +++ b/dashboards/dashboards/9ee51f94-3316-4fc5-bd89-93a52af69714.json @@ -86,7 +86,7 @@ "updated_at": "2022-01-27T18:58:50.233Z", "version": "WzUwMSwxXQ==", "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\":{}}", + "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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "Files - Log Count Over Time", "uiStateJSON": "{}", @@ -360,7 +360,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/Vega.Sankey.txt b/dashboards/dashboards/Vega.Sankey.txt index 0181028d3..3376e8a6e 100644 --- a/dashboards/dashboards/Vega.Sankey.txt +++ b/dashboards/dashboards/Vega.Sankey.txt @@ -9,7 +9,7 @@ name: rawData url: { %context%: true - %timefield%: firstPacket + %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER body: { size: 0 diff --git a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json index 982cf50fd..76a377638 100644 --- a/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/a16110b0-3f99-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json index 375fba702..223281735 100644 --- a/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json +++ b/dashboards/dashboards/a33e0a50-afcd-11ea-993f-b7d8522a8bed.json @@ -134,7 +134,7 @@ "version": "WzU5NCwxXQ==", "attributes": { "title": "Total Log Count Over Time by Application Protocol", - "visState": "{\"title\":\"Total Log Count Over Time by Application Protocol\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-01-14T21:31:46.075Z\",\"max\":\"2021-01-14T21:31:46.075Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Application Protocol\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":8,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Application Protocol\"}}]}", + "visState": "{\"title\":\"Total Log Count Over Time by Application Protocol\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-01-14T21:31:46.075Z\",\"max\":\"2021-01-14T21:31:46.075Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Unknown\"}},\"params\":{},\"label\":\"Application Protocol\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":8,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Application Protocol\"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -193,7 +193,7 @@ "version": "Wzk1OSwxXQ==", "attributes": { "title": "Top Actions by Service", - "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Action\\\", \\\"Protocol\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Top Actions by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"event.action\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Action\\\", \\\"Protocol\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"left\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.action\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -216,7 +216,7 @@ "version": "Wzk2MCwxXQ==", "attributes": { "title": "Top Results by Service", - "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: firstPacket\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Protocol\\\", \\\"Result\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"right\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", + "visState": "{\"title\":\"Top Results by Service\",\"type\":\"vega\",\"aggs\":[],\"params\":{\"spec\":\"{\\n // thanks to:\\n // - https://www.elastic.co/blog/sankey-visualization-with-vega-in-kibana\\n // - https://blog.davidvassallo.me/2023/09/08/adding-opensearch-dashboards-kibana-filters-to-vega-visuals/\\n $schema: https://vega.github.io/schema/vega/v3.0.json\\n data: [\\n {\\n // query ES based on the currently selected time range and filter string\\n name: rawData\\n url: {\\n %context%: true\\n %timefield%: MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\\n index: MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\\n body: {\\n size: 0\\n aggs: {\\n table: {\\n composite: {\\n size: 10000\\n sources: [\\n {\\n stk1: {\\n terms: {field: \\\"network.protocol\\\"}\\n }\\n }\\n {\\n stk2: {\\n terms: {field: \\\"event.result\\\"}\\n }\\n }\\n ]\\n }\\n }\\n }\\n }\\n }\\n // From the result, take just the data we are interested in\\n format: {property: \\\"aggregations.table.buckets\\\"}\\n // Convert key.stk1 -> stk1 for simpler access below\\n transform: [\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk1\\\", as: \\\"stk1\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.key.stk2\\\", as: \\\"stk2\\\"}\\n {type: \\\"formula\\\", expr: \\\"datum.doc_count\\\", as: \\\"size\\\"}\\n ]\\n }\\n {\\n name: nodes\\n source: rawData\\n transform: [\\n // when a value is selected, filter out unrelated data\\n {\\n type: filter\\n expr: !groupSelector || groupSelector.stk1 == datum.stk1 || groupSelector.stk2 == datum.stk2\\n }\\n // Set new key for later lookups - identifies each node\\n {type: \\\"formula\\\", expr: \\\"datum.stk1+datum.stk2\\\", as: \\\"key\\\"}\\n // instead of each table row, create two new rows,\\n // one for the source (stack=stk1) and one for destination node (stack=stk2).\\n // The values stored in stk1 and stk2 fields is placed into grpId field.\\n {\\n type: fold\\n fields: [\\\"stk1\\\", \\\"stk2\\\"]\\n as: [\\\"stack\\\", \\\"grpId\\\"]\\n }\\n // Create a sortkey, different for stk1 and stk2 stacks.\\n // Space separator ensures proper sort order in some corner cases.\\n {\\n type: formula\\n expr: datum.stack == 'stk1' ? datum.stk1+' '+datum.stk2 : datum.stk2+' '+datum.stk1\\n as: sortField\\n }\\n // Calculate y0 and y1 positions for stacking nodes one on top of the other,\\n // independently for each stack, and ensuring they are in the proper order,\\n // alphabetical from the top (reversed on the y axis)\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"sortField\\\", order: \\\"descending\\\"}\\n field: size\\n }\\n // calculate vertical center point for each node, used to draw edges\\n {type: \\\"formula\\\", expr: \\\"(datum.y0+datum.y1)/2\\\", as: \\\"yc\\\"}\\n ]\\n }\\n {\\n name: groups\\n source: nodes\\n transform: [\\n // combine all nodes into groups, summing up the doc counts\\n {\\n type: aggregate\\n groupby: [\\\"stack\\\", \\\"grpId\\\"]\\n fields: [\\\"size\\\"]\\n ops: [\\\"sum\\\"]\\n as: [\\\"total\\\"]\\n }\\n // re-calculate the stacking y0,y1 values\\n {\\n type: stack\\n groupby: [\\\"stack\\\"]\\n sort: {field: \\\"grpId\\\", order: \\\"descending\\\"}\\n field: total\\n }\\n // project y0 and y1 values to screen coordinates\\n // doing it once here instead of doing it several times in marks\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y0)\\\", as: \\\"scaledY0\\\"}\\n {type: \\\"formula\\\", expr: \\\"scale('y', datum.y1)\\\", as: \\\"scaledY1\\\"}\\n // boolean flag if the label should be on the right of the stack\\n {type: \\\"formula\\\", expr: \\\"datum.stack == 'stk1'\\\", as: \\\"rightLabel\\\"}\\n // Calculate percentage for this value using \\\"y\\\" scale\\n // domain upper bound, which represents the total\\n {\\n type: formula\\n expr: datum.total/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n {\\n // This is a temp lookup table with all the 'stk2' stack nodes\\n name: destinationNodes\\n source: nodes\\n transform: [\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk2'\\\"}\\n ]\\n }\\n {\\n name: edges\\n source: nodes\\n transform: [\\n // we only want nodes from the left stack\\n {type: \\\"filter\\\", expr: \\\"datum.stack == 'stk1'\\\"}\\n // find corresponding node from the right stack, keep it as \\\"target\\\"\\n {\\n type: lookup\\n from: destinationNodes\\n key: key\\n fields: [\\\"key\\\"]\\n as: [\\\"target\\\"]\\n }\\n // calculate SVG link path between stk1 and stk2 stacks for the node pair\\n {\\n type: linkpath\\n orient: horizontal\\n shape: diagonal\\n sourceY: {expr: \\\"scale('y', datum.yc)\\\"}\\n sourceX: {expr: \\\"scale('x', 'stk1') + bandwidth('x')\\\"}\\n targetY: {expr: \\\"scale('y', datum.target.yc)\\\"}\\n targetX: {expr: \\\"scale('x', 'stk2')\\\"}\\n }\\n // A little trick to calculate the thickness of the line.\\n // The value needs to be the same as the hight of the node, but scaling\\n // size to screen's height gives inversed value because screen's Y\\n // coordinate goes from the top to the bottom, whereas the graph's Y=0\\n // is at the bottom. So subtracting scaled doc count from screen height\\n // (which is the \\\"lower\\\" bound of the \\\"y\\\" scale) gives us the right value\\n {\\n type: formula\\n expr: range('y')[0]-scale('y', datum.size)\\n as: strokeWidth\\n }\\n // Tooltip needs individual link's percentage of all values\\n {\\n type: formula\\n expr: datum.size/domain('y')[1]\\n as: percentage\\n }\\n ]\\n }\\n ]\\n scales: [\\n {\\n // calculates horizontal stack positioning\\n name: x\\n type: band\\n range: width\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n paddingOuter: 0.05\\n paddingInner: 0.95\\n }\\n {\\n // this scale goes up as high as the highest y1 value of all nodes\\n name: y\\n type: linear\\n range: height\\n domain: {data: \\\"nodes\\\", field: \\\"y1\\\"}\\n }\\n {\\n // use rawData to ensure the colors stay the same when clicking.\\n name: color\\n type: ordinal\\n range: category\\n domain: {data: \\\"rawData\\\", fields: [\\\"stk1\\\", \\\"stk2\\\"]}\\n }\\n {\\n // this scale is used to map internal ids (stk1, stk2) to stack names\\n name: stackNames\\n type: ordinal\\n range: [\\\"Protocol\\\", \\\"Result\\\"]\\n domain: [\\\"stk1\\\", \\\"stk2\\\"]\\n }\\n ]\\n axes: [\\n {\\n // x axis should use custom label formatting to print proper stack names\\n orient: bottom\\n scale: x\\n encode: {\\n labels: {\\n update: {\\n text: {scale: \\\"stackNames\\\", field: \\\"value\\\"}\\n }\\n }\\n }\\n }\\n {orient: \\\"right\\\", scale: \\\"y\\\"}\\n ]\\n marks: [\\n {\\n // draw the connecting line between stacks\\n type: path\\n name: edgeMark\\n from: {data: \\\"edges\\\"}\\n // this prevents some autosizing issues with large strokeWidth for paths\\n clip: true\\n encode: {\\n update: {\\n // By default use color of the left node, except when showing contributors\\n // from just one value, in which case use destination color.\\n stroke: [\\n {\\n test: groupSelector && groupSelector.stack=='stk1'\\n scale: color\\n field: stk2\\n }\\n {scale: \\\"color\\\", field: \\\"stk1\\\"}\\n ]\\n strokeWidth: {field: \\\"strokeWidth\\\"}\\n path: {field: \\\"path\\\"}\\n // when showing all data, and hovering over a value,\\n // highlight the contributors for that value\\n strokeOpacity: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 0.9 : 0.3\\n }\\n // Ensure that the hover-selected edges show on top\\n zindex: {\\n signal: !groupSelector && (groupHover.stk1 == datum.stk1 || groupHover.stk2 == datum.stk2) ? 1 : 0\\n }\\n // format tooltip string\\n tooltip: {\\n signal: datum.stk1 + ' → ' + datum.stk2 + ' ' + format(datum.size, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n // Simple mouseover highlighting of a single line\\n hover: {\\n strokeOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw stack groups (countries)\\n type: rect\\n name: groupMark\\n from: {data: \\\"groups\\\"}\\n encode: {\\n enter: {\\n fill: {scale: \\\"color\\\", field: \\\"grpId\\\"}\\n width: {scale: \\\"x\\\", band: 1}\\n }\\n update: {\\n x: {scale: \\\"x\\\", field: \\\"stack\\\"}\\n y: {field: \\\"scaledY0\\\"}\\n y2: {field: \\\"scaledY1\\\"}\\n fillOpacity: {value: 0.6}\\n tooltip: {\\n signal: datum.grpId + ' ' + format(datum.total, ',.0f') + ' (' + format(datum.percentage, '.1%') + ')'\\n }\\n }\\n hover: {\\n fillOpacity: {value: 1}\\n }\\n }\\n }\\n {\\n // draw labels on the inner side of the stack\\n type: text\\n from: {data: \\\"groups\\\"}\\n // don't process events for the labels - otherwise line mouseover is unclean\\n interactive: false\\n encode: {\\n update: {\\n // depending on which stack it is, position x with some padding\\n x: {\\n signal: scale('x', datum.stack) + (datum.rightLabel ? bandwidth('x') + 8 : -8)\\n }\\n // middle of the group\\n yc: {signal: \\\"(datum.scaledY0 + datum.scaledY1)/2\\\"}\\n align: {signal: \\\"datum.rightLabel ? 'left' : 'right'\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n // only show text label if the group's height is large enough\\n text: {signal: \\\"abs(datum.scaledY0-datum.scaledY1) > 13 ? datum.grpId : ''\\\"}\\n }\\n }\\n }\\n {\\n // Create a \\\"show all\\\" button. Shown only when a value is selected.\\n type: group\\n data: [\\n // We need to make the button show only when groupSelector signal is true.\\n // Each mark is drawn as many times as there are elements in the backing data.\\n // Which means that if values list is empty, it will not be drawn.\\n // Here I create a data source with one empty object, and filter that list\\n // based on the signal value. This can only be done in a group.\\n {\\n name: dataForShowAll\\n values: [{}]\\n transform: [{type: \\\"filter\\\", expr: \\\"groupSelector\\\"}]\\n }\\n ]\\n // Set button size and positioning\\n encode: {\\n enter: {\\n xc: {signal: \\\"width/2\\\"}\\n y: {value: 30}\\n width: {value: 80}\\n height: {value: 30}\\n }\\n }\\n marks: [\\n {\\n // This group is shown as a button with rounded corners.\\n type: group\\n // mark name allows signal capturing\\n name: groupReset\\n // Only shows button if dataForShowAll has values.\\n from: {data: \\\"dataForShowAll\\\"}\\n encode: {\\n enter: {\\n cornerRadius: {value: 6}\\n fill: {value: \\\"#f5f5f5\\\"}\\n stroke: {value: \\\"#c1c1c1\\\"}\\n strokeWidth: {value: 2}\\n // use parent group's size\\n height: {\\n field: {group: \\\"height\\\"}\\n }\\n width: {\\n field: {group: \\\"width\\\"}\\n }\\n }\\n update: {\\n // groups are transparent by default\\n opacity: {value: 1}\\n }\\n hover: {\\n opacity: {value: 0.7}\\n }\\n }\\n marks: [\\n {\\n type: text\\n // if true, it will prevent clicking on the button when over text.\\n interactive: false\\n encode: {\\n enter: {\\n // center text in the paren group\\n xc: {\\n field: {group: \\\"width\\\"}\\n mult: 0.5\\n }\\n yc: {\\n field: {group: \\\"height\\\"}\\n mult: 0.5\\n offset: 2\\n }\\n align: {value: \\\"center\\\"}\\n baseline: {value: \\\"middle\\\"}\\n fontWeight: {value: \\\"bold\\\"}\\n text: {value: \\\"Show All\\\"}\\n }\\n }\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n signals: [\\n {\\n // used to highlight data to/from the same value\\n name: groupHover\\n value: {}\\n on: [\\n {\\n events: @groupMark:mouseover\\n update: \\\"{stk1:datum.stack=='stk1' && datum.grpId, stk2:datum.stack=='stk2' && datum.grpId}\\\"\\n }\\n {events: \\\"mouseout\\\", update: \\\"{}\\\"}\\n ]\\n }\\n // used to filter only the data related to the selected value\\n {\\n name: groupSelector\\n value: false\\n on: [\\n {\\n // Clicking groupMark sets this signal to the filter values\\n events: @groupMark:click!\\n update: \\\"datum.stack=='stk1' ? opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"network.protocol\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER') : opensearchDashboardsAddFilter({\\\\\\\"match_phrase\\\\\\\": { \\\\\\\"event.result\\\\\\\": datum.grpId } }, 'MALCOLM_NETWORK_INDEX_PATTERN_REPLACER')\\\"\\n }\\n {\\n // Clicking \\\"show all\\\" button, or double-clicking anywhere resets it\\n events: [\\n {type: \\\"click\\\", markname: \\\"groupReset\\\"}\\n {type: \\\"dblclick\\\"}\\n ]\\n update: \\\"false\\\"\\n }\\n ]\\n }\\n ]\\n}\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -312,7 +312,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json index bc99e025d..cafab2e32 100644 --- a/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/a7514350-eba6-11e9-a384-0fcf32210194.json @@ -144,7 +144,7 @@ "version": "WzY2NCwxXQ==", "attributes": { "title": "PROFINET - Logs Over Time", - "visState": "{\"title\":\"PROFINET - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"relative\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"PROFINET - Logs Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"relative\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -192,7 +192,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -416,7 +416,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -459,7 +459,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json index 94363754e..9566a0aa8 100644 --- a/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json +++ b/dashboards/dashboards/abdd7550-2c7c-40dc-947e-f6d186a158c4.json @@ -190,7 +190,7 @@ "version": "WzEzMDIsMV0=", "attributes": { "title": "Connections - Log Count Over Time", - "visState": "{\"title\":\"Connections - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"Connections - Log Count Over Time\",\"type\":\"line\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -917,7 +917,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json index 2a870c85b..0c83415c8 100644 --- a/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json +++ b/dashboards/dashboards/ae79b7d1-4281-4095-b2f6-fa7eafda9970.json @@ -109,7 +109,7 @@ "updated_at": "2021-11-12T19:32:50.243Z", "version": "WzczNSwxXQ==", "attributes": { - "visState": "{\"title\":\"RADIUS - 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\":{}}", + "visState": "{\"title\":\"RADIUS - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "RADIUS - Log Count Over Time", "uiStateJSON": "{}", @@ -364,7 +364,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json index 858c224a5..98870eca5 100644 --- a/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json +++ b/dashboards/dashboards/af5df620-eeb6-11e9-bdef-65a192b7f586.json @@ -124,7 +124,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -184,7 +184,7 @@ "version": "WzcxNywxXQ==", "attributes": { "title": "NTP - Log Count Over Time", - "visState": "{\"title\":\"NTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"zeek.ntp.version\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"NTP Version\"}}]}", + "visState": "{\"title\":\"NTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"zeek.ntp.version\",\"size\":10,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"NTP Version\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json index 4c01c5b18..95f1d4f00 100644 --- a/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json +++ b/dashboards/dashboards/b50c8d17-6ed3-4de6-aed4-5181032810b2.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json index 9c6683341..2bb713c01 100644 --- a/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/b9f247c0-3f99-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json index 03cfd0560..bd75ad746 100644 --- a/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json +++ b/dashboards/dashboards/bb827f8e-639e-468c-93c8-9f5bc132eb8f.json @@ -129,7 +129,7 @@ "updated_at": "2021-02-10T21:24:55.450Z", "version": "WzczOCwxXQ==", "attributes": { - "visState": "{\"title\":\"SMTP - 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\":{}}", + "visState": "{\"title\":\"SMTP - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SMTP - Log Count Over Time", "uiStateJSON": "{}", @@ -503,7 +503,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json index dd54b51d0..dcdf9e469 100644 --- a/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json +++ b/dashboards/dashboards/beats/7a7e0a60-e8e8-11ec-b9d4-4569bb965430.json @@ -132,7 +132,7 @@ "version": "WzkyNCwxXQ==", "attributes": { "title": "Malcolm Sensor Audit Logs - Logs Over Time by Type", - "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}", + "visState": "{\"title\":\"Malcolm Sensor Audit Logs - Logs Over Time by Type\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"timeseries\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"miscbeat.auditlog.type\",\"terms_size\":\"20\",\"hide_in_legend\":0,\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"filter\":{\"query\":\"event.module:auditlog AND miscbeat.auditlog:*\",\"language\":\"kuery\"},\"legend_position\":\"right\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/beats/Metricbeat-host-overview.json b/dashboards/dashboards/beats/Metricbeat-host-overview.json index c532cb56d..fd140606b 100644 --- a/dashboards/dashboards/beats/Metricbeat-host-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-host-overview.json @@ -122,7 +122,7 @@ "version": "WzEwMjgsMV0=", "attributes": { "title": "Network Traffic (Packets)", - "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", + "visState": "{\"title\":\"Network Traffic (Packets)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"'0a'\",\"id\":\"49931900-ebf3-11ec-a401-f5db2d59e6af\",\"label\":\"Inbound\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"49931901-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"75fba890-ebf3-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.packets.tx\"},{\"id\":\"96daba60-ebf3-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"98e138c0-ebf3-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"75fba891-ebf3-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"'0a'\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -145,7 +145,7 @@ "version": "Wzg1NSwxXQ==", "attributes": { "title": "Network Traffic (Bytes)", - "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", + "visState": "{\"title\":\"Network Traffic (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"language\":\"lucene\",\"query\":\"\"},\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,133,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"6d8b8ab0-ebf1-11ec-a401-f5db2d59e6af\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"id\":\"6d8b8ab1-ebf1-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.rx\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"label\":\"Inbound\",\"type\":\"timeseries\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"value_template\":\"{{value}}/s\",\"split_color_mode\":\"gradient\"},{\"id\":\"b5977de0-ebf2-11ec-a401-f5db2d59e6af\",\"color\":\"rgba(13,212,26,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"positive_rate\",\"field\":\"miscbeat.network.bytes.tx\"},{\"id\":\"cdfb1540-ebf2-11ec-a401-f5db2d59e6af\",\"type\":\"math\",\"variables\":[{\"id\":\"d1b9caf0-ebf2-11ec-a401-f5db2d59e6af\",\"name\":\"rate\",\"field\":\"b5977de1-ebf2-11ec-a401-f5db2d59e6af\"}],\"script\":\"params.rate*-1\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"1\",\"stacked\":\"none\",\"label\":\"Outbound\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"terms_size\":\"3\",\"terms_order_by\":\"_key\",\"terms_field\":\"miscbeat.network.interface\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"timeseries\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -168,7 +168,7 @@ "version": "Wzg1NiwxXQ==", "attributes": { "title": "Memory Usage", - "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used\",\"type\":\"avg\"},{\"id\":\"3150c580-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"34e66f60-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"usedkb\",\"field\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.usedkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Used\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(0,156,224,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"4f1bb980-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"52c168f0-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"swapkb\",\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.swapkb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Swap\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.free\",\"type\":\"avg\"},{\"id\":\"61b8e450-eb54-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"6458bc80-eb54-11ec-ae08-f703744a0ba1\",\"name\":\"freekb\",\"field\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\"}],\"script\":\"params.freekb * 1000\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"Free\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -191,7 +191,7 @@ "version": "Wzg1NywxXQ==", "attributes": { "title": "CPU Usage", - "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"CPU Usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(211,49,21,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.system_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"system\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"value_template\":\"{{value}}%\"},{\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.user_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"0.9\",\"line_width\":1,\"label\":\"user\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\"},{\"id\":\"4eb3d7b0-eb9b-11ec-8afc-039f20728581\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(46,88,242,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"metrics\":[{\"id\":\"4eb3d7b1-eb9b-11ec-8afc-039f20728581\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\"}],\"formatter\":\"'0.'\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"total\",\"stacked\":\"stacked\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\",\"steps\":0,\"value_template\":\"{{value}}%\",\"hidden\":false}],\"axis_formatter\":\"number\",\"interval\":\"auto\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -214,7 +214,7 @@ "version": "Wzg1OCwxXQ==", "attributes": { "title": "Disk IO (Bytes)", - "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Disk IO (Bytes)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(22,165,165,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.read_size\",\"type\":\"sum\"},{\"id\":\"3be3ef00-eb99-11ec-8afc-039f20728581\",\"type\":\"math\",\"variables\":[{\"id\":\"40f00c40-eb99-11ec-8afc-039f20728581\",\"name\":\"readsize\",\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\"}],\"script\":\"0 - params.readsize\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"reads\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"},{\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"rgba(251,158,0,1)\",\"axis_position\":\"right\",\"point_size\":\"0\",\"value_template\":\"{{value}}\",\"metrics\":[{\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.disk.write_size\",\"type\":\"sum\"}],\"formatter\":\"bytes\",\"split_mode\":\"everything\",\"fill\":\"1\",\"line_width\":1,\"label\":\"writes\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"type\":\"timeseries\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"type\":\"timeseries\",\"show_grid\":1,\"show_legend\":1,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -237,7 +237,7 @@ "version": "Wzg4MSwxXQ==", "attributes": { "title": "CPU Usage Gauge", - "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", + "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -260,7 +260,7 @@ "version": "Wzg4MCwxXQ==", "attributes": { "title": "Memory Usage Gauge", - "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -283,7 +283,7 @@ "version": "Wzk0OCwxXQ==", "attributes": { "title": "Inbound Traffic", - "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", + "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -306,7 +306,7 @@ "version": "Wzk1NSwxXQ==", "attributes": { "title": "Outbound Traffic", - "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -352,7 +352,7 @@ "version": "Wzg2NCwxXQ==", "attributes": { "title": "Swap usage", - "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Swap usage\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"filter\":\"\",\"series\":[{\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"field\":\"miscbeat.mem.Swap.used\",\"type\":\"avg\"},{\"id\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.mem.Swap.total\"},{\"id\":\"a4743e90-eb52-11ec-ae08-f703744a0ba1\",\"type\":\"math\",\"variables\":[{\"id\":\"a62793e0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"used\",\"field\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\"},{\"id\":\"aaa023b0-eb52-11ec-ae08-f703744a0ba1\",\"name\":\"total\",\"field\":\"9cd408f0-eb52-11ec-ae08-f703744a0ba1\"}],\"script\":\"params.used / params.total\"}],\"formatter\":\"percent\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Swap usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -398,7 +398,7 @@ "version": "Wzk3NSwxXQ==", "attributes": { "title": "Disk used", - "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", + "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -421,7 +421,7 @@ "version": "WzEwMzQsMV0=", "attributes": { "title": "Interfaces by Incoming traffic", - "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Interfaces by Incoming traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.rx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Incoming traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -444,7 +444,7 @@ "version": "WzEwMzcsMV0=", "attributes": { "title": "Interfaces by Outgoing traffic", - "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Interfaces by Outgoing traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"series\":[{\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Interfaces by Outgoing traffic\",\"terms_order_by\":\"_count\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"10\"}],\"interval\":\"auto\",\"axis_formatter\":\"number\",\"show_legend\":1,\"time_field\":\"@timestamp\",\"axis_position\":\"left\",\"type\":\"top_n\",\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -490,7 +490,7 @@ "version": "WzEwMjUsMV0=", "attributes": { "title": "Network Traffic (Drops and Errors)", - "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}", + "visState": "{\"title\":\"Network Traffic (Drops and Errors)\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"split_color_mode\":\"opensearchDashboards\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"77170e30-ebf4-11ec-a401-f5db2d59e6af\"}],\"label\":\"Drops In\"},{\"id\":\"e5fec770-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"e5fec771-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors In\"},{\"id\":\"ce173de0-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"ce173de1-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.drops.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Drops Out\",\"color_rules\":[{\"id\":\"e3795510-ebf4-11ec-a401-f5db2d59e6af\"}]},{\"id\":\"f381f250-ebf4-11ec-a401-f5db2d59e6af\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"f381f251-ebf4-11ec-a401-f5db2d59e6af\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.errors.tx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Errors Out\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"bar_color_rules\":[{\"id\":\"5eab8790-ebf4-11ec-a401-f5db2d59e6af\"}],\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"pivot_label\":\"Interface\"}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/beats/Metricbeat-system-overview.json b/dashboards/dashboards/beats/Metricbeat-system-overview.json index a0d9aa0c3..e8bbf3ba9 100644 --- a/dashboards/dashboards/beats/Metricbeat-system-overview.json +++ b/dashboards/dashboards/beats/Metricbeat-system-overview.json @@ -139,7 +139,7 @@ "version": "Wzg3NCwxXQ==", "attributes": { "title": "Top Hosts By Memory", - "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Top Hosts By Memory\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -162,7 +162,7 @@ "version": "Wzg3NSwxXQ==", "attributes": { "title": "Top Hosts By CPU", - "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Top Hosts By CPU\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"filter\":\"\",\"series\":[{\"terms_size\":\"10\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"host.name\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"3\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"field\":\"miscbeat.cpu.cpu_p\",\"type\":\"avg\",\"order_by\":\"@timestamp\"}],\"formatter\":\"'0.'\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"value_template\":\"{{value}}%\"}],\"time_field\":\"@timestamp\",\"axis_formatter\":\"number\",\"drilldown_url\":\"../app/dashboards#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8-ecs?_a=(query:(language:kuery,query:'host.name:\\\"{{key}}\\\"'))\",\"show_grid\":1,\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"axis_position\":\"left\",\"type\":\"top_n\",\"bar_color_rules\":[{\"operator\":\"gte\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"value\":0,\"bar_color\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"bar_color\":\"rgba(211,49,21,1)\"}],\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -214,7 +214,7 @@ "version": "Wzk0OCwxXQ==", "attributes": { "title": "Inbound Traffic", - "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", + "visState": "{\"title\":\"Inbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"bar_color_rules\":[{\"id\":\"a6f39dd0-eb4f-11ec-ae08-f703744a0ba1\"}],\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"interval\":\"auto\",\"isModelInvalid\":false,\"pivot_id\":\"miscbeat.network.interface\",\"pivot_type\":\"string\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"unit\":\"1s\",\"field\":\"miscbeat.network.bytes.rx\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"percentiles\":[{\"id\":\"2bd83990-eb4e-11ec-ae08-f703744a0ba1\",\"mode\":\"line\",\"shade\":0.2,\"value\":50}],\"type\":\"positive_rate\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"miscbeat.network.interface\",\"terms_order_by\":\"_count\",\"terms_size\":\"3\",\"value_template\":\"{{value}}/s\",\"color_rules\":[{\"id\":\"b3b298e0-eb50-11ec-ae08-f703744a0ba1\"}]},{\"id\":\"697b0130-eb51-11ec-ae08-f703744a0ba1\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"697b0131-eb51-11ec-ae08-f703744a0ba1\",\"type\":\"top_hit\",\"field\":\"miscbeat.network.bytes.rx\",\"order_by\":\"@timestamp\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Total Transferred\",\"terms_field\":\"miscbeat.network.interface\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"tooltip_mode\":\"show_all\",\"type\":\"metric\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -237,7 +237,7 @@ "version": "Wzk1NSwxXQ==", "attributes": { "title": "Outbound Traffic", - "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Outbound Traffic\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"filter\":{\"query\":\"\",\"language\":\"lucene\"},\"series\":[{\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}/s\",\"metrics\":[{\"unit\":\"1s\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"positive_rate\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Outbound Traffic\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"},{\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"terms_field\":\"miscbeat.network.interface\",\"axis_position\":\"right\",\"point_size\":1,\"value_template\":\"{{value}}\",\"metrics\":[{\"size\":\"1\",\"agg_with\":\"max\",\"order\":\"desc\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.network.bytes.tx\",\"type\":\"top_hit\",\"order_by\":\"@timestamp\"}],\"formatter\":\"bytes\",\"split_mode\":\"terms\",\"fill\":0.5,\"line_width\":1,\"label\":\"Total Transferred\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"terms_size\":\"3\",\"terms_order_by\":\"_count\"}],\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_legend\":1,\"interval\":\"auto\",\"type\":\"metric\",\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -260,7 +260,7 @@ "version": "Wzk3NSwxXQ==", "attributes": { "title": "Disk used", - "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"firstPacket\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", + "visState": "{\"title\":\"Disk used\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"filter\":\"\",\"interval\":\"auto\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"time_range_mode\":\"entire_time_range\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"1\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"operator\":\"gte\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\"},{\"operator\":\"gte\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\"}],\"gauge_inner_width\":10,\"series\":[{\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.used\"},{\"size\":\"1\",\"agg_with\":\"avg\",\"order\":\"desc\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"order_by\":\"@timestamp\",\"type\":\"top_hit\",\"field\":\"miscbeat.disk.df.size\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"variables\":[{\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}],\"script\":\"params.used/params.total \",\"type\":\"math\"}],\"formatter\":\"'0%'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Disk used\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\"}],\"isModelInvalid\":false,\"axis_scale\":\"normal\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"tooltip_mode\":\"show_all\"}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -283,7 +283,7 @@ "version": "Wzg4MCwxXQ==", "attributes": { "title": "Memory Usage Gauge", - "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false}}", + "visState": "{\"title\":\"Memory Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"field\":\"miscbeat.mem.Mem.used_p\",\"type\":\"avg\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"Memory Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false}}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -306,7 +306,7 @@ "version": "Wzg4MSwxXQ==", "attributes": { "title": "CPU Usage Gauge", - "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"firstPacket\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", + "visState": "{\"title\":\"CPU Usage Gauge\",\"type\":\"metrics\",\"aggs\":[],\"params\":{\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"filter\":\"\",\"series\":[{\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"chart_type\":\"line\",\"seperate_axis\":0,\"color\":\"#68BC00\",\"axis_position\":\"right\",\"point_size\":1,\"metrics\":[{\"id\":\"114cd270-eb49-11ec-ae08-f703744a0ba1\",\"type\":\"avg\",\"field\":\"miscbeat.cpu.cpu_p\"}],\"formatter\":\"'0'\",\"split_mode\":\"everything\",\"fill\":0.5,\"line_width\":1,\"label\":\"CPU Usage\",\"stacked\":\"none\",\"split_color_mode\":\"gradient\",\"filter\":{\"query\":\"\",\"language\":\"kuery\"},\"value_template\":\"{{value}}%\"}],\"gauge_inner_width\":10,\"axis_formatter\":\"number\",\"show_legend\":1,\"axis_position\":\"left\",\"index_pattern\":\"MALCOLM_OTHER_INDEX_PATTERN_REPLACER\",\"show_grid\":1,\"time_field\":\"@timestamp\",\"gauge_max\":\"100\",\"gauge_color_rules\":[{\"operator\":\"gte\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"value\":0,\"gauge\":\"rgba(104,188,0,1)\"},{\"value\":70,\"operator\":\"gte\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(254,146,0,1)\"},{\"value\":85,\"operator\":\"gte\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"gauge\":\"rgba(211,49,21,1)\"}],\"interval\":\"auto\",\"type\":\"gauge\",\"gauge_style\":\"half\",\"gauge_width\":10,\"axis_scale\":\"normal\",\"tooltip_mode\":\"show_all\",\"default_index_pattern\":\"MALCOLM_NETWORK_INDEX_PATTERN_REPLACER\",\"default_timefield\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"isModelInvalid\":false,\"background_color_rules\":[{\"id\":\"64e19c90-eb49-11ec-ae08-f703744a0ba1\"}],\"bar_color_rules\":[{\"id\":\"65456770-eb49-11ec-ae08-f703744a0ba1\"}]}}", "uiStateJSON": "{}", "description": "", "version": 1, diff --git a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json index 1c9904d9e..96e640f91 100644 --- a/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/bed185a0-ef82-11e9-b38a-2db3ee640e88.json @@ -107,7 +107,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -167,7 +167,7 @@ "version": "Wzc1NSwxXQ==", "attributes": { "title": "Tabular Data Stream - Log Count Over Time", - "visState": "{\"title\":\"Tabular Data Stream - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", + "visState": "{\"title\":\"Tabular Data Stream - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\",\"mode\":\"quick\"},\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -298,7 +298,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json index 84e6c2487..1aca51519 100644 --- a/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json +++ b/dashboards/dashboards/bf5efbb0-60f1-11eb-9d60-dbf0411cfc48.json @@ -135,7 +135,7 @@ "version": "WzU3OSwxXQ==", "attributes": { "title": "TFTP - Log Count Over Time", - "visState": "{\"title\":\"TFTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-02-04T15:21:21.768Z\",\"max\":\"2021-02-04T15:21:21.768Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Operation\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.action\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"}}]}", + "visState": "{\"title\":\"TFTP - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1996-02-04T15:21:21.768Z\",\"max\":\"2021-02-04T15:21:21.768Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"Operation\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.action\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Operation\"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, @@ -330,7 +330,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json index 5e954e4b1..257200e63 100644 --- a/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json +++ b/dashboards/dashboards/c2549e10-7f2e-11ea-9f8a-1fe1327e2cd2.json @@ -160,7 +160,7 @@ "version": "Wzc2OSwxXQ==", "attributes": { "title": "Telnet, rlogin and rsh - Log Count Over Time", - "visState": "{\"title\":\"Telnet, rlogin and rsh - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1995-04-15T15:43:18.959Z\",\"max\":\"2020-04-15T15:43:18.959Z\"}},\"label\":\"firstPacket per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"network.protocol: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Protocol\"}}]}", + "visState": "{\"title\":\"Telnet, rlogin and rsh - Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD\"}},\"params\":{\"date\":true,\"interval\":\"P30D\",\"intervalESValue\":30,\"intervalESUnit\":\"d\",\"format\":\"YYYY-MM-DD\",\"bounds\":{\"min\":\"1995-04-15T15:43:18.959Z\",\"max\":\"2020-04-15T15:43:18.959Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 30 days\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"network.protocol: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"Unknown\",\"customLabel\":\"Protocol\"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -294,7 +294,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json index f379f6b05..8bb95c2a7 100644 --- a/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json +++ b/dashboards/dashboards/ca5799a0-56b5-11eb-b749-576de068f8ad.json @@ -145,7 +145,7 @@ "version": "Wzc3NywxXQ==", "attributes": { "title": "BSAP - Logs Over Time", - "visState": "{\"title\":\"BSAP - Logs Over Time\",\"type\":\"line\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD HH:mm\"}},\"params\":{\"date\":true,\"interval\":\"PT3H\",\"intervalESValue\":3,\"intervalESUnit\":\"h\",\"format\":\"YYYY-MM-DD HH:mm\",\"bounds\":{\"min\":\"2020-07-21T04:54:40.645Z\",\"max\":\"2020-07-27T11:08:08.319Z\"}},\"label\":\"firstPacket per 3 hours\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"event.dataset: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2020-07-21T04:54:40.645Z\",\"to\":\"2020-07-27T11:08:08.319Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}]}", + "visState": "{\"title\":\"BSAP - Logs Over Time\",\"type\":\"line\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"interpolate\":\"linear\",\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"YYYY-MM-DD HH:mm\"}},\"params\":{\"date\":true,\"interval\":\"PT3H\",\"intervalESValue\":3,\"intervalESUnit\":\"h\",\"format\":\"YYYY-MM-DD HH:mm\",\"bounds\":{\"min\":\"2020-07-21T04:54:40.645Z\",\"max\":\"2020-07-27T11:08:08.319Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 3 hours\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"drilldown\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"Missing\"}},\"params\":{},\"label\":\"event.dataset: Descending\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2020-07-21T04:54:40.645Z\",\"to\":\"2020-07-27T11:08:08.319Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -340,7 +340,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -387,7 +387,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -462,7 +462,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json index f628bde9e..03c186fb4 100644 --- a/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json +++ b/dashboards/dashboards/caef3ade-d289-4d05-a511-149f3e97f238.json @@ -124,7 +124,7 @@ "updated_at": "2021-02-10T21:25:00.506Z", "version": "Wzc4OSwxXQ==", "attributes": { - "visState": "{\"title\":\"SSH - 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\":{}}", + "visState": "{\"title\":\"SSH - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "SSH - Log Count Over Time", "uiStateJSON": "{}", @@ -469,7 +469,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json index 17f9a6c1b..5f098b3c1 100644 --- a/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json +++ b/dashboards/dashboards/d2dd0180-06b1-11ec-8c6b-353266ade330.json @@ -580,7 +580,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -622,7 +622,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -664,7 +664,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json index ac5e72581..0c7cbab75 100644 --- a/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/d41fe630-3f98-11e9-a58e-8bdedb0915e8.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json index 43a27ddbf..b70adb2a3 100644 --- a/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json +++ b/dashboards/dashboards/d4fd6afd-15cb-42bf-8a25-03dd8e59b327.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json index 73bec3d0e..811c18868 100644 --- a/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json +++ b/dashboards/dashboards/dd87edd0-796a-11ec-9ce6-b395c1ff58f4.json @@ -160,7 +160,7 @@ "version": "Wzc1NywxXQ==", "attributes": { "title": "OPCUA Binary - Traffic Over Time", - "visState": "{\"title\":\"OPCUA Binary - Traffic Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"OPCUA Binary - Traffic Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-15y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"event.dataset\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":25,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Log Type\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json index d472ef8df..56993492a 100644 --- a/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json +++ b/dashboards/dashboards/e09a4b86-29b5-4256-bb3b-802ac9f90404.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json index 8b658a84a..c8720b392 100644 --- a/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json +++ b/dashboards/dashboards/e76d05c0-eb9f-11e9-a384-0fcf32210194.json @@ -140,7 +140,7 @@ "version": "Wzc0MywxXQ==", "attributes": { "title": "S7comm - Logs Over Time", - "visState": "{\"title\":\"S7comm - Logs Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"S7comm - Logs Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"now-25y\",\"to\":\"now\"},\"useNormalizedOpenSearchInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{}},\"schema\":\"segment\"},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"params\":{\"field\":\"network.protocol\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":5,\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"customLabel\":\"Protocol\"},\"schema\":\"group\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"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\":\"bottom\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":true}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json index bd1b7bb7d..0fc1cd719 100644 --- a/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json +++ b/dashboards/dashboards/ed8a6640-3f98-11e9-a58e-8bdedb0915e8.json @@ -114,7 +114,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json index 6d97c14ef..928d05611 100644 --- a/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json +++ b/dashboards/dashboards/f1f09567-fc7f-450b-a341-19d2f2bb468b.json @@ -107,7 +107,7 @@ "version": "Wzc0MCwxXQ==", "attributes": { "title": "Notices - Log Count Over Time", - "visState": "{\"title\":\"Notices - 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\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"HH:mm:ss\"}},\"params\":{\"date\":true,\"interval\":\"PT1S\",\"intervalESValue\":1,\"intervalESUnit\":\"s\",\"format\":\"HH:mm:ss\",\"bounds\":{\"min\":\"2017-04-16T17:22:12.510Z\",\"max\":\"2017-04-16T17:23:40.195Z\"}},\"label\":\"firstPacket per second\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"-\"}},\"params\":{},\"label\":\"Notice Category\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2017-04-16T17:22:12.510Z\",\"to\":\"2017-04-16T17:23:40.195Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Notice Category\"}}]}", + "visState": "{\"title\":\"Notices - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per 12 hours\"}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"square root\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"stacked\",\"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,\"type\":\"histogram\",\"labels\":{},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"dimensions\":{\"x\":{\"accessor\":0,\"format\":{\"id\":\"date\",\"params\":{\"pattern\":\"HH:mm:ss\"}},\"params\":{\"date\":true,\"interval\":\"PT1S\",\"intervalESValue\":1,\"intervalESUnit\":\"s\",\"format\":\"HH:mm:ss\",\"bounds\":{\"min\":\"2017-04-16T17:22:12.510Z\",\"max\":\"2017-04-16T17:23:40.195Z\"}},\"label\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER per second\",\"aggType\":\"date_histogram\"},\"y\":[{\"accessor\":2,\"format\":{\"id\":\"number\"},\"params\":{},\"label\":\"Count\",\"aggType\":\"count\"}],\"series\":[{\"accessor\":1,\"format\":{\"id\":\"terms\",\"params\":{\"id\":\"string\",\"otherBucketLabel\":\"Other\",\"missingBucketLabel\":\"-\"}},\"params\":{},\"label\":\"Notice Category\",\"aggType\":\"terms\"}]}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2017-04-16T17:22:12.510Z\",\"to\":\"2017-04-16T17:23:40.195Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"rule.category\",\"orderBy\":\"1\",\"order\":\"desc\",\"size\":10,\"otherBucket\":true,\"otherBucketLabel\":\"Other\",\"missingBucket\":true,\"missingBucketLabel\":\"-\",\"customLabel\":\"Notice Category\"}}]}", "uiStateJSON": "{}", "description": "", "version": 1, @@ -412,7 +412,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json index af52c8ca0..345c38ac8 100644 --- a/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json +++ b/dashboards/dashboards/f394057d-1b16-4174-b994-7045f423a416.json @@ -186,7 +186,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json index 9e65b0dba..e97f57f71 100644 --- a/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json +++ b/dashboards/dashboards/f77bf097-18a8-465c-b634-eb2acc7a4f26.json @@ -124,7 +124,7 @@ "updated_at": "2021-02-10T21:25:08.611Z", "version": "Wzg1OSwxXQ==", "attributes": { - "visState": "{\"title\":\"RFB - 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\":{}}", + "visState": "{\"title\":\"RFB - 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER 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\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}],\"listeners\":{}}", "description": "", "title": "RFB - Log Count Over Time", "uiStateJSON": "{}", @@ -469,7 +469,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json index 93142ab14..6521f41dc 100644 --- a/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json +++ b/dashboards/dashboards/fa141950-ef89-11e9-b38a-2db3ee640e88.json @@ -112,7 +112,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], @@ -172,7 +172,7 @@ "version": "Wzg3NSwxXQ==", "attributes": { "title": "Tabular Data Stream - SQL Log Count Over Time", - "visState": "{\"title\":\"Tabular Data Stream - SQL Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"firstPacket\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", + "visState": "{\"title\":\"Tabular Data Stream - SQL Log Count Over Time\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"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\":{}}],\"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\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"useNormalizedEsInterval\":true,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"}}]}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, diff --git a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json index 851e81269..bb04c03aa 100644 --- a/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json +++ b/dashboards/dashboards/fa477130-2b8a-11ec-a9f2-3911c8571bfd.json @@ -155,7 +155,7 @@ "version": "WzkzOSwxXQ==", "attributes": { "title": "STUN - Log Count Over Time", - "visState": "{\"title\":\"STUN - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"firstPacket\",\"timeRange\":{\"from\":\"2021-02-26T20:25:47.478Z\",\"to\":\"2021-03-02T15:19:14.457Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true,\"interpolate\":\"linear\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", + "visState": "{\"title\":\"STUN - Log Count Over Time\",\"type\":\"histogram\",\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{},\"schema\":\"metric\"},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"params\":{\"field\":\"MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER\",\"timeRange\":{\"from\":\"2021-02-26T20:25:47.478Z\",\"to\":\"2021-03-02T15:19:14.457Z\"},\"useNormalizedEsInterval\":true,\"scaleMetricValues\":false,\"interval\":\"auto\",\"drop_partials\":false,\"min_doc_count\":1,\"extended_bounds\":{},\"customLabel\":\" \"},\"schema\":\"segment\"}],\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{}}],\"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,\"type\":\"histogram\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true,\"interpolate\":\"linear\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false,\"labels\":{\"show\":false},\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"}}}", "uiStateJSON": "{\"vis\":{\"legendOpen\":false}}", "description": "", "version": 1, @@ -520,7 +520,7 @@ ], "sort": [ [ - "firstPacket", + "MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER", "desc" ] ], diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh index 1039a686a..0af4afb7e 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/create-arkime-sessions-index.sh @@ -8,6 +8,8 @@ shopt -s nocasematch DASHB_URL=${DASHBOARDS_URL:-"http://dashboards:5601/dashboards"} INDEX_PATTERN=${MALCOLM_NETWORK_INDEX_PATTERN:-"arkime_sessions3-*"} INDEX_TIME_FIELD=${MALCOLM_NETWORK_INDEX_TIME_FIELD:-"firstPacket"} +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"} @@ -22,6 +24,19 @@ ISM_SNAPSHOT_COMPRESSED=${ISM_SNAPSHOT_COMPRESSED:-"false"} OPENSEARCH_PRIMARY=${OPENSEARCH_PRIMARY:-"opensearch-local"} OPENSEARCH_SECONDARY=${OPENSEARCH_SECONDARY:-""} +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. + # This function takes a file and performs that replacement. + REPLFILE="$1" + if [[ -n "$REPLFILE" ]] && [[ -f "$REPLFILE" ]]; then + sed -i "s/MALCOLM_NETWORK_INDEX_PATTERN_REPLACER/${INDEX_PATTERN}/g" "${REPLFILE}" || true + sed -i "s/MALCOLM_NETWORK_INDEX_TIME_FIELD_REPLACER/${INDEX_TIME_FIELD}/g" "${REPLFILE}" || true + sed -i "s/MALCOLM_OTHER_INDEX_PATTERN_REPLACER/${OTHER_INDEX_PATTERN}/g" "${REPLFILE}" || true + sed -i "s/MALCOLM_OTHER_INDEX_TIME_FIELD_REPLACER/${OTHER_INDEX_TIME_FIELD}/g" "${REPLFILE}" || true + fi +} + # is the argument to automatically create this index enabled? if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then @@ -92,9 +107,16 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then || true fi + TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)" + rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/ + while IFS= read -r fname; do + DoReplacersInFile "$fname" + done < <( find "$TEMPLATES_IMPORT_DIR"/ -type f 2>/dev/null ) + MALCOLM_TEMPLATE_FILE_ORIG_TMP="$(echo "$MALCOLM_TEMPLATE_FILE_ORIG" | sed "s@$MALCOLM_TEMPLATES_DIR@$TEMPLATES_IMPORT_DIR@")" + # calculate combined SHA sum of all templates to save as _meta.hash to determine if # we need to do this import (mostly useful for the secondary loop) - TEMPLATE_HASH="$(find "$ECS_TEMPLATES_DIR"/composable "$MALCOLM_TEMPLATES_DIR" -type f -name "*.json" -size +2c 2>/dev/null | sort | xargs -r cat | sha256sum | awk '{print $1}')" + TEMPLATE_HASH="$(find "$ECS_TEMPLATES_DIR"/composable "$TEMPLATES_IMPORT_DIR" -type f -name "*.json" -size +2c 2>/dev/null | sort | xargs -r cat | sha256sum | awk '{print $1}')" # get the previous stored template hash (if any) to avoid importing if it's already been imported set +e @@ -118,9 +140,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then done fi - if [[ -d "$MALCOLM_TEMPLATES_DIR"/composable/component ]]; then + if [[ -d "$TEMPLATES_IMPORT_DIR"/composable/component ]]; then echo "Importing custom ECS composable templates..." - for i in "$MALCOLM_TEMPLATES_DIR"/composable/component/*.json; do + for i in "$TEMPLATES_IMPORT_DIR"/composable/component/*.json; do TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" echo "Importing custom ECS composable template $TEMP_FILENAME ..." @@ -130,8 +152,8 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then echo "Importing malcolm_template ($TEMPLATE_HASH)..." - if [[ -f "$MALCOLM_TEMPLATE_FILE_ORIG" ]] && [[ ! -f "$MALCOLM_TEMPLATE_FILE" ]]; then - cp "$MALCOLM_TEMPLATE_FILE_ORIG" "$MALCOLM_TEMPLATE_FILE" + if [[ -f "$MALCOLM_TEMPLATE_FILE_ORIG_TMP" ]] && [[ ! -f "$MALCOLM_TEMPLATE_FILE" ]]; then + cp "$MALCOLM_TEMPLATE_FILE_ORIG_TMP" "$MALCOLM_TEMPLATE_FILE" fi # store the TEMPLATE_HASH we calculated earlier as the _meta.hash for the malcolm template @@ -146,7 +168,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then "$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) - for i in "$MALCOLM_TEMPLATES_DIR"/*.json; do + for i in "$TEMPLATES_IMPORT_DIR"/*.json; do TEMP_BASENAME="$(basename "$i")" TEMP_FILENAME="${TEMP_BASENAME%.*}" if [[ "$TEMP_FILENAME" != "malcolm_template" ]]; then @@ -163,6 +185,7 @@ 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 + rm -rf "${TEMPLATES_IMPORT_DIR}" if [[ "$LOOP" == "primary" ]]; then echo "Importing index pattern..." @@ -202,17 +225,22 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # take care of a few other substitutions sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i" fi + DoReplacersInFile "$i" 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}" - # beats will no longer import its dashbaords into OpenSearch + # beats will no longer import its dashboards into OpenSearch # (see opensearch-project/OpenSearch-Dashboards#656 and # opensearch-project/OpenSearch-Dashboards#831). As such, we're going to # manually add load our dashboards in /opt/dashboards/beats as well. - for i in /opt/dashboards/beats/*.json; do + BEATS_DASHBOARDS_IMPORT_DIR="$(mktemp -d -t beats-XXXXXX)" + cp /opt/dashboards/beats/*.json "${BEATS_DASHBOARDS_IMPORT_DIR}"/ + for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do + DoReplacersInFile "$i" 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}" echo "$DATASTORE_TYPE Dashboards saved objects import complete!" @@ -246,9 +274,13 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then echo "Creating $DATASTORE_TYPE anomaly detectors..." # Create anomaly detectors here - for i in /opt/anomaly_detectors/*.json; do + ANOMALY_IMPORT_DIR="$(mktemp -d -t anomaly-XXXXXX)" + cp /opt/anomaly_detectors/*.json "${ANOMALY_IMPORT_DIR}"/ + for i in "${ANOMALY_IMPORT_DIR}"/*.json; do + DoReplacersInFile "$i" 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" done + rm -rf "${ANOMALY_IMPORT_DIR}" # trigger a start/stop for the dummy detector to make sure the .opendistro-anomaly-detection-state index gets created # see: @@ -283,9 +315,13 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then done # monitors - for i in /opt/alerting/monitors/*.json; do + ALERTING_IMPORT_DIR="$(mktemp -d -t alerting-XXXXXX)" + cp /opt/alerting/monitors/*.json "${ALERTING_IMPORT_DIR}"/ + for i in "${ALERTING_IMPORT_DIR}"/*.json; do + DoReplacersInFile "$i" 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" done + rm -rf "${ALERTING_IMPORT_DIR}" echo "$DATASTORE_TYPE alerting objects creation complete!" From 0b535f3924fed9cc082cb06af9c12f30f2b0b86c Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 10 Jan 2024 16:30:48 -0700 Subject: [PATCH 69/88] allow overriding destination index for Zeek and Suricata logs, work in progress, idaholab/Malcolm#313 --- Dockerfiles/dashboards-helper.Dockerfile | 10 ++++++- .../scripts/create-arkime-sessions-index.sh | 29 ++++++++++++------- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index b7e17c98b..9426311f1 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -84,7 +84,15 @@ RUN apk update --no-cache && \ find /opt/ecs-templates-os -name "*.json" -exec sed -i 's/\("type"[[:space:]]*:[[:space:]]*\)"flattened"/\1"nested"/' "{}" \; && \ find /opt/ecs-templates-os -name "*.json" -exec sed -i 's/\("type"[[:space:]]*:[[:space:]]*\)"number"/\1"long"/' "{}" \; && \ rm -rf /opt/ecs && \ - chown -R ${PUSER}:${PGROUP} /opt/dashboards /opt/templates /opt/ecs-templates /opt/ecs-templates-os /opt/maps /data/init /opt/anomaly_detectors && \ + chown -R ${PUSER}:${PGROUP} /data/init \ + /opt/alerting \ + /opt/anomaly_detectors \ + /opt/dashboards \ + /opt/ecs-templates \ + /opt/ecs-templates-os \ + /opt/maps \ + /opt/notifications \ + /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 --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index 'malcolm_beats_*' --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB}) diff --git a/dashboards/scripts/create-arkime-sessions-index.sh b/dashboards/scripts/create-arkime-sessions-index.sh index 0af4afb7e..02c3dea46 100755 --- a/dashboards/scripts/create-arkime-sessions-index.sh +++ b/dashboards/scripts/create-arkime-sessions-index.sh @@ -37,6 +37,15 @@ function DoReplacersInFile() { fi } +function DoReplacersForDir() { + REPLDIR="$1" + if [[ -n "$REPLDIR" ]] && [[ -d "$REPLDIR" ]]; then + while IFS= read -r fname; do + DoReplacersInFile "$fname" + done < <( find "$REPLDIR"/ -type f 2>/dev/null ) + fi +} + # is the argument to automatically create this index enabled? if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then @@ -109,9 +118,7 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then TEMPLATES_IMPORT_DIR="$(mktemp -d -t templates-XXXXXX)" rsync -a "$MALCOLM_TEMPLATES_DIR"/ "$TEMPLATES_IMPORT_DIR"/ - while IFS= read -r fname; do - DoReplacersInFile "$fname" - done < <( find "$TEMPLATES_IMPORT_DIR"/ -type f 2>/dev/null ) + DoReplacersForDir "$TEMPLATES_IMPORT_DIR" MALCOLM_TEMPLATE_FILE_ORIG_TMP="$(echo "$MALCOLM_TEMPLATE_FILE_ORIG" | sed "s@$MALCOLM_TEMPLATES_DIR@$TEMPLATES_IMPORT_DIR@")" # calculate combined SHA sum of all templates to save as _meta.hash to determine if @@ -217,7 +224,8 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # install default dashboards DASHBOARDS_IMPORT_DIR="$(mktemp -d -t dashboards-XXXXXX)" - cp /opt/dashboards/*.json "${DASHBOARDS_IMPORT_DIR}"/ + 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) @@ -225,7 +233,6 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # take care of a few other substitutions sed -i 's/opensearchDashboardsAddFilter/kibanaAddFilter/g' "$i" fi - DoReplacersInFile "$i" 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}" @@ -235,9 +242,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # opensearch-project/OpenSearch-Dashboards#831). As such, we're going to # manually add load our dashboards in /opt/dashboards/beats as well. BEATS_DASHBOARDS_IMPORT_DIR="$(mktemp -d -t beats-XXXXXX)" - cp /opt/dashboards/beats/*.json "${BEATS_DASHBOARDS_IMPORT_DIR}"/ + rsync -a /opt/dashboards/beats/ "$BEATS_DASHBOARDS_IMPORT_DIR"/ + DoReplacersForDir "$BEATS_DASHBOARDS_IMPORT_DIR" for i in "${BEATS_DASHBOARDS_IMPORT_DIR}"/*.json; do - DoReplacersInFile "$i" 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}" @@ -275,9 +282,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # Create anomaly detectors here ANOMALY_IMPORT_DIR="$(mktemp -d -t anomaly-XXXXXX)" - cp /opt/anomaly_detectors/*.json "${ANOMALY_IMPORT_DIR}"/ + rsync -a /opt/anomaly_detectors/ "$ANOMALY_IMPORT_DIR"/ + DoReplacersForDir "$ANOMALY_IMPORT_DIR" for i in "${ANOMALY_IMPORT_DIR}"/*.json; do - DoReplacersInFile "$i" 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" done rm -rf "${ANOMALY_IMPORT_DIR}" @@ -316,9 +323,9 @@ if [[ "$CREATE_OS_ARKIME_SESSION_INDEX" = "true" ]] ; then # monitors ALERTING_IMPORT_DIR="$(mktemp -d -t alerting-XXXXXX)" - cp /opt/alerting/monitors/*.json "${ALERTING_IMPORT_DIR}"/ + rsync -a /opt/alerting/monitors/ "$ALERTING_IMPORT_DIR"/ + DoReplacersForDir "$ALERTING_IMPORT_DIR" for i in "${ALERTING_IMPORT_DIR}"/*.json; do - DoReplacersInFile "$i" 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" done rm -rf "${ALERTING_IMPORT_DIR}" From 7733c727b2f415083e417f1d93adb81937b62b41 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 07:37:57 -0700 Subject: [PATCH 70/88] don't copy .example env files to every config directory --- scripts/install.py | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/scripts/install.py b/scripts/install.py index c662a4b49..7a6c61f90 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1416,21 +1416,14 @@ def tweak_malcolm_runtime(self, malcolm_install_path): # modify values in .env files in args.configDir - # first, if the args.configDir is completely empty, then populate from defaults - examplesConfigDir = os.path.join(malcolm_install_path, 'config') - if ( - os.path.isdir(examplesConfigDir) - and (not same_file_or_dir(examplesConfigDir, args.configDir)) - and (not os.listdir(args.configDir)) - ): - for defaultEnvExampleFile in glob.glob(os.path.join(examplesConfigDir, '*.env.example')): - shutil.copy2(defaultEnvExampleFile, args.configDir) - - # if a specific config/*.env file doesn't exist, use the *.example.env files as defaults - for envExampleFile in glob.glob(os.path.join(args.configDir, '*.env.example')): - envFile = envExampleFile[: -len('.example')] - if not os.path.isfile(envFile): - shutil.copyfile(envExampleFile, envFile) + # if a specific *.env file doesn't exist, use the config/*.example.env files as defaults + if os.path.isdir(examplesConfigDir := os.path.join(malcolm_install_path, 'config')): + for envExampleFile in glob.glob(os.path.join(examplesConfigDir, '*.env.example')): + envFile = os.path.join(args.configDir, os.path.basename(envExampleFile[: -len('.example')])) + if not os.path.isfile(envFile): + if args.debug: + eprint(f"Creating {envFile} from {envExampleFile}") + shutil.copyfile(envExampleFile, envFile) # define environment variables to be set in .env files EnvValue = namedtuple("EnvValue", ["envFile", "key", "value"], rename=False) From 4ae1187be1ab64db9c19e02e2a28e11356c323f2 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 08:35:05 -0700 Subject: [PATCH 71/88] customizing index settings work in progress, idaholab/Malcolm#313 and idaholab/Malcolm#283 --- arkime/scripts/docker_entrypoint.sh | 2 + config/arkime.env.example | 7 +++- config/opensearch.env.example | 2 + logstash/pipelines/beats/98_finalize.conf | 42 +++++++++++++------ .../pipelines/enrichment/98_finalize.conf | 11 ++++- .../external/99_opensearch_output.conf | 2 +- .../output/99_opensearch_output.conf | 2 +- .../interface/sensor_ctl/control_vars.conf | 1 + .../supervisor.init/arkime_config_populate.sh | 5 +++ 9 files changed, 56 insertions(+), 18 deletions(-) diff --git a/arkime/scripts/docker_entrypoint.sh b/arkime/scripts/docker_entrypoint.sh index ddea2fc2f..8f94bfa94 100755 --- a/arkime/scripts/docker_entrypoint.sh +++ b/arkime/scripts/docker_entrypoint.sh @@ -13,6 +13,7 @@ ARKIME_RULES_DIR=${ARKIME_RULES_DIR:-"/opt/arkime/rules"} 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"} CAPTURE_INTERFACE=${PCAP_IFACE:-} LIVE_CAPTURE=${ARKIME_LIVE_CAPTURE:-false} VIEWER_PORT=${ARKIME_VIEWER_PORT:-8005} @@ -58,6 +59,7 @@ if [[ ! -f "${ARKIME_CONFIG_FILE}" ]] && [[ -r "${ARKIME_DIR}"/etc/config.orig.i sed -i "s|^\(elasticsearch=\).*|\1"${OPENSEARCH_URL_FINAL}"|" "${ARKIME_CONFIG_FILE}" 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/^\(viewPort=\).*/\1"${VIEWER_PORT}"/" "${ARKIME_CONFIG_FILE}" sed -i "s/^\(pcapDir=\).*/\1\/data\/pcap\/arkime-live/" "${ARKIME_CONFIG_FILE}" # note: when setting the node name, the viewer_service.sh script needs to match diff --git a/config/arkime.env.example b/config/arkime.env.example index 3df6ecfc1..c3afc8271 100644 --- a/config/arkime.env.example +++ b/config/arkime.env.example @@ -1,7 +1,10 @@ ARKIME_VIEWER_PORT=8005 -# Whether or not Arkime is allowed to delete uploaded/captured PCAP (see -# https://arkime.com/faq#pcap-deletion) +# Whether or not Arkime is allowed to delete uploaded/captured PCAP +# https://arkime.com/faq#pcap-deletion MANAGE_PCAP_FILES=false ARKIME_FREESPACEG=10% +# How often to create a new index in OpenSearch/Elasticsearch +# https://arkime.com/settings#rotateIndex +ARKIME_ROTATE_INDEX=daily OPENSEARCH_MAX_SHARDS_PER_NODE=2500 \ No newline at end of file diff --git a/config/opensearch.env.example b/config/opensearch.env.example index fbdf87a17..e9322a433 100644 --- a/config/opensearch.env.example +++ b/config/opensearch.env.example @@ -44,8 +44,10 @@ OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemory # OpenSearch index patterns and timestamp fields MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-* MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket +MALCOLM_NETWORK_INDEX_SUFFIX=-%{+YYMMdd} MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_* MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp +MALCOLM_OTHER_INDEX_SUFFIX=-%{+YYMMdd} ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-* ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf index 4cdafa7a6..fe0d56542 100644 --- a/logstash/pipelines/beats/98_finalize.conf +++ b/logstash/pipelines/beats/98_finalize.conf @@ -107,19 +107,35 @@ filter { } } - # this field is used to determine opensearch index prefix - if ([event][module]) { - mutate { id => "mutate_add_malcolm_beats_index_prefix_event_module" - add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[event][module]}" } } - } else if ([agent][type]) { - mutate { id => "mutate_add_malcolm_beats_index_prefix_agent_type" - add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[agent][type]}" } } - } else if ([input][type]) { - mutate { id => "mutate_add_malcolm_beats_index_prefix_input_type" - add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_%{[input][type]}" } } - } else { - mutate { id => "mutate_add_malcolm_beats_index_prefix_beats" - add_field => { "[@metadata][malcolm_opensearch_index_prefix]" => "malcolm_beats_" } } + # these fields are used to determine opensearch index format + if (![@metadata][malcolm_opensearch_index_prefix]) { + ruby { + id => "rube_add_beats_logs_index_prefix" + init => "$indexPrefix = ENV['MALCOLM_OTHER_INDEX_PATTERN'].sub(/[\*_-]*$/, '')" + code => " + ipref = ($indexPrefix.nil? || $indexPrefix.empty?) ? 'malcolm_beats' : $indexPrefix + icat = event.get('[event][module]') + if icat.nil? then + icat = event.get('[agent][type]') + if icat.nil? then + icat = event.get('[input][type]') + if icat.nil? then + icat = 'malcolm_beats_' + end + end + end + event.set('[@metadata][malcolm_opensearch_index_prefix]', ipref + '_' + icat) + " + } + } + if (![@metadata][malcolm_opensearch_index_suffix]) { + ruby { + id => "rube_add_beats_logs_index_suffix" + init => "$indexSuffix = ENV['MALCOLM_OTHER_INDEX_PATTERN']" + code => " + event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix) + " + } } diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index 51ec8f212..8bfaff8a5 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -4,7 +4,7 @@ filter { - # this field is used to determine opensearch index prefix + # these fields are used to determine opensearch index format if (![@metadata][malcolm_opensearch_index_prefix]) { ruby { id => "rube_add_network_logs_index_prefix" @@ -14,6 +14,15 @@ filter { " } } + if (![@metadata][malcolm_opensearch_index_suffix]) { + ruby { + id => "rube_add_network_logs_index_suffix" + init => "$indexSuffix = ENV['MALCOLM_NETWORK_INDEX_SUFFIX']" + code => " + event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix) + " + } + } # event.hash is used for document ID, it really needed to be set by now if (![event][hash]) { diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf index 2c750669e..a0e8d251d 100644 --- a/logstash/pipelines/external/99_opensearch_output.conf +++ b/logstash/pipelines/external/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}-%{+YYMMdd}" + index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf index 34125fefd..7de474d14 100644 --- a/logstash/pipelines/output/99_opensearch_output.conf +++ b/logstash/pipelines/output/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}-%{+YYMMdd}" + index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } diff --git a/sensor-iso/interface/sensor_ctl/control_vars.conf b/sensor-iso/interface/sensor_ctl/control_vars.conf index d821c64d8..7d72f4d18 100644 --- a/sensor-iso/interface/sensor_ctl/control_vars.conf +++ b/sensor-iso/interface/sensor_ctl/control_vars.conf @@ -23,6 +23,7 @@ export ARKIME_VIEWER_KEY=viewer.key # Password hash secret for Arkime viewer cluster (see https://arkime.com/settings) export ARKIME_PASSWORD_SECRET=Malcolm export ARKIME_FREESPACEG=7% +export ARKIME_ROTATE_INDEX=daily export DOCUMENTATION_PORT=8420 export MISCBEAT_PORT=9516 diff --git a/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh b/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh index fd7c32ce2..0a627c95f 100644 --- a/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh +++ b/sensor-iso/interface/sensor_ctl/supervisor.init/arkime_config_populate.sh @@ -78,6 +78,11 @@ if [[ -n $SUPERVISOR_PATH ]] && [[ -r "$SUPERVISOR_PATH"/arkime/config.ini ]]; t sed -r -i "s/(simpleGzipLevel)\s*=\s*.*/\1=$COMPRESSION_LEVEL/" "$ARKIME_CONFIG_FILE" fi + # how often OpenSearch/Elasticsearch should create a new index + if [[ -n $ARKIME_ROTATE_INDEX ]]; then + sed -r -i "s/(rotateIndex)\s*=\s*.*/\1=$ARKIME_ROTATE_INDEX/" "$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)" From d9e00b9a68142134187ff1cd59d414d2e41b7c82 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 08:51:24 -0700 Subject: [PATCH 72/88] customizing index settings work in progress, idaholab/Malcolm#313 and idaholab/Malcolm#283 --- logstash/pipelines/external/99_opensearch_output.conf | 2 +- logstash/pipelines/output/99_opensearch_output.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf index a0e8d251d..dc3ed38ef 100644 --- a/logstash/pipelines/external/99_opensearch_output.conf +++ b/logstash/pipelines/external/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}" + index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf index 7de474d14..3250fa920 100644 --- a/logstash/pipelines/output/99_opensearch_output.conf +++ b/logstash/pipelines/output/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix}" + index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } From 86e35989cc8c890106b3c8956bb6e7e6731abf52 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 12:00:21 -0700 Subject: [PATCH 73/88] customizing index settings work in progress, idaholab/Malcolm#313 and idaholab/Malcolm#283 --- config/opensearch.env.example | 12 ++- logstash/pipelines/beats/98_finalize.conf | 40 +++------- .../pipelines/enrichment/98_finalize.conf | 27 +++---- .../external/99_opensearch_output.conf | 2 +- .../output/99_opensearch_output.conf | 2 +- logstash/ruby/format_index_string.rb | 75 +++++++++++++++++++ 6 files changed, 110 insertions(+), 48 deletions(-) create mode 100644 logstash/ruby/format_index_string.rb diff --git a/config/opensearch.env.example b/config/opensearch.env.example index e9322a433..fd5aca877 100644 --- a/config/opensearch.env.example +++ b/config/opensearch.env.example @@ -42,13 +42,21 @@ OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION=false OPENSEARCH_JAVA_OPTS=-server -Xms10g -Xmx10g -Xss256k -XX:-HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Dlog4j.formatMsgNoLookups=true # OpenSearch index patterns and timestamp fields +# Index pattern for network traffic logs written via Logstash (e.g., Zeek logs, Suricata alerts) MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-* +# Default time field to use for network traffic logs in Logstash and Dashboards MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket -MALCOLM_NETWORK_INDEX_SUFFIX=-%{+YYMMdd} +# Suffix used to create index to which network traffic logs are written (supports Ruby strftime strings in %{}) +MALCOLM_NETWORK_INDEX_SUFFIX=-%{%y%m%d} +# Index pattern for other logs written via Logstash (e.g., nginx, beats, fluent-bit, etc.) MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_* +# Default time field to use for other logs in Logstash and Dashboards MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp -MALCOLM_OTHER_INDEX_SUFFIX=-%{+YYMMdd} +# Suffix used to create index to which other logs are written (supports Ruby strftime strings in %{}) +MALCOLM_OTHER_INDEX_SUFFIX=-%{%y%m%d} +# Index pattern used specifically by Arkime (will probably match MALCOLM_NETWORK_INDEX_PATTERN, should probably be arkime_sessions3-*) ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-* +# Default time field used by for sessions in Arkime viewer ARKIME_NETWORK_INDEX_TIME_FIELD=firstPacket # Miscellaneous diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf index fe0d56542..ed63c35d9 100644 --- a/logstash/pipelines/beats/98_finalize.conf +++ b/logstash/pipelines/beats/98_finalize.conf @@ -107,36 +107,20 @@ filter { } } - # these fields are used to determine opensearch index format - if (![@metadata][malcolm_opensearch_index_prefix]) { + # resolve opensearch index + if (![@metadata][malcolm_opensearch_index]) { ruby { - id => "rube_add_beats_logs_index_prefix" - init => "$indexPrefix = ENV['MALCOLM_OTHER_INDEX_PATTERN'].sub(/[\*_-]*$/, '')" - code => " - ipref = ($indexPrefix.nil? || $indexPrefix.empty?) ? 'malcolm_beats' : $indexPrefix - icat = event.get('[event][module]') - if icat.nil? then - icat = event.get('[agent][type]') - if icat.nil? then - icat = event.get('[input][type]') - if icat.nil? then - icat = 'malcolm_beats_' - end - end - end - event.set('[@metadata][malcolm_opensearch_index_prefix]', ipref + '_' + icat) - " - } - } - if (![@metadata][malcolm_opensearch_index_suffix]) { - ruby { - id => "rube_add_beats_logs_index_suffix" - init => "$indexSuffix = ENV['MALCOLM_OTHER_INDEX_PATTERN']" - code => " - event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix) - " + id => "ruby_resolve_beats_logs_index" + path => "/usr/share/logstash/malcolm-ruby/format_index_string.rb" + script_params => { + "target" => "[@metadata][malcolm_opensearch_index]" + "prefix_env" => "MALCOLM_OTHER_INDEX_PATTERN" + "prefix_default" => "malcolm_beats" + "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX" + "suffix_default" => "-%{%y%m%d}" + "midfix" => [ "[event][module]", "[agent][type]", "[input][type]" ] + } } } - } \ No newline at end of file diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index 8bfaff8a5..5ed012abc 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -4,23 +4,18 @@ filter { - # these fields are used to determine opensearch index format - if (![@metadata][malcolm_opensearch_index_prefix]) { + # resolve opensearch index + if (![@metadata][malcolm_opensearch_index]) { ruby { - id => "rube_add_network_logs_index_prefix" - init => "$indexPrefix = ENV['MALCOLM_NETWORK_INDEX_PATTERN'].sub(/[\*_-]*$/, '')" - code => " - event.set('[@metadata][malcolm_opensearch_index_prefix]', ($indexPrefix.nil? || $indexPrefix.empty?) ? 'arkime_sessions3' : $indexPrefix) - " - } - } - if (![@metadata][malcolm_opensearch_index_suffix]) { - ruby { - id => "rube_add_network_logs_index_suffix" - init => "$indexSuffix = ENV['MALCOLM_NETWORK_INDEX_SUFFIX']" - code => " - event.set('[@metadata][malcolm_opensearch_index_suffix]', ($indexSuffix.nil? || $indexSuffix.empty?) ? '-%{+YYMMdd}' : $indexSuffix) - " + id => "ruby_resolve_network_logs_index" + path => "/usr/share/logstash/malcolm-ruby/format_index_string.rb" + script_params => { + "target" => "[@metadata][malcolm_opensearch_index]" + "prefix_env" => "MALCOLM_NETWORK_INDEX_PATTERN" + "prefix_default" => "arkime_sessions3" + "suffix_env" => "MALCOLM_NETWORK_INDEX_SUFFIX" + "suffix_default" => "-%{%y%m%d}" + } } } diff --git a/logstash/pipelines/external/99_opensearch_output.conf b/logstash/pipelines/external/99_opensearch_output.conf index dc3ed38ef..cb6db43f5 100644 --- a/logstash/pipelines/external/99_opensearch_output.conf +++ b/logstash/pipelines/external/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_SECONDARY_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}" + index => "%{[@metadata][malcolm_opensearch_index]}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } diff --git a/logstash/pipelines/output/99_opensearch_output.conf b/logstash/pipelines/output/99_opensearch_output.conf index 3250fa920..4c8c74a19 100644 --- a/logstash/pipelines/output/99_opensearch_output.conf +++ b/logstash/pipelines/output/99_opensearch_output.conf @@ -6,7 +6,7 @@ output { user => "_MALCOLM_LOGSTASH_OPENSEARCH_USER_" password => "_MALCOLM_LOGSTASH_OPENSEARCH_PASSWORD_" manage_template => false - index => "%{[@metadata][malcolm_opensearch_index_prefix]}%{[@metadata][malcolm_opensearch_index_suffix]}" + index => "%{[@metadata][malcolm_opensearch_index]}" document_id => "%{+YYMMdd}-%{[event][hash]}" } } diff --git a/logstash/ruby/format_index_string.rb b/logstash/ruby/format_index_string.rb new file mode 100644 index 000000000..0882e03ca --- /dev/null +++ b/logstash/ruby/format_index_string.rb @@ -0,0 +1,75 @@ +def concurrency + :shared +end + +def register(params) + require 'time' + + @prefix = params["prefix"] + _prefix_env = params["prefix_env"] + if @prefix.nil? && !_prefix_env.nil? + @prefix = ENV[_prefix_env] + end + if !@prefix.nil? && @prefix.empty? + @prefix = params["prefix_default"] + end + + @suffix = params["suffix"] + _suffix_env = params["suffix_env"] + if @suffix.nil? && !_suffix_env.nil? + @suffix = ENV[_suffix_env] + end + if !@suffix.nil? && @suffix.empty? + @suffix = params["suffix_default"] + end + + _midfix_fields = params["midfix_fields"] + if !_midfix_fields.nil? then + if _midfix_fields.is_a?(Array) then + @midfix = _midfix_fields + else + @midfix = Array.new + if !_midfix_fields.empty? + @midfix.push(_midfix_fields) + end + end + else + @midfix = Array.new + end + + @target = params["target"] +end + +def filter(event) + + event_time = event.get("[@timestamp]") + if !event_time.nil? then + tstamp = Time.at(event_time.to_i).utc + else + tstamp = Time.now.utc + end + + suffix_resolved = @suffix + if parts = @suffix.scan(/(%{([^}]+)})/) then + if parts.kind_of?(Array) then + parts.each do |pair| + if pair.kind_of?(Array) and (pair.length > 0) then + suffix_resolved = suffix_resolved.sub(pair[0], tstamp.strftime(pair[1])) + end + end + end + end + + midfix_first = nil + @midfix.each do |field| + midfix_first = event.get("#{field}") + if !midfix_first.nil? && !midfix_first.empty? + midfix_first = '_' + midfix_first + break + end + end + + event.set("#{@target}", @prefix.sub(/[\*_-]*$/, '') + String(midfix_first) + suffix_resolved) + + [event] +end From 91569c34a6300362ace635b705de0a0037a0ab54 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 12:31:04 -0700 Subject: [PATCH 74/88] customizing index settings work in progress, idaholab/Malcolm#313 and idaholab/Malcolm#283 --- logstash/pipelines/beats/98_finalize.conf | 4 ++-- logstash/pipelines/enrichment/98_finalize.conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf index ed63c35d9..2dc7c5539 100644 --- a/logstash/pipelines/beats/98_finalize.conf +++ b/logstash/pipelines/beats/98_finalize.conf @@ -107,7 +107,7 @@ filter { } } - # resolve opensearch index + # generate opensearch index name if (![@metadata][malcolm_opensearch_index]) { ruby { id => "ruby_resolve_beats_logs_index" @@ -118,7 +118,7 @@ filter { "prefix_default" => "malcolm_beats" "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX" "suffix_default" => "-%{%y%m%d}" - "midfix" => [ "[event][module]", "[agent][type]", "[input][type]" ] + "midfix_fields" => [ "[event][module]", "[agent][type]", "[input][type]" ] } } } diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index 5ed012abc..5e5176cb2 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -4,7 +4,7 @@ filter { - # resolve opensearch index + # generate opensearch index name if (![@metadata][malcolm_opensearch_index]) { ruby { id => "ruby_resolve_network_logs_index" From ea7cc3ddc74b8bb208c4f4cfa023cde555938ebe Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Thu, 11 Jan 2024 13:27:36 -0700 Subject: [PATCH 75/88] customizing index settings work in progress, idaholab/Malcolm#313 and idaholab/Malcolm#283 --- config/opensearch.env.example | 4 ++-- logstash/pipelines/beats/98_finalize.conf | 4 ++-- logstash/pipelines/enrichment/98_finalize.conf | 4 ++-- logstash/ruby/format_index_string.rb | 10 +++++++++- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/config/opensearch.env.example b/config/opensearch.env.example index fd5aca877..95408c7f4 100644 --- a/config/opensearch.env.example +++ b/config/opensearch.env.example @@ -47,13 +47,13 @@ MALCOLM_NETWORK_INDEX_PATTERN=arkime_sessions3-* # Default time field to use for network traffic logs in Logstash and Dashboards MALCOLM_NETWORK_INDEX_TIME_FIELD=firstPacket # Suffix used to create index to which network traffic logs are written (supports Ruby strftime strings in %{}) -MALCOLM_NETWORK_INDEX_SUFFIX=-%{%y%m%d} +MALCOLM_NETWORK_INDEX_SUFFIX=%{%y%m%d} # Index pattern for other logs written via Logstash (e.g., nginx, beats, fluent-bit, etc.) MALCOLM_OTHER_INDEX_PATTERN=malcolm_beats_* # Default time field to use for other logs in Logstash and Dashboards MALCOLM_OTHER_INDEX_TIME_FIELD=@timestamp # Suffix used to create index to which other logs are written (supports Ruby strftime strings in %{}) -MALCOLM_OTHER_INDEX_SUFFIX=-%{%y%m%d} +MALCOLM_OTHER_INDEX_SUFFIX=%{%y%m%d} # Index pattern used specifically by Arkime (will probably match MALCOLM_NETWORK_INDEX_PATTERN, should probably be arkime_sessions3-*) ARKIME_NETWORK_INDEX_PATTERN=arkime_sessions3-* # Default time field used by for sessions in Arkime viewer diff --git a/logstash/pipelines/beats/98_finalize.conf b/logstash/pipelines/beats/98_finalize.conf index 2dc7c5539..b3b3dff30 100644 --- a/logstash/pipelines/beats/98_finalize.conf +++ b/logstash/pipelines/beats/98_finalize.conf @@ -115,9 +115,9 @@ filter { script_params => { "target" => "[@metadata][malcolm_opensearch_index]" "prefix_env" => "MALCOLM_OTHER_INDEX_PATTERN" - "prefix_default" => "malcolm_beats" + "prefix_default" => "malcolm_beats_*" "suffix_env" => "MALCOLM_OTHER_INDEX_SUFFIX" - "suffix_default" => "-%{%y%m%d}" + "suffix_default" => "%{%y%m%d}" "midfix_fields" => [ "[event][module]", "[agent][type]", "[input][type]" ] } } diff --git a/logstash/pipelines/enrichment/98_finalize.conf b/logstash/pipelines/enrichment/98_finalize.conf index 5e5176cb2..0d979c734 100644 --- a/logstash/pipelines/enrichment/98_finalize.conf +++ b/logstash/pipelines/enrichment/98_finalize.conf @@ -12,9 +12,9 @@ filter { script_params => { "target" => "[@metadata][malcolm_opensearch_index]" "prefix_env" => "MALCOLM_NETWORK_INDEX_PATTERN" - "prefix_default" => "arkime_sessions3" + "prefix_default" => "arkime_sessions3-*" "suffix_env" => "MALCOLM_NETWORK_INDEX_SUFFIX" - "suffix_default" => "-%{%y%m%d}" + "suffix_default" => "%{%y%m%d}" } } } diff --git a/logstash/ruby/format_index_string.rb b/logstash/ruby/format_index_string.rb index 0882e03ca..258f0a42a 100644 --- a/logstash/ruby/format_index_string.rb +++ b/logstash/ruby/format_index_string.rb @@ -49,6 +49,14 @@ def filter(event) tstamp = Time.now.utc end + prefix_resolved = @prefix.delete_suffix('*') + if prefix_resolved[-1].count("^a-z0-9").zero? then + suffix_separator = '' + else + suffix_separator = prefix_resolved[-1] + prefix_resolved = prefix_resolved[0..-2] + end + suffix_resolved = @suffix if parts = @suffix.scan(/(%{([^}]+)})/) then if parts.kind_of?(Array) then @@ -69,7 +77,7 @@ def filter(event) end end - event.set("#{@target}", @prefix.sub(/[\*_-]*$/, '') + String(midfix_first) + suffix_resolved) + event.set("#{@target}", prefix_resolved + String(midfix_first) + suffix_separator + suffix_resolved) [event] end From c3027ac0f8d8a9ce57e55f976fc7d61a2226b5ef Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 08:11:28 -0700 Subject: [PATCH 76/88] remove unused file --- shared/bin/therm-sensors-json.py | 79 -------------------------------- 1 file changed, 79 deletions(-) delete mode 100755 shared/bin/therm-sensors-json.py diff --git a/shared/bin/therm-sensors-json.py b/shared/bin/therm-sensors-json.py deleted file mode 100755 index 87ff591ea..000000000 --- a/shared/bin/therm-sensors-json.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -# Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. - -import argparse -import json -import logging -import os -import sys - -from malcolm_utils import run_process - -################################################################################################### -args = None -script_return_code = 0 -script_name = os.path.basename(__file__) -script_path = os.path.dirname(os.path.realpath(__file__)) -orig_path = os.getcwd() - - -################################################################################################### -def main(): - global args - - parser = argparse.ArgumentParser( - description='\n'.join( - [ - 'Return sensors temperature values in JSON', - ] - ), - formatter_class=argparse.RawTextHelpFormatter, - add_help=False, - usage='{} <arguments>'.format(script_name), - ) - parser.add_argument( - '--verbose', - '-v', - action='count', - default=1, - help='Increase verbosity (e.g., -v, -vv, etc.)', - ) - try: - parser.error = parser.exit - args = parser.parse_args() - except SystemExit: - parser.print_help() - exit(2) - - args.verbose = logging.CRITICAL - (10 * args.verbose) if args.verbose > 0 else 0 - logging.basicConfig( - level=args.verbose, format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S' - ) - logging.info(os.path.join(script_path, script_name)) - logging.info("Arguments: {}".format(sys.argv[1:])) - logging.info("Arguments: {}".format(args)) - if args.verbose > logging.DEBUG: - sys.tracebacklimit = 0 - - retcode, output = run_process( - ['sensors', '-j'], - stderr=False, - debug=args.verbose > logging.DEBUG, - logger=logging, - ) - if (retcode == 0) and output: - temps = json.loads(''.join(output)) - - # TODO: format like fluent-bit's output (https://docs.fluentbit.io/manual/pipeline/inputs/thermal) - # e.g., {"name"=>"thermal_zone0", "type"=>"x86_pkg_temp", "temp"=>45.000000} - print(json.dumps(temps)) - else: - script_return_code = retcode if not retcode else 1 - - -################################################################################################### -if __name__ == '__main__': - main() - sys.exit(script_return_code) From 4aec3a4a19f20febb79ddb2e278b6d43febda6a8 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 08:29:28 -0700 Subject: [PATCH 77/88] customizing index settings work in progress, idaholab/Malcolm#313 --- shared/bin/opensearch_index_size_prune.py | 69 ++++++++++++++--------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py index ee4a4eb0c..273dbed7b 100755 --- a/shared/bin/opensearch_index_size_prune.py +++ b/shared/bin/opensearch_index_size_prune.py @@ -14,7 +14,7 @@ from requests.auth import HTTPBasicAuth import malcolm_utils -from malcolm_utils import eprint, str2bool, ParseCurlFile +from malcolm_utils import eprint, str2bool, ParseCurlFile, get_iterable ################################################################################################### debug = False @@ -44,10 +44,13 @@ def main(): '-i', '--index', dest='index', - metavar='<str>', type=str, - default=os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_INDEX', 'arkime_sessions3-*'), - help='Index pattern', + nargs='*', + default=[ + os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'), + os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'), + ], + help='Index pattern(s)', ) parser.add_argument( '-o', @@ -152,7 +155,11 @@ def main(): sys.tracebacklimit = 0 # short-circuit without printing anything else - if (args.limit == '0') or (args.opensearchMode == malcolm_utils.DatabaseMode.ElasticsearchRemote): + if ( + (args.limit == '0') + or (not args.index) + or (args.opensearchMode == malcolm_utils.DatabaseMode.ElasticsearchRemote) + ): return opensearchIsLocal = (args.opensearchMode == malcolm_utils.DatabaseMode.OpenSearchLocal) or ( @@ -180,6 +187,9 @@ def main(): if debug: eprint(f'OpenSearch version is {opensearchVersion}') + # as mulitple index patterns may be specified, deduplicate + args.index = list(set(get_iterable(args.index))) + totalIndices = 0 limitMegabytes = None limitPercent = None @@ -255,20 +265,23 @@ def main(): f'Index limit for {args.index} is {humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))}' ) - # now determine the total size of the indices from the index pattern - osInfoResponse = requests.get( - f'{args.opensearchUrl}/{args.index}/_stats/store', - auth=opensearchReqHttpAuth, - verify=args.opensearchSslVerify, - ) - osInfo = osInfoResponse.json() - try: - totalSizeInMegabytes = ( - osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000 + # now determine the total size of the indices from the index pattern(s) + totalSizeInMegabytes = 0 + totalIndices = 0 + for idx in get_iterable(args.index): + osInfoResponse = requests.get( + f'{args.opensearchUrl}/{idx}/_stats/store', + auth=opensearchReqHttpAuth, + verify=args.opensearchSslVerify, ) - totalIndices = len(osInfo["indices"]) - except Exception as e: - raise Exception(f'Error getting {args.index} size_in_bytes: {e}') + osInfo = osInfoResponse.json() + try: + totalSizeInMegabytes = totalSizeInMegabytes + ( + osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000 + ) + totalIndices = totalIndices + len(osInfo["indices"]) + except Exception as e: + raise Exception(f'Error getting {idx} size_in_bytes: {e}') if debug: eprint( f'Total {args.index} megabytes: is {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))}' @@ -282,14 +295,18 @@ def main(): f'{len(osInfo)} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)' ) - # get list of indexes in index pattern and sort by creation date - osInfoResponse = requests.get( - f'{args.opensearchUrl}/_cat/indices/{args.index}', - params={'format': 'json', 'h': 'i,id,status,health,rep,creation.date,pri.store.size,store.size'}, - auth=opensearchReqHttpAuth, - verify=args.opensearchSslVerify, - ) - osInfo = sorted(osInfoResponse.json(), key=lambda k: k['i' if args.nameSorted else 'creation.date']) + # get list of indexes in index pattern(s) and sort by creation date + osInfo = [] + for idx in args.index: + osInfo.extend( + requests.get( + f'{args.opensearchUrl}/_cat/indices/{idx}', + params={'format': 'json', 'h': 'i,id,status,health,rep,creation.date,pri.store.size,store.size'}, + auth=opensearchReqHttpAuth, + verify=args.opensearchSslVerify, + ).json() + ) + osInfo = sorted(osInfo, key=lambda k: k['i' if args.nameSorted else 'creation.date']) # determine how many megabytes need to be deleted and which of the oldest indices will cover that indicesToDelete = [] From bc2d49014509a3d6bcece55dfd24c3fd1ca8e317 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 11:22:45 -0700 Subject: [PATCH 78/88] documentation --- docs/malcolm-upgrade.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/malcolm-upgrade.md b/docs/malcolm-upgrade.md index 284ad1359..b27f80f3b 100644 --- a/docs/malcolm-upgrade.md +++ b/docs/malcolm-upgrade.md @@ -49,7 +49,16 @@ If Malcolm was installed from [pre-packaged installation files]({{ site.github.r 1. re-run `./scripts/configure` as described in [Malcolm Configuration](malcolm-config.md#ConfigAndTuning) * to do an in-depth comparison of the previous version's settings with the new setings: + using a file comparison tool (e.g., `diff`, `meld`, `Beyond Compare`, etc.), compare `docker-compose.yml` and the `docker-compare.yml` file backed up in Step 3, and manually migrate over any customizations in file - + compare the contents of each `.env` file Malcolm's `./config/` directory with its corresponding `.env.example` file + + compare the contents of each `.env` file Malcolm's `./config/` directory with its corresponding `.env.example` file. the author uses this command which uses [difftastic](https://github.com/Wilfred/difftastic), [bat](https://github.com/sharkdp/bat), [unbuffer](https://manpages.debian.org/stretch/expect/unbuffer.1.en.html), and [cmp](https://en.wikipedia.org/wiki/Cmp_(Unix)). + ```bash + for FILE in *.env; do \ + cmp -s ../config/"$FILE.example" "$FILE" || \ + unbuffer difft --display side-by-side-show-both \ + --tab-width 4 --strip-cr \ + --syntax-highlight on --ignore-comments \ + ../config/"$FILE.example" "$FILE"; \ + done | bat --color=always + ``` 1. pull the new docker images (this will take a while) * `docker compose --profile malcolm pull` to pull them from [GitHub](https://github.com/orgs/idaholab/packages?repo_name=Malcolm) or `docker compose load -i malcolm_YYYYMMDD_HHNNSS_xxxxxxx_images.tar.xz` if an offline tarball of the Malcolm docker images is available 1. start Malcolm From 4e39e89f0a3c28427a7bca3514e7afc12e4da5d3 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 14:44:21 -0700 Subject: [PATCH 79/88] customizing index settings work in progress, idaholab/Malcolm#313 --- Dockerfiles/dashboards-helper.Dockerfile | 2 +- dashboards/scripts/index-refresh.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index 9426311f1..39086b372 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 --template malcolm_template --unassigned\n30 */2 * * * /data/index-refresh.py --index 'malcolm_beats_*' --template malcolm_beats_template --unassigned\n*/20 * * * * /data/opensearch_index_size_prune.py" > ${SUPERCRONIC_CRONTAB}) + (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}) EXPOSE $OFFLINE_REGION_MAPS_PORT diff --git a/dashboards/scripts/index-refresh.py b/dashboards/scripts/index-refresh.py index 82fc27b5a..4e2ea7458 100755 --- a/dashboards/scripts/index-refresh.py +++ b/dashboards/scripts/index-refresh.py @@ -191,6 +191,10 @@ def main(): if debug: eprint('OpenSearch version is {}'.format(opensearchVersion)) + # if they actually just specified the name of the environment variable, resolve that for the index name + if args.index.startswith('MALCOLM_'): + args.index = os.getenv(args.index, '') + # find the ID of the index name (probably will be the same as the name) getIndexInfoResponse = requests.get( '{}/{}'.format(args.dashboardsUrl, GET_INDEX_PATTERN_INFO_URI), From 58ba3f261f282abfe19883d624dda2c09ca0894c Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 14:48:00 -0700 Subject: [PATCH 80/88] bump fluent-bit version to v2.2.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 ead2cc542..a1e0928c1 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 = '2.2' -$fluent_bit_full_version = '2.2.1' +$fluent_bit_full_version = '2.2.2' ############################################################################### # select an item from a menu provided in an array From 564f73236ec4a417662266f0ae6455313305eb95 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 14:48:44 -0700 Subject: [PATCH 81/88] bump beats and logstash to v8.11.4 --- Dockerfiles/filebeat.Dockerfile | 2 +- Dockerfiles/logstash.Dockerfile | 2 +- sensor-iso/build.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfiles/filebeat.Dockerfile b/Dockerfiles/filebeat.Dockerfile index 84a56baa2..2102e425a 100644 --- a/Dockerfiles/filebeat.Dockerfile +++ b/Dockerfiles/filebeat.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/beats/filebeat-oss:8.11.3 +FROM docker.elastic.co/beats/filebeat-oss:8.11.4 # 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 85c7104fc..df35928a8 100644 --- a/Dockerfiles/logstash.Dockerfile +++ b/Dockerfiles/logstash.Dockerfile @@ -1,4 +1,4 @@ -FROM docker.elastic.co/logstash/logstash-oss:8.11.3 +FROM docker.elastic.co/logstash/logstash-oss:8.11.4 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' diff --git a/sensor-iso/build.sh b/sensor-iso/build.sh index 5b6dea645..f37dfd1d3 100755 --- a/sensor-iso/build.sh +++ b/sensor-iso/build.sh @@ -5,7 +5,7 @@ IMAGE_PUBLISHER=idaholab IMAGE_VERSION=1.0.0 IMAGE_DISTRIBUTION=bookworm -BEATS_VER="8.11.3" +BEATS_VER="8.11.4" BEATS_OSS="-oss" BUILD_ERROR_CODE=1 From 7d87f2a5ac1b1714135fe4c61249fa250582fcbf Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Mon, 15 Jan 2024 14:53:40 -0700 Subject: [PATCH 82/88] restore kubernetes image references --- 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..ee401cec9 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/04-dashboards.yml b/kubernetes/04-dashboards.yml index cfbb8b422..54301d123 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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/05-upload.yml b/kubernetes/05-upload.yml index 7631d405f..003c00476 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/06-pcap-monitor.yml b/kubernetes/06-pcap-monitor.yml index 70da6fc02..ce67e2cc4 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/07-arkime.yml b/kubernetes/07-arkime.yml index e050e6036..59bac4763 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/08-api.yml b/kubernetes/08-api.yml index dff8c4274..2c60ade37 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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/09-dashboards-helper.yml b/kubernetes/09-dashboards-helper.yml index 3c1292517..90b818d0d 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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/10-zeek.yml b/kubernetes/10-zeek.yml index daa925943..b3f39c623 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/11-suricata.yml b/kubernetes/11-suricata.yml index 5bdf9472f..5568fe7df 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/12-file-monitor.yml b/kubernetes/12-file-monitor.yml index 9cf768a47..f7ddf38ff 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.01.0 imagePullPolicy: Always stdin: false tty: true @@ -81,7 +81,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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/13-filebeat.yml b/kubernetes/13-filebeat.yml index da45a94d1..70a1ce8fc 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/14-logstash.yml b/kubernetes/14-logstash.yml index 0cb84994b..8151d9f47 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/15-netbox-redis.yml b/kubernetes/15-netbox-redis.yml index 922f54f1d..738c27dc9 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.01.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.01.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..3d382482c 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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/17-netbox-postgres.yml b/kubernetes/17-netbox-postgres.yml index 55a066358..f244be897 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/18-netbox.yml b/kubernetes/18-netbox.yml index f81438018..4cb746385 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/19-htadmin.yml b/kubernetes/19-htadmin.yml index de5293761..f7babad77 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/20-pcap-capture.yml b/kubernetes/20-pcap-capture.yml index 2e0f46fca..c0f804807 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/21-zeek-live.yml b/kubernetes/21-zeek-live.yml index 2575cfdc3..431c2ee5a 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/22-suricata-live.yml b/kubernetes/22-suricata-live.yml index 3fbca4d03..c323398ef 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/23-arkime-live.yml b/kubernetes/23-arkime-live.yml index 79b4bc4d3..c91ab8440 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.01.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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/24-freq.yml b/kubernetes/24-freq.yml index b9dc580df..8e45e1a91 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.01.0 imagePullPolicy: Always stdin: false tty: true diff --git a/kubernetes/98-nginx-proxy.yml b/kubernetes/98-nginx-proxy.yml index 94e7861e2..bebc05efa 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.01.0 imagePullPolicy: Always stdin: false tty: true @@ -95,7 +95,7 @@ spec: subPath: "nginx" initContainers: - name: nginx-dirinit-container - image: ghcr.io/mmguero-dev/malcolm/dirinit:development + image: ghcr.io/idaholab/malcolm/dirinit:24.01.0 imagePullPolicy: Always stdin: false tty: true From b002f2f56b093a5b8c519976be5e0f7790057de3 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 16 Jan 2024 07:33:09 -0700 Subject: [PATCH 83/88] customizing index settings work in progress, idaholab/Malcolm#313 --- scripts/install.py | 2 +- shared/bin/opensearch_index_size_prune.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/install.py b/scripts/install.py index 7a6c61f90..95f307c8c 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1038,7 +1038,7 @@ def tweak_malcolm_runtime(self, malcolm_install_path): 'Enter index threshold (e.g., 250GB, 1TB, 60%, etc.)', default=args.indexPruneSizeLimit ) indexPruneNameSort = InstallerYesOrNo( - 'Determine oldest indices by name (instead of creation time)?', default=True + 'Determine oldest indices by name (instead of creation time)?', default=False ) # let Arkime delete old PCAP files based on available storage diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py index 273dbed7b..ffcf5901e 100755 --- a/shared/bin/opensearch_index_size_prune.py +++ b/shared/bin/opensearch_index_size_prune.py @@ -39,7 +39,6 @@ def main(): default=str2bool(os.getenv('OPENSEARCH_INDEX_SIZE_PRUNE_DEBUG', default='False')), help="Verbose output", ) - # TODO: allow specifying two indices (e.g., MALCOLM_NETWORK_INDEX_PATTERN may be different than ARKIME_NETWORK_INDEX_PATTERN) parser.add_argument( '-i', '--index', @@ -49,6 +48,7 @@ def main(): default=[ os.getenv('MALCOLM_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'), os.getenv('ARKIME_NETWORK_INDEX_PATTERN', 'arkime_sessions3-*'), + os.getenv('MALCOLM_OTHER_INDEX_PATTERN', 'malcolm_beats_*'), ], help='Index pattern(s)', ) @@ -280,6 +280,9 @@ def main(): osInfo['_all']['primaries' if args.primaryTotals else 'total']['store']['size_in_bytes'] // 1000000 ) totalIndices = totalIndices + len(osInfo["indices"]) + except KeyError: + # just means there aren't any indices of this type yet, ignore it + pass except Exception as e: raise Exception(f'Error getting {idx} size_in_bytes: {e}') if debug: From 1c0344bea29eb55dfbdc45724d1048dafdf85f1d Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 16 Jan 2024 08:57:46 -0700 Subject: [PATCH 84/88] customizing index settings work in progress, idaholab/Malcolm#313 --- shared/bin/opensearch_index_size_prune.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/bin/opensearch_index_size_prune.py b/shared/bin/opensearch_index_size_prune.py index ffcf5901e..df02b1fa7 100755 --- a/shared/bin/opensearch_index_size_prune.py +++ b/shared/bin/opensearch_index_size_prune.py @@ -295,7 +295,7 @@ def main(): if debug: eprint( - f'{len(osInfo)} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)' + f'{totalIndices} {args.index} indices occupy {humanfriendly.format_size(humanfriendly.parse_size(f"{totalSizeInMegabytes}mb"))} ({humanfriendly.format_size(humanfriendly.parse_size(f"{limitMegabytes}mb"))} allowed)' ) # get list of indexes in index pattern(s) and sort by creation date From ce95e352472bf66b6f3e36690dbc4d25fc6acbb3 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 16 Jan 2024 09:16:51 -0700 Subject: [PATCH 85/88] Documentation --- docs/malcolm-config.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index 4e7c8eed6..fff52c6b0 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -11,6 +11,7 @@ Although the configuration script automates many of the following configuration * **`arkime.env`** and **`arkime-secret.env`** - settings for [Arkime](https://arkime.com/) - `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 - `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. * **`auth-common.env`** - [authentication](authsetup.md)-related settings @@ -50,6 +51,14 @@ Although the configuration script automates many of the following configuration - `OPENSEARCH_SECONDARY` - one of `opensearch-local`, `opensearch-remote`, `elasticsearch-remote`, or blank (unset) to indicate that Malcolm should forward logs to a secondary remote OpenSearch instance in addition to the primary OpenSearch instance (default is unset) - `OPENSEARCH_SECONDARY_URL` - when forwarding to a secondary remote OpenSearch instance (i.e., `OPENSEARCH_SECONDARY` is set) this value specifies the secondary remote instance URL in the format `protocol://host:port` - `OPENSEARCH_SECONDARY_SSL_CERTIFICATE_VERIFICATION` - if set to `true`, connections to the secondary remote OpenSearch instance will require full TLS certificate validation (this may fail if using self-signed certificates) (default `false`) + - The following variables control the OpenSearch indices to which network traffic metadata are written. Changing them from their defaults may cause logs from non-Arkime data sources (i.e., Zeek, Suricata) to not show up correctly in Arkime. + + `MALCOLM_NETWORK_INDEX_PATTERN` - Index pattern for network traffic logs written via Logstash (default is `arkime_sessions3-*`) + + `MALCOLM_NETWORK_INDEX_TIME_FIELD` - Default time field to use for network traffic logs in Logstash and Dashboards (default is `firstPacket`) + + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) + - The following variables control the OpenSearch indices to which other logs ([third-party logs](third-party-logs.md#ThirdPartyLogs), resource utilization reports from network sensors, etc.) are written. + + `MALCOLM_OTHER_INDEX_PATTERN` - Index pattern for other logs written via Logstash (default is `malcolm_beats_*`) + + `MALCOLM_OTHER_INDEX_TIME_FIELD` - Default time field to use for other logs in Logstash and Dashboards (default is `@timestamp`) + + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) * **`pcap-capture.env`** - settings specific to capturing traffic for [live traffic analysis](live-analysis.md#LocalPCAP) - `PCAP_ENABLE_NETSNIFF` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [netsniff-ng](http://netsniff-ng.org/) - `PCAP_ENABLE_TCPDUMP` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [tcpdump](https://www.tcpdump.org/); there is no reason to enable *both* `PCAP_ENABLE_NETSNIFF` and `PCAP_ENABLE_TCPDUMP` From 204d5b80f8a54cace65d07767a5d39cdf9612e8c Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 16 Jan 2024 09:36:01 -0700 Subject: [PATCH 86/88] update alpine to v3.19 for docker image bases, also minor documentation tweaks --- Dockerfiles/dashboards-helper.Dockerfile | 4 ++-- Dockerfiles/dirinit.Dockerfile | 2 +- Dockerfiles/nginx.Dockerfile | 2 +- docs/development.md | 4 ++-- docs/malcolm-config.md | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfiles/dashboards-helper.Dockerfile b/Dockerfiles/dashboards-helper.Dockerfile index 39086b372..c9536d157 100644 --- a/Dockerfiles/dashboards-helper.Dockerfile +++ b/Dockerfiles/dashboards-helper.Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.18 +FROM alpine:3.19 # Copyright (c) 2020 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" @@ -63,7 +63,7 @@ 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 && \ npm install -g http-server && \ - pip3 install supervisor humanfriendly requests && \ + pip3 install --break-system-packages supervisor humanfriendly requests && \ curl -fsSLO "$SUPERCRONIC_URL" && \ echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - && \ chmod +x "$SUPERCRONIC" && \ diff --git a/Dockerfiles/dirinit.Dockerfile b/Dockerfiles/dirinit.Dockerfile index b469571aa..0e8998c61 100644 --- a/Dockerfiles/dirinit.Dockerfile +++ b/Dockerfiles/dirinit.Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.18 +FROM alpine:3.19 # Copyright (c) 2024 Battelle Energy Alliance, LLC. All rights reserved. LABEL maintainer="malcolm@inl.gov" diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 425e3fcbb..83d885ad5 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -33,7 +33,7 @@ RUN find /site -type f -name "*.md" -exec sed -i "s/{{[[:space:]]*site.github.bu find /site/_site -type f -name "*.html" -exec sed -i 's@\(href=\)"/"@\1"/readme/"@g' "{}" \; # build NGINX image -FROM alpine:3.18 +FROM alpine:3.19 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' diff --git a/docs/development.md b/docs/development.md index c4a5a05fa..7b338341a 100644 --- a/docs/development.md +++ b/docs/development.md @@ -52,7 +52,7 @@ Then, go take a walk or something since it will be a while. When you are done, y * `ghcr.io/idaholab/malcolm/api` (based on `python:3-slim`) * `ghcr.io/idaholab/malcolm/arkime` (based on `debian:12-slim`) -* `ghcr.io/idaholab/malcolm/dashboards-helper` (based on `alpine:3.18`) +* `ghcr.io/idaholab/malcolm/dashboards-helper` (based on `alpine:3.19`) * `ghcr.io/idaholab/malcolm/dashboards` (based on `opensearchproject/opensearch-dashboards`) * `ghcr.io/idaholab/malcolm/file-monitor` (based on `debian:12-slim`) * `ghcr.io/idaholab/malcolm/file-upload` (based on `debian:12-slim`) @@ -61,7 +61,7 @@ Then, go take a walk or something since it will be a while. When you are done, y * `ghcr.io/idaholab/malcolm/htadmin` (based on `debian:11-slim`) * `ghcr.io/idaholab/malcolm/logstash-oss` (based on `opensearchproject/logstash-oss-with-opensearch-output-plugin`) * `ghcr.io/idaholab/malcolm/netbox` (based on `netboxcommunity/netbox:latest`) -* `ghcr.io/idaholab/malcolm/nginx-proxy` (based on `alpine:3.18`) +* `ghcr.io/idaholab/malcolm/nginx-proxy` (based on `alpine:3.19`) * `ghcr.io/idaholab/malcolm/opensearch` (based on `opensearchproject/opensearch`) * `ghcr.io/idaholab/malcolm/pcap-capture` (based on `debian:12-slim`) * `ghcr.io/idaholab/malcolm/pcap-monitor` (based on `debian:12-slim`) diff --git a/docs/malcolm-config.md b/docs/malcolm-config.md index fff52c6b0..b103bd901 100644 --- a/docs/malcolm-config.md +++ b/docs/malcolm-config.md @@ -54,11 +54,11 @@ Although the configuration script automates many of the following configuration - The following variables control the OpenSearch indices to which network traffic metadata are written. Changing them from their defaults may cause logs from non-Arkime data sources (i.e., Zeek, Suricata) to not show up correctly in Arkime. + `MALCOLM_NETWORK_INDEX_PATTERN` - Index pattern for network traffic logs written via Logstash (default is `arkime_sessions3-*`) + `MALCOLM_NETWORK_INDEX_TIME_FIELD` - Default time field to use for network traffic logs in Logstash and Dashboards (default is `firstPacket`) - + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) + + `MALCOLM_NETWORK_INDEX_SUFFIX` - Suffix used to create index to which network traffic logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) - The following variables control the OpenSearch indices to which other logs ([third-party logs](third-party-logs.md#ThirdPartyLogs), resource utilization reports from network sensors, etc.) are written. + `MALCOLM_OTHER_INDEX_PATTERN` - Index pattern for other logs written via Logstash (default is `malcolm_beats_*`) + `MALCOLM_OTHER_INDEX_TIME_FIELD` - Default time field to use for other logs in Logstash and Dashboards (default is `@timestamp`) - + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) + + `MALCOLM_OTHER_INDEX_SUFFIX` - Suffix used to create index to which other logs are written (supports [Ruby `strftime`](https://docs.ruby-lang.org/en/3.2/strftime_formatting_rdoc.html) strings in `%{}`) (default is `%{%y%m%d}`) * **`pcap-capture.env`** - settings specific to capturing traffic for [live traffic analysis](live-analysis.md#LocalPCAP) - `PCAP_ENABLE_NETSNIFF` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [netsniff-ng](http://netsniff-ng.org/) - `PCAP_ENABLE_TCPDUMP` – if set to `true`, Malcolm will capture network traffic on the local network interface(s) indicated in `PCAP_IFACE` using [tcpdump](https://www.tcpdump.org/); there is no reason to enable *both* `PCAP_ENABLE_NETSNIFF` and `PCAP_ENABLE_TCPDUMP` From 3a471ec0ec94a3262a129ce892f8cecd3e5c1d15 Mon Sep 17 00:00:00 2001 From: SG <mero.mero.guero@gmail.com> Date: Tue, 16 Jan 2024 10:11:06 -0700 Subject: [PATCH 87/88] revert NGINX to alpine v3.18 as we were getting lib SSL symbol errors with v3.19 --- Dockerfiles/nginx.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfiles/nginx.Dockerfile b/Dockerfiles/nginx.Dockerfile index 83d885ad5..425e3fcbb 100644 --- a/Dockerfiles/nginx.Dockerfile +++ b/Dockerfiles/nginx.Dockerfile @@ -33,7 +33,7 @@ RUN find /site -type f -name "*.md" -exec sed -i "s/{{[[:space:]]*site.github.bu find /site/_site -type f -name "*.html" -exec sed -i 's@\(href=\)"/"@\1"/readme/"@g' "{}" \; # build NGINX image -FROM alpine:3.19 +FROM alpine:3.18 LABEL maintainer="malcolm@inl.gov" LABEL org.opencontainers.image.authors='malcolm@inl.gov' From 2a051fa42e037f0d07666424585430e7f2224758 Mon Sep 17 00:00:00 2001 From: Seth Grover <mero.mero.guero@gmail.com> Date: Wed, 17 Jan 2024 08:15:17 -0700 Subject: [PATCH 88/88] adjust link for cisagov fork --- nginx/landingpage/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nginx/landingpage/index.html b/nginx/landingpage/index.html index 50cfcb1a3..bae1cbbdb 100644 --- a/nginx/landingpage/index.html +++ b/nginx/landingpage/index.html @@ -105,13 +105,13 @@ <h3>API</h3></a> <div class="row"> <div class="col-lg-6 h-100 text-center text-lg-start my-auto"> <p class="text-muted small mb-4 mb-lg-0"> - <a href="https://github.com/idaholab/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> © 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the + <a href="https://github.com/cisagov/Malcolm/releases">Malcolm MALCOLM_VERSION_REPLACER</a> © 2024 Battelle Energy Alliance, LLC; developed at INL and released through the cooperation of the Cybersecurity and Infrastructure Security Agency of the U.S. Department of Homeland Security.</p> </div> <div class="col-lg-6 h-100 text-center text-lg-end my-auto"> <ul class="list-inline mb-0"> <li class="list-inline-item"> - <a href="https://github.com/idaholab/Malcolm"><i class="bi-github fs-3"></i></a> + <a href="https://github.com/cisagov/Malcolm"><i class="bi-github fs-3"></i></a> </li> </ul> </div>